execve: Add tests.
[gnulib.git] / ChangeLog
blobf6795fb9d71c99a863d98aa8bd5cf434d0912055
1 2020-12-26  Bruno Haible  <bruno@clisp.org>
3         execve: Add tests.
4         * tests/test-exec-child.c: New file.
5         * tests/test-execve-main.c: New file.
6         * tests/test-execve.sh: New file.
7         * modules/execve-tests: New file.
9         execve: New module.
10         * lib/execve.c: New file.
11         * m4/execve.m4: New file.
12         * modules/execve: New file.
13         * doc/posix-functions/execve.texi: Mention more Windows problems and the
14         new module.
16         execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
17         * lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
18         execvpe): Add declarations for the new modules.
19         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
20         execv, execve, execvp, execvpe are declared.
21         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
22         REPLACE_EXEC*.
23         * modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
24         REPLACE_EXEC*.
25         * tests/test-unistd-c++.cc: Check the signature of execl, execle,
26         execlp, execv, execve, execvp, execvpe.
28 2020-12-26  Bruno Haible  <bruno@clisp.org>
30         stack: Fix typo in comments.
31         * lib/stack.h: Fix typo in comments.
33 2020-12-26  Bruno Haible  <bruno@clisp.org>
35         bitset: Fix conflict with 'free-posix' module.
36         * lib/bitset/base.h: Include <stdlib.h>.
38 2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40         idx: change idx.h comment to LGPLv2.1+
41         * lib/idx.h: Change license notice to match what should be in glibc.
42         gnulib-tool will change it as appropriate anyway, so this is just
43         to simplify syncing with glibc.
45 2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>
47         MODULES.html.sh: Update after 2020-12-19 change.
48         * MODULES.html.sh (func_all_modules): Do s/free/free-posix/.
50 2020-12-25  Bruno Haible  <bruno@clisp.org>
52         Make it possible to turn off the mkdir override on Windows.
53         * lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
54         GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
55         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
56         GNULIB_MDA_MKDIR.
57         * modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
58         GNULIB_MDA_MKDIR.
59         * modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
60         * doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.
62         Make it possible to turn off each of the Windows oldnames workarounds.
63         * lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
64         oldnames workarounds through a GNULIB_MDA_<func> symbol.
65         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
66         * lib/search.in.h (lfind, lsearch): Likewise.
67         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
68         Likewise.
69         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
70         * lib/string.in.h (memccpy, strdup): Likewise.
71         * lib/sys_stat.in.h (chmod, umask): Likewise.
72         * lib/time.in.h (tzset): Likewise.
73         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
74         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
75         read, rmdir, swab, unlink, write): Likewise.
76         * lib/utime.in.h (utime): Likewise.
77         * lib/wchar.in.h (wcsdup): Likewise.
78         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
79         GNULIB_MDA_<func> symbols.
80         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
81         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
82         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
83         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
84         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
85         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
86         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
87         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
88         * m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
89         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
90         * modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
91         symbols.
92         * modules/math (Makefile.am): Likewise.
93         * modules/search (Makefile.am): Likewise.
94         * modules/stdio (Makefile.am): Likewise.
95         * modules/stdlib (Makefile.am): Likewise.
96         * modules/string (Makefile.am): Likewise.
97         * modules/sys_stat (Makefile.am): Likewise.
98         * modules/time (Makefile.am): Likewise.
99         * modules/unistd (Makefile.am): Likewise.
100         * modules/utime-h (Makefile.am): Likewise.
101         * modules/wchar (Makefile.am): Likewise.
103 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
105         canonicalize, canonicalize-lgpl: remove lint
106         Pacify GCC.  Some of these problems were reported by Bruno Haible in:
107         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
108         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
109         Sort shared include directives, for consistency.
110         (IF_LINT): New macro.
111         (suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
112         * lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
113         New macros.
114         (realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
115         * lib/canonicalize.c (canonicalize_filename_mode_stk):
116         Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.
118 2020-12-24  Bruno Haible  <bruno@clisp.org>
120         spawn-pipe: Use posix_spawn by default on native Windows.
121         * lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
122         (create_pipe): Use it to decide among the two possible implementations.
123         * modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.
125 2020-12-24  Bruno Haible  <bruno@clisp.org>
127         unistd-safer: Implement pipe_safer on native Windows.
128         * lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
129         * modules/unistd-safer (Depends-on): Add pipe-posix.
131 2020-12-24  Bruno Haible  <bruno@clisp.org>
133         execute: Use posix_spawn by default on native Windows.
134         * lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
135         (execute): Use it to decide among the two possible implementations.
137 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
139         canonicalize-lgpl: merge proposed libc changes
140         This merges the changes proposed for glibc in:
141         https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
142         https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
143         * lib/canonicalize-lgpl.c: Include idx.h and filename.h
144         unconditionally.
145         (idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
146         (ISSLASH) [_LIBC]: Remove.
148 2020-12-24  Bruno Haible  <bruno@clisp.org>
150         posix_spawn-internal: Implement for native Windows.
151         * lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
152         close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
153         do_dup2, do_close): New functions.
154         (__spawni): Implement on native Windows.
155         * modules/posix_spawn-internal (Depends-on): Add filename,
156         concat-filename, findprog-in, malloca, windows-spawn.
157         * doc/posix-functions/posix_spawn.texi: Update.
158         * doc/posix-functions/posix_spawnp.texi: Likewise.
160 2020-12-24  Bruno Haible  <bruno@clisp.org>
162         windows-spawn: Export another auxiliary function.
163         * lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
164         * lib/windows-spawn.c (convert_CreateProcess_error): New function,
165         extracted from spawnpvech.
166         (spawnpvech): Use it.
168 2020-12-24  Bruno Haible  <bruno@clisp.org>
170         windows-spawn: Export some more auxiliary functions.
171         * lib/windows-spawn.h: Include <stdbool.h>.
172         (struct inheritable_handles): New type.
173         (init_inheritable_handles, compose_handles_block,
174         free_inheritable_handles): New declarations.
175         * lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
176         New functions, based on spawnvech.
177         (free_inheritable_handles): New function.
178         (spawnpvech): Use them.
180 2020-12-24  Bruno Haible  <bruno@clisp.org>
182         windows-spawn: Export another auxiliary function.
183         * lib/windows-spawn.h (compose_envblock): New declaration.
184         * lib/windows-spawn.c (compose_envblock): New function, extracted from
185         spawnpvech.
186         (spawnpvech): Use it.
188 2020-12-24  Bruno Haible  <bruno@clisp.org>
190         windows-spawn: Export an auxiliary function.
191         * lib/windows-spawn.h (compose_command): New declaration.
192         * lib/windows-spawn.c (compose_command): New function, extracted from
193         spawnpvech.
194         (spawnpvech): Use it.
196 2020-12-24  Bruno Haible  <bruno@clisp.org>
198         posix_spawn* tests: Add support for native Windows.
199         * tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
200         like Cygwin.
201         * tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
202         SIGHUP and SIGPIPE. On native Windows, don't call
203         posix_spawnattr_setsigmask.
204         * tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
205         * tests/test-posix_spawn-fchdir.c (main): Likewise.
206         * tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
207         output from Cygwin's 'pwd' program.
208         * tests/test-posix_spawn-script.c (main): On native Windows, skip the
209         executable-shell-script part of the test.
210         * tests/test-posix_spawnp-script.c (main): Likewise.
211         * modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
212         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
213         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
214         * modules/posix_spawnp-tests (Depends-on): Add  waitpid.
215         (configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
216         (Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
217         * modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
218         test the POSIX_SPAWN_PORTED conditional.
219         * modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
220         Define the POSIX_SPAWN_PORTED conditional here.
222 2020-12-24  Bruno Haible  <bruno@clisp.org>
224         sh-filename: Add support for native Windows.
225         * m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.
227 2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>
229         careadlinkat: improve warning line number
230         This propagates an idea first used in canonicalize-lgpl.
231         * lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
232         New macro.
233         (careadlinkat): Use it.
235         linkat: use eloop-threshold
236         * lib/linkat.c: Include eloop-threshold.h.
237         Do not include sys/param.h.
238         (MAXSYMLINKS): Remove.
239         (link_follow, linkat_follow): Use __eloop_threshold instead
240         of MAXSYMLINKS.
241         * m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
242         * modules/linkat (Depends-on): Add eloop-threshold.  Sort.
244         canonicalize-lgpl: use eloop-threshold
245         * lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
246         (MAXSYMLINKS, __eloop_threshold): Remove.
247         * modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.
249         eloop-threshold: new module
250         * config/srclist.txt: Add a comment about it.
251         * lib/eloop-threshold.h, modules/eloop-threshold: New files.
253         canonicalize: prefer faccessat to stat
254         A proper faccessat doesn't have the EOVERFLOW problem, and can be
255         more efficient as it needn't gather data from the filesystem to
256         fill in struct stat.  So use stat only if faccessat is absent,
257         or when checking for symlink loops in canonicalize.c.
258         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
259         Include fcntl.h, for AT_EACCESS.
260         (FACCESSAT_NEVER_EOVERFLOWS): Default to false.
261         (file_accessible): New function, based on faccessat but with
262         a fallback to stat and with an EOVERFLOW workaround.
263         (dir_check): Use it.
264         (dir_suffix): New static constant.
265         * lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
266         Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
267         (__faccessat) [!_LIBC]: Define.
268         (realpath_stk): Use dir_suffix now.
269         * lib/canonicalize.c (canonicalize_filename_mode_stk):
270         If logical, don't check each component's existence; just check
271         at the end, as that's enough.
272         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
273         (gl_CANONICALIZE_LGPL_SEPARATE):
274         Require gl_FUNC_FACCESSAT_EOVERFLOW,
275         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
276         (gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
277         as the code does not use HAVE_READLINK.
278         * modules/canonicalize, modules/canonicalize-lgpl (Files):
279         Add m4/faccessat.m4, m4/lstat.m4.
280         (Depends-on): Add fcntl-lh.
282         faccessat: work around F_OK EOVERFLOW bug
283         * doc/posix-functions/faccessat.texi: Mention the problem.
284         * lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
285         (rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
286         for F_OK and EOVERFLOW, which means we can return 0.
287         * m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
288         (gl_FUNC_FACCESSAT): Use it.
290         stat failing with EOVERFLOW implies existence
291         * lib/euidaccess.c (euidaccess):
292         * lib/file-has-acl.c (file_has_acl):
293         * lib/link.c (link, rpl_link):
294         * lib/mkdir.c (rpl_mkdir):
295         * lib/mkfifo.c (rpl_mkfifo):
296         * lib/mknod.c (rpl_mknod):
297         * lib/ptsname_r.c (__ptsname_r):
298         * lib/symlink.c (rpl_symlink):
299         * lib/symlinkat.c (rpl_symlinkat):
300         * lib/unlink.c (rpl_unlink):
301         * lib/unlinkat.c (rpl_unlinkat):
302         * lib/utime.c (utime):
303         If stat fails with EOVERFLOW the file exists, so treat it that way
304         in file-existence tests that do not need struct stat values.
306         canonicalize-lgpl: remove freea macro
307         * lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.
309         canonicalize, canonicalize-lgpl: fix symlink bug
310         Problem reported by Adhemerval Zanella in:
311         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
312         * lib/canonicalize-lgpl.c, lib/canonicalize.c:
313         (suffix_requires_dir_check, dir_check): New functions.
314         (GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
315         closer to the related GCC diagnostics.
316         * lib/canonicalize-lgpl.c (realpath_stk):
317         * lib/canonicalize.c (canonicalize_file_mode_stk):
318         Use them to fix a bug with .../symlink-to-regular-file/ etc.
319         * lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
320         (realpath_stk): New function,
321         with the contents of the old __realpath and a new scratch buffer arg.
322         This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
323         (__realpath): Use it.
324         * tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
325         Add test cases for the bugs.
327 2020-12-24  Bruno Haible  <bruno@clisp.org>
329         execute: Treat signalled processes like wait-process does.
330         * lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
331         (execute): Recognize the case where the exit code indicates a signalled
332         child process.
333         * tests/test-execute-main.c (main): Update expected test result.
334         * modules/execute (Depends-on): Add sys_wait.
336 2020-12-24  Bruno Haible  <bruno@clisp.org>
338         windows-spawn: Improve errno upon failure on native Windows.
339         * lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
340         ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
341         * tests/executable-script.sh: New file.
342         * tests/test-posix_spawn-script.c (main): Also try executing
343         executable-script.sh.
344         * tests/test-posix_spawnp-script.c (main): Likewise.
345         * tests/test-execute-script.c (main): Likewise.
346         * tests/test-spawn-pipe-script.c (main): Likewise.
347         * modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
348         * modules/posix_spawnp-tests (Files): Likewise.
349         * modules/execute-tests (Files): Likewise.
350         * modules/spawn-pipe-tests (Files): Likewise.
352 2020-12-24  Bruno Haible  <bruno@clisp.org>
354         findprog-in: Improve errno upon failure on native Windows.
355         * lib/findprog-in.c (find_in_given_path): If the file basename has no
356         dot and the search with a suffix returned no result, do also a search
357         without a suffix, and set errno = ENOEXEC if we find a file in this way.
358         * tests/test-spawn-pipe-script.c (main): Update expected errno.
360 2020-12-23  Bruno Haible  <bruno@clisp.org>
362         posix_spawn, posix_spawnp: Fix execution of scripts.
363         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
364         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
365         or posix_spawnp allows unsecure execution of scripts.
366         * doc/posix-functions/posix_spawn.texi: Document the script execution
367         problem.
368         * doc/posix-functions/posix_spawnp.texi: Likewise.
370 2020-12-23  Bruno Haible  <bruno@clisp.org>
372         Add unit tests regarding execution of scripts.
373         * tests/executable-script: New file.
374         * tests/executable-shell-script: New file.
375         * tests/test-posix_spawn-script.c: New file.
376         * tests/test-posix_spawnp-script.c: New file.
377         * tests/test-execute-script.c: New file.
378         * tests/test-spawn-pipe-script.c: New file.
379         * modules/posix_spawn-tests (Files): Add
380         tests/test-posix_spawn-script.c, tests/executable-script,
381         tests/executable-shell-script.
382         (Makefile.am): Compile and run test-posix_spawn-script.
383         * modules/posix_spawnp-tests (Files): Add
384         tests/test-posix_spawnp-script.c, tests/executable-script,
385         tests/executable-shell-script.
386         (Makefile.am): Compile and run test-posix_spawnp-script.
387         * modules/execute-tests (Files): Add tests/test-execute-script.c,
388         tests/executable-script, tests/executable-shell-script.
389         (Makefile.am): Compile and run test-execute-script.
390         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
391         tests/executable-script, tests/executable-shell-script.
392         (Makefile.am): Compile and run test-spawn-pipe-script.
394 2020-12-23  Bruno Haible  <bruno@clisp.org>
396         Don't execute scripts without '#!' marker through /bin/sh.
397         This reflects the change done in glibc through
398         <https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
399         <https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
400         * lib/spawni.c (internal_function): Remove macro.
401         (script_execute): Remove function.
402         (__spawni): Don't invoke script_execute.
403         * lib/execute.c (execute): Disable the ENOEXEC handling.
404         * lib/spawn-pipe.c (create_pipe): Likewise.
405         * NEWS: Mention the change.
407 2020-12-23  Bruno Haible  <bruno@clisp.org>
409         posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
410         Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
411         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
412         * lib/spawni.c (__spawni): Update function parameters.
414 2020-12-23  Bruno Haible  <bruno@clisp.org>
416         posix_spawn tests: Add two more tests.
417         * tests/test-posix_spawn-inherit0.c: New file, based on
418         tests/test-posix_spawn-open2.c.
419         * tests/test-posix_spawn-inherit1.c: New file, based on
420         tests/test-posix_spawn-open2.c.
421         * modules/posix_spawn-tests (Files): Add them.
422         (Depends-on): Add fflush.
423         (Makefile.am): Compile and run test-posix_spawn-inherit0 and
424         test-posix_spawn-inherit1.
426 2020-12-23  Bruno Haible  <bruno@clisp.org>
428         posix_spawn tests: Add another test.
429         * tests/test-posix_spawn-open2.c: New file, based on
430         tests/test-posix_spawn-open1.c.
431         * modules/posix_spawn-tests (Files): Add it.
432         (Makefile.am): Compile and run test-posix_spawn-open1.
434 2020-12-20  Bruno Haible  <bruno@clisp.org>
436         Remove support for broken <wchar.h> in AIX 3.
437         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.
439 2020-12-20  Bruno Haible  <bruno@clisp.org>
441         Remove support for broken <wchar.h> in BSD/OS and OSF/1.
442         * lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
443         * lib/mbchar.h: Likewise.
444         * lib/mbiter.h: Likewise.
445         * lib/mbuiter.h: Likewise.
446         * m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
447         * lib/mbfile.h: Don't include <time.h>.
448         * lib/mbswidth.h: Update comment.
449         * lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
450         <wchar.h>.
451         * lib/wctype.in.h: Likewise.
452         * m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
453         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
454         * m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
455         * m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
456         * m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
457         gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
458         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
459         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
460         gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
461         gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
462         AC_FUNC_MBRTOWC): Likewise.
463         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
464         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
465         Likewise.
466         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
467         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
468         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
469         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
470         * m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
471         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
472         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
473         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
474         Likewise.
475         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
476         gl_WCSRTOMBS_NULL): Likewise.
477         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
478         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
479         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
480         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
481         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
482         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
483         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
484         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
485         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
486         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
488 2020-12-20  Bruno Haible  <bruno@clisp.org>
490         isnanf: Fix autoconf test.
491         * m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.
493 2020-12-20  Bruno Haible  <bruno@clisp.org>
495         Remove some of the support for obsolete IRIX 4 and 5.
496         * m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
497         libsun.
498         * tests/init.sh (setup_): Don't talk about IRIX 5.
500 2020-12-20  Bruno Haible  <bruno@clisp.org>
502         filemode: Remove Cray support.
503         * lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
504         (filemodestring): Don't produce an 'M' type.
505         * m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
506         * m4/st_dm_mode.m4: Remove file.
507         * modules/filemode (Files): Remove it.
509 2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>
511         free-posix: assume glibc 2.33 fixes this.
512         * m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
513         Use compile-time test rather than guessing for cross-builds.
515 2020-12-20  Bruno Haible  <bruno@clisp.org>
517         backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
518         Reported by Adrian Ebeling <adrianebeling@gmx.de> in
519         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
520         * lib/backupfile.c (fpathconf): Define fallback, like for pathconf.
522 2020-12-20  Bruno Haible  <bruno@clisp.org>
524         float: Fix compilation error when gnulib's float.h exists twice.
525         Reported by Santiago Vila <sanvila@unex.es>.
526         * lib/float.in.h (GNULIB_defined_long_double_union): New macro.
528 2020-12-19  Bruno Haible  <bruno@clisp.org>
530         free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
531         * m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
532         Don't trust _POSIX_VERSION for this test.
534 2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>
536         free-posix: port to GNU/Linux
537         * m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
538         the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
539         other GNU/Linux hosts.
541 2020-12-19  Bruno Haible  <bruno@clisp.org>
543         free-posix: Add tests.
544         * tests/test-free.c: New file.
545         * tests/macros.h (ASSERT_NO_STDIO,
546         WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
547         WRITE_TO_STDERR): New macros.
548         * modules/free-posix-tests: New file.
550 2020-12-18  Bruno Haible  <bruno@clisp.org>
552         free-posix: Add C++ declaration test.
553         * tests/test-stdlib-c++.cc (free): New declaration.
555 2020-12-18  Bruno Haible  <bruno@clisp.org>
557         free-posix: New module, renamed from 'free'.
558         * modules/free-posix: Renamed from modules/free.
559         (configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
560         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
561         not GNULIB_FREE.
562         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
563         GNULIB_FREE.
564         * lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
565         * doc/posix-functions/free.texi: Mention the module 'free-posix' and
566         what it does.
567         * NEWS: Mention that module 'free' no longer exists.
568         * modules/canonicalize (Depends-on): Add free-posix. Remove free.
569         * modules/canonicalize-lgpl (Depends-on): Likewise.
571 2020-12-18  Bruno Haible  <bruno@clisp.org>
573         free: Remove support for obsolete platforms.
574         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
575         CANNOT_FREE_NULL.
576         * lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
577         * modules/free (Description): Update.
578         * doc/posix-functions/free.texi: Don't mention SunOS 4 any more.
580 2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>
582         intprops: port to ICC 2021.1 Beta 20201112
583         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
584         Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
585         Add a clause for other compilers that claim to support
586         __builtin_mul_overflow_p, since we might as well find out about
587         slackers other than Clang and ICC.
588         (INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
589         like older GCCs even when it claims to be a newer one.
591 2020-12-18  Bruno Haible  <bruno@clisp.org>
593         intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
594         Reported by Stefan Liebler <stli@linux.ibm.com> in
595         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
596         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
597         GCC 5.x and 6.x.
598         * lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
599         GCC 5.x and 6.x.
601 2020-12-17  Bruno Haible  <bruno@clisp.org>
603         free: Fix warning.
604         Reported by Pádraig Brady <P@draigBrady.com> in
605         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
606         * lib/stdlib.in.h (free): New declaration.
607         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
608         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
609         * modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
610         * m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
611         'free' as a macro here.
612         * modules/free (Depends-on): Add stdlib.
613         (configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.
615 2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>
617         canonicalize-lgpl: fix AIX test failures
618         This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
619         Problem reported by Bruno Haible in:
620         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
621         * lib/canonicalize-lgpl.c: Include sys/stat.h.
622         (__realpath): When testing a file name ending in '/', use stat
623         rather than readlink, so that it does the right thing on AIX.
624         * modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.
626         canonicalize: omit second readlink when not needed
627         * lib/canonicalize.c (canonicalize_filename_mode_stk):
628         Omit second readlink when (can_exist != CAN_MISSING
629         && startlen != 0 && !logical).  Simplify.
631         canonicalize: remove arbitrary 8192-byte limit
632         Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
633         like GNU Hurd that do not define the PATH_MAX macro, and similarly
634         for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
635         using scratch buffers.  Lessen the number of differences between
636         the two source files, to simplify this and future maintenance.
637         * lib/canonicalize-lgpl.c (__realpath):
638         * lib/canonicalize.c (canonicalize_filename_mode_stk):
639         Use scratch buffers instead of malloc and malloca.  This avoids
640         the need for alloca, and avoids the need for malloc in most cases.
641         * lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
642         easier to compare, e.g., by sorting include files and by switching
643         to the GNU convention of calling file names "file names", not
644         "path names".  Include stdbool.h, scratch_buffer.h.
645         * lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
646         (malloca) [_LIBC]: Remove.
647         [!_LIBC]: Do not include malloca.h.
648         (get_path_max): New function, so that pathconf is called only in
649         the rare and dubious case when when RESOLVED is not null and
650         PATH_MAX is not defined.  Invoke pathconf on "/" not the input
651         file name, as we care about the longest file name starting from
652         "/" (not from the input file name), and POSIX does not specify
653         what pathconf does on a non-directory file anyway.  If PATH_MAX is
654         not defined, do not worry about overriding a path_max of 0, and do
655         not let path_max exceed IDX_MAX.
656         (__realpath): Remove an assumption that file name components
657         cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
658         the Hurd, presumably).
659         When allocating the result, allocate it to just the right size;
660         this costs nothing when the result is smaller than 1023 bytes,
661         and for larger results it's probably worth the CPU to call realloc,
662         as canonicalize.c already does.
663         * lib/canonicalize.c: Include attribute.h.
664         Do not include pathmax.h or xgetcwd.h.
665         (PATH_MAX): Do not define, so file names longer than 8192 bytes
666         work on platforms with no fixed limit.
667         (canonicalize_filename_mode_stk): New function, with
668         the content of the old canonicalize_filename_mode.
669         Use getcwd instead of xgetcwd, and readlink instead of areadlink,
670         since the scratch buffers now do memory management for us.
671         Use rawmemchr instead of adding strlen.
672         Use mempcpy instead of mempcpy + size.
673         Assume free preserves errno.
674         (canonicalize_filename_mode): Use it.
675         * modules/canonicalize (Depends-on): Remove areadlink, pathmax,
676         xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
677         scratch_buffer, stdbool, xalloc-die.
678         * modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
679         malloca, realloc-posix.  Add scratch_buffer, stdbool.
681         canonicalize-lgpl: simplify merge to glibc
682         This patch lessens the differences between git glibc
683         stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
684         The (perhaps wishful) goal is to make them identical.
685         * lib/canonicalize-lgpl.c [!_LIBC]:
686         Include <libc-config.h>, not config.h.
687         Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
688         !FUNC_REALPATH_WORKS || defined _LIBC) #if.
689         Do not include alloca.h, since we use malloca now.
690         [_LIBC]: Include <eloop-threshold.h>, and define dummy macros
691         FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
692         freea so that the mainline code can be kept #ifdef free.
693         [!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
694         compat_symbol, weak_alias, __set_errno since libc-config.h does that.
695         Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
696         __eloop_threshold.  All uses of their definiens changed.
697         (SIZE_MAX): Remove; no longer needed.
698         (alloc_failed): Remove, and remove all instances.
699         No need for alloc_failed now that free preserves errno.
700         (__realpath): Default path_max to 1024 instead of 8192, as that’s
701         the glibc tradition and is safer when the 2nd argument is null.
702         Use __rawmemchr instead of strchr.
703         Use __mempcpy where appropriate.
704         Simplify test for overflow so that it does not need SIZE_MAX.
705         Do not preserve errno around free or freea calls; no longer needed.
706         Mark __realpath with libc_hidden_def.
707         * modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
708         malloc-posix, mempcpy, realloc-posix, rawmemchr.
709         * modules/free: Now LGPLv2+, for canonicalize-lgpl.
711         free: preserve errno
712         * lib/free.c (rpl_free): Preserve errno.  Check for null only if
713         CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
714         platforms that do not preserve errno.
715         * m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
716         Also, define CANNOT_FREE_NULL if free cannot free NULL.
717         * modules/free (configure.ac): Also replace 'free' if
718         it does not preserve errno.
720         idx: simplify IDX_MAX, remove IDX_WIDTH
721         * lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
722         to UNSIGNED_IDX_T.
723         (IDX_WIDTH): Remove, since it’s not used and its value
724         arguably should be PTRDIFF_WIDTH anyway.
726 2020-12-16  Bruno Haible  <bruno@clisp.org>
728         posix_spawn_file_actions_addfchdir-tests: Rename test.
729         * tests/test-posix_spawn-fchdir.c: Renamed from
730         tests/test-posix_spawn5.c.
731         * modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
732         Update.
734         posix_spawn_file_actions_addchdir-tests: Rename test.
735         * tests/test-posix_spawn-chdir.c: Renamed from
736         tests/test-posix_spawn4.c.
737         * modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
738         Update.
740         posix_spawn-tests: Rename test.
741         * tests/test-posix_spawn-open1.c: Renamed from
742         tests/test-posix_spawn3.c.
743         * modules/posix_spawn-tests (Files, Makefile.am): Update.
745         posix_spawnp-tests: Rename test.
746         * tests/test-posix_spawn-dup2-stdin.c: Renamed from
747         tests/test-posix_spawn2.c.
748         * tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
749         tests/test-posix_spawn2.in.sh.
750         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
752         posix_spawnp-tests: Rename test.
753         * tests/test-posix_spawn-dup2-stdout.c: Renamed from
754         tests/test-posix_spawn1.c.
755         * tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
756         tests/test-posix_spawn1.in.sh.
757         * modules/posix_spawnp-tests (Files, Makefile.am): Update.
759 2020-12-14  Bruno Haible  <bruno@clisp.org>
761         findprog-in: Allow overriding the current directory.
762         * lib/findprog.h (find_in_given_path): Add directory argument.
763         * lib/findprog-in.c (find_in_given_path): Likewise.
764         * lib/execute.c (execute): Update caller.
765         * lib/spawn-pipe.c (create_pipe): Likewise.
766         * lib/windows-spawn.c (spawnpvech): Likewise.
767         * NEWS: Mention the change.
769 2020-12-14  Bruno Haible  <bruno@clisp.org>
771         posix_spawn-internal: Make better use of 'const'.
772         * lib/spawn_int.h (__spawni): Does not need write access to the elements
773         of argv and envp.
774         * lib/spawni.c (__spawni, script_execute): Likewise.
775         * lib/spawn.c (posix_spawn): Update caller.
776         * lib/spawnp.c (posix_spawnp): Likewise.
778 2020-12-14  Bruno Haible  <bruno@clisp.org>
780         spawn: Make it compile on native Windows.
781         * modules/spawn (Depends-on): Add signal-h.
783 2020-12-14  Bruno Haible  <bruno@clisp.org>
785         windows-spawn: Avoid shadowing a variable.
786         * lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.
788 2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>
790         string: port memchr macro to AIX 7.2 XLC
791         Its <string.h> defines a memchr macro to help inlining.
792         * lib/string.in.h (memchr): #undef before #defining.
794         canonicalize: fix AIX test failures
795         Problem reported by Bruno Haible in:
796         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
797         * lib/canonicalize.c (canonicalize_filename_mode):
798         When testing a file name ending in '/', use stat rather than
799         readlink, so that it does the right thing on AIX.
800         * modules/canonicalize (Depends-on): Add readlink, to pull in the
801         recent changes in the Gnulib readlink module.
803         Assume readlink/readlinkat ERANGE fix
804         * lib/areadlink-with-size.c (areadlink_with_size):
805         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
806         * lib/careadlinkat.c (readlink_stk):
807         Do not worry about readlink or readlinkat failing with errno == ERANGE,
808         since the Gnulib readlink and readlinkat modules now fix that.
810         getcwd: port to AIX
811         * lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
812         in case our sys/stat.h #defined a function macro with the same name.
814         readlink, readlinkat: add ERANGE portability
815         Fix some portability issues with Gnulib's readlink and readlinkat,
816         notably mostly working around the ERANGE problem in AIX and HP-UX.
817         * doc/posix-functions/readlink.texi:
818         * doc/posix-functions/readlinkat.texi:
819         ERANGE problem is mostly fixed now.  Mention AIX problem with
820         trailing / and EINVAL.  Lessen differences between these two files.
821         * lib/readlink.c (rpl_readlink):
822         * lib/readlinkat.c (rpl_readlinkat):
823         If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
824         existing directory.  Mostly work around READLINK_TRUNCATE BUG.
825         Lessen spurious differences between the readlink and readlinkat code.
826         * lib/readlinkat.c (rpl_readlinkat):
827         Fix bug where stat was used where fstatat was intended.
828         * m4/readlink.m4 (gl_FUNC_READLINK):
829         Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
830         to identify readlink problems more precisely.  All uses changed.
831         Guess no on AIX or HP-UX for this variable.
832         Add check for whether readlink truncates results,
833         and define new macro READLINK_TRUCATE_BUG accordingly.
834         * m4/readlinkat.m4 (gl_FUNC_READLINKAT):
835         Also check gl_cv_func_readlink_trailing_slash when deciding
836         whether to replace readlinkat.
837         * modules/readlinkat (Depends-on): Most dependencies are also
838         needed if replacing readlinkat.  fstatat is different, as it
839         is needed only if replacing an existing readlinkat.
841 2020-12-13  Bruno Haible  <bruno@clisp.org>
843         spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
844         * lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
845         the stdin_handle and/or stdout_handle.
847 2020-12-12  Bruno Haible  <bruno@clisp.org>
849         Fix gnulib-tool error when some modules occur in tests/.
850         * doc/gnulib.texi (Specification): Update statistics.
851         (Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
852         (Using AC_LIBOBJ): New section.
853         * check-AC_LIBOBJ: New file.
854         * modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
855         * modules/fopen-gnu (Files): Add lib/fopen.c.
856         * modules/memmem (Files): Add lib/memmem.c.
857         * modules/renameat (Files): Add lib/at-func2.c.
858         * modules/strcasestr (Files): Add lib/strcasestr.c.
859         * modules/strstr (Files): Add lib/strstr.c.
861 2020-12-11  Bruno Haible  <bruno@clisp.org>
863         sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
864         * lib/sh-quote.h (shell_quote_argv): Does not need write access to the
865         elements of argv.
866         * lib/sh-quote.c (shell_quote_argv): Likewise.
867         * lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
868         the return type.
869         * lib/windows-spawn.c (prepare_spawn): Likewise.
870         * lib/os2-spawn.h (prepare_spawn): Likewise.
871         * lib/os2-spawn.c (prepare_spawn): Likewise.
872         * lib/execute.h (execute): Does not need write access to the elements of
873         prog_argv.
874         * lib/execute.c (execute): Likewise.
875         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
876         Likewise.
877         * lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
878         create_pipe_out): Likewise.
879         * lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
880         Likewise.
881         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
882         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
883         * lib/javaexec.h (execute_fn): Does not need write access to the
884         elements of prog_argv.
885         * lib/javaexec.c (execute_java_class): Update variable types and remove
886         casts to 'char *'.
887         * lib/csharpexec.h (execute_fn): Does not need write access to the
888         elements of prog_argv.
889         * lib/csharpexec.c (execute_csharp_using_mono,
890         execute_csharp_using_sscli): Update variable types and remove casts to
891         'char *'.
892         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
893         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
894         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
895         is_jikes_present): Update variable types and remove casts to 'char *'.
896         * lib/javaversion.c (execute_and_read_line): Does not need write access
897         to the elements of prog_argv.
898         * lib/csharpcomp.c (compile_csharp_using_mono,
899         compile_csharp_using_sscli): Update variable types and remove casts to
900         'char *'.
901         * tests/test-sh-quote.c (main): Update variable types and remove casts
902         to 'char *'.
903         * tests/test-execute-main.c (main): Update variable types and remove
904         casts to 'char *'.
905         * tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
906         remove casts to 'char *'.
907         * NEWS: Mention the changes.
909 2020-12-11  Bruno Haible  <bruno@clisp.org>
911         execute-tests: Fix compilation error with MSVC.
912         * tests/test-execute-child.c (is_device): With _fstat, use
913         'struct _stat', not 'struct stat'.
915 2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>
917         vararrays: just use 2.70
918         * m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
919         and later, since Autoconf 2.70 matches Gnulib now.
921         sys_types: just use 2.70
922         * m4/sys_types_h.m4 (AC_HEADER_MAJOR):
923         Reindent to match Autoconf sources.
924         Use Autoconf 2.70 as a prerequisite, not 2.69c.
926         stdint: port to Autoconf 2.70
927         * m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
928         instead of assuming that AC_INCLUDES_DEFAULT does it.
929         The old code relied on AC_INCLUDES_DEFAULT being called
930         and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
931         but this does not occur in Autoconf 2.70.
933         pid_t.m4: just use 2.70
934         * m4/pid_t.m4 (AC_TYPE_PID_T):
935         Use Autoconf 2.70 as a prerequisite, not 2.69c.
937         largefile: just use 2.70
938         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
939         Use Autoconf 2.70 as a prerequisite, not 2.69c.
941         AC_C_RESTRICT: update from Autoconf
942         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
943         as a prerequisite, not 2.69c, since 2.70 is now out.
944         (AC_C_RESTRICT): Define only for 2.70 or earlier.
945         Try __restrict__ before __restrict.
947         extensions: update from Autoconf
948         * m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
949         Provide a default implementation for Autoconf 2.69 or earlier.
950         (AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
951         if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.
953         alloca: update from Autoconf
954         * m4/alloca.m4 (gl_PREREQ_ALLOCA):
955         Trivial update to match Autoconf 2.70.
957 2020-12-11  Bruno Haible  <bruno@clisp.org>
959         memchr: Work around memory overrun bug on AIX 7.2.
960         * m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
961         * doc/posix-functions/memchr.texi: Mention the AIX bug.
963 2020-12-11  Bruno Haible  <bruno@clisp.org>
965         execute-tests: Fix compilation error on AIX in 32-bit mode.
966         * tests/test-execute-child.c: In order to get the original definition of
967         fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
968         include the system's <sys/stat.h> and use it before including other
969         header files.
971 2020-12-10  Bruno Haible  <bruno@clisp.org>
973         windows-spawn: Relicense under LGPLv2+.
974         * modules/windows-spawn (License): Change to LGPLv2+.
976 2020-12-10  Bruno Haible  <bruno@clisp.org>
978         execute, spawn-pipe: Fix memory leak on native Windows.
979         * lib/windows-spawn.h (prepare_spawn): Add a second parameter.
980         * lib/windows-spawn.c: Don't include xalloc.h.
981         (quoted_arg_length, quoted_arg_string): New functions, extracted from
982         prepare_spawn.
983         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
984         elements of *new_argv together.
985         * modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
986         * lib/os2-spawn.h (prepare_spawn): Add a second parameter.
987         * lib/os2-spawn.c: Don't include xalloc.h.
988         (prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
989         elements of *new_argv together.
990         * lib/execute.c: Include xalloc.h.
991         (execute): Check return value of prepare_spawn. Free the memory
992         allocated by prepare_spawn.
993         * modules/execute (Depends-on): Add xalloc-die.
994         * lib/spawn-pipe.c: Include xalloc.h.
995         (create_pipe): Check return value of prepare_spawn. Free the memory
996         allocated by prepare_spawn.
997         * modules/spawn-pipe (Depends-on): Add xalloc-die.
999 2020-12-10  Bruno Haible  <bruno@clisp.org>
1001         findprog-in: Relicense under LGPLv2+.
1002         Paul Smith's approval is in
1003         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
1004         * modules/findprog-in (License): Change to LGPLv2+.
1006 2020-12-10  Bruno Haible  <bruno@clisp.org>
1008         findprog-in: Don't exit upon out-of-memory.
1009         * lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
1010         code.
1011         * lib/findprog-in.c: Don't include xalloc.h.
1012         (find_in_given_path): Call concatenated_filename, not
1013         xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
1014         return NULL with errno set.
1015         * modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
1016         concat-filename, strdup-posix, malloc-posix.
1018 2020-12-09  Bruno Haible  <bruno@clisp.org>
1020         fmaf: Work around a bug on FreeBSD 12.2/arm.
1021         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
1022         * doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.
1024 2020-12-09  Bruno Haible  <bruno@clisp.org>
1026         threadlib: Fix test-fstrcmp failure on FreeBSD 11.
1027         * m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
1028         on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
1029         * lib/glthread/threadlib.c: Include <errno.h>.
1030         (glthread_in_use): For FreeBSD, provide an alternative implementation
1031         that uses pthread_key_create.
1033 2020-12-09  Bruno Haible  <bruno@clisp.org>
1035         math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
1036         * lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
1037         not 'isnan'.
1039 2020-12-08  Bruno Haible  <bruno@clisp.org>
1041         std-gnu11: Make compatible with Autoconf 2.70.
1042         * m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
1043         use.
1045 2020-12-08  Bruno Haible  <bruno@clisp.org>
1047         argp: Avoid undefined behaviour when invoking qsort().
1048         This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
1049         Reported by Jeffrey Walton <noloader@gmail.com> in
1050         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
1051         * lib/argp-help.c (group_cmp): Remove third argument.
1052         (hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
1053         upon hol_cluster_cmp.
1054         (hol_cluster_cmp): Use hol_cousin_cluster_cmp.
1055         (hol_entry_cmp): Rewritten to implement a total order.
1057 2020-12-08  Bruno Haible  <bruno@clisp.org>
1059         argp: Improve comments.
1060         * lib/argp-help.c: Add sectioning comments. Write NULL to designate a
1061         null pointer.
1062         (struct hol_entry): Fix comment regarding sort order of group.
1063         (hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
1064         (until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
1065         (hol_cluster_is_child, argp_hol): Move functions.
1066         (HOL_ENTRY_PTRCMP): Remove unused macro.
1068 2020-12-08  Bruno Haible  <bruno@clisp.org>
1070         argp: Don't pass invalid arguments to isspace() and isalnum().
1071         * lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
1072         before passing it to isspace() or isalnum().
1074 2020-12-08  Bruno Haible  <bruno@clisp.org>
1076         argp: Don't rely on undefined behaviour of _tolower().
1077         Patch by Eric Blake
1078         <https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
1079         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
1080         not upper-case.  Pass correct range to tolower.
1082 2020-12-07  Bruno Haible  <bruno@clisp.org>
1084         unicodeio: Fix wrong result on FreeBSD.
1085         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
1086         characters on all platforms.
1088 2020-12-07  Bruno Haible  <bruno@clisp.org>
1090         get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
1091         * tests/test-get-rusage-data.c (main): Don't expect a strict increase on
1092         FreeBSD systems.
1094 2020-12-07  Bruno Haible  <bruno@clisp.org>
1096         get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
1097         * modules/get-rusage-data (configure.ac): Test whether sbrk exists.
1098         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
1099         trivially of sbrk is not available.
1100         * doc/glibc-functions/sbrk.texi: Mention that the function does not
1101         exist in FreeBSD 12.2/arm64.
1102         * doc/glibc-functions/brk.texi: Likewise.
1104 2020-12-07  Bruno Haible  <bruno@clisp.org>
1106         Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
1107         Suggested by Zack Weinberg in
1108         <https://savannah.gnu.org/support/?110294>.
1109         * m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
1110         * modules/uchar-c++-tests: Revert the workaround from 2020-08-18.
1112 2020-12-07  Bruno Haible  <bruno@clisp.org>
1114         Tweak the Windows oldnames workaround.
1115         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1116         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
1117         * lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
1118         always.
1119         (getcwd): Use _GL_CXXALIAS_MDA_CAST.
1120         * lib/stdlib.in.h (putenv): Likewise.
1122 2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>
1124         doc: fix flat address space discussion
1125         * doc/gnulib-readme.texi (Other portability assumptions):
1126         Move the all-bits-zero assumption outside the flat address space
1127         section, since the two issues are independent.
1129         doc: document -static-libubsan more
1130         * doc/gnulib-readme.texi (High Quality): Document pros and cons of
1131         -static-libubsan a bit more.  Mostly cons.
1133 2020-12-06  Bruno Haible  <bruno@clisp.org>
1135         doc: Add more details regarding the undefined behaviour sanitizer.
1136         * doc/gnulib-readme.texi (High Quality): Describe
1137         -fsanitize-undefined-trap-on-error better.
1139 2020-12-06  Bruno Haible  <bruno@clisp.org>
1141         Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
1142         Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
1143         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
1144         * lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
1145         * lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
1146         defined: 1. Define a symbol in this namespace. 2. Don't redirect using
1147         a preprocessor #define.
1148         * lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
1149         * lib/search.in.h (lfind, lsearch): Likewise.
1150         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
1151         Likewise.
1152         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
1153         * lib/string.in.h (memccpy, strdup): Likewise.
1154         * lib/sys_stat.in.h (chmod, umask): Likewise.
1155         * lib/time.in.h (tzset): Likewise.
1156         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
1157         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
1158         read, rmdir, swab, unlink, write): Likewise.
1159         * lib/utime.in.h (utime): Likewise.
1160         * lib/wchar.in.h (wcsdup): Likewise.
1161         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
1162         (gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
1163         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
1164         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
1165         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1166         (gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1167         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
1168         HAVE_DECL_FCVT, HAVE_DECL_GCVT.
1169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
1170         (gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
1171         * modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
1172         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
1173         (gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
1174         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.
1176 2020-12-06  Bruno Haible  <bruno@clisp.org>
1178         doc: Mention some missing function declarations.
1179         * doc/glibc-functions/execvpe.texi: Mention the missing declaration on
1180         AIX.
1181         * doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
1182         FreeBSD.
1183         * doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
1184         Cygwin.
1185         * doc/pastposix-functions/fcvt.texi: Likewise.
1186         * doc/pastposix-functions/gcvt.texi: Likewise.
1188 2020-12-06  Bruno Haible  <bruno@clisp.org>
1190         doc: Tweak example.
1191         * doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
1192         'print'.
1194 2020-12-06  Bruno Haible  <bruno@clisp.org>
1196         filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
1197         * tests/test-filenamecat.c: Include idx.h.
1198         (main): Mark prefixlen as nonnegative.
1199         * modules/filenamecat-tests (Depends-on): Add idx.
1201 2020-12-06  Bruno Haible  <bruno@clisp.org>
1203         time_rz: Use idx_t for nonnegative ptrdiff_t variables.
1204         * lib/time_rz.c: Include idx.h.
1205         (save_abbr): Mark zone_size as nonnegative.
1206         * modules/time_rz (Depends-on): Add idx.
1208 2020-12-06  Bruno Haible  <bruno@clisp.org>
1210         parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
1211         * lib/parse-datetime.y: Include idx.h.
1212         (textint): Mark digits as nonnegative.
1213         (parser_control): Mark dates_seen, days_seen, local_zones_seen,
1214         dsts_seen, times_seen, zones_seen as nonnegative.
1215         (lookup_word): Mark wordlen as nonnegative.
1216         (yylex): Mark count as nonnegative.
1217         (parse_datetime2): Mark tzsize as nonnegative.
1218         * modules/parse-datetime (Depends-on): Add idx.
1220 2020-12-06  Bruno Haible  <bruno@clisp.org>
1222         fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
1223         * lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
1224         * lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
1225         nonnegative.
1226         * modules/fnmatch (Depends-on): Add idx.
1228 2020-12-06  Bruno Haible  <bruno@clisp.org>
1230         c-stack: Use idx_t for nonnegative ptrdiff_t variables.
1231         * lib/c-stack.c: Include idx.h.
1232         (die): Mark buflen as nonnegative.
1233         * modules/c-stack (Depends-on): Add idx.
1235 2020-12-06  Bruno Haible  <bruno@clisp.org>
1237         backupfile: Use idx_t for nonnegative ptrdiff_t variables.
1238         * lib/backupfile.c: Include idx.h.
1239         (numbered_backup): Mark base_offset as nonnegative.
1240         (backupfile_internal): Likewise.
1241         * modules/backup-rename (Depends-on): Add idx.
1242         * modules/backupfile (Depends-on): Likewise.
1244 2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1246         doc: fix curved quotes issue
1247         * doc/gnulib.texi: Set txicodequoteundirected and
1248         txicodequotebacktick so that ` and ' in examples do not generate
1249         curved single quotes that do the wrong thing when cut and pasted.
1251         doc: mention static and dynamic checking
1252         * doc/gnulib-readme.texi (High Quality): Add a bit of advice
1253         for static and dynamic checking.
1255         intprops: Add INT_ADD_OK etc.
1256         * doc/intprops.texi (Checking Integer Overflow): New section.
1257         * lib/intprops.h: From a suggestion by Bruno Haible in:
1258         https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
1259         (SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.
1261         doc: move exotic platfroms to Target Platforms
1262         * doc/gnulib-intro.texi (Supported Platforms)
1263         (Formerly Supported Platforms, Unsupported Platforms):
1264         New subsections, split off from Target Platforms.
1265         (Unsupported Platforms): Move the exotic-platform stuff here ...
1266         * doc/gnulib-readme.texi (Exotic platforms): ... from this removed
1267         section.
1269         doc: mention intptr_t etc. and IBM i
1270         * doc/gnulib-readme.texi (Other portability assumptions):
1271         Mention intptr_t and uintptr_t, and that arithmetic on them
1272         works in the usual way.
1273         (Exotic platforms): New section, containing material from
1274         the old 'Integer Portability' section.  Also mention IBM i.
1275         * doc/intprops.texi (Wraparound Arithmetic):
1276         Say that the macros work on unsigned integers too.
1277         (Integer Portability): Remove.
1279 2020-12-04  Bruno Haible  <bruno@clisp.org>
1281         utime: Fix a test failure on macOS 10.13.
1282         Reported by Martin Storsjö <martin@martin.st> in
1283         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1284         * m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
1285         slashes on files.
1286         * lib/utime.c (utime): Add alternative implementation for Unix
1287         platforms.
1288         * modules/utime (Depends-on): Add stat.
1289         * doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
1290         * doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
1291         trailing-slash bug.
1292         * doc/posix-functions/open.texi: Likewise.
1293         * doc/posix-functions/stat.texi: Likewise.
1294         * doc/posix-functions/symlink.texi: Likewise.
1296 2020-12-04  Paul Eggert  <eggert@cs.ucla.edu>
1298         intprops: update doc and mention Unisys
1299         * doc/gnulib-readme.texi (Other portability assumptions):
1300         Also mention ptrdiff_t when talking about widths and overflow.
1301         * doc/intprops.texi (Integer Properties): Summarize new section.
1302         (Arithmetic Type Properties): Document that EXPR_SIGNED no longer
1303         evaluates its argument.
1304         (Integer Bounds): Fix typo.
1305         (Wraparound Arithmetic): Remove obsolete comment about efficiency.
1306         Document that the _WRAPV macros now support pointers to unsigned
1307         integers.
1308         (Integer Range Overflow): Update SEI CERT citation.
1309         (Integer Portability): New subsection, which mentions
1310         the oddball Unisys platforms as non-Gnulib targets.
1312 2020-12-03  Bruno Haible  <bruno@clisp.org>
1314         idx: Clarify that idx_t always behaves like a signed type.
1315         Suggested by Paul Eggert in
1316         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
1317         * lib/idx.h: Clarify that idx_t always behaves like a signed type.
1318         Don't test UNSIGNED_IDX_T.
1320 2020-12-03  Bruno Haible  <bruno@clisp.org>
1322         idx: New module.
1323         * lib/idx.h: New file.
1324         * modules/idx: New file.
1325         * lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
1326         ptrdiff_t.
1327         * lib/canonicalize.c: Likewise.
1328         * modules/canonicalize-lgpl (Depends-on): Add idx.
1329         * modules/canonicalize (Depends-on): Likewise.
1331 2020-12-03  Bruno Haible  <bruno@clisp.org>
1333         fprintf-posix-tests: Avoid a test failure on macOS 10.13.
1334         Reported by Martin Storsjö <martin@martin.st> in
1335         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1336         * tests/test-fprintf-posix3.c: Skip the test on macOS.
1337         (main): Return a different exit code at each point. Allow 100 KB extra
1338         memory consumption.
1339         * tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
1340         doesn't work" diagnostic.
1342 2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>
1344         canonicalize: refactor can_mode flag
1345         * lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
1346         (multiple_bits_set): ... this new static function.  Uses changed.
1347         (canonicalize_filename_mode): Refactor for clarity to avoid
1348         modifying the CAN_MODE argument.
1350         canonicalize: prefer signed integer types
1351         * lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
1352         (seen_triple, canonicalize_filename_mode): Prefer signed to
1353         unsigned types where either will do, as they avoid some glitches
1354         in comparisons and can trap on overflow when debugging.
1356         canonicalize: fix most of another EOVERFLOW issue
1357         * lib/canonicalize.c (canonicalize_filename_mode):
1358         Do not call stat if fewer than 20 symlinks have been traversed.
1359         This avoids EOVERFLOW failure in the common case where there
1360         are not that many symlinks, while continuing to catch loops
1361         (or fail due to EOVERFLOW) in the unusual case when there
1362         are many symlinks to traverse.
1364         canonicalize: do not assume symlinks have st_ino
1365         * lib/canonicalize.c (canonicalize_filename_mode):
1366         When checking for loops, use st_dev and st_ino from the parent
1367         directory not from the symlink, as pre-2017 POSIX says these
1368         members are not reliable for symlinks.  Couple this with START
1369         (the remaining file name to be resolved), not NAME (the whole file
1370         name with START as its suffix).
1371         * modules/canonicalize (Depends-on): Depend on stat, not lstat.
1373         canonicalize: fix EOVERFLOW bug
1374         * lib/canonicalize.c (canonicalize_filename_mode):
1375         When testing whether a directory entry is a symbolic link, or a
1376         directory or other, do not use lstat or stat or
1377         areadlink_with_size.  Just use areadlink, as this suffices and it
1378         avoids the EOVERFLOW problem that lstat and stat have.
1379         * modules/canonicalize (Depends-on): Depend on areadlink instead
1380         of areadlink-with-size and stat.
1382         canonicalize-lgpl: fix EOVERFLOW bug
1383         * lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
1384         (__realpath): Do not use lstat.  Just use readlink, as this
1385         suffices and it avoids the EOVERFLOW problem that lstat has.
1386         * modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.
1388 2020-12-02  Bruno Haible  <bruno@clisp.org>
1390         strsignal-tests: Fix test failure on macOS 10.13.
1391         Reported by Martin Storsjö <martin@martin.st> in
1392         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1393         * tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
1394         to be longer than the expected result.
1396 2020-12-02  Bruno Haible  <bruno@clisp.org>
1398         Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
1399         * lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
1400         recursive self-include problem on FreeBSD 12.2 in C++ mode.
1402 2020-12-02  Bruno Haible  <bruno@clisp.org>
1404         spawn-pipe: Allow caller to specify directory for the subprocess.
1405         * lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
1406         Add directory argument.
1407         * lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
1408         (create_pipe): Add directory argument. If specified, resolve the program
1409         file name and make it absolute, first. Pass the directory to spawnpvech
1410         and posix_spawn_file_actions_addchdir.
1411         (create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
1412         argument.
1413         * modules/spawn-pipe (Depends-on): Add canonicalize, filename,
1414         findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
1415         * tests/test-spawn-pipe-main.c (test_pipe): Update.
1416         * NEWS: Mention the change.
1417         * lib/csharpcomp.c (compile_csharp_using_mono,
1418         compile_csharp_using_sscli): Update.
1419         * lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
1420         is_gcj_43): Update.
1421         * lib/javaversion.c (execute_and_read_line): Update.
1422         * lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
1423         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.
1425 2020-12-02  Bruno Haible  <bruno@clisp.org>
1427         execute: Allow caller to specify directory for the subprocess.
1428         * lib/execute.h (execute): Add directory argument.
1429         * lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
1430         (execute): Add directory argument. If specified, resolve the program
1431         file name and make it absolute, first. Pass the directory to spawnpvech
1432         and posix_spawn_file_actions_addchdir.
1433         * modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
1434         posix_spawn, posix_spawn_file_actions_addchdir.
1435         * tests/test-execute-main.c: Add test for passing a directory.
1436         * tests/test-execute-child.c: Likewise.
1437         * tests/test-execute.sh: Update.
1438         * modules/execute-tests (Depends-on): Add mkdir.
1439         * NEWS: Mention the change.
1440         * lib/csharpcomp.c (compile_csharp_using_sscli): Update.
1441         * lib/csharpexec.c (execute_csharp_using_mono,
1442         execute_csharp_using_sscli): Update.
1443         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
1444         compile_using_javac, compile_using_jikes, is_javac_present,
1445         is_jikes_present): Update.
1446         * lib/javaexec.c (execute_java_class): Update.
1448 2020-12-01  Bruno Haible  <bruno@clisp.org>
1450         vma-iter: Add support for macOS11/arm64.
1451         Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
1452         <https://gitlab.com/gnu-clisp/clisp/-/issues/27>
1453         and by Martin Storsjö <martin@martin.st> in
1454         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
1455         * lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.
1457 2020-12-01  Bruno Haible  <bruno@clisp.org>
1459         spawn-pipe: Fix handling of OS/2 kLIBC.
1460         Reported by KO Myung-Hun <komh78@gmail.com> in
1461         <https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
1462         * modules/spawn-pipe (configure.ac): Use the common idiom for
1463         recognizing the OS/2 operating system.
1465 2020-11-30  Bruno Haible  <bruno@clisp.org>
1467         execute: Fix uninitialized use of errno.
1468         * lib/execute.c (execute): Preserve errno across several system calls.
1470 2020-11-30  Bruno Haible  <bruno@clisp.org>
1472         access tests: Fix test failure on native Windows.
1473         * tests/test-access.c (main): Change permissions of f2 file before
1474         attempting to remove it.
1476 2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>
1478         faccessat: link with $(LIB_EACCESS)
1479         * modules/faccessat (Link:): Add $(LIB_EACCESS), since this
1480         module depends on euidaccess.
1482 2020-11-30  Bruno Haible  <bruno@clisp.org>
1484         execute, spawn-pipe: Make multithread-safe on native Windows.
1485         * lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
1486         (dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
1487         (spawnpvech): New declaration.
1488         * lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
1489         Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
1490         (_): Remove macro.
1491         (dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
1492         undup_safer_noinherit): Remove functions.
1493         (spawnpvech): New function.
1494         * modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
1495         cloexec, dup2, error, gettext-h.
1496         * lib/execute.c: Include msvc-nothrow.h.
1497         (execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
1498         * lib/spawn-pipe.c: Include msvc-nothrow.h.
1499         (create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
1500         instead of _spawnvpe.
1501         * modules/execute (Depends-on): Add msvc-nothrow.
1502         * modules/spawn-pipe (Depends-on): Likewise.
1504 2020-11-30  Bruno Haible  <bruno@clisp.org>
1506         execute, spawn-pipe: Improve documentation.
1507         * lib/execute.h: Describe progname, prog_path, prog_argv.
1508         * lib/spawn-pipe.h: Likewise.
1510 2020-11-30  Bruno Haible  <bruno@clisp.org>
1512         execute tests: Add more tests.
1513         * tests/test-execute-main.c: Add tests for reading, writing, isatty on
1514         inherited file descriptors >= 3.
1515         * tests/test-execute-child.c: Likewise.
1516         * tests/test-execute.sh: Update.
1518 2020-11-30  Bruno Haible  <bruno@clisp.org>
1520         havelib: Fix for non-ELF platforms (regression 2019-11-17).
1521         Reported by comex <comexk@gmail.com> in
1522         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
1523         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
1524         don't expect an ELF header.
1526 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1528         bitset: use integer_length in table implementation
1529         * lib/bitset/table.c (tbitset_list_reverse): Use
1530         BITSET_FOR_EACH_BIT_REVERSE.
1532 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1534         bitset: use integer_length in list implementation
1535         * lib/bitset/list.c (lbitset_list_reverse): Use
1536         BITSET_FOR_EACH_BIT_REVERSE.
1538 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1540         bitset: use integer_length in vector implementation
1541         * lib/bitset/array.c (vbitset_list_reverse): Use
1542         BITSET_FOR_EACH_BIT_REVERSE.
1544 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1546         bitset: use integer_length in array implementation
1547         * modules/bitset (Depends-on): Add integer_length_l.
1548         * lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
1549         * lib/bitset/array.c (abitset_list_reverse): Use it.
1551 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1553         bitset: style: use consistent names
1554         * bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
1555         and 'boffset' as 'bitoff', for consistency with the other
1556         implementations.
1557         * bitset/table.c (tbitset_list_reverse): Likewise.
1559 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1561         bitset: style: sort header
1562         * lib/bitset/base.h (bitset_ffs): Rename as...
1563         (bitset_ffs_): this.
1564         (bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.
1566 2020-11-29  Akim Demaille  <akim@lrde.epita.fr>
1568         bitset: tests: check BITSET_FOR_EACH_REVERSE
1569         * tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
1570         Check BITSET_FOR_EACH_REVERSE.
1572 2020-11-29  Bruno Haible  <bruno@clisp.org>
1574         spawn-pipe tests: Fix test failure with MSVC.
1575         * tests/test-spawn-pipe-child.c: Include <stdint.h>.
1576         (gl_msvc_invalid_parameter_handler): New function.
1577         (main): Set a global invalid-parameter handler.
1578         * modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.
1580 2020-11-29  Bruno Haible  <bruno@clisp.org>
1582         execute: Add tests.
1583         * tests/test-execute.sh: New file.
1584         * tests/test-execute-main.c: New file.
1585         * tests/test-execute-child.c: New file.
1586         * modules/execute-tests: New file.
1588 2020-11-29  Bruno Haible  <bruno@clisp.org>
1590         fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
1591         * m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
1592         works.
1593         * lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
1594         fallback implementation as on Haiku.
1595         * tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
1596         effective.
1597         * doc/posix-functions/fcntl.texi: Mention the NetBSD bug.
1599 2020-11-29  Bruno Haible  <bruno@clisp.org>
1601         spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
1602         * lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
1603         * lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
1604         * lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
1605         * lib/windows-spawn.c: Remove modifications for kLIBC.
1606         * modules/spawn-pipe (Files): Add the new files.
1607         (configure.ac): Arrange to compile os2-spawn.c on OS/2.
1609 2020-11-28  Bruno Haible  <bruno@clisp.org>
1611         asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
1612         Reported by Paul Eggert in
1613         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
1614         * m4/sparcv8+.m4: New file.
1615         * modules/sparcv8+: New file.
1616         * modules/asyncsafe-spin (Depends-on): Add sparcv8+.
1618 2020-11-28  Bruno Haible  <bruno@clisp.org>
1620         asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
1621         * lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.
1623 2020-11-28  Bruno Haible  <bruno@clisp.org>
1625         windows-spawn: New module.
1626         * lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
1627         implementations.
1628         * lib/windows-spawn.c: Renamed from lib/w32spawn.h.
1629         * modules/windows-spawn: New file.
1630         * lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
1631         * lib/spawn-pipe.c: Likewise.
1632         * modules/execute (Files): Remove lib/w32spawn.h.
1633         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1634         xalloc.
1635         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1636         * modules/spawn-pipe (Files): Remove lib/w32spawn.h.
1637         (Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
1638         xalloc.
1639         (Makefile.am): Remove w32spawn.h from lib_SOURCES.
1641 2020-11-27  Bruno Haible  <bruno@clisp.org>
1643         ssfmalloc tests: Port to macOS 11.
1644         * tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.
1646 2020-11-26  Bruno Haible  <bruno@clisp.org>
1648         Fix dependencies of modules that use '_exit' on native Windows.
1649         Reported by Jim Meyering in
1650         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
1651         * modules/_Exit (Depends-on): Add unistd.
1652         * modules/closein (Depends-on): Likewise.
1653         * modules/closeout (Depends-on): Likewise.
1654         * modules/forkpty (Depends-on): Likewise.
1655         * modules/posix_spawn-internal (Depends-on): Likewise.
1656         * modules/savewd (Depends-on): Likewise.
1657         * modules/stat-time-tests (Depends-on): Likewise.
1659 2020-11-26  Bruno Haible  <bruno@clisp.org>
1661         raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
1662         * modules/raise-tests (Depends-on): Add unistd.
1663         * doc/posix-functions/_exit.texi: Mention the 'unistd' module.
1665 2020-11-25  Jim Meyering  <meyering@fb.com>
1667         setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
1668         * tests/test-setlocale1.c (main): Assert that each strcmp argument is
1669         non-NULL, since we don't bother handing strdup failure.
1671         raise-tests: avoid GCC 11's new exit-from-signal-handler warning
1672         gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
1673         * tests/test-raise.c: Include unistd.h.
1674         (handler): Use _exit, not exit.
1676 2020-11-23  Bruno Haible  <bruno@clisp.org>
1678         Use the correct printf format attribute for mingw.
1679         Reported by Reuben Thomas <rrt@sc3d.org> in
1680         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.
1682         * modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
1683         * modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.
1685         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
1686         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
1687         (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1688         _GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
1689         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
1690         _GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.
1692         * modules/vasnprintf (Depends-on): Add stdio.
1693         * lib/vasnprintf.h: Include <stdio.h>.
1694         (asnprintf, vasnprintf): Use the standard printf format attribute.
1696         * modules/xvasprintf (Depends-on): Add stdio.
1697         * lib/xvasprintf.h: Include <stdio.h>.
1698         (xasprintf, xvasprintf): Use the standard printf format attribute.
1700         * modules/xprintf (Depends-on): List stdio first.
1701         * lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
1702         depends on GNULIB_VPRINTF_POSIX.
1703         (xfprintf, xvfprintf): Use a printf format attribute that depends on
1704         GNULIB_VFPRINTF_POSIX.
1706         * modules/c-vasnprintf (Depends-on): Add stdio.
1707         * lib/c-vasnprintf.h: Include <stdio.h>.
1708         (c_vasnprintf): Use the standard printf format attribute.
1710         * modules/c-vasprintf (Depends-on): Add stdio.
1711         * lib/c-vasprintf.h: Include <stdio.h>.
1712         (c_asprintf, c_vasprintf): Use the standard printf format attribute.
1714         * modules/c-vsnprintf (Depends-on): Add stdio.
1715         * lib/c-vsnprintf.h: Include <stdio.h>.
1716         (c_vsnprintf): Use the standard printf format attribute.
1718         * modules/c-snprintf (Depends-on): Add stdio.
1719         * lib/c-snprintf.h: Include <stdio.h>.
1720         (c_snprintf): Use the standard printf format attribute.
1722         * modules/c-xvasprintf (Depends-on): Add stdio.
1723         * lib/c-xvasprintf.h: Include <stdio.h>.
1724         (c_xasprintf, c_xvasprintf): Use the standard printf format attribute.
1726         * modules/error (Depends-on): Depend on stdio always.
1727         * lib/error.h: Include <stdio.h>.
1728         (_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
1729         (error, error_at_line): Use a printf format attribute that depends on
1730         GNULIB_VFPRINTF_POSIX.
1731         * lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
1732         _GL_ATTRIBUTE_FORMAT_PRINTF.
1734         * modules/verror (Depends-on): Add stdio.
1735         * lib/verror.h: Include <stdio.h>. Don't include "error.h".
1736         (verror, verror_at_line): Use the standard printf format attribute.
1737         * lib/verror.c: Include "error.h".
1739         * modules/argp (Depends-on): Add stdio.
1740         * lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
1741         Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.
1743         * modules/libtextstyle-optional (Depends-on): Add stdio.
1744         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
1745         printf format attribute.
1747         * tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
1748         format attribute.
1750 2020-11-23  Pádraig Brady  <P@draigBrady.com>
1752         selinux-at, selinux-h: use const correct declarations
1753         * lib/se-selinux.in.h: Use const for "set" functions,
1754         to match current selinux, and support cleaner user code.
1755         * lib/selinux-at.c: Likewise.
1756         * lib/selinux-at.h: Likewise.
1758 2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>
1760         canonicalize-lgpl: fix memory leak
1761         * lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
1762         which could have occurred if BUF was so large that malloc was
1763         called.  Do this by allocating EXTRA_BUF and BUF at the same time;
1764         this eliminates the need to free BUF separately.
1766 2020-11-22  Bruno Haible  <bruno@clisp.org>
1768         Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
1769         * modules/xvasprintf (Depends-on): Add xalloc.
1770         * modules/pipe-filter-gi (Depends-on): Likewise.
1771         * modules/execute (Depends-on): Likewise, for w32spawn.h.
1772         * modules/spawn-pipe (Depends-on): Likewise.
1774 2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>
1776         bootstrap: add option hooks
1777         * build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
1778         (bootstrap_option_hook): Likewise.
1779         (usage): Call bootstrap_print_option_usage_hook.
1781 2020-11-22  Bruno Haible  <bruno@clisp.org>
1783         argp: Don't break getprogname on non-glibc systems.
1784         * m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
1785         program_invocation_name and program_invocation_short_name.
1787 2020-11-22  Bruno Haible  <bruno@clisp.org>
1789         doc: Document <link.h>.
1790         * doc/glibc-headers/link.texi: New file.
1791         * doc/gnulib.texi: Include it.
1793 2020-11-22  Bruno Haible  <bruno@clisp.org>
1795         doc: Add references to the LSB.
1796         * doc/glibc-functions/*.texi: Add references to LSB 5.0.
1797         * doc/posix-functions/*.texi: Likewise.
1799 2020-11-22  Bruno Haible  <bruno@clisp.org>
1801         doc: Fix a makeinfo warning (regression 2020-11-03).
1802         * doc/posix-functions/aligned_alloc.texi: Add missing @item.
1804 2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>
1806         parse-datetime: fix printf format typo
1807         * lib/parse-datetime.y (parse_datetime2): Fix format typo in
1808         previous patch to this file.  Problem reported by Chris Elvidge in
1809         <https://bugs.gnu.org/44763#32>.
1811         setlocale-null-tests: work around GCC bug 44511
1812         * tests/test-setlocale_null-mt-all.c:
1813         * tests/test-setlocale_null-mt-one.c:
1814         Ignore -Wreturn-type, to work around GCC bug 44511.
1816         nl_langinfo-tests: work around GCC bug 44511
1817         * tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
1818         around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
1819         Problem reported for GNU grep by Andreas Schwab
1820         <https://bugs.gnu.org/44535>.
1822         selinux-h: add stubs for selabel_open etc.
1823         Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
1824         because matchpathcon is deprecated in favor of selabel_open etc.,
1825         so this patch adds stubs for these functions.
1826         * lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
1827         * lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
1828         as it is needed for selabel_open and selinux/selinux.h declares
1829         this type here.
1830         * modules/selinux-h (Files): Add the new files.
1831         (configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
1832         (lib_SOURCES): Add se-label.in.h, se-label.c.
1833         (BUILT_SOURCES): Add $(SELINUX_LABEL_H).
1834         (selinux/label.h): New rule, mimicking selinux/context.h.
1835         (MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
1836         (Include): Add selinux/label.h.
1838 2020-11-21  Bruno Haible  <bruno@clisp.org>
1840         Update after 'test-driver' in Automake changed.
1841         * build-aux/test-driver.diff: Rebase.
1843 2020-11-21  Daiki Ueno  <ueno@gnu.org>
1845         read-file: remove dead assignment
1846         * lib/read-file.c (fread_file): Remove dead assignment when
1847         RF_SENSITIVE is set, flagged by clang-analyzer.
1849 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1851         bitset: tests: exercise the stats too
1853         * tests/test-bitset.c: Display the stats at the end of the test.
1854         * lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
1855         last bin, display "256-..." rather that "256-511", since the last bin
1856         does count item greater than or equal to 256.
1858 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1860         bitset: tests: try harder to break it
1861         * tests/test-bitset.c (compare): Be ready to use bitsets larger than
1862         BITSET_LIST_SIZE.
1863         (main): Likewise.
1864         While at it, also exercise super small bitsets.
1866 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1868         bitset: use ffs where possible in the vector implementation
1869         * lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.
1871 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1873         bitset: use ffs where possible in the table implementation
1874         * lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.
1876 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1878         bitset: check empty and full bitsets
1879         * tests/test-bitset.c (check_zero, check_ones): New.
1880         (check_attributes): Use them.
1882 2020-11-19  Akim Demaille  <akim@lrde.epita.fr>
1884         bitset: be sure to always return a value
1885         * lib/bitset/array.c (abitset_small_list): Always update *next and
1886         return a value.
1888 2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>
1890         vcs-to-changelog: Expect spaces in file names
1891         Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
1892         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
1893         * build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
1894         tabs to spaces.
1895         (list_changes): Use tabs to identify file names.
1897 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1899         bitset: strengthen tests
1900         * tests/test-bitset.c (compare): Also check count.
1901         Deal only with random values, move the one-bit tests to...
1902         (check_one_bit): this new function.
1903         (check_attributes): Call it.
1905 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1907         bitset: fix iteration over table bitsets
1908         * lib/bitset/table.c (tbitset_list): Update bitno when windex is.
1910 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1912         bitset: rename internal details for consistency
1913         * lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.
1915 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1917         bitset: test: run deterministic tests on several bitset sizes
1918         * tests/test-bitset.c (check_attributes): Run it with small and large
1919         sizes.
1921 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1923         bitset: use ffs where possible in the list implementation
1924         * lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.
1926 2020-11-17  Akim Demaille  <akim@lrde.epita.fr>
1928         bitset: use ffs where possible in array implementation
1929         * lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.
1931 2020-11-17  Bruno Haible  <bruno@clisp.org>
1933         posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
1934         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
1935         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
1936         * m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
1937         C++ mode.
1939 2020-11-17  Bruno Haible  <bruno@clisp.org>
1941         Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
1942         * lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
1943         is always declared.
1944         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
1945         declared.
1947 2020-11-17  Bruno Haible  <bruno@clisp.org>
1949         Fix link errors on AIX.
1950         * modules/clean-temp (Link): Link with $(LIBTHREAD).
1951         * modules/getumask (Link): Link with $(LIBTHREAD).
1952         * modules/getumask-tests (Makefile.am): Link test-getumask with
1953         $(LIBTHREAD).
1954         * modules/supersede (Link): Link with $(LIBTHREAD).
1955         * modules/supersede-tests (Makefile.am): Link test-supersede with
1956         $(LIBTHREAD).
1957         * modules/fatal-signal (Link): New section.
1958         * modules/execute (Link): New section.
1959         * modules/csharpexec (Link): Link with $(LIBTHREAD).
1960         * modules/javaexec (Link): Link with $(LIBTHREAD).
1961         * modules/spawn-pipe (Link): New section.
1962         * modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
1963         $(LIBTHREAD).
1964         * modules/csharpcomp (Link): Link with $(LIBTHREAD).
1965         * modules/javacomp (Link): Link with $(LIBTHREAD).
1966         * modules/javaversion (Link): Link with $(LIBTHREAD).
1967         * modules/pipe-filter-gi (Link): New section.
1968         * modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
1969         test-pipe-filter-gi2-main with $(LIBTHREAD).
1970         * modules/pipe-filter-ii (Link): New section.
1971         * modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
1972         test-pipe-filter-ii2-main with $(LIBTHREAD).
1973         * modules/term-style-control (Link): New section.
1974         * modules/term-style-control-tests (Makefile.am): Link
1975         test-term-style-control-hello, test-term-style-control-yes with
1976         $(LIBTHREAD).
1977         * modules/wait-process (Link): New section.
1978         * modules/nonblocking-pipe-tests (Makefile.am): Link
1979         test-nonblocking-pipe-main with $(LIBTHREAD).
1980         * modules/nonblocking-socket-tests (Makefile.am): Link
1981         test-nonblocking-socket-main with $(LIBTHREAD).
1983 2020-11-16  Bruno Haible  <bruno@clisp.org>
1985         Fix link errors on platforms with libunistring.
1986         * modules/c32isalnum (Link): New section.
1987         * modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
1988         $(LIBUNISTRING).
1989         * modules/c32isalpha (Link): New section.
1990         * modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
1991         $(LIBUNISTRING).
1992         * modules/c32isblank (Link): New section.
1993         * modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
1994         $(LIBUNISTRING).
1995         * modules/c32iscntrl (Link): New section.
1996         * modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
1997         $(LIBUNISTRING).
1998         * modules/c32isdigit (Link): New section.
1999         * modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
2000         $(LIBUNISTRING).
2001         * modules/c32isgraph (Link): New section.
2002         * modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
2003         $(LIBUNISTRING).
2004         * modules/c32islower (Link): New section.
2005         * modules/c32islower-tests (Makefile.am): Link test-c32islower with
2006         $(LIBUNISTRING).
2007         * modules/c32isprint (Link): New section.
2008         * modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
2009         $(LIBUNISTRING).
2010         * modules/c32ispunct (Link): New section.
2011         * modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
2012         $(LIBUNISTRING).
2013         * modules/c32isspace (Link): New section.
2014         * modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
2015         $(LIBUNISTRING).
2016         * modules/c32isupper (Link): New section.
2017         * modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
2018         $(LIBUNISTRING).
2019         * modules/c32isxdigit (Link): New section.
2020         * modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
2021         $(LIBUNISTRING).
2022         * modules/unicodeio (Link): Mention $(LIBUNISTRING).
2023         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2024         $(LIBUNISTRING).
2026 2020-11-16  Bruno Haible  <bruno@clisp.org>
2028         Fix link errors on platforms with libintl (e.g. Solaris and AIX).
2029         Reported by Tom G. Christensen <tgc@jupiterrise.com> in
2030         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
2031         * modules/getumask-tests (Makefile.am): Link test-getumask with
2032         $(LIBINTL).
2033         * modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
2034         * modules/supersede-tests (Makefile.am): Link test-supersede with
2035         $(LIBINTL).
2036         * modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
2037         $(LIBINTL).
2039 2020-11-16  Bruno Haible  <bruno@clisp.org>
2041         getumask: Document link dependencies.
2042         * modules/getumask (Link): New section.
2044 2020-11-16  Bruno Haible  <bruno@clisp.org>
2046         Update link dependencies in modules after 2020-09-09 change.
2047         * modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
2048         * modules/mkdtemp (Link): Likewise.
2049         * modules/mkostemp (Link): Likewise.
2050         * modules/mkostemps (Link): Likewise.
2051         * modules/mkstemp (Link): Likewise.
2052         * modules/mkstemps (Link): Likewise.
2053         * modules/supersede (Link): Likewise.
2054         * modules/tmpfile (Link): Likewise.
2055         * modules/tmpfile-safer (Link): Likewise.
2057 2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2059         getumask-tests: port to Solaris 10 etc.
2060         Problem reported by Tom Christensen in:
2061         https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
2062         * modules/getumask-tests (test_getumask_LDADD):
2063         Add $(LIB_CLOCK_GETTIME).
2065 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2067         bitset: use ffsl to accelerate iterations over set bits
2068         Suggested by Bruno Haible.
2069         * modules/bitset: Depend upon ffsl.
2070         * lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
2071         * lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.
2073 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2075         bitset: more tests
2076         * tests/test-bitset.c (compare): Make it clear that the random values
2077         should not be modified.
2078         Check bitset_first, bitset_last and BITSET_FOR_EACH.
2080 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2082         bitset: fix the copy from lbitset to other types
2083         * lib/bitset/list.c (lbitset_copy): Rename as...
2084         (lbitset_copy_): this.
2085         (lbitset_copy): New.
2086         Dispatch to heterogeneous/homogeneous copy.
2088 2020-11-15  Akim Demaille  <akim@lrde.epita.fr>
2090         bitset: making debug traces more useful
2091         * lib/bitset.c (bitset_print): Print the bitset type in verbose mode.
2093         bitset: comment changes
2094         * lib/bitset.c: Move some documenting comments to...
2095         * lib/bitset.h: here.
2096         * lib/bitset/array.c: Fix some comments.
2098 2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>
2100         careadlinkat: warn better about GCC bug 93644
2101         * lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
2102         not in effect, use "#warning" to let builders know more clearly
2103         about GCC bug 93644, because the bug triggers even if no -W option
2104         is given to GCC.
2106 2020-11-13  Jim Meyering  <meyering@fb.com>
2108         hard-locale-tests: avoid a -Wstrict-prototypes warning
2109         * tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
2110         changing "main ()" to "main (void)". This was the only case that
2111         triggered a warning when building grep with --enable-gcc-warnings.
2113 2020-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2115         time_rz: simplify CVE-2017-7476 fix
2116         * lib/time_rz.c: Do not include limits.h; I think it was included
2117         under the mistaken impression that limits.h defines SIZE_MAX.
2118         (SIZE_MAX): Remove.
2119         (save_abbr): Put string length into a ptrdiff_t variable,
2120         so that the size comparison works naturally.  This
2121         fixes CVE-2017-7476 in a cleaner way.
2123         parse-datetime: streamline overflow checking
2124         When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
2125         did not work for unsigned destinations, and since time_t might
2126         be unsigned that meant it did not work for time_t destinations.
2127         This limitation of INT_ADD_WRAPV has been fixed, so we can
2128         now streamline parse-datetime.y a bit.
2129         * lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
2130         has not been used for a while.
2131         (yylex, parse_datetime2): Assume C99 declarations after statements.
2132         (yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
2133         to TYPE_MINIMUM.
2134         (parse_datetime2): No need for time_overflow now that
2135         INT_ADD_WRAPV works for unsigned results.
2137         parse-datetime-tests: port to Alpine Linux 3.12.1
2138         * tests/test-parse-datetime.c: Include errno.h for errno,
2139         and unistd.h for _SC_TZNAME_MAX and sysconf.
2140         (main): In the outlandishly-long time zone abbreviation test,
2141         do not exceed TZNAME_MAX as this has undefined behavior,
2142         and on Alpine Linux 3.12.1 it makes the test fail.
2144 2020-11-09  Pádraig Brady  <P@draigBrady.com>
2146         mgetgroups: avoid warning with clang
2147         * lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
2148         so disable -Wpointer-sign for all clang versions.
2150 2020-11-07  Bruno Haible  <bruno@clisp.org>
2152         gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
2153         Reported by Simon Josefsson in
2154         <https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
2155         * gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
2156         LDADD a third time, after the second occurrence of ../lib/libgnu.a.
2157         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
2159 2020-11-04  Paul Eggert  <eggert@cs.ucla.edu>
2161         tests: pacify Sun C 5.9
2162         Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
2163         “"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
2164         * tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
2165         (thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
2166         * tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
2167         * tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
2168         Remove unreachable ‘return NULL;’s.
2170         tests: port better to XLC 12.01
2171         * tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
2172         even in code that is not executed, as IBM XLC 12.01 complains "The
2173         subscript -1 is less than zero."
2174         * tests/test-stdint.c (verify_width): Pass an (unused) 3rd
2175         argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
2176         12.01 complains "The invocation of macro _GL_VERIFY contains fewer
2177         arguments than are required by the macro definition."
2179 2020-11-03  Bruno Haible  <bruno@clisp.org>
2181         aligned-malloc: Use fixes from the new modules.
2182         * modules/aligned-malloc (Depends-on): Add posix_memalign,
2183         aligned_alloc, memalign.
2184         (configure.ac): Use AC_CHECK_FUNCS_ONCE.
2186 2020-11-03  Bruno Haible  <bruno@clisp.org>
2188         aligned_alloc: Add tests.
2189         * tests/test-aligned_alloc.c: New file.
2190         * modules/aligned_alloc-tests: New file.
2192         aligned_alloc: New module.
2193         * lib/stdlib.in.h (aligned_alloc): New declaration.
2194         * lib/aligned_alloc.c: New file.
2195         * m4/aligned_alloc.m4: New file.
2196         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
2197         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
2198         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2199         * modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
2200         HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
2201         * modules/aligned_alloc: New file.
2202         * tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
2203         * doc/posix-functions/aligned_alloc.texi: Mention the new module and the
2204         AIX bug.
2206 2020-11-03  Bruno Haible  <bruno@clisp.org>
2208         posix_memalign: Add tests.
2209         * tests/test-posix_memalign.c: New file.
2210         * modules/posix_memalign-tests: New file.
2212         posix_memalign: New module.
2213         * lib/stdlib.in.h (posix_memalign): New declaration.
2214         * lib/posix_memalign.c: New file.
2215         * m4/posix_memalign.m4: New file.
2216         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
2217         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
2218         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2219         * modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
2220         HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
2221         * modules/posix_memalign: New file.
2222         * tests/test-stdlib-c++.cc (posix_memalign): Check signature.
2223         * doc/posix-functions/posix_memalign.texi: Mention the new module and
2224         the OpenBSD bug.
2226 2020-11-03  Bruno Haible  <bruno@clisp.org>
2228         memalign: Add tests.
2229         * tests/test-memalign.c: New file.
2230         * modules/memalign-tests: New file.
2232         memalign: New module.
2233         * modules/memalign: New file.
2234         * doc/glibc-functions/memalign.texi: Mention the new module.
2236 2020-11-03  Bruno Haible  <bruno@clisp.org>
2238         verify tests: Fix crash with GCC (regression 2020-11-02).
2239         * tests/test-verify.c (main): Fix initializer of s.
2241 2020-11-03  Pádraig Brady  <P@draigBrady.com>
2243         mountlist: recognize more file system types as remote
2245         * lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
2246         "remote" file systems from stat.c in coreutils.
2248 2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>
2250         verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
2251         * tests/test-verify.c (main): Initialize state variable.
2252         Reported by Bruno Haible for GCC 5.4.0.
2254 2020-11-02  Paul Eggert  <eggert@cs.ucla.edu>
2256         dfa.h: support inclusion from C++
2257         * lib/dfa.h: Allow multiple inclusion, and inclusion from
2258         C++ code.  The latter was suggested by Arnold Robbins.
2260 2020-11-01  Bruno Haible  <bruno@clisp.org>
2262         ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
2263         * tests/test-ssfmalloc.c: Include <limits.h>.
2264         (PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.
2266 2020-11-01  Bruno Haible  <bruno@clisp.org>
2268         verify tests: Fix compilation error with MSVC (regression 2020-10-30).
2269         * tests/test-verify.c (test_assume_noreturn): Fix declaration.
2271 2020-11-01  Jim Meyering  <meyering@fb.com>
2273         dfa-tests: test for today's invalid-merge fix
2274         * tests/test-dfa-invalid-merge.sh: New file.
2275         * modules/dfa-tests (Files): Add it.
2276         (TESTS): Add it.
2278 2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2280         dfa: retain sequences of similar nodes in optimization
2281         DFA was merging similar nodes when it should not.  For example,
2282         it would convert a+a+a to a+a.  Now, a sequence of similar nodes
2283         is not merged.  Problem reported by Gonzalo Padrino in
2284         https://bugs.gnu.org/44351
2285         * lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
2286         optimization.
2288 2020-11-01  Jim Meyering  <meyering@fb.com>
2290         test-dfa-match-aux.c: accept EREs, not BREs
2291         * tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
2292         RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.
2294 2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>
2296         verify tests: avoid -Wmissing-declarations warnings
2297         * tests/test-verify.c (test_assume_expressions): Add declaration.
2298         (test_assume_optimization): Likewise.
2299         (test_assume_noreturn): Likewise.
2300         (main): Move down after all other definitions.  While at it, also
2301         call test_assume_expressions and test_assume_optimization as a
2302         runtime check.
2304 2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2306         sys_stat: update comments for S_IRWXUGO, S_IXUGO
2307         * lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
2308         Perhaps these macros should be removed, as they’re not in either
2309         POSIX or GNU.  They could be moved to stat-macros.h, which would
2310         be cleaner in some sense.
2312 2020-10-25  Bruno Haible  <bruno@clisp.org>
2314         ssfmalloc tests: Small tweaks.
2315         * tests/test-ssfmalloc.c: Add comments.
2316         (alloc_pages): Don't require PROT_EXEC bits.
2317         (block_sizes): Add more small sizes, for better coverage of
2318         ssfmalloc-bitmap.h.
2320         ssfmalloc tests: Portability to Minix.
2321         * modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
2322         (configure.ac): Invoke gl_FUNC_MMAP_ANON.
2323         * m4/mmap-anon.m4: Update comment.
2325         ssfmalloc: Portability to AIX.
2326         * modules/ssfmalloc (Include): Add ssfmalloc.h.
2327         (Link): New section.
2328         * modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
2329         $(LIBTHREAD).
2331         ssfmalloc: Portability to Cygwin.
2332         * lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
2333         (pg_offset_t): Define depending on PAGESIZE_MAX.
2334         * tests/test-ssfmalloc.c: Undefine PAGESIZE.
2335         (PAGESIZE_MAX): New macro.
2337         ssfmalloc: Fix buffer overrun in bitmap search.
2338         * lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
2339         word *words_end.
2341 2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>
2343         doc: mention ‘restrict’ and C++
2344         * doc/gnulib-readme.texi (C99 features assumed): Document
2345         that ‘restrict’ should be avoided in C++ code.
2347 2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>
2349         selinux-at, selinux-h: port to SELinux 3.1
2350         The new release finally deprecated the typedef 'security_context_t',
2351         see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
2352         Use the simpler 'char *' instead.
2353         * lib/getfilecon.c (getfilecon): Adjust type of context parameter.
2354         (lgetfilecon): Likewise.
2355         (fgetfilecon): Likewise.
2356         (map_to_failure): Likewise.
2357         (rpl_getfilecon): Likewise.
2358         (rpl_lgetfilecon): Likewise.
2359         (rpl_fgetfilecon): Likewise.
2360         * lib/se-selinux.in.h (security_context_t): Remove typedef.
2361         (getcon): Adjust type of context parameter.
2362         (freecon): Likewise.
2363         (getfscreatecon): Likewise.
2364         (setfscreatecon): Likewise.
2365         (matchpathcon): Likewise.
2366         (getfilecon): Likewise.
2367         (lgetfilecon): Likewise.
2368         (fgetfilecon): Likewise.
2369         (setfilecon): Likewise.
2370         (lsetfilecon): Likewise.
2371         (fsetfilecon): Likewise.
2372         (security_check_context): Likewise.
2373         (security_check_context_raw): Likewise.
2374         (setexeccon): Likewise.
2375         (security_compute_create): Likewise.
2376         * lib/selinux-at.c (getfileconat): Likewise.
2377         (lgetfileconat): Likewise.
2378         (setfileconat): Likewise.
2379         (lsetfileconat): Likewise.
2380         * lib/selinux-at.h: Likewise.
2382 2020-10-19  Bruno Haible  <bruno@clisp.org>
2384         xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
2385         * lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
2386         (xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
2387         XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
2388         xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
2389         * modules/xalloc (configure.ac): Define GNULIB_XALLOC.
2390         * modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.
2392 2020-10-18  Bruno Haible  <bruno@clisp.org>
2394         ssfmalloc: Add tests.
2395         * tests/test-ssfmalloc.c: New file.
2396         * modules/ssfmalloc-tests: New file.
2398         ssfmalloc: New module.
2399         * lib/ssfmalloc.h: New file.
2400         * lib/ssfmalloc-bitmap.h: New file.
2401         * modules/ssfmalloc: New file.
2403 2020-10-18  Bruno Haible  <bruno@clisp.org>
2405         wchar: Fix configure test result on some versions of AIX.
2406         Reported by Clément Chigot <clement.chigot@atos.net> in
2407         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
2408         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
2409         systems.
2411 2020-10-18  Bruno Haible  <bruno@clisp.org>
2413         time: Fix warning about asctime when asctime is not used.
2414         * lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
2415         invocation.
2417 2020-10-18  Bruno Haible  <bruno@clisp.org>
2419         *-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
2420         * lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
2421         '_GL_ATTRIBUTE_CONST'.
2422         * lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
2423         * lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
2424         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
2425         * lib/gl_array_list.c (gl_array_iterator_free): Likewise.
2426         * lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
2427         * lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
2428         * lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.
2430 2020-10-18  Bruno Haible  <bruno@clisp.org>
2432         obstack: Fix a clang warning.
2433         * lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.
2435 2020-10-16  Bruno Haible  <bruno@clisp.org>
2437         hash: Rename hash_delete to hash_remove.
2438         * lib/hash.h (hash_remove): Renamed from hash_delete.
2439         (hash_delete): New declaration.
2440         * lib/hash.c (hash_remove): Renamed from hash_delete.
2441         (hash_delete): New function.
2442         * tests/test-hash.c (main): Update.
2443         * lib/fts-cycle.c (leave_dir): Likewise.
2444         * NEWS: Mention the change.
2446 2020-10-16  Bruno Haible  <bruno@clisp.org>
2448         hash, xhash: Make usable from C++.
2449         * lib/hash.h: Add extern "C".
2451 2020-10-16  Bruno Haible  <bruno@clisp.org>
2453         hash, xhash: Move comments to the .h file.
2454         * lib/hash.c: Move comments meant for the user from here...
2455         * lib/xhash.c: ... and here...
2456         * lib/hash.h: ... to here.
2458 2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)
2460         Don't declare an intention to modify the return value of strerror.
2461         * tests/test-perror2.c (main): Assign the return value of strerror to a
2462         'const char *' variable.
2464 2020-10-11  Bruno Haible  <bruno@clisp.org>
2466         *printf: Avoid "expanded before it was required" warning.
2467         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
2468         AC_DEFUN_ONCE.
2470 2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>
2472         getprogname: Add support for OpenServer 6 and UnixWare 7.
2473         * lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
2474         (getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.
2476 2020-10-11  Bruno Haible  <bruno@clisp.org>
2478         tests: Avoid a name clash on UnixWare.
2479         Reported by Tim Rice <tim@multitalents.net> in
2480         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
2481         * tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.
2483 2020-10-11  Bruno Haible  <bruno@clisp.org>
2485         stdioext: Update comments regarding UnixWare.
2486         Reported by Tim Rice <tim@multitalents.net> in
2487         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2488         * lib/fbufmode.c: Update comments.
2489         * lib/fflush.c: Likewise.
2490         * lib/fpending.c: Likewise.
2491         * lib/fpurge.c: Likewise.
2492         * lib/freadable.h: Likewise.
2493         * lib/freadable.c: Likewise.
2494         * lib/freadahead.c: Likewise.
2495         * lib/freading.h: Likewise.
2496         * lib/freading.c: Likewise.
2497         * lib/freadptr.c: Likewise.
2498         * lib/freadseek.c: Likewise.
2499         * lib/fseeko.c: Likewise.
2500         * lib/fseterr.c: Likewise.
2501         * lib/fwritable.h: Likewise.
2502         * lib/fwritable.c: Likewise.
2503         * lib/fwriting.h: Likewise.
2504         * lib/fwriting.c: Likewise.
2506 2020-10-11  Bruno Haible  <bruno@clisp.org>
2508         stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
2509         Reported by Tim Rice <tim@multitalents.net> in
2510         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
2511         Uses the info from
2512         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
2513         * lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.
2515 2020-10-11  Bruno Haible  <bruno@clisp.org>
2517         stdioext: Avoid compilation errors on UnixWare 7.
2518         Reported by Tim Rice <tim@multitalents.net> in
2519         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
2520         * lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
2521         * lib/fpurge.c: Likewise.
2522         * lib/freadable.h: Likewise.
2523         * lib/freading.h: Likewise.
2524         * lib/fwritable.h: Likewise.
2525         * lib/fwriting.h: Likewise.
2526         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
2527         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
2528         * m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
2529         * m4/freading.m4 (gl_FUNC_FREADING): Likewise.
2530         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
2531         * m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
2533 2020-10-11  Bruno Haible  <bruno@clisp.org>
2535         stdioext: Update comments regarding Cygwin.
2536         * lib/fpending.c: Update comments.
2537         * lib/fpurge.c: Likewise.
2538         * lib/freadable.h: Likewise.
2539         * lib/freadable.c: Likewise.
2540         * lib/freading.h: Likewise.
2541         * lib/freading.c: Likewise.
2542         * lib/fwritable.h: Likewise.
2543         * lib/fwritable.c: Likewise.
2544         * lib/fwriting.h: Likewise.
2545         * lib/fwriting.c: Likewise.
2547 2020-10-11  KO Myung-Hun  <komh78@gmail.com>
2549         Fix "warning: implicit declaration of function 'pthread_sigmask'".
2550         * lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
2551         * lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.
2553 2020-10-10  Bruno Haible  <bruno@clisp.org>
2555         *-list, *-oset, *-omap: Avoid possible compiler warnings.
2556         Reported by Marc Nieper-Wißkirchen in
2557         <https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
2558         * lib/gl_anylinked_list2.h (gl_linked_iterator,
2559         gl_linked_iterator_from_to): Mark as 'pure'.
2560         (gl_linked_iterator_free): Mark as 'const'.
2561         * lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
2562         gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
2563         gl_tree_iterator_from_to, gl_tree_sortedlist_search,
2564         gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
2565         gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
2566         (gl_tree_iterator_free): Mark as 'const'.
2567         * lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
2568         'pure'.
2569         (gl_tree_iterator_free): Mark as 'const'.
2570         * lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
2571         gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
2572         (gl_tree_iterator_free): Mark as 'const'.
2573         * lib/gl_anytreehash_list1.h (node_position, compare_by_position,
2574         compare_position_threshold): Mark as 'pure'.
2575         * lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
2576         gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
2577         gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
2578         gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
2579         'pure'.
2580         (gl_array_iterator_free): Mark as 'const'.
2581         * lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
2582         gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
2583         (gl_array_iterator_free): Mark as 'const'.
2584         * lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
2585         gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
2586         gl_array_iterator_atleast): Mark as 'pure'.
2587         (gl_array_iterator_free): Mark as 'const'.
2588         * lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
2589         gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
2590         gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
2591         gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
2592         gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
2593         gl_carray_sortedlist_search): Mark as 'pure'.
2594         (gl_carray_iterator_free): Mark as 'const'.
2596 2020-10-10  Bruno Haible  <bruno@clisp.org>
2598         rbtree-list: Avoid possible compiler warnings.
2599         This mirrors the change of avltree-list on 2014-09-16.
2600         * lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
2601         declaration. Add cast to void for ignored value of check_invariants.
2603 2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
2605         stack: New module.
2606         * MODULES.html.sh: Add entry for the stack module.
2607         * modules/stack: New file.
2608         * modules/stack-tests: New file.
2609         * lib/stack.h: New file.
2610         * tests/test-stack.c: New file.
2612 2020-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2614         attribute: improve const, pure doc
2615         Problem reported by Marc Nieper-Wißkirchen in:
2616         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
2617         * lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
2618         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1
2620 2020-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2622         thread: pacify GCC on Solaris 10
2623         Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
2624         * lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
2625         instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
2626         where pthread_t is unsigned int.
2628 2020-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2630         c-stack: avoid AS_IF
2631         Problem reported by Bruno Haible in:
2632         https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
2633         * m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.
2635         c-stack: pacify GCC 9.3.1 when using libsigsegv
2636         * lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.
2638 2020-10-04  Bruno Haible  <bruno@clisp.org>
2640         localename: Fix a couple of "unused parameter" warnings.
2641         Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
2642         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
2643         * lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
2644         gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
2645         parameter list.
2647 2020-10-04  Bruno Haible  <bruno@clisp.org>
2649         vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
2650         Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
2651         <https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
2652         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
2653         HAVE_SNPRINTF_TRUNCATION_C99.
2654         * lib/vasnprintf.c (VASNPRINTF): Don't use %n if
2655         HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.
2657 2020-10-03  Paul Eggert  <eggert@cs.ucla.edu>
2659         c-stack: streamline Solaris configuration
2660         * lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
2661         the code is used only if a test for sigaltstack worked
2662         in some other way.
2663         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
2664         instead, execute gl_LIBSIGSEGV only if needed (because the XSI
2665         heuristic does not work).
2666         * modules/c-stack (Files): Add m4/libsigsegv.m4, since
2667         we no longer require the libsigsegv module.
2668         (Depends-on): Depend on havelib, not libsigsegv.
2670         c-stack: stop using SIGSTKSZ
2671         It’s been proposed to stop making SIGSTKSZ an integer constant:
2672         https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
2673         Also, using SIGSTKSZ in #if did not conform to current POSIX.
2674         Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
2675         * lib/c-stack.c (SIGSTKSZ): Remove.
2676         (alternate_signal_stack): Now a 64 KiB array, for simplicity.
2677         All uses changed.
2679         c-stack: fix libsigsegv typo
2680         Problem reported by Bruno Haible in:
2681         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
2682         * lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
2683         to be used only on Solaris (exactly where it is not needed!).
2685 2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>
2687         MODULES.html.sh: Fix typo.
2688         * MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.
2690 2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>
2692         version-etc: pacify Oracle Studio 12.6
2693         Without this patch, it complains: "version-etc.h", line 64:
2694         warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
2695         pedantic mode.
2696         * lib/version-etc.h (version_etc): Port to C89 macro rules.
2698 2020-09-27  Bruno Haible  <bruno@clisp.org>
2700         Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
2701         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2702         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2703         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
2704         ourselves; don't use AC_DECL_SYS_SIGLIST.
2706 2020-09-27  Bruno Haible  <bruno@clisp.org>
2708         Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
2709         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2710         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2711         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
2712         instead of _AC_COMPUTE_INT.
2714 2020-09-27  Bruno Haible  <bruno@clisp.org>
2716         Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
2717         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2718         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
2719         Based on a patch by Paul Eggert.
2720         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
2721         test STDC_HEADERS. Assume <stdlib.h> exists.
2722         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
2724 2020-09-27  Bruno Haible  <bruno@clisp.org>
2726         Enable testing of prereleases of Autoconf 2.70.
2727         Suggested by Paul Eggert in
2728         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
2729         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
2730         >= 2.70.
2731         * m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
2732         * m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
2733         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.
2735 2020-09-27  Bruno Haible  <bruno@clisp.org>
2737         Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
2738         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2739         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2740         * m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
2741         AC_PROG_CC, depending on the Autoconf version.
2743 2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>
2745         Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
2746         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
2747         of AC_HELP_STRING.
2748         * m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.
2750 2020-09-27  Bruno Haible  <bruno@clisp.org>
2752         Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
2753         Reported by Gavin Smith <gavinsmith0123@gmail.com> in
2754         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
2755         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.
2757 2020-09-27  Bruno Haible  <bruno@clisp.org>
2759         extensions: Simplify last commit.
2760         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
2761         AC_GNU_SOURCE ever.
2763 2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2765         extensions: require AC_GNU_SOURCE only for <=2.63
2766         Problem reported by Gavin Smith in:
2767         https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
2768         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
2769         Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
2770         shouldn’t be needed after that, and Autoconf 2.70 complains about
2771         it being obsolete.
2773 2020-09-26  Bruno Haible  <bruno@clisp.org>
2775         regex-tests: Make test more robust.
2776         * tests/test-regex.c (main): Make sure to revert the locale to "C" after
2777         the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.
2779 2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>
2781         regex-tests: fix possible Turkish false-alarm
2782         * modules/regex-tests (Depends-on): Add wctype-h.
2783         * tests/test-regex.c: Include wctype.h.
2784         (main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
2785         as the Turkish regex test assumes this.
2787         regex-tests: fix test and add debug output
2788         Perhaps this will fix the recent grep test failure reported at:
2789         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
2790         At least, the debug output should help narrow down the failure.
2791         * tests/test-regex.c: Include stdarg.h, stdio.h.
2792         (exit_status): New var.
2793         (report_error): New function.
2794         (main): Use it to report failures to stdout instead of merely
2795         exiting with some nonzero status.  The status info alone isn’t
2796         enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
2797         regex before calling re_compile_pattern, fixing a portability bug.
2799         regex: no longer match glibc
2800         * config/srclist.txt: Comment out regex_internal.c for now.
2802 2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>
2804         regex: fix ignore-case Turkish bug
2805         * lib/regex_internal.c (build_wcs_upper_buffer):
2806         Do not assume that converting single-byte character to upper
2807         yields a single-byte character.  This is not true for Turkish,
2808         where towupper (L'i') yields L'İ', which is not single-byte.
2809         * tests/test-regex.c (main): Test for this bug.
2811         regex: port to weird isascii platforms
2812         * lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.
2814 2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>
2816         dfa: make dfasupported a global function
2817         * lib/dfa.c (dfasupported): Rename, and make it global.
2818         Update caller.
2819         * lib/dfa.h (dfasupported): Add prototype.
2821 2020-09-20  Bruno Haible  <bruno@clisp.org>
2823         canonicalize: Add support for UNC file names on native Windows.
2824         Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
2825         <https://savannah.gnu.org/bugs/?59079>.
2826         * lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
2827         extend the prefix to include the server.
2829 2020-09-20  Bruno Haible  <bruno@clisp.org>
2831         supersede: Fix test failures on native Windows.
2832         * lib/supersede.c (open_supersede): Handle non-regular files on native
2833         Windows like on Solaris.
2834         * tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.
2836 2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>
2838         test-stdalign: test Oracle Studio better
2839         * doc/posix-headers/stdalign.texi (stdalign.h):
2840         * tests/test-stdalign.c (main):
2841         Sun Studio Bug #2125432 seems to be fixed.
2843         c-stack: output diagnostic in single 'write'
2844         * lib/c-stack.c (die): In the typical case, use just one 'write'
2845         syscall to output the diagnostic, as this lessens interleaving.
2846         (die, c_stack_action): Assume C99.
2847         * modules/c-stack (Depends-on): Add c99, mempcpy.
2849         c-stack: improve checking if !libsigsegv
2850         If SIGINFO_WORKS, do not treat a null pointer dereference as if it
2851         were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
2852         unlikely pointer overflow.  Also, fix some obsolete code and typos.
2853         I found these problems while looking into this bug report:
2854         https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
2855         * lib/c-stack.c: Include c-stack.h first, to test interface.
2856         Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
2857         max_align_t, intprops.h for INT_ADD_WRAPV.
2858         (USE_LIBSIGSEGV): New macro; use it to simplify later code.
2859         (SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
2860         for libsigsegv 2.8 and earlier since the bug should be fixed
2861         after that.
2862         (alternate_signal_stack): Use max_align_t instead of doing it by hand.
2863         (segv_handler, overflow_handler, segv_handler) [DEBUG]:
2864         Assume sprintf returns byte count; this assumption is safe now.
2865         (page_size): New static volatile variable, since sysconf isn’t
2866         documented to be async-signal-safe on Solaris.  This variable is
2867         present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
2868         HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
2869         SIGINFO_WORKS).
2870         (segv_handler): Use it if present.  Never report null pointer
2871         dereference as a stack overflow.  Check for (unlikely) unsigned
2872         and/or pointer overflow.
2873         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
2874         Rename cache variables to gl_cv_sys_stack_overflow_works
2875         and gl_cv_sys_xsi_stack_overflow_heuristic.
2876         All uses changed.
2877         (gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
2878         c-stack no longer uses STACK_DIRECTION.
2879         Do not check for unistd.h, since we depend on unistd.
2880         Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
2881         * modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
2882         stdbool, stddef.
2884 2020-09-20  Bruno Haible  <bruno@clisp.org>
2886         Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
2887         * m4/musl.m4: Revert 2020-09-19 patch.
2888         * m4/setlocale_null.m4: Likewise.
2889         * modules/setlocale-null: Likewise.
2891 2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
2892             Bruno Haible  <bruno@clisp.org>
2894         relocatable-prog: Fix for multiple relocatable library directories.
2895         * build-aux/reloc-ldflags: Fix handling of multiple relocatable library
2896         directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
2897         being attached to a single one.
2899 2020-09-19  Jim Meyering  <meyering@fb.com>
2901         test-verify.c: avoid -Wshadow warnings
2902         * tests/test-verify.c (gx): Rename global from "x". Adjust use.
2903         (enum): Capitalize member names. Adjust uses.
2905 2020-09-19  Bruno Haible  <bruno@clisp.org>
2907         havelib: Avoid linking with libc.a on GNU systems.
2908         Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
2909         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
2910         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
2911         dependency_libs value of a .la file, ignore '-lc' options on GNU
2912         systems.
2914 2020-09-19  Bruno Haible  <bruno@clisp.org>
2916         Fix recognition of musl libc on Alpine Linux 3.10.
2917         Reported by Jeffrey Walton <noloader@gmail.com> in
2918         <https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
2919         * m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
2920         (gl_MUSL_LIBC): Require it.
2921         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
2922         * modules/setlocale-null (Files): Add m4/musl.m4.
2924 2020-09-19  Bruno Haible  <bruno@clisp.org>
2926         nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
2927         Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
2928         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
2929         and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
2930         <https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
2931         * lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
2932         * lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
2933         or <threads.h>.
2934         (ITEMS, MAX_RESULT_LEN): New macros.
2935         (nl_langinfo_unlocked): New function.
2936         (gl_get_nl_langinfo_lock): New declaration.
2937         (nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
2938         (rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
2939         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
2940         HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
2941         REPLACE_NL_LANGINFO.
2942         (gl_PREREQ_NL_LANGINFO_LOCK): New macro.
2943         * modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
2944         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
2945         (configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
2946         * doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.
2948 2020-09-18  Bruno Haible  <bruno@clisp.org>
2950         fsusage, getaddrinfo: Produce more regular configure output.
2951         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
2952         corresponding AC_MSG_RESULT.
2953         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
2955 2020-09-18  Bruno Haible  <bruno@clisp.org>
2957         Add back gl_SILENT.
2958         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.
2960 2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>
2962         c-stack-tests: fix -fsanitize=undefined false alarm
2963         * tests/test-c-stack2.sh: Skip the test-harness self-test
2964         if ‘gcc -fsanitize=undefined’ is in use.
2966 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2968         signalblocking: simplify and remove gl_SILENT
2969         gl_SILENT was problematic because if a trap was sprung, stderr
2970         generated during the trap was lost.  Avoid the problem by
2971         removing the need for gl_SILENT.
2972         * m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
2973         * m4/signalblocking.m4 (gl_SIGNALBLOCKING):
2974         Simplify, avoiding the need for gl_SILENT while preserving the
2975         ability of the user to override the value of the cache variable,
2976         now ac_cv_func_sigprocmask.
2978 2020-09-17  Bruno Haible  <bruno@clisp.org>
2980         sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
2981         * m4/gnulib-common.m4 (GL_TMP_FD): New macro.
2982         (gl_SILENT): Use 'exec', not a compound statement, to redirect
2983         AS_MESSAGE_FD.
2985 2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>
2987         intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
2988         Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
2989         https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
2990         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
2991         Define to 0.
2992         * lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
2993         Do not use __builtin_mul_overflow_p.
2995         libc-config: port __THROW to Ubuntu 4
2996         * lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
2997         for GCC 3.3.  Problem reported by Jeffrey Walton in:
2998         https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
2999         The GCC 3.3.4 documentation says the attribute should work, but
3000         apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
3001         little point or desire to research this circa-2004 platform further,
3002         so just avoid the attribute there.
3004 2020-09-17  Jim Meyering  <meyering@fb.com>
3006         test-dfa-match.sh: port timeout work-around to newer Busybox
3007         * tests/test-dfa-match.sh: Update timeout -t portability test to
3008         accommodate Busybox 1.30.0 and newer.
3010 2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>
3012         fnmatch: adjust to match glibc fix
3013         This fixes handling of collating symbols in fnmatch (glibc bug 26620).
3014         This does not affect Gnulib; it merely keeps Gnulib and glibc
3015         closer together, to help with any eventual merge, by incorporating
3016         a recent glibc patch.  The patch and the following commentary is
3017         by Andreas Schwab.
3018         * lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
3019         contains the index into the extra array, whereas wextra points
3020         into the extra array at this index, containing the length of the
3021         following collating sequence in the wide character representation.
3023 2020-09-16  Bruno Haible  <bruno@clisp.org>
3025         stat, fstat: Fix compilation error with old mingw headers.
3026         Reported by Eli Zaretskii <eliz@gnu.org> in
3027         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3028         * lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
3029         define it.
3031 2020-09-16  Bruno Haible  <bruno@clisp.org>
3033         stat, fstat: Fix when compiling for versions older than Windows Vista.
3034         Reported by Eli Zaretskii <eliz@gnu.org> in
3035         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
3036         * lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
3037         that was originally set before we redefined it.
3038         * m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
3039         (gl_PREREQ_STAT): Require it.
3040         * m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.
3042 2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>
3044         dfa: remove dfa-heap-overrun workaround
3045         * lib/dfa.c (reorder_tokens): Go back to a single pass that
3046         both sets map[*] and does other things.  This reverts
3047         2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
3048         neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
3049         fixed the underlying problem.
3051 2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3053         dfa: avoid use of uninitialized constraint
3054         * lib/dfa.c (merge_nfa_state): Do not initialize the constraint
3055         to zero here.
3056         (dfaoptimize): Do it here instead, via xcalloc.  This prevents the
3057         use of an uninitialized constraint by later code when ! (flags[i]
3058         & OPT_QUEUED) means merge_nfa_state was not called to initialize
3059         the constraint.  Problem found by running 'valgrind src/grep -E
3060         '(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.
3062         dfa: assume C99 in reorder_tokens
3063         * lib/dfa.c (reorder_tokens): Assume C99 and simplify.
3065         dfa: fix dfa-heap-overrun failure
3066         * lib/dfa.c (reorder_tokens): When setting
3067         map[d->follows[i].elems[j].index], instead of incorrectly assuming
3068         that (i < d->follows[i].elems[j].index), use two loops, one to set
3069         the map array and the other to use it.  The incorrect assumption
3070         caused some elements to be missed, and this in turn caused grep's
3071         dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
3072         with GCC.  I found this bug while investigating
3073         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
3074         and I think the bug also occurs on GNU/Linux but with more-subtle
3075         symptoms.  The bug predates the recent dfa.c changes; perhaps the
3076         recent changes make the bug more likely.
3078 2020-09-13  Bruno Haible  <bruno@clisp.org>
3080         parse-datetime: Make the build rule work with parallel 'make'.
3081         Reported by Daiki Ueno <ueno@gnu.org> in
3082         <https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
3083         * modules/parse-datetime (Makefile.am): Use a phony target and the
3084         general idiom for rules that produce multiple files.
3086 2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>
3088         getpass: Check for nonnull prompt argument while avoiding warnings.
3089         * lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
3090         (getpass) [!_WIN32]: Print prompt only if nonnull.
3092 2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3094         dfa: epsilon-closure tweaks (Bug#40634)
3095         Rename BACKWORD to BACKWARD consistently.
3096         * lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
3097         (addtok_mb): Redo slightly to make it act more like a state machine.
3098         Check depth only when it increases.
3099         (epsclosure): Let the switch test the tokens.
3100         (dfaanalyze): Cache tindex.  Simplify position loops.
3101         Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
3102         only if it is not null, since we're testing that anyway.
3103         (dfaanalyze, build_state): Use merge2 instead of doing it by hand.
3105 2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>
3107         dfa: use backward set in removal of epsilon closure
3108         When removing in epsilon closure, the code searched all nodes
3109         sequentially, and this was slow for some cases.  Build a backward
3110         set before search, and only check previous position with the set.
3111         Problem reported in <https://bugs.gnu.org/40634>.
3112         * lib/dfa.c (struct dfa): New member 'epsilon'.
3113         (addtok_mb): Check whether a pattern has epsilon node or not.
3114         (epsclosure): New arg BACKWORD; caller changed.  When removing
3115         epsilon node and reconnecting, check only previous positions.
3116         Treat BEG as if it were character.
3117         (dfaanalyze): Build backward set.
3119 2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3121         canonicalize: fix pointer indexing bugs
3122         Problem reported by Florian Weimer in:
3123         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
3124         * lib/canonicalize-lgpl.c (__realpath):
3125         * lib/canonicalize.c (canonicalize_filename_mode):
3126         Do not generate a pointer past the end of the array.
3127         * lib/canonicalize.c (canonicalize_filename_mode):
3128         Do not use a pointer after passing it to realloc.
3130 2020-09-09  Paul Eggert  <eggert@cs.ucla.edu>
3132         tempname: help merge with glibc
3133         Inspired by draft patches by Adhemerval Zanella in:
3134         https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
3135         https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
3136         * lib/tempname.c: Include stdalign.h, time.h.
3137         If _LIBC, do not include random-bits.h.
3138         (__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
3139         (RANDOM_BITS): Remove, replacing with ...
3140         (random_bits): ... this new static function.  All uses changed.
3141         Add entropy each time if getrandom is not supported.
3142         (RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
3143         Assume 64-bit support a la C99.
3144         (try_tempname_len): Take advantage of ASLR when initializing
3145         random value.
3146         * modules/tempname (Depends-on): Add clock-time, stdalign, time.
3148         getcwd: merge recent glibc changes
3149         * lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
3150         (__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.
3152 2020-09-06  Bruno Haible  <bruno@clisp.org>
3154         attribute: Clarify which file to include.
3155         * modules/attribute (Include): Add "attribute.h".
3157 2020-09-06  Bruno Haible  <bruno@clisp.org>
3159         pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
3160         * lib/pipe-filter-ii.c: Include <process.h>.
3161         * lib/pipe-filter-gi.c: Likewise.
3163 2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>
3165         verify: avoid __builtin_assume
3166         Our latest attempt to use Clang’s __builtin_assume caused a crash
3167         in GNU Emacs that we spent quite some time tracking down as being
3168         caused by the switch to __builtin_assume.  It’s not known whether
3169         the crash is due is a Clang bug or a portability bug in GNU Emacs.
3170         For now, play it safe and avoid __builtin_assume.
3171         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
3172         (assume): Simplify by not trying to use Clang’s __builtin_assume.
3174 2020-09-05  Bruno Haible  <bruno@clisp.org>
3176         Fix several "warning: no previous prototype for function".
3177         * modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
3178         in front of the declaration of the lookup function in
3179         unicase/locale-languages.h.
3180         * modules/unictype/bidiclass-byname (Makefile.am): Likewise in
3181         unictype/bidi_byname.h.
3182         * modules/unictype/category-byname (Makefile.am): Likewise in
3183         unictype/categ_byname.h.
3184         * modules/unictype/combining-class-byname (Makefile.am): Likewise in
3185         unictype/combiningclass_byname.h.
3186         * modules/unictype/joininggroup-byname (Makefile.am): Likewise in
3187         unictype/joininggroup_byname.h.
3188         * modules/unictype/joiningtype-byname (Makefile.am): Likewise in
3189         unictype/joiningtype_byname.h.
3190         * modules/unictype/property-byname (Makefile.am): Likewise in
3191         unictype/pr_byname.h.
3192         * modules/unictype/scripts (Makefile.am): Likewise in
3193         unictype/scripts_byname.h.
3194         * modules/uninorm/composition (Makefile.am): Likewise in
3195         uninorm/composition-table.h.
3197 2020-09-05  Bruno Haible  <bruno@clisp.org>
3199         select: Fix "warning: no previous prototype for function".
3200         * lib/select.c: Include <sys/select.h>.
3202 2020-09-05  Bruno Haible  <bruno@clisp.org>
3204         Use module 'c99' when needed for variadic macros with '...' syntax.
3205         * modules/crypto/sm3 (Depends-on): Add c99.
3207 2020-09-05  Bruno Haible  <bruno@clisp.org>
3209         Use module 'c99' when needed for subobject initializer syntax.
3210         * modules/tempname (Depends-on): Add c99.
3211         * modules/nstrftime-tests (Depends-on): Likewise.
3213 2020-09-05  Bruno Haible  <bruno@clisp.org>
3215         Use module 'c99' when needed for declaration-after-statement syntax.
3216         * modules/backup-rename (Depends-on): Add c99.
3217         * modules/backupfile (Depends-on): Likewise.
3218         * modules/bitset-tests (Depends-on): Likewise.
3219         * modules/bitsetv (Depends-on): Likewise.
3220         * modules/c-strtod (Depends-on): Likewise.
3221         * modules/c-strtold (Depends-on): Likewise.
3222         * modules/clean-temp (Depends-on): Likewise.
3223         * modules/copy-file (Depends-on): Likewise.
3224         * modules/crypto/hmac-md5-tests (Depends-on): Likewise.
3225         * modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
3226         * modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
3227         * modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
3228         * modules/crypto/md5-buffer (Depends-on): Likewise.
3229         * modules/crypto/md5-tests (Depends-on): Likewise.
3230         * modules/crypto/sha1-buffer (Depends-on): Likewise.
3231         * modules/crypto/sha1-tests (Depends-on): Likewise.
3232         * modules/crypto/sha256-buffer (Depends-on): Likewise.
3233         * modules/crypto/sha256-tests (Depends-on): Likewise.
3234         * modules/crypto/sha512-buffer (Depends-on): Likewise.
3235         * modules/crypto/sha512-tests (Depends-on): Likewise.
3236         * modules/diffseq (Depends-on): Likewise.
3237         * modules/fatal-signal (Depends-on): Likewise.
3238         * modules/fchmodat (Depends-on): Likewise.
3239         * modules/fstrcmp (Depends-on): Likewise.
3240         * modules/fsusage (Depends-on): Likewise.
3241         * modules/fts (Depends-on): Likewise.
3242         * modules/fts-tests (Depends-on): Likewise.
3243         * modules/getumask (Depends-on): Likewise.
3244         * modules/git-merge-changelog (Depends-on): Likewise.
3245         * modules/hash-map (Depends-on): Likewise.
3246         * modules/hash-set (Depends-on): Likewise.
3247         * modules/lchmod (Depends-on): Likewise.
3248         * modules/libgmp-tests (Depends-on): Likewise.
3249         * modules/libtextstyle-optional-tests (Depends-on): Likewise.
3250         * modules/linkedhash-map (Depends-on): Likewise.
3251         * modules/linkedhash-set (Depends-on): Likewise.
3252         * modules/long-options (Depends-on): Likewise.
3253         * modules/mbrtoc32 (Depends-on): Likewise.
3254         * modules/memchr2-tests (Depends-on): Likewise.
3255         * modules/memmem-tests (Depends-on): Likewise.
3256         * modules/memrchr-tests (Depends-on): Likewise.
3257         * modules/mktime-internal (Depends-on): Likewise.
3258         * modules/nstrftime (Depends-on): Likewise.
3259         * modules/opendirat (Depends-on): Likewise.
3260         * modules/parse-datetime (Depends-on): Likewise.
3261         * modules/quotearg-simple-tests (Depends-on): Likewise.
3262         * modules/same (Depends-on): Likewise.
3263         * modules/supersede (Depends-on): Likewise.
3264         * modules/supersede-tests (Depends-on): Likewise.
3265         * modules/time_rz (Depends-on): Likewise.
3266         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
3267         * modules/unistr/u32-chr-tests (Depends-on): Likewise.
3268         * modules/unistr/u8-chr-tests (Depends-on): Likewise.
3269         * modules/xalloc (Depends-on): Likewise.
3270         * modules/xnanosleep (Depends-on): Likewise.
3272 2020-09-05  Bruno Haible  <bruno@clisp.org>
3274         Fix "warning: array initialized from parenthesized string constant".
3275         * tests/test-memmem.c (main): Remove parentheses around string constant.
3276         * tests/test-c-strcasestr.c (main): Likewise.
3277         * tests/test-strcasestr.c (main): Likewise.
3279 2020-09-05  Bruno Haible  <bruno@clisp.org>
3281         argmatch tests: Fix ISO C compliance warning.
3282         * tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
3283         invocation.
3285 2020-09-05  Bruno Haible  <bruno@clisp.org>
3287         uniname/uniname: Fix -Wshadow warning.
3288         * lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
3289         * modules/uniname/uniname (Depends-on): Add c99.
3291 2020-09-05  Bruno Haible  <bruno@clisp.org>
3293         uniname/uniname: Fix -Wshorten-64-to-32 warnings.
3294         * lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
3295         argument to size_t.
3296         (unicode_name_character): Change type of len, n1, n2, n3, words_length,
3297         n to size_t.
3299 2020-09-05  Bruno Haible  <bruno@clisp.org>
3301         unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
3302         * lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
3303         u32_uctomb): Change type of last argument to ptrdiff_t.
3304         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
3305         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
3306         * lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
3307         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
3308         * lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.
3310 2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>
3312         manywarnings: remove -Wchkp and -Wabi from C++ too
3313         Suggested by Reuben Thomas in:
3314         https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
3315         At some point somebody should merge the many other manywarnings-c.m4
3316         changes into manywarnings-c++.m4 too, e.g.,
3317         2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
3318         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
3319         Remove -Wchkp, -Wabi.
3321 2020-08-30  Bruno Haible  <bruno@clisp.org>
3323         strerrorname_np: Add tests.
3324         * tests/test-strerrorname_np.c: New file.
3325         * modules/strerrorname_np-tests: New file.
3327         strerrorname_np: New module.
3328         * lib/string.in.h (strerrorname_np): New declaration.
3329         * lib/strerrorname_np.c: New file.
3330         * m4/strerrorname_np.m4: New file.
3331         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
3332         is declared.
3333         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
3334         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3335         * modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
3336         HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
3337         * modules/strerrorname_np: New file.
3338         * tests/test-string-c++.cc: Verify the signature of strerrorname_np.
3339         * doc/glibc-functions/strerrorname_np.texi: Mention the new module and
3340         the glibc 2.32 bug.
3342 2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>
3344         perror, strerror_r: remove unportable tests
3345         Problem reported by Florian Weimer in:
3346         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
3347         * tests/test-perror2.c (main):
3348         * tests/test-strerror_r.c (main): Omit unportable tests.
3350 2020-08-26  Bruno Haible  <bruno@clisp.org>
3352         stdint, wchar, wctype-h: Change configure message.
3353         * m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
3354         enough..." instead of "checking whether wint_t is too small...".
3356 2020-08-26  Bruno Haible  <bruno@clisp.org>
3358         time_rz: Change configure message.
3359         * m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
3360         near extrema..." instead of "checking whether localtime loops forever
3361         near extrema...".
3363 2020-08-26  Bruno Haible  <bruno@clisp.org>
3365         stdint: Change configure message.
3366         * m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
3367         without ISO C predefines..." instead of "checking whether stdint.h
3368         predates C++11...".
3370 2020-08-26  Bruno Haible  <bruno@clisp.org>
3372         socketlib: Change configure message.
3373         * m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
3374         instead of "checking if we need to call WSAStartup in winsock2.h and
3375         -lws2_32...".
3377 2020-08-26  Bruno Haible  <bruno@clisp.org>
3379         include_next: Change configure message.
3380         * m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
3381         code line length is unlimited..." instead of "checking whether system
3382         header files limit the line length...".
3384 2020-08-26  Bruno Haible  <bruno@clisp.org>
3386         getcwd: Change configure message.
3387         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
3388         whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
3389         "checking whether getcwd aborts when 4k < cwd_length < 16k...".
3391 2020-08-26  Bruno Haible  <bruno@clisp.org>
3393         chdir-long: Change configure message.
3394         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
3395         system supports file names of any length..." instead of "checking
3396         whether this system has an arbitrary file name length limit...".
3397         Set gl_cv_have_unlimited_file_name_length instead of
3398         gl_cv_have_arbitrary_file_name_length_limit.
3399         * modules/chdir-long (Depends-on, configure.ac): Update accordingly.
3401 2020-08-26  Bruno Haible  <bruno@clisp.org>
3403         ceill: Change configure message.
3404         * m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
3405         instead of "checking whether ceill() breaks with small values...".
3407 2020-08-26  Bruno Haible  <bruno@clisp.org>
3409         iconv: Change configure message.
3410         * m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
3411         with its POSIX signature..." instead of "checking for iconv
3412         declaration...". Remove K&R C support.
3414 2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>
3416         getcwd: help the merge back into glibc
3417         This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
3418         https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
3419         The idea is to make it easier for Gnulib lib/getcwd.c to match
3420         glibc io/getcwd-generic.c.
3421         * lib/getcwd.c [_LIBC]: Do not include pathmax.h.
3422         Include not-cancel.h.
3423         (HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
3424         (HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
3425         (__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
3426         (__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
3427         (__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
3428         (__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
3429         (__getcwd_generic): Rename from __getcwd.
3430         Use the abovementioned macros for consistency with glibc.
3431         (weak_alias): Remove.
3433 2020-08-25  Bruno Haible  <bruno@clisp.org>
3435         verify: Avoid warnings when assume(0) is used.
3436         Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
3437         <https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
3438         * lib/verify.h (assume): Use __builtin_unreachable if the argument is
3439         the constant 0.
3440         * tests/test-verify.c (f): New function.
3441         (state): New type.
3442         (test_assume_expressions, test_assume_optimization,
3443         test_assume_noreturn): New functions.
3445 2020-08-25  Bruno Haible  <bruno@clisp.org>
3447         fstrcmp: Clarification regarding NOTE_ORDERED.
3448         * lib/fstrcmp.c (NOTE_ORDERED): Define to false.
3450 2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>
3452         diffseq: new option NOTE_ORDERED
3453         Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
3454         * NEWS: Mention this.
3455         * lib/diffseq.h (NOTE_ORDERED): New macro.
3456         (IF_LINT2): Remove; no longer needed.
3457         (compareseq): If (!NOTE_ORDERED), recurse on the smaller
3458         subproblem and iterate to do the larger.
3460 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3462         sys_types: let Autoconf 2.70 do pid_t
3463         * m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
3464         only for Autoconf versions 2.69 and earlier, since 2.70
3465         will be fixed.
3467 2020-08-23  Bruno Haible  <bruno@clisp.org>
3469         tests: Don't assume that pid_t fits in an 'int'.
3470         * tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
3471         of 'int'.
3472         * tests/test-nonblocking-socket-main.c (main): Likewise.
3474         sys_types: Fix definition of pid_t on 64-bit MSVC.
3475         * m4/pid_t.m4: New file.
3476         * modules/sys_types (Files): Add it.
3477         * modules/dirent (Files): Likewise.
3478         * modules/fcntl-h (Files): Likewise.
3479         * modules/sched (Files): Likewise.
3480         * modules/signal-h (Files): Likewise.
3481         * modules/spawn (Files): Likewise.
3482         * modules/sys_stat (Files): Likewise.
3483         * modules/sys_wait (Files): Likewise.
3484         * modules/termios (Files): Likewise.
3485         * modules/unistd (Files): Likewise.
3487 2020-08-23  Bruno Haible  <bruno@clisp.org>
3489         inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
3490         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
3491         program.
3493 2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>
3495         intprops: be consistent about +X vs X+0
3496         * lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.
3498         intprops: fix INT_MULTIPLY_WRAPV bit-field bug
3499         The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
3500         is a bit-field, on older GCC or non-GCC compilers where we do
3501         things ourselves instead of using __builtin_mul_overflow.
3502         Without this fix, INT_MULTIPLY_WRAPV would not compile, due
3503         to applying sizeof to a bit-field.
3504         * lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
3505         Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.
3507 2020-08-23  Bruno Haible  <bruno@clisp.org>
3509         supersede: Avoid a failure when writing to /dev/null in Solaris zones.
3510         Reported by Jörg Sonnenberger <joerg@netbsd.org>
3511         via Thomas Klausner <tk@giga.or.at> in
3512         <https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
3513         * lib/supersede.c (open_supersede): When opening an existing non-regular
3514         file on Solaris, use O_CREAT although it should not be necessary.
3516 2020-08-23  Bruno Haible  <bruno@clisp.org>
3518         verify: Make assume work on bit field expressions (regr. 2020-08-22).
3519         Reported by Benno Schulenberg <bensberg@telfort.nl> in
3520         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
3521         * lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
3522         variable.
3524 2020-08-23  Bruno Haible  <bruno@clisp.org>
3526         libc-config: Improve comments.
3527         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
3528         cannot use clang's __diagnose_if__ here.
3530 2020-08-22  Bruno Haible  <bruno@clisp.org>
3532         verify: Do use __builtin_assume on clang.
3533         * lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
3534         variable in a statement expression.
3536 2020-08-22  Bruno Haible  <bruno@clisp.org>
3538         sig2str: Add more signals.
3539         * lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.
3541 2020-08-22  Bruno Haible  <bruno@clisp.org>
3543         doc: Update for OpenBSD 6.0, 6.7.
3544         * doc/*/*.texi: Update.
3545         * m4/printf.m4: Update comments and cross-compilation guesses.
3546         * m4/ceill.m4: Update comments.
3547         * m4/getcwd-abort-bug.m4: Likewise.
3548         * m4/ilogb.m4: Likewise.
3549         * m4/ilogbf.m4: Likewise.
3550         * m4/langinfo_h.m4: Likewise.
3551         * m4/modf.m4: Likewise.
3552         * m4/modff.m4: Likewise.
3554 2020-08-22  Bruno Haible  <bruno@clisp.org>
3556         doc: Mention sig2str module.
3557         * doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.
3559 2020-08-21  Bruno Haible  <bruno@clisp.org>
3561         sigdescr_np: Add tests.
3562         * tests/test-sigdescr_np.c: New file.
3563         * modules/sigdescr_np-tests: New file.
3565         sigdescr_np: New module.
3566         * lib/string.in.h (sigdescr_np): New declaration.
3567         * lib/sigdescr_np.c: New file.
3568         * m4/sigdescr_np.m4: New file.
3569         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
3570         declared.
3571         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
3572         HAVE_SIGDESCR_NP.
3573         * modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
3574         HAVE_SIGDESCR_NP.
3575         * modules/sigdescr_np: New file.
3576         * tests/test-string-c++.cc: Verify the signature of sigdescr_np.
3577         * doc/glibc-functions/sigdescr_np.texi: Mention the new module.
3579 2020-08-20  Bruno Haible  <bruno@clisp.org>
3581         sigabbrev_np: Add tests.
3582         * tests/test-sigabbrev_np.c: New file.
3583         * modules/sigabbrev_np-tests: New file.
3585         sigabbrev_np: New module.
3586         * lib/string.in.h (sigabbrev_np): New declaration.
3587         * lib/sigabbrev_np.c: New file.
3588         * m4/sigabbrev_np.m4: New file.
3589         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
3590         declared.
3591         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
3592         HAVE_SIGABBREV_NP.
3593         * modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
3594         HAVE_SIGABBREV_NP.
3595         * modules/sigabbrev_np: New file.
3596         * tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
3597         * doc/glibc-functions/sigabbrev_np.texi: Mention the new module.
3599 2020-08-20  Bruno Haible  <bruno@clisp.org>
3601         stdalign tests: Skip test with AIX xlclang.
3602         * tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.
3604 2020-08-20  Bruno Haible  <bruno@clisp.org>
3606         stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
3607         * lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
3608         workaround as for GCC versions < 4.9.
3610 2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>
3612         Sync up ProjectQuirks comments and documentation
3613         Transform the ProjectQuirks comments into a docstring so that it can
3614         be accessed from python as ProjectQuirks.__doc__ and harmonize
3615         descriptions with the documentation.
3616         * build-aux/vcstocl/projectquirks.py (ProjectQuirks):
3617         Transform comments into a docstring.
3618         * doc/vcs-to-changelog.texi: Sync up description with comments.
3620         Split ProjectQuirks out into its own file
3621         ProjectQuirks is used by external quirks files and importing it from
3622         vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
3623         is cleaner to put it in its own file anyway.
3624         * build-aux/vcstocl/projectquirks.py: A new file...
3625         * build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
3626         we move ProjectQuirks and import the file.
3628 2020-08-19  Bruno Haible  <bruno@clisp.org>
3630         uchar: Fix compilation errors in C++ mode on macOS.
3631         * m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
3632         system header file before attempting to use 'char16_t' and 'char32_t'.
3634 2020-08-19  Bruno Haible  <bruno@clisp.org>
3636         ansi-c++-opt: Work around an autoconf macro reordering problem.
3637         * modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
3638         section.
3640 2020-08-19  Bruno Haible  <bruno@clisp.org>
3642         math C++ tests: Fix compilation error in with GCC 10.
3643         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
3644         hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
3645         round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
3647 2020-08-19  Bruno Haible  <bruno@clisp.org>
3649         uchar: Fix compilation errors in C++ mode on OpenBSD.
3650         * lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
3651         CXX_HAS_UCHAR_TYPES is 1.
3652         * m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
3653         predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
3654         * modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.
3656 2020-08-19  Bruno Haible  <bruno@clisp.org>
3658         Fix compilation errors in C++ mode on OpenBSD.
3659         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
3660         OpenBSD with clang, use the approach without C preprocessor macro.
3662 2020-08-18  Bruno Haible  <bruno@clisp.org>
3664         uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
3665         * modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
3666         AC_LANG_POP.
3668 2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>
3670         verify: avoid __built_assume on Clang
3671         * lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
3672         Clang 9 incorrectly diagnoses arguments as having side effects
3673         even when they do not.  I guess Clang 9 considers any function
3674         call as if it had a side effect here.
3676         libc-config: avoid Clang’s __diagnose_if__
3677         * lib/cdefs.h (__warndecl, __warnattr, __errordecl):
3678         For now, do not use __diagnose_if__ here, as this fails
3679         on Fedora 31 with Clang 9.0.1, with diagnostic
3680         "/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
3681         size than length of destination buffer
3682         [-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
3683         for functions that are not called?
3685         careadlinkat: speedup for GCC 10 with GCC_LINT
3686         Inspired by a suggestion by Bruno Haible in:
3687         https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
3688         * lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
3689         (readlink_stk): New function, with most of the old careadlinkat
3690         contents and with a new STACK_BUF arg.  Inline it in GCC 10
3691         if GCC_LINT.
3692         (careadlinkat): Use the new function for everything but the
3693         stack buffer.
3695         * build-aux/gcc-warning.spec: Update comments.
3697 2020-08-17  Bruno Haible  <bruno@clisp.org>
3699         Assume autoconf >= 2.64.
3700         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.
3702 2020-08-17  Bruno Haible  <bruno@clisp.org>
3704         Revert autoupdate's revert.
3705         * config/srclist.txt: Mark regcomp.c as needing sync with glibc.
3707 2020-08-17  Bruno Haible  <bruno@clisp.org>
3709         uchar C++ tests: Fix build error on FreeBSD 12.
3710         * modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
3711         (Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
3712         <cuchar> does not exist.
3714 2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>
3716         time_rz: remove unused functions
3717         * lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.
3719         time_rz: fix issues with mktime_z failures
3720         * lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
3721         Use a cheaper tm_yday test for failed mktime.
3723 2020-08-16  Bruno Haible  <bruno@clisp.org>
3725         intprops test: Strengthen on clang.
3726         * tests/test-intprops.c (VERIFY): Use verify_stmt.
3728 2020-08-16  Bruno Haible  <bruno@clisp.org>
3730         nstrftime: Guide inlining also on clang.
3731         * lib/nstrftime.c (iso_week_days): Inline also on clang.
3733 2020-08-16  Bruno Haible  <bruno@clisp.org>
3735         intprops: Avoid bogus "warning: division by zero is undefined" on clang.
3736         * lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.
3738 2020-08-16  Bruno Haible  <bruno@clisp.org>
3740         log2l: Disable MSVC workaround on clang.
3741         * lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.
3743 2020-08-16  Bruno Haible  <bruno@clisp.org>
3745         argp: Emit a warning also with clang.
3746         * lib/argp-help.c (__argp_short_program_name): Use #warning also on
3747         clang.
3749 2020-08-16  Bruno Haible  <bruno@clisp.org>
3751         libc-config: Enable __REDIRECT macro also on clang.
3752         * lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
3753         __ASMNAME2): Define on clang like on GCC.
3755 2020-08-16  Bruno Haible  <bruno@clisp.org>
3757         regex: Use initializer shorthand syntax also with clang.
3758         * lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
3759         with clang.
3761 2020-08-16  Bruno Haible  <bruno@clisp.org>
3763         regex: Use space optimization also with clang.
3764         * lib/regex_internal.h (re_token_t): Use a single byte for the type also
3765         with clang.
3767 2020-08-16  Bruno Haible  <bruno@clisp.org>
3769         Use _Static_assert and static_assert primitives when present on clang.
3770         * lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
3771         * lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
3772         _GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.
3774 2020-08-16  Bruno Haible  <bruno@clisp.org>
3776         Use 'throw ()' for optimization in C++ mode also on clang.
3777         * lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
3778         * lib/getopt-cdefs.in.h (__THROW): Likewise.
3779         * lib/md5.h (__THROW): Likewise.
3781 2020-08-16  Bruno Haible  <bruno@clisp.org>
3783         absolute-header: Add support for clang.
3784         * modules/absolute-header (Makefile.am): Include '__clang__' in the
3785         HAVE_INCLUDE_NEXT expression.
3787 2020-08-16  Bruno Haible  <bruno@clisp.org>
3789         Fix "warning: implicitly declaring library function 'strcasecmp'".
3790         * lib/argp-help.c: Include <strings.h>.
3792 2020-08-16  Bruno Haible  <bruno@clisp.org>
3794         stdio: Don't break attribute 'scanf' on clang.
3795         * lib/stdio.in.h (scanf): Treat clang like GCC.
3797 2020-08-16  Bruno Haible  <bruno@clisp.org>
3799         Use __restrict also on clang.
3800         * lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
3801         * lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
3802         * lib/unitypes.in.h (_UC_RESTRICT): Likewise.
3804 2020-08-16  Bruno Haible  <bruno@clisp.org>
3806         pthread-spin: Use GCC built-ins also on clang.
3807         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
3808         pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
3809         also on clang.
3811 2020-08-16  Bruno Haible  <bruno@clisp.org>
3813         asyncsafe-spin tests: Update.
3814         * tests/test-asyncsafe-spin2.c: Update to match the change in
3815         lib/asyncsafe-spin.c from 2020-08-11.
3817 2020-08-16  Bruno Haible  <bruno@clisp.org>
3819         setenv: Use tree code also with clang.
3820         * lib/setenv.c (USE_TSEARCH): Treat clang like GCC.
3822 2020-08-16  Bruno Haible  <bruno@clisp.org>
3824         math: Optimize signbit also on clang.
3825         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
3826         on clang.
3828 2020-08-16  Bruno Haible  <bruno@clisp.org>
3830         avltreehash-list, rbtreehash-list: Optimize also on clang.
3831         * lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
3832         __builtin_expect also on clang.
3834 2020-08-16  Bruno Haible  <bruno@clisp.org>
3836         Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
3837         * lib/socket.c: Use WSASocketW, not WSASocketA.
3839         Fix "warning: format specifies type 'unsigned long'".
3840         * tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
3841         argument to match the format directive.
3843         Fix "warning: no case matching constant switch condition '0'".
3844         * tests/test-fcntl.c (check_flags): Add a 'default' case.
3846         Fix "warning: integer overflow in expression".
3847         * tests/test-strtol.c (main): Use an 'unsigned long' expression to
3848         remove a 'long' overflow.
3850         Fix "warning: "getpagesize" redefined".
3851         * tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
3852         macro.
3854         Fix "warning: implicitly declaring library function 'strncasecmp'".
3855         * lib/strptime.c: Include <strings.h>.
3857         Fix "warning: 'snprintf' macro redefined".
3858         * lib/strerror_r.c (snprintf): Undefine before redefining.
3860         Fix "warning: address of array 'locale' will always evaluate to 'true'".
3861         * lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.
3863         Fix "warning: '__stat64' macro redefined".
3864         * lib/glob.c (__stat64): Undefine also on MSVC/clang.
3866         Fix "warning: 'format' attribute argument not supported: rpl_printf".
3867         * lib/stdio.in.h (printf): Treat clang like GCC.
3869         Fix "warning: attribute declaration must precede definition" with clang.
3870         * lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
3871         floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
3872         log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
3873         on non-glibc systems.
3874         * lib/netdb.in.h (gai_strerror): Likewise.
3875         * lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
3876         * lib/sys_stat.in.h (fstat): Likewise.
3877         * lib/utime.in.h (utime): Likewise.
3879         Fix undesired warnings.
3880         * lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
3881         clang.
3883 2020-08-16  Bruno Haible  <bruno@clisp.org>
3885         C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
3886         * modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
3887         $(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
3888         * modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
3889         $(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.
3891 2020-08-16  Bruno Haible  <bruno@clisp.org>
3893         Don't use Autoconf quadrigraphs.
3894         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
3895         Autoconf quadrigraph.
3896         * m4/free.m4 (gl_FUNC_FREE): Likewise.
3897         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3898         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
3899         _AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
3900         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
3901         * m4/math_h.m4 (gl_MATH_H): Likewise.
3902         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3904 2020-08-16  Bruno Haible  <bruno@clisp.org>
3906         Fix quoting of AC_LANG_PROGRAM arguments.
3907         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
3908         arguments through [[...]].
3909         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3910         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
3911         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
3912         * m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
3913         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
3914         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
3915         * m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
3916         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
3917         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
3918         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3919         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3920         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
3921         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
3923 2020-08-16  Bruno Haible  <bruno@clisp.org>
3925         Assume autoconf >= 2.64.
3926         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
3927         * DEPENDENCIES: Require Autoconf 2.64 or newer.
3928         * NEWS: Mention the changed requirement.
3929         * m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
3930         * m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
3931         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
3932         variables.
3933         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
3934         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
3935         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
3936         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
3937         gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
3938         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
3939         Likewise.
3940         * m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
3941         * m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
3942         * m4/configmake.m4: Update comment.
3944 2020-08-16  Bruno Haible  <bruno@clisp.org>
3946         sys_ioctl: Simplify.
3947         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
3948         AC_INCLUDES_DEFAULT.
3950 2020-08-16  Bruno Haible  <bruno@clisp.org>
3952         Fix quoting of AC_LANG_SOURCE arguments.
3953         * m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
3954         GL_NOCRASH expansion.
3955         * m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
3956         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
3957         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
3958         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
3959         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
3961 2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>
3963         nstrftime: be more predictable about errno
3964         This aligns nstrftime better with draft POSIX 202x strftime.
3965         * lib/nstrftime.c: Include errno.h.
3966         (width_add, __strftime_internal): Set errno on failure,
3967         and preserve it on success.  Check for mktime_z failure.
3968         * modules/nstrftime (Depends-on): Add errno.
3969         * modules/nstrftime-tests (Depends-on): Add atoll, intprops.
3970         * tests/test-nstrftime.c: Include intprops.h, limits.h.
3971         (errno_test): New test function.
3972         (main): Call it.
3974 2020-08-15  Bruno Haible  <bruno@clisp.org>
3976         canonicalize: Fix a problem of the autoconf test on MSVC/clang.
3977         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
3978         from dependency analysis first.
3980 2020-08-15  Bruno Haible  <bruno@clisp.org>
3982         Determine asm output option and filename suffix for MSVC/clang.
3983         * m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
3984         clang-cl.
3986 2020-08-15  Bruno Haible  <bruno@clisp.org>
3988         doc: Update for MSVC/clang.
3989         * doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
3990         that MSVC 14 does not have.
3992 2020-08-15  Bruno Haible  <bruno@clisp.org>
3994         Revert autoupdate's revert.
3995         * config/srclist.txt: Mark mktime.c as needing sync with glibc.
3997 2020-08-15  Bruno Haible  <bruno@clisp.org>
3999         frexpl: Fix configuration test result on MSVC.
4000         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
4001         zero.
4003 2020-08-15  Bruno Haible  <bruno@clisp.org>
4005         Support compiling without -loldnames on native Windows.
4006         * m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
4007         * m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
4008         (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
4009         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
4010         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
4011         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
4012         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
4013         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
4014         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
4015         * m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
4016         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
4017         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
4018         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
4019         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
4020         * m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
4021         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
4022         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
4023         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4024         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
4025         Likewise.
4026         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
4027         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
4028         * m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
4029         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
4030         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
4031         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
4032         * m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
4033         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
4034         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
4035         * m4/pread.m4 (gl_FUNC_PREAD): Likewise.
4036         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
4037         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
4038         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
4039         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
4040         * m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
4041         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
4042         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
4043         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
4044         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
4045         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4046         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
4047         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
4048         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
4049         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
4050         * m4/utimens.m4 (gl_UTIMENS): Likewise.
4051         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
4052         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
4053         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
4054         test for getcwd.
4055         * m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
4056         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
4057         with GL_MDA_DEFINES.
4058         * lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
4059         * lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
4060         prefixed symbol.
4061         * lib/search.in.h (lfind, lsearch): Likewise.
4062         * lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
4063         Likewise.
4064         * lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
4065         * lib/string.in.h (memccpy, strdup): Likewise.
4066         * lib/sys_stat.in.h (chmod, umask): Likewise.
4067         * lib/time.in.h (tzset): Likewise.
4068         * lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
4069         execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
4070         read, rmdir, swab, unlink, write): Likewise.
4071         * lib/utime.in.h (utime): Likewise.
4072         * lib/wchar.in.h (wcsdup): Likewise.
4073         * lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
4074         (isfinite, isinf, isnan, signbit): On native Windows, don't define as an
4075         rpl_-prefixed macro.
4076         * lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
4077         * lib/close.c (close_nothrow): On native Windows, use _close.
4078         * lib/creat.c (orig_creat): On native Windows, use _creat.
4079         * lib/dup.c (dup_nothrow): On native Windows, use _dup.
4080         * lib/dup2.c (dup2_nothrow): Use _dup2.
4081         * lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
4082         * lib/getcwd-lgpl.c: On native Windows, use _getcwd.
4083         * lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
4084         * lib/open.c (orig_open): On native Windows, use _open.
4085         * lib/read.c (read_nothrow): Use _read.
4086         * lib/rmdir.c: On native Windows, use _rmdir.
4087         * lib/unlink.c: On native Windows, use _unlink.
4088         * lib/write.c (write_nothrow): Use _write.
4089         * lib/sys_select.in.h (close): With clang, don't attach a warning on an
4090         undefined symbol.
4091         * lib/sys_socket.in.h (close): Likewise.
4092         * lib/sys_time.in.h (close): Likewise.
4093         * tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.
4095 2020-08-15  Bruno Haible  <bruno@clisp.org>
4097         Fix "unknown pragma ignored" warnings with clang on native Windows.
4098         * lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
4099         * lib/cbrtf.c: Likewise.
4100         * lib/ceil.c: Likewise.
4101         * lib/floor.c: Likewise.
4102         * lib/fma.c: Likewise.
4103         * lib/fmod.c: Likewise.
4104         * lib/rint.c: Likewise.
4105         * lib/round.c: Likewise.
4106         * lib/trunc.c: Likewise.
4107         * tests/test-ceil2.c: Likewise.
4108         * tests/test-ceilf2.c: Likewise.
4109         * tests/test-floor2.c: Likewise.
4110         * tests/test-floorf2.c: Likewise.
4111         * tests/test-trunc2.c: Likewise.
4112         * tests/test-truncf2.c: Likewise.
4113         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
4114         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
4116 2020-08-15  Bruno Haible  <bruno@clisp.org>
4118         Fix compilation errors in C++ mode with clang on native Windows.
4119         * lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
4120         non-glibc systems.
4121         * lib/sched.in.h (sched_yield): Likewise.
4123 2020-08-14  Bruno Haible  <bruno@clisp.org>
4125         stdnoreturn: Work around problem with MSVC/clang.
4126         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
4127         system header after <stdnoreturn.h>.
4128         * doc/posix-headers/stdnoreturn.texi: Mention the issue.
4130 2020-08-14  Bruno Haible  <bruno@clisp.org>
4132         utime-h: Generate an utime.h file always.
4133         * modules/utime-h (Makefile.am): Generate utime.h always.
4134         * m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
4135         GL_GENERATE_UTIME_H.
4137 2020-08-14  Bruno Haible  <bruno@clisp.org>
4139         mktime, mktime-internal: Remove obsolete code.
4140         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.
4142 2020-08-14  Bruno Haible  <bruno@clisp.org>
4144         getcwd: Remove obsolete code.
4145         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
4146         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
4148 2020-08-14  Bruno Haible  <bruno@clisp.org>
4150         tzset: Assume the function exists.
4151         * lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
4152         * lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
4153         * modules/tzset (configure.ac): Don't test HAVE_TZSET.
4154         * m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
4155         HAVE_TZSET.
4156         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
4157         * modules/time (Makefile.am): Don't substitute HAVE_TZSET.
4159         nstrftime: Assume tzset exists.
4160         * lib/nstrftime.c (HAVE_TZSET): Remove macro.
4161         (__strftime_internal): Test my_strftime, not HAVE_TZSET.
4162         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.
4164         mktime, mktime-internal: Assume tzset exists.
4165         * lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
4166         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.
4168 2020-08-14  Bruno Haible  <bruno@clisp.org>
4170         strdup: Assume the function exists.
4171         * m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
4172         whether strdup exists.
4173         * modules/strdup (Files): Remove lib/strdup.c.
4174         (configure.ac): Don't compile strdup.c.
4175         * modules/strdup-posix (Depends-on, configure.ac): Don't test
4176         ac_cv_func_strdup.
4177         * doc/posix-functions/strdup.texi: Update.
4178         * lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
4179         * modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
4180         (Depends-on): Remove unistr/u8-strlen.
4182 2020-08-13  Bruno Haible  <bruno@clisp.org>
4184         sys_random: Work around an uClibc bug.
4185         Reported by akater <nuclearspace@gmail.com>
4186         via Stefan Kangas <stefan@marxist.se>
4187         in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
4188         * lib/sys_random.in.h: On uClibc, include <stddef.h> first.
4189         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
4190         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
4191         * doc/glibc-headers/sys_random.texi: Mention the uClibc bug.
4193 2020-08-12  Bruno Haible  <bruno@clisp.org>
4195         Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
4196         Reported by Florian Weimer in
4197         <https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
4198         * lib/gen-uni-tables.c (output_predicate): Change the element type of
4199         the level3 array to 'unsigned int'.
4200         * lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
4201         * lib/unictype/categ_*.h: Regenerated.
4202         * lib/unictype/ctype_*.h: Regenerated.
4203         * lib/unictype/pr_*.h: Regenerated.
4204         * lib/unictype/sy_*.h: Regenerated.
4205         * lib/unicase/cased.h: Regenerated.
4206         * lib/unicase/ignorable.h: Regenerated.
4208 2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>
4210         stdint: port intptr_t to more-recent MinGW
4211         Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
4212         * lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
4213         even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
4214         Apparently those two macros were removed in mingwrt-3.22
4215         dated 2016-07-14.
4217 2020-08-12  Bruno Haible  <bruno@clisp.org>
4219         thread-optim: Export function-like macros only.
4220         Suggested by Paul Eggert.
4221         * lib/thread-optim.h (gl_multithreaded): New macro.
4222         (IF_MT_DECL, IF_MT): Remove macros.
4223         * doc/multithread.texi (Multithreading Optimizations): Add a small
4224         example.
4225         * lib/fatal-signal.c: Update all uses.
4226         * lib/clean-temp.c: Likewise.
4227         * lib/localename.c: Likewise.
4228         * modules/localename (Depends-on): Add stdbool.
4230 2020-08-12  Bruno Haible  <bruno@clisp.org>
4232         Revert autoupdate's revert.
4233         * config/srclist.txt: Mark regex.h as needing sync with glibc.
4235 2020-08-11  Bruno Haible  <bruno@clisp.org>
4237         thread-optim: Fix a compiler warning.
4238         * lib/thread-optim.h (IF_MT_DECL): Define differently.
4240 2020-08-11  Bruno Haible  <bruno@clisp.org>
4242         Use __restrict also on clang.
4243         * lib/cdefs.h (__restrict): Don't define as a macro on clang.
4244         (__restrict_arr): On clang, define like on GCC.
4245         * lib/regex.h (_Restrict_): Use '__restrict' also on clang.
4246         (_Restrict_arr_): Use _Restrict_ also on clang.
4247         * lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
4248         (_Restrict_arr_): Use _Restrict_ also on clang.
4250 2020-08-11  Bruno Haible  <bruno@clisp.org>
4252         Use flexible array syntax also on clang.
4253         * lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
4254         define like for GCC 3.
4256 2020-08-11  Bruno Haible  <bruno@clisp.org>
4258         fcntl: On native Windows, use _setmode, not setmode.
4259         * lib/fcntl.c (dupfd): Use _setmode, not setmode.
4260         * lib/binary-io.h: Update comment.
4261         * tests/test-cloexec.c: Call set_binary_mode, not setmode.
4262         * tests/test-dup2.c: Likewise.
4263         * tests/test-dup-safer.c: Likewise.
4264         * tests/test-fcntl.c: Likewise.
4266 2020-08-11  Bruno Haible  <bruno@clisp.org>
4268         execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
4269         * lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
4270         * lib/spawn-pipe.c (create_pipe): Likewise.
4271         * tests/test-nonblocking-pipe-main.c (main): Likewise.
4272         * tests/test-nonblocking-socket-main.c (main): Likewise.
4273         * lib/wait-process.c: Update comment.
4274         * doc/posix-functions/fork.texi: Update.
4276 2020-08-11  Bruno Haible  <bruno@clisp.org>
4278         asyncsafe-spin: Use GCC built-ins also on clang.
4279         * lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
4280         the newer GCC built-ins also on clang.
4282 2020-08-11  Bruno Haible  <bruno@clisp.org>
4284         Use expression statements also on clang.
4285         * lib/cdefs.h (__extension__): Don't define to empty on clang.
4286         * lib/obstack.h (__extension__): Likewise.
4287         (obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
4288         obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
4289         obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
4290         obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
4291         obstack_finish, obstack_free): Enable as optimized macros also on clang.
4292         * lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.
4294 2020-08-10  Bruno Haible  <bruno@clisp.org>
4296         Use many __attribute__s with clang.
4297         * m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
4298         on clang.
4299         * lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
4300         New macros.
4301         (__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
4302         on clang.
4303         (__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
4304         also on older clang versions.
4305         (__attribute__): Don't define to empty on clang.
4306         (__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
4307         (__attribute_pure__): Use __attribute__ __pure__ also on clang.
4308         (__attribute_const__): Use __attribute__ __const__ also on clang.
4309         (__attribute_used__): Use __attribute__ __used__ also on clang.
4310         (__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
4311         (__attribute_deprecated__): Use __attribute__ __deprecated__ also on
4312         clang.
4313         (__attribute_format_arg__): Use __attribute__ __format_arg__ also on
4314         clang.
4315         (__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
4316         also on clang.
4317         (__nonnull): Use __attribute__ __nonnull__ also on clang.
4318         (__attribute_warn_unused_result__): Use __attribute__
4319         __warn_unused_result__ also on clang.
4320         (__always_inline): Use __attribute__ __always_inline__ also on clang.
4321         (__attribute_artificial__): Use __attribute__ __artificial__ also on
4322         clang >= 7.
4323         (__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
4324         clang versions.
4325         (_Noreturn): Don't redefine on clang >= 3.5.
4326         * lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
4327         also on clang.
4328         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
4329         on clang.
4330         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4331         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4332         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
4333         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
4334         also on clang.
4335         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
4336         * lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
4337         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
4338         also on clang.
4339         (_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
4340         * lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
4341         __attribute__ __noreturn__ also on clang.
4342         * lib/obstack.h (__attribute_noreturn__): Likewise.
4343         * lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
4344         clang.
4345         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
4346         always_inline also on clang.
4347         * tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
4348         clang.
4350 2020-08-10  Bruno Haible  <bruno@clisp.org>
4352         c-ldtoastr tests: Fix test failure.
4353         * tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
4354         is longer than 'double'.
4356 2020-08-10  Bruno Haible  <bruno@clisp.org>
4358         Revert autoupdate's revert.
4359         * config/srclist.txt: Mark intprops.h as needing sync with glibc.
4361 2020-08-09  Bruno Haible  <bruno@clisp.org>
4363         string: Fix build error in C++ mode with clang (regression from today).
4364         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
4365         parameters, one for GCC, one for clang.
4366         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
4367         * lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
4368         as return type.
4370 2020-08-09  Bruno Haible  <bruno@clisp.org>
4372         ftruncate: Use _chsize, not chsize.
4373         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
4374         * lib/ftruncate.c: Test HAVE__CHSIZE.
4375         (chsize_nothrow): Use _chsize, not chsize.
4377 2020-08-09  Bruno Haible  <bruno@clisp.org>
4379         Silence warnings from clang 10 with -Wimplicit-fallthrough.
4380         * lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
4381         clang >= 10.
4382         * lib/fnmatch.c (FALLTHROUGH): Likewise.
4383         * lib/fts.c (FALLTHROUGH): Likewise.
4384         * tests/macros.h (FALLTHROUGH): Likewise.
4385         * lib/regex_internal.h (FALLTHROUGH): Likewise.
4386         * config/srclist.txt: Mark it as needing sync with glibc.
4388 2020-08-09  Bruno Haible  <bruno@clisp.org>
4390         stdbool tests: Enable the stricter tests also on clang.
4391         * tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
4392         (e): Enable the address-to-bool conversion test also on clang.
4394 2020-08-09  Bruno Haible  <bruno@clisp.org>
4396         count-one-bits: Use __builtin_popcount{,l,ll} on clang.
4397         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.
4399 2020-08-09  Bruno Haible  <bruno@clisp.org>
4401         Use attribute __aligned__ with clang.
4402         * lib/stdalign.in.h (_Alignas): Treat clang like GCC.
4403         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.
4405 2020-08-09  Bruno Haible  <bruno@clisp.org>
4407         Use __alignof__ with clang.
4408         * m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
4409         on clang.
4410         * lib/alignof.h (alignof_type): Use __alignof__ also on clang.
4411         * lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
4412         clang.
4413         * lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
4414         * lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
4415         * lib/bitset/table.c (tbitset_elt_alloc): Likewise.
4416         * tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.
4418 2020-08-09  Bruno Haible  <bruno@clisp.org>
4420         ignore-value: Simplify on clang.
4421         * lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
4422         workaround.
4424 2020-08-09  Bruno Haible  <bruno@clisp.org>
4426         Use __typeof__ with clang.
4427         * m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
4428         "clang -std=gnu99".
4429         * lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
4430         * tests/test-stdint.c (verify_same_types): Enable the check also on
4431         clang.
4433 2020-08-09  Bruno Haible  <bruno@clisp.org>
4435         Add ability to emit user-defined warnings and errors with clang.
4436         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
4437         _GL_ATTRIBUTE_WARNING using an attribute for clang.
4438         * lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
4439         _GL_WARN_ON_USE_CXX): Define using an attribute for clang.
4440         * lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
4441         attribute for clang.
4443 2020-08-09  Bruno Haible  <bruno@clisp.org>
4445         intprops: Fix typo in comment.
4446         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.
4448 2020-08-09  Bruno Haible  <bruno@clisp.org>
4450         Use __builtin_signbit* with clang.
4451         * lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
4452         * m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
4453         Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4454         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
4455         REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
4456         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
4457         not REPLACE_SIGNBIT_USING_GCC.
4459 2020-08-09  Bruno Haible  <bruno@clisp.org>
4461         Use __builtin_isnan with clang.
4462         * lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4463         not __builtin_isnanf. Also on clang.
4464         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
4465         built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
4466         * lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
4467         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
4468         built-in.
4469         * lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
4470         not __builtin_isnanl. Also on clang.
4471         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
4472         GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
4473         * lib/math.in.h (__has_builtin): Remove macro.
4474         (isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
4475         __builtin_isnanf. Also on clang.
4476         (isnand, gl_isnan_d): With clang, use the GCC built-in.
4477         (isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
4478         __builtin_isnanl. Also on clang.
4479         (isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
4480         on clang.
4482 2020-08-09  Bruno Haible  <bruno@clisp.org>
4484         thread-optim: Fix logic error.
4485         Reported by Paul Eggert.
4486         * lib/thread-optim.h (IF_MT): Fix logic error.
4488 2020-08-08  Bruno Haible  <bruno@clisp.org>
4490         localename: Use module 'thread-optim'.
4491         * lib/localename.c: Include thread-optim.h.
4492         (struniq): Use IF_MT macro.
4493         * modules/localename (Depends-on): Add thread-optim.
4495         clean-temp: Use module 'thread-optim'.
4496         * lib/clean-temp.c: Include thread-optim.h.
4497         (register_temporary_file, unregister_temporary_file, create_temp_dir,
4498         register_temp_file, unregister_temp_file, register_temp_subdir,
4499         unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
4500         close_temp, fclose_variant_temp): Use IF_MT macro.
4501         * modules/clean-temp (Depends-on): Add thread-optim.
4503         fatal-signal: Use module 'thread-optim'.
4504         * lib/fatal-signal.c: Include thread-optim.h.
4505         (at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
4506         macro.
4507         * modules/fatal-signal (Depends-on): Add thread-optim.
4509 2020-08-08  Bruno Haible  <bruno@clisp.org>
4511         New module 'thread-optim'.
4512         * lib/thread-optim.h: New file.
4513         * modules/thread-optim: New file.
4514         * doc/multithread.texi (Multithreading Optimizations): New section.
4516 2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>
4518         doc: more updates for glibc 2.32
4519         * doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
4520         * doc/posix-functions/fchmodat.texi: Update.
4522 2020-08-07  Bruno Haible  <bruno@clisp.org>
4524         doc: Update for glibc 2.32.
4525         * doc/glibc-functions/__libc_single_threaded.texi: New file.
4526         * doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
4527         * doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
4528         * doc/glibc-functions/sigabbrev_np.texi: New file.
4529         * doc/glibc-functions/sigdescr_np.texi: New file.
4530         * doc/glibc-functions/strerrordesc_np.texi: New file.
4531         * doc/glibc-functions/strerrorname_np.texi: New file.
4532         * doc/gnulib.texi: Include them.
4533         (Glibc sys/single_threaded.h): New section.
4534         * doc/pastposix-functions/h_errno.texi: Update.
4535         * doc/posix-functions/*.texi: Likewise.
4536         * doc/glibc-functions/*.texi: Likewise.
4538 2020-08-07  Bruno Haible  <bruno@clisp.org>
4540         alloca: No need to compile alloca.c with clang.
4541         * lib/alloca.c: Skip all code with clang.
4543         Use __builtin_alloca with clang.
4544         * lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.
4546 2020-08-06  Bruno Haible  <bruno@clisp.org>
4548         Use __builtin_assume with clang.
4549         * lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
4550         (assume): Use __builtin_assume when available.
4552 2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>
4554         libgmp: add <gmp/gmp.h> support
4555         * m4/libgmp.m4 (gl_LIBGMP):
4556         * modules/libgmp (configure.ac, Makefile.am):
4557         Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
4558         ‘#include <gmp.h>’.
4560 2020-08-06  Bruno Haible  <bruno@clisp.org>
4562         Consider that clang defines __OPTIMIZE__ like GCC does.
4563         * lib/streq.h: Define the inline functions also on clang.
4564         * lib/c-strcaseeq.h: Likewise.
4565         * lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
4566         the GCC workaround to clang.
4568 2020-08-06  Bruno Haible  <bruno@clisp.org>
4570         safe-alloc: Remove unused code.
4571         * lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.
4573 2020-08-06  Bruno Haible  <bruno@clisp.org>
4575         Use __builtin_expect with clang everywhere.
4576         * lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
4577         also on clang.
4579 2020-08-05  Bruno Haible  <bruno@clisp.org>
4581         Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
4582         * lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
4583         built-in also on clang.
4584         * lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
4585         * lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.
4587 2020-08-05  Bruno Haible  <bruno@clisp.org>
4589         Use __builtin_clz{,l,ll} with clang, also on Windows.
4590         * lib/integer_length.c: With clang, use the GCC built-in, not
4591         <intrin.h>.
4592         * lib/integer_length_l.c: Likewise.
4593         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
4594         also on clang.
4595         * lib/vasnprintf.c (divide): Likewise.
4597 2020-08-04  Paul Eggert  <eggert@cs.ucla.edu>
4599         Update srclist.txt as per recent glibc changes
4600         * config/srclist.txt: Uncomment lines to reflect recent merges
4601         from Gnulib to glibc.
4603 2020-08-03  Bruno Haible  <bruno@clisp.org>
4605         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4606         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.
4608 2020-08-03  Bruno Haible  <bruno@clisp.org>
4610         integer_length_ll: Optimize for MSVC in 64-bit mode.
4611         * lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4612         (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4614 2020-08-03  Bruno Haible  <bruno@clisp.org>
4616         integer_length_ll: Optimize for MSVC in 32-bit mode.
4617         * lib/integer_length_l.c: Include <intrin.h>.
4618         (integer_length): Define as inline function, like in
4619         lib/integer_length.c.
4621 2020-08-03  Bruno Haible  <bruno@clisp.org>
4623         integer_length: Optimize for MSVC.
4624         * lib/integer_length.c: Include <intrin.h>.
4625         (integer_length): With MSVC, use the _BitScanReverse built-in.
4627 2020-08-03  Bruno Haible  <bruno@clisp.org>
4629         ffsll: Optimize for MSVC in 64-bit mode.
4630         * lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
4631         * lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
4632         * lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.
4634 2020-08-03  Bruno Haible  <bruno@clisp.org>
4636         ffsll: Optimize for MSVC in 32-bit mode.
4637         * lib/ffsl.h: Include <intrin.h>.
4638         (ffs): Define as inline function, like in lib/ffs.c.
4640 2020-08-03  Bruno Haible  <bruno@clisp.org>
4642         ffs: Optimize for MSVC.
4643         * lib/ffs.c: Include <intrin.h>.
4644         (ffs): With MSVC, use the _BitScanForward built-in.
4646 2020-08-03  Bruno Haible  <bruno@clisp.org>
4648         sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
4649         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
4650         variable.
4652 2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)
4654         fopen: Avoid undesired interactions with glibc headers.
4655         * lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
4656         __need_FILE, as the latter does not work with glibc.
4658 2020-08-02  Paul Eggert  <eggert@cs.ucla.edu>
4660         fcntl: document some F_SETLK errno variations
4661         * doc/posix-functions/fcntl.texi (fcntl): Document
4662         OpenIndiana, GNU/Linux, FreeBSD on NFS files.
4664 2020-08-02  Bruno Haible  <bruno@clisp.org>
4666         oset: Add an 'iterator_atleast' operation.
4667         * lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
4668         extracted from gl_array_search_atleast.
4669         (gl_array_search_atleast): Use it.
4670         (gl_array_iterator_atleast): New function.
4671         (gl_array_oset_implementation): Use it.
4672         * lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
4673         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
4674         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
4675         * lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
4676         member.
4677         (gl_oset_iterator_atleast): New function.
4678         * lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
4679         (gl_OSet::iterator): Add another auxiliary constructor.
4680         * tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
4681         New functions.
4682         (main): Test also gl_oset_iterator_atleast.
4683         * tests/test-avltree_oset.c (is_at_least): New function.
4684         (main): Test also gl_oset_iterator_atleast.
4685         * tests/test-rbtree_oset.c (is_at_least): New function.
4686         (main): Test also gl_oset_iterator_atleast.
4687         * tests/test-oset-c++.cc (is_at_most): New function.
4688         (main): Test also gl_OSet::begin_atleast.
4690 2020-08-02  Bruno Haible  <bruno@clisp.org>
4692         oset-c++, omap-c++: Remove restriction for search_atleast method.
4693         * lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
4694         a different type than the element.
4695         * lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
4696         a different type than the key.
4698 2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>
4700         gnumakefile: say ‘$(MAKE)’ not ‘make’
4701         * top/GNUmakefile (abort-due-to-no-makefile):
4702         Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
4703         This change is backported from Autoconf.
4705 2020-08-01  Bruno Haible  <bruno@clisp.org>
4707         Prefer documented autoconf macro 'm4_if' over 'ifelse'.
4708         * m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
4709         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
4710         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
4711         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
4712         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.
4714 2020-08-01  Bruno Haible  <bruno@clisp.org>
4716         libtextstyle-optional: Update tests.
4717         * modules/libtextstyle-optional-tests (configure.ac): Invoke
4718         gl_LIBTEXTSTYLE_OPTIONAL.
4720 2020-08-01  Bruno Haible  <bruno@clisp.org>
4722         parse-datetime: Fix wrong #line statements.
4723         * modules/parse-datetime (Makefile.am): Correct #line statements also in
4724         parse-datetime-gen.h.
4726 2020-08-01  Bruno Haible  <bruno@clisp.org>
4728         libtextstyle[-optional]: Allow requesting a minimum version.
4729         * m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
4730         (gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
4731         gl_LIBTEXTSTYLE_SEARCH): New macros.
4732         * modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
4733         * m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
4734         optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
4735         * modules/libtextstyle-optional (configure.ac): Don't invoke
4736         gl_LIBTEXTSTYLE_OPTIONAL.
4737         * NEWS: Mention the changes.
4739 2020-07-31  Bruno Haible  <bruno@clisp.org>
4741         _GL_CMP: Improve documentation.
4742         Reported by Paul Eggert in
4743         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
4744         * m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
4745         passed.
4747 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4749         largefile: sync with Autoconf master
4750         * m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
4751         Avoid undefined behavior on platforms where off_t is 32 bits.
4752         See: https://bugs.debian.org/742780
4754         alloca: sync with Autoconf master
4755         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
4756         Do not define if Autoconf 2.70 or later, since Autoconf master
4757         now matches us.
4759 2020-07-30  Bruno Haible  <bruno@clisp.org>
4761         unicodeio: Add comment.
4762         * lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
4763         different iconv behaviours.
4765 2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>
4767         Work around some Oracle Studio attribute bugs
4768         These were discovered when building bleeding-edge Emacs with
4769         Oracle Studio.
4770         * m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
4771         Port to Oracle Studio 12.6, which mishandles __attribute__
4772         ((__cold__)) and __attribute__ ((__may_alias__)) even though
4773         __has_attribute says they work.
4775 2020-07-29  Bruno Haible  <bruno@clisp.org>
4777         unicodeio: Fix wrong result on musl libc.
4778         Reported by A. Wilcox <awilfox@adelielinux.org> in
4779         <https://www.openwall.com/lists/musl/2020/07/29/2>.
4780         * lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
4781         on musl libc.
4782         * m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
4783         * modules/unicodeio (Files): Add m4/musl.m4.
4785 2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>
4787         fsusage, regex, stat-size: remove Cray support
4788         As near as I can make out this is actually support for UNICOS/mp,
4789         last released 2005, and Cray hasn’t supported that for years.
4790         * config/srclist.txt: Comment out regex.h for now.
4791         * lib/fsusage.c (get_fs_usage):
4792         * lib/regex.h (re_comp, re_exec):
4793         * lib/stat-size.h (ST_NBLOCKSIZE):
4794         Don’t worry about _CRAY.
4796 2020-07-29  Bruno Haible  <bruno@clisp.org>
4798         parse-datetime: Fix compilation error with bison 3.7.
4799         * modules/parse-datetime (Makefile.am): Create a generated header file
4800         parse-datetime-gen.h in the source directory. Correct #include and
4801         #line statements during preprocessing.
4803 2020-07-28  Bruno Haible  <bruno@clisp.org>
4805         fopen-gnu: Create files correctly (regression from 2020-05-24).
4806         * lib/fopen.c (rpl_open): Pass a third argument to open().
4808 2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>
4810         xalloc-die: don’t depend on xalloc
4811         This removes a circular dependency, as xalloc depends on xalloc-die.
4812         * modules/xalloc-die (Files): Add lib/xalloc.h.
4813         (Depends-on): Remove xalloc.
4814         Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).
4816         dfa-tests: port to MSVC
4817         Problem reported by Gisle Vanem in:
4818         https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
4819         Also, remove an unnecessary dependency on getprogname.
4820         * modules/dfa-tests (Depends-on): Remove getprogname.
4821         * tests/test-dfa-match-aux.c: Do not include getprogname.h.
4822         (exit_status): New static var.
4823         (dfawarn): Set it instead of exiting.
4824         Do not declare as _Noreturn, to pacify MSVC.
4825         (main): Return exit_status.
4827 2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>
4829         argz: pacify MSVC
4830         * lib/argz.in.h: Avoid "*/*" to pacify MSVC.
4831         Problem reported by Gisle Vanem.
4833         libgmp: remove dependency on havelib
4834         * m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
4835         use the more-traditional AC_SEARCH_LIBS approach.
4836         This should work better with GNU Emacs configuration,
4837         which uses pkg-config instead of a havelib-style approach.
4838         * modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
4839         * modules/libgmp (Depends-on): Remove havelib.
4841         libgmp: remove HAVE_GMP, LIB_GMP
4842         * m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
4843         they’re redundant.  I’ll adjust GNU Coreutils accordingly.
4845 2020-07-26  Bruno Haible  <bruno@clisp.org>
4847         inttypes: Remove support for AIX 4.
4848         * lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
4849         * m4/inttypes-pri.m4: Remove file.
4850         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
4851         (gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
4852         * modules/inttypes-incomplete (Makefile.am): Don't substitute
4853         PRI_MACROS_BROKEN.
4854         * modules/inttypes (Files): Remove m4/inttypes-pri.m4.
4856 2020-07-26  Bruno Haible  <bruno@clisp.org>
4858         gettimeofday: Remove workaround for Mac OS X 10.0.
4859         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
4860         (gl_FUNC_GETTIMEOFDAY): Don't invoke it.
4861         * lib/gettimeofday.c: Don't include localtime-buffer.h.
4862         (gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4863         * lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
4864         * modules/gettimeofday (Depends-on): Remove localtime-buffer.
4865         * modules/localtime-buffer: Remove file.
4866         * lib/localtime-buffer.h: Remove file.
4867         * lib/localtime-buffer.c: Remove file.
4868         * m4/localtime-buffer.m4: Remove file.
4869         * MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.
4871 2020-07-26  Bruno Haible  <bruno@clisp.org>
4873         tzset: Remove workaround for Solaris 2.6.
4874         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
4875         (gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
4876         Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
4877         * lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
4878         * lib/localtime-buffer.c: Likewise.
4879         * lib/localtime.c: Likewise.
4880         * lib/tzset.c: Don't include localtime-buffer.h.
4881         (tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
4882         * lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
4883         is 1.
4884         * modules/tzset (Depends-on): Remove localtime-buffer.
4886 2020-07-26  Bruno Haible  <bruno@clisp.org>
4888         expl: Simplify autoconf test.
4889         * m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
4890         with small values..." test into the "checking whether expl works..."
4891         test.
4893 2020-07-26  Bruno Haible  <bruno@clisp.org>
4895         alloca: Remove Cray-2 and Cray Y-MP support.
4896         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
4897         Enable also on Autoconf >= 2.69.
4898         * lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
4899         struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
4900         i00afunc): Remove.
4902 2020-07-25  Bruno Haible  <bruno@clisp.org>
4904         multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
4905         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.
4907 2020-07-25  Bruno Haible  <bruno@clisp.org>
4909         sigprocmask: Small autoconf macro improvement.
4910         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
4911         user to override the value of gl_cv_func_sigprocmask.
4912         * m4/gnulib-common.m4 (gl_SILENT): New macro.
4914 2020-07-25  Bruno Haible  <bruno@clisp.org>
4916         Small autoconf macro improvements.
4917         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
4918         override the value of gl_cv_func_working_mktime.
4919         * m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
4920         compiler produces multi-arch binaries..." in the configure output.
4921         * m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
4922         * m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.
4924 2020-07-25  Bruno Haible  <bruno@clisp.org>
4926         doc: Update for NetBSD 7.1, 8.0, 9.0.
4927         * doc/*/*.texi: Update.
4928         * m4/exp2l.m4: Update comments.
4929         * m4/expl.m4: Likewise.
4930         * m4/ilogb.m4: Likewise.
4931         * m4/ilogbf.m4: Likewise.
4932         * m4/log10l.m4: Likewise.
4933         * m4/logl.m4: Likewise.
4934         * m4/printf.m4: Likewise.
4935         * m4/rintl.m4: Likewise.
4936         * m4/wcwidth.m4: Likewise.
4938 2020-07-24  Bruno Haible  <bruno@clisp.org>
4940         doc: Update for Mac OS X 10.13.
4941         * doc/*/*.texi: Update.
4942         * m4/expm1l.m4: Update comments.
4943         * m4/getgroups.m4: Likewise.
4944         * m4/getlogin_r.m4: Likewise.
4945         * m4/linkat.m4: Likewise.
4946         * m4/printf.m4: Likewise.
4948 2020-07-24  Bruno Haible  <bruno@clisp.org>
4950         doc: Update for Cygwin 2.9.0.
4951         * doc/*/*.texi: Update.
4953 2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>
4955         parse-datetime: modernize doc
4956         * doc/parse-datetime.texi: Use more-current examples.
4957         Don’t lead with 32-bit time_t, as it’s on its way out.
4958         Capitalize “Epoch” to be consistent with POSIX.
4960         timespec: remove dependence on ‘verify’
4961         * lib/timespec.h: Do not include verify.h; no longer needed.
4962         * modules/timespec (Depends-on): Remove ‘verify’.
4964         Optimize a few more three-valued comparisons
4965         * lib/timespec.h (timespec_cmp, timespec_sign):
4966         * lib/utimecmp.c (utimecmpat):
4967         Avoid conditional branches by using _GL_CMP.
4969         Fix _GL_CMP parenthesization typo
4970         * m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.
4972 2020-07-24  Bruno Haible  <bruno@clisp.org>
4974         dfa: Revert breaking gawk.
4975         Reported by Arnold Robbins <arnold@skeeve.com>.
4976         * lib/dfa.c (compare): Don't reference the _GL_CMP macro.
4978 2020-07-23  Bruno Haible  <bruno@clisp.org>
4980         Optimize three-valued comparison between integers.
4981         (a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
4982         * m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
4983         * lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
4984         * lib/c-strncasecmp.c (c_strncasecmp): Likewise.
4985         * lib/dfa.c (compare): Likewise.
4986         * lib/fts.c (fts_compare_ino): Likewise.
4987         * lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
4988         * lib/mbscasecmp.c (mbscasecmp): Likewise.
4989         * lib/mbsncasecmp.c (mbsncasecmp): Likewise.
4990         * lib/memcasecmp.c (memcasecmp): Likewise.
4991         * lib/memcmp2.c (memcmp2): Likewise.
4992         * lib/savedir.c (direntry_cmp_inode): Likewise.
4993         * lib/strcasecmp.c (strcasecmp): Likewise.
4994         * lib/strncasecmp.c (strncasecmp): Likewise.
4995         * lib/unistr/u-cmp2.h (FUNC): Likewise.
4997 2020-07-23  Bruno Haible  <bruno@clisp.org>
4999         lchmod: Use /proc on Cygwin.
5000         * lib/lchmod.c (lchmod): Use /proc on Cygwin.
5002 2020-07-23  Ken Brown  <kbrown@cornell.edu>
5004         fchmodat: Use /proc on Cygwin
5005         * lib/fchmodat.c (fchmodat): Use /proc on Cygwin.
5007 2020-07-21  Bruno Haible  <bruno@clisp.org>
5009         aligned-malloc: Optionally use aligned_alloc.
5010         * lib/aligned-malloc.h: Verify the alignment.
5011         (aligned_malloc): Use aligned_alloc as an alternative.
5012         * modules/aligned-malloc (configure.ac): Test for aligned_alloc.
5013         * doc/posix-functions/aligned_alloc.texi: Mention the modules
5014         'aligned-malloc' and 'pagealign_alloc'.
5016 2020-07-21  Bruno Haible  <bruno@clisp.org>
5018         aligned-malloc: Add tests.
5019         * tests/test-aligned-malloc.c: New file.
5020         * modules/aligned-malloc-tests: New file.
5022         aligned-malloc: New module.
5023         * lib/aligned-malloc.h: New file.
5024         * m4/malloc-align.m4: New file.
5025         * modules/aligned-malloc: New file.
5026         * doc/posix-functions/posix_memalign.texi: Mention the new module.
5027         * doc/glibc-functions/memalign.texi: Likewise.
5029 2020-07-21  Bruno Haible  <bruno@clisp.org>
5031         inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
5032         * m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
5033         sure PRIPTR_PREFIX is defined to "ll", not "l".
5035 2020-07-21  Bruno Haible  <bruno@clisp.org>
5037         printf-posix: Make an autoconf test more future-proof.
5038         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
5039         using uintptr_t.
5041 2020-07-20  Bruno Haible  <bruno@clisp.org>
5043         list, oset, omap: Relicense some of the container modules under LGPLv2+.
5044         * modules/list (License): Change to LGPLv2+.
5045         * modules/array-list (License): Likewise.
5046         * modules/carray-list (License): Likewise.
5047         * modules/linked-list (License): Likewise.
5048         * modules/avltree-list (License): Likewise.
5049         * modules/rbtree-list (License): Likewise.
5050         * modules/oset (License): Likewise.
5051         * modules/array-oset (License): Likewise.
5052         * modules/avltree-oset (License): Likewise.
5053         * modules/rbtree-oset (License): Likewise.
5054         * modules/omap (License): Likewise.
5055         * modules/array-omap (License): Likewise.
5056         * modules/avltree-omap (License): Likewise.
5057         * modules/rbtree-omap (License): Likewise.
5059 2020-07-20  Bruno Haible  <bruno@clisp.org>
5061         oset: Add an 'update' operation.
5062         * lib/gl_array_oset.c (gl_array_update): New function.
5063         (gl_array_oset_implementation): Use it.
5064         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5065         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5066         * lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
5067         extracted from gl_tree_nx_add_before.
5068         (gl_tree_nx_add_before): Invoke it.
5069         (gl_tree_add_node_after): New function, extracted from
5070         gl_tree_nx_add_after.
5071         (gl_tree_nx_add_after): Invoke it.
5072         (gl_tree_remove_node_no_free): New function, extracted from
5073         gl_tree_remove_node.
5074         (gl_tree_remove_node): Invoke it.
5075         * lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
5076         extracted from gl_tree_nx_add_before.
5077         (gl_tree_nx_add_before): Invoke it.
5078         (gl_tree_add_node_after): New function, extracted from
5079         gl_tree_nx_add_after.
5080         (gl_tree_nx_add_after): Invoke it.
5081         (gl_tree_remove_node_no_free): New function, extracted from
5082         gl_tree_remove_node.
5083         (gl_tree_remove_node): Invoke it.
5084         * lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
5085         from gl_tree_iterator_next.
5086         (gl_tree_iterator_next): Invoke it.
5087         (gl_tree_prev_node, gl_tree_update): New functions.
5088         * lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5089         (gl_avltree_oset_implementation): Use gl_tree_update.
5090         * lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
5091         (gl_rbtree_oset_implementation): Use gl_tree_update.
5092         * lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
5093         (gl_oset_update): New function.
5094         * lib/gl_oset.hh (gl_OSet): Add 'update' member.
5095         * modules/avltree-oset (configure.ac): Require AC_C_INLINE.
5096         * modules/rbtree-oset (configure.ac): Likewise.
5097         * tests/test-oset-update.h: New file.
5098         * tests/test-array_oset.c: Include test-oset-update.h.
5099         (main): Invoke test_update.
5100         * tests/test-avltree_oset.c: Likewise.
5101         * tests/test-rbtree_oset.c: Likewise.
5102         * modules/array-oset-tests (Files): Add tests/test-oset-update.h.
5103         * modules/avltree-oset-tests (Files): Likewise.
5104         * modules/rbtree-oset-tests (Files): Likewise.
5105         * tests/test-oset-c++.cc (action): New function.
5106         (main): Test the 'update' member function.
5108 2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>
5110         md5, sha1, sha256, sha512: pacify Autoconf 2.70
5111         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
5112         shell if, so that the argument to AC_CHECK_HEADERS is
5113         a simple string that does not require shell evaluation.
5114         This fixes a warning generated by Autoconf 2.69b.
5116 2020-07-12  Bruno Haible  <bruno@clisp.org>
5118         libgmp: Avoid warning when --without-libgmp is used.
5119         * lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
5120         GCC >= 8, not for GCC >= 4.6.
5122 2020-07-12  Bruno Haible  <bruno@clisp.org>
5124         libgmp: Link to the correct shared library.
5125         * m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
5126         * modules/libgmp (Depends-on): Add havelib.
5127         (Link): Mention $(LIBGMP) and $(LTLIBGMP).
5128         * modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).
5130 2020-07-12  Bruno Haible  <bruno@clisp.org>
5132         libgmp tests: Add some safety checks.
5133         * modules/libgmp-tests (Depends-on): Add verify.
5134         * tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
5135         (main): Verify that gmp.h and libgmp versions match.
5137 2020-07-10  Bruno Haible  <bruno@clisp.org>
5139         unicodeio: Fix wrong result on NetBSD.
5140         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5141         characters also on NetBSD.
5143 2020-07-09  Bruno Haible  <bruno@clisp.org>
5145         unicodeio: Fix wrong result on Solaris 11.
5146         Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
5147         via Akim Demaille <akim.demaille@gmail.com> in
5148         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
5149         * lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
5150         characters on Solaris.
5151         * tests/test-unicodeio.c (main): In the "C" locale, expect either the
5152         UTF-8 output or the specified fallback.
5154 2020-07-08  Bruno Haible  <bruno@clisp.org>
5156         unicodeio: Add tests.
5157         * tests/test-unicodeio.c: New file.
5158         * tests/test-unicodeio1.sh: New file.
5159         * tests/test-unicodeio2.sh: New file.
5160         * tests/test-unicodeio3.sh: New file.
5161         * modules/unicodeio-tests: New file.
5163 2020-07-08  Bruno Haible  <bruno@clisp.org>
5165         unicodeio: Document link requirements.
5166         * modules/unicodeio (Link): New section.
5168 2020-07-07  Bruno Haible  <bruno@clisp.org>
5170         doc: Remove support for some very old platforms.
5171         * doc/posix-functions/memcmp.texi: Don't mention "older platforms".
5172         * doc/posix-functions/memcpy.texi: Likewise.
5173         * doc/posix-functions/memmove.texi: Likewise.
5174         * doc/posix-functions/memset.texi: Likewise.
5175         * doc/posix-functions/getcwd.texi: Likewise.
5177         memchr: Remove support for some very old platforms.
5178         * m4/memchr-obsolete.m4: Remove file.
5179         * modules/memchr-obsolete: Remove file.
5180         * m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
5181         absent. Don't define HAVE_MEMCHR.
5182         * lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
5183         * modules/memchr (Depends-on): Remove memchr-obsolete.
5184         (configure.ac): Assume HAVE_MEMCHR is 1.
5185         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5186         HAVE_MEMCHR.
5187         * modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
5188         * doc/posix-functions/memchr.texi: Don't mention module
5189         'memchr-obsolete'.
5190         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5191         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
5192         * modules/strnlen (Depends-on): Remove memchr-obsolete.
5194         dup2: Remove support for some very old platforms.
5195         * m4/dup2-obsolete.m4: Remove file.
5196         * modules/dup2-obsolete: Remove file.
5197         * m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
5198         Don't define HAVE_DUP2.
5199         * lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
5200         * lib/dup2.c: Likewise.
5201         * modules/dup2 (Depends-on, configure.ac): Likewise.
5202         (Depends-on): Remove dup2-obsolete.
5203         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
5204         * modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
5205         * doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.
5207 2020-07-07  Bruno Haible  <bruno@clisp.org>
5209         canonicalize: Trim module dependencies.
5210         * lib/hash-triple.h: Group declarations.
5211         * lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
5212         * lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
5213         (STREQ): Remove macro.
5214         (triple_hash, triple_compare_ino_str, triple_free): Remove functions.
5215         * modules/hash-triple-simple: New file, based on modules/hash-triple.
5216         * modules/hash-triple (Files): Remove lib/hash-triple.h.
5217         (Depends-on): Add hash-triple-simple. Remove hash-pjw.
5218         * modules/canonicalize (Depends-on): Remove hash-triple. Add
5219         hash-triple-simple.
5220         * modules/file-set (Depends-on): Likewise.
5222 2020-07-07  Bruno Haible  <bruno@clisp.org>
5224         Clarify dependencies to double-slash-root.
5225         * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
5226         (Depends-on): Add double-slash-root.
5227         * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
5228         * modules/dirname-lgpl (Depends-on): Add double-slash-root.
5230 2020-07-06  Paul Eggert  <eggert@cs.ucla.edu>
5232         libgmp: new module
5233         The idea is to let programs simply include <gmp.h>, and
5234         so long as they live within the mini-gmp subset they need
5235         not worry about whether the GMP libraries are installed.
5236         * MODULES.html.sh: Mention it.
5237         * config/srclist.txt: Mention files copied from GMP source.
5238         * config/srclistvars.sh (GMP): New var.
5239         * lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
5240         * modules/libgmp-tests, tests/test-libgmp.c: New files.
5241         * lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.
5243 2020-07-05  Bruno Haible  <bruno@clisp.org>
5245         mkancesdirs: Trim module dependencies.
5246         * lib/mkancesdirs.c: Include filename.h instead of dirname.h.
5247         * modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.
5249 2020-07-05  Bruno Haible  <bruno@clisp.org>
5251         getprogname: Trim module dependencies.
5252         * lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
5253         * modules/getprogname (Depends-on): Remove dirname-lgpl. Add
5254         basename-lgpl.
5256 2020-07-05  Bruno Haible  <bruno@clisp.org>
5258         filenamecat-lgpl: Trim module dependencies.
5259         * lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
5260         dirname.h.
5261         * modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
5262         basename-lgpl, filename.
5264 2020-07-05  Bruno Haible  <bruno@clisp.org>
5266         backupfile, backup-rename: Trim module dependencies.
5267         * lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
5268         * modules/backupfile (Depends-on): Remove dirname-lgpl. Add
5269         basename-lgpl.
5270         * modules/backup-rename (Depends-on): Likewise.
5272 2020-07-05  Bruno Haible  <bruno@clisp.org>
5274         argp: Trim module dependencies.
5275         * lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
5276         * modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.
5278 2020-07-05  Bruno Haible  <bruno@clisp.org>
5280         basename-lgpl: New module.
5281         * lib/basename-lgpl.h: New file, based on lib/dirname.h and
5282         lib/basename-lgpl.c.
5283         * lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
5284         <stdbool.h>, filename.h.
5285         (last_component): Rename a local variable.
5286         * lib/dirname.h: Include basename-lgpl.h.
5287         (DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
5288         (last_component, base_len): Remove declarations.
5289         * modules/basename-lgpl: New file.
5290         * modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
5291         (Depends-on): Add basename-lgpl. Remove double-slash-root.
5292         (Makefile.am): Don't compile basename-lgpl.c.
5293         * doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
5294         not 'dirname'.
5296 2020-07-05  Bruno Haible  <bruno@clisp.org>
5298         dirname, dirname-lgpl: Simplify.
5299         * m4/dirname.m4: Remove file.
5300         * modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
5301         * modules/dirname-lgpl (Files): Remove m4/dirname.m4.
5302         (configure.ac): Don't invoke gl_DIRNAME_LGPL.
5304 2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>
5306         tests: avoid shadowing warning
5307         * tests/test-memchr.c (main): Give page_boundary variable a tight scope.
5309 2020-07-05  Bruno Haible  <bruno@clisp.org>
5311         supersede: Add tests.
5312         * tests/test-supersede.c: New file.
5313         * tests/test-supersede-open.h: New file.
5314         * tests/test-supersede-fopen.h: New file.
5315         * modules/supersede-tests: New file.
5317         supersede: New module.
5318         * lib/supersede.h: New file.
5319         * lib/supersede.c: New file.
5320         * m4/supersede.m4: New file.
5321         * modules/supersede: New file.
5323 2020-07-05  Bruno Haible  <bruno@clisp.org>
5325         Add some copyright headers.
5326         * lib/dev-ino.h: Add copyright header.
5327         * lib/di-set.h: Likewise.
5328         * lib/fchown-stub.c: Likewise.
5329         * lib/file-set.h: Likewise.
5330         * lib/hash-triple.h: Likewise.
5331         * lib/idcache.h: Likewise.
5332         * lib/ino-map.h: Likewise.
5333         * lib/mkancesdirs.h: Likewise.
5334         * lib/scratch_buffer.h: Likewise.
5335         * lib/se-context.in.h: Likewise.
5336         * lib/stdopen.h: Likewise.
5337         * lib/userspec.h: Likewise.
5339 2020-07-04  Bruno Haible  <bruno@clisp.org>
5341         getrandom: Relicense under LGPLv2+.
5342         Paul Eggert's approval is in
5343         <https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
5344         * modules/getrandom (License): Change to LGPLv2+.
5346 2020-07-04  Bruno Haible  <bruno@clisp.org>
5348         getumask: Add tests.
5349         * tests/test-getumask.c: New file.
5350         * modules/getumask-tests: New file.
5352         getumask: New module.
5353         * lib/sys_stat.in.h (getumask): New declaration.
5354         * lib/getumask.c: New file.
5355         * m4/getumask.m4: New file.
5356         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
5357         declared.
5358         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
5359         * modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
5360         HAVE_GETUMASK.
5361         * modules/getumask: New file.
5362         * tests/test-sys_stat-c++.cc (getumask): Check signature.
5363         * doc/glibc-functions/getumask.texi: New file.
5364         * doc/gnulib.texi (Glibc sys/stat.h): Include it.
5366 2020-07-04  Bruno Haible  <bruno@clisp.org>
5368         clean-temp: Add support for temporary files with given mode.
5369         * lib/clean-temp.h (gen_register_open_temp): Add mode argument.
5370         * lib/clean-temp.c (struct try_create_file_params): New type.
5371         (try_create_file): New function.
5372         (gen_register_open_temp): Add mode argument. Use try_tempname instead of
5373         gen_tempname.
5375 2020-07-04  Bruno Haible  <bruno@clisp.org>
5377         clean-temp: Document limitations.
5378         * lib/clean-temp.h: Document limitations.
5380 2020-07-04  Bruno Haible  <bruno@clisp.org>
5382         clean-temp: Add support for temporary files with unpredictable names.
5383         * lib/clean-temp.h (gen_register_open_temp): New declaration.
5384         * lib/clean-temp.c: Include tempname.h.
5385         (gen_register_open_temp): New function.
5386         * modules/tempname (configure.ac): Define a module indicator.
5388 2020-07-04  Bruno Haible  <bruno@clisp.org>
5390         clean-temp: Add support for temporary files anywhere in the file system.
5391         * lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
5392         cleanup_temporary_file): New declarations.
5393         * lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
5394         variables.
5395         (dir_cleanup_list_lock): Renamed from cleanup_list_lock.
5396         (dir_cleanup_list): Renamed from cleanup_list.
5397         (cleanup_action): Process the file_cleanup_list as well.
5398         (do_init_clean_temp): New function.
5399         (clean_temp_once): New variable.
5400         (init_clean_temp): New function.
5401         (create_temp_dir): Invoke it.
5402         (register_temporary_file, unregister_temporary_file,
5403         cleanup_temporary_file): New functions.
5404         (do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
5405         argument.
5407 2020-07-04  Bruno Haible  <bruno@clisp.org>
5409         clean-temp: Improve comments.
5410         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
5411         fwriteerror_temp, close_stream_temp): Clarify intended use.
5412         * lib/clean-temp.c: Likewise.
5414 2020-07-04  Bruno Haible  <bruno@clisp.org>
5416         clean-temp: Make multithread-safe, part 2.
5417         * lib/fatal-signal.h: Include <signal.h>.
5418         (get_fatal_signal_set): New declaration.
5419         * lib/fatal-signal.c (get_fatal_signal_set): New function.
5420         * lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
5421         (struct closeable_fd): New type.
5422         (fatal_signal_set): New variable.
5423         (init_fatal_signal_set): New function.
5424         (asyncsafe_close, asyncsafe_fclose_variant): New functions.
5425         (cleanup_action): Invoke asyncsafe_close instead of close.
5426         (create_temp_dir): Invoke init_fatal_signal_set.
5427         (register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
5428         element.
5429         (unregister_fd): Remove function.
5430         (close_temp): Cleanup descriptors list on the fly. Invoke
5431         init_fatal_signal_set. Invoke asyncsafe_close instead of close.
5432         (fclose_variant_temp): New function.
5433         (fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
5434         * modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.
5436 2020-07-04  Bruno Haible  <bruno@clisp.org>
5438         clean-temp: Make multithread-safe, part 1.
5439         * lib/clean-temp.c: Include glthread/lock.h.
5440         (cleanup_list_lock): New variable.
5441         (register_temp_file, unregister_temp_file, register_temp_subdir,
5442         unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
5443         (create_temp_dir): Likewise. Don't free the old array.
5444         (descriptors_lock): New variable.
5445         (register_fd, unregister_fd): Use it.
5446         * modules/clean-temp (Depends-on): Add lock.
5448 2020-07-04  Bruno Haible  <bruno@clisp.org>
5450         fatal-signal: Make multithread-safe.
5451         * lib/fatal-signal.c (init_fatal_signals): Add comment.
5452         (do_init_fatal_signal_set): New function, extracted from
5453         init_fatal_signal_set.
5454         (fatal_signal_set_once): New variable.
5455         (init_fatal_signal_set): Use gl_once.
5457 2020-07-03  Bruno Haible  <bruno@clisp.org>
5459         getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
5460         * lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
5461         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
5462         <bcrypt.h>.
5464 2020-07-03  Bruno Haible  <bruno@clisp.org>
5466         dfa tests: Follow common file naming conventions.
5467         * tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
5468         * tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
5469         * tests/test-dfa-invalid-char-class.sh: Renamed from
5470         tests/dfa-invalid-char-class.sh. Update.
5471         * modules/dfa-tests (Files, Makefile.am): Update.
5473 2020-07-03  Bruno Haible  <bruno@clisp.org>
5475         asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
5476         * lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
5477         the GCC extended asm syntax also for the Sun Studio 12 compilers.
5479 2020-07-03  Bruno Haible  <bruno@clisp.org>
5481         asyncsafe-spin: Reduce code duplication.
5482         * lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
5483         (asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
5484         * modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.
5486 2020-07-03  Bruno Haible  <bruno@clisp.org>
5488         lchmod: Simplify after 2020-02-22 change.
5489         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.
5491 2020-07-03  Bruno Haible  <bruno@clisp.org>
5493         gen-uni-tables: Make sure the compiler does not barf on 'inline'.
5494         * modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.
5496 2020-07-03  Bruno Haible  <bruno@clisp.org>
5498         dfa: Make sure the compiler does not barf on 'inline'.
5499         * modules/dfa (configure.ac): Require AC_C_INLINE.
5501 2020-07-03  Bruno Haible  <bruno@clisp.org>
5503         bitset: Make sure the compiler does not barf on 'inline'.
5504         * modules/bitset (configure.ac): New section.
5506 2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>
5508         manywarnings: improve port to GCC 10.1
5509         * build-aux/gcc-warning.spec: Also list warnings that are default
5510         or are enabled by already-given flags.  This lets us speed up
5511         checking for attributes, and makes the generated compilation
5512         commands shorter.  Add -Wanalyzer-too-complex (too much noise).
5513         * m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
5514         (gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
5515         to shell variables that may have long values.
5516         (gl_MANYWARN_ALL_GCC): Omit flags that are default or are
5517         consequences of other flags, to speed up checking and
5518         shorten commands.
5520         tests: pacify gcc -fanalyzer on zerosize_ptr
5521         * tests/test-memcasecmp.c (main):
5522         * tests/test-memchr.c (main):
5523         * tests/test-memchr2.c (main):
5524         * tests/test-memcmp.c (main):
5525         * tests/test-memmem.c (main):
5526         * tests/test-memrchr.c (main):
5527         * tests/unistr/test-chr.h (main):
5528         * tests/unistr/test-cmp.h (test_cmp):
5529         Check whether zerosize_ptr returns NULL before using it.
5530         This pacifies GCC 10.1’s new fanalyzer option, and matches
5531         other uses of zerosize_ptr.
5533 2020-07-01  Bruno Haible  <bruno@clisp.org>
5535         asyncsafe-spin: Add tests.
5536         * tests/test-asyncsafe-spin1.c: New file.
5537         * tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
5538         tests/test-pthread-spin.c.
5539         * modules/asyncsafe-spin-tests: New file.
5541 2020-07-01  Bruno Haible  <bruno@clisp.org>
5543         asyncsafe-spin: New module.
5544         * lib/asyncsafe-spin.h: New file.
5545         * lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
5546         * modules/asyncsafe-spin: New file.
5548 2020-07-01  Bruno Haible  <bruno@clisp.org>
5550         windows-spin: Fix race condition on multiprocessor systems.
5551         * lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.
5553 2020-07-01  Bruno Haible  <bruno@clisp.org>
5555         pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
5556         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5557         pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
5558         an implementation based on other GCC built-ins.
5560 2020-07-01  Bruno Haible  <bruno@clisp.org>
5562         pthread-spin: Optimize fallback for GCC versions >= 4.7.
5563         * lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
5564         pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
5565         lock byte.
5567 2020-07-01  Bruno Haible  <bruno@clisp.org>
5569         pthread-spin: Add error checking.
5570         * lib/pthread-spin.c: Include <stdbool.h>.
5571         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
5572         pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
5573         the unlocks.
5574         * modules/pthread-spin (Depends-on): Add stdbool.
5576 2020-07-01  Bruno Haible  <bruno@clisp.org>
5578         pthread-spin: Add tests.
5579         * tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
5580         * modules/pthread-spin-tests: New file.
5582 2020-07-01  Bruno Haible  <bruno@clisp.org>
5584         tests: Reduce code duplication.
5585         * tests/atomic-int-posix.h: New file, extracted from
5586         tests/test-pthread-mutex.c.
5587         * tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
5588         * tests/test-pthread-rwlock.c: Likewise.
5589         * modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
5590         * modules/pthread-rwlock-tests (Files): Likewise.
5592 2020-07-01  Bruno Haible  <bruno@clisp.org>
5594         tests: Refactor.
5595         * tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
5596         * tests/test-mtx.c: Include it. Remove the corresponding code.
5597         * modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.
5599 2020-07-01  Bruno Haible  <bruno@clisp.org>
5601         tests: Refactor.
5602         * tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
5603         * tests/test-lock.c: Include it. Remove the corresponding code.
5604         * modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.
5606 2020-06-29  Bruno Haible  <bruno@clisp.org>
5608         sys_socket: Don't define socklen_t if it is already defined on mingw.
5609         Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
5610         <https://savannah.gnu.org/bugs/?57725>,
5611         by Rahul Das <bokul_4u@yahoo.com> in
5612         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
5613         and by Eli Zaretskii <eliz@gnu.org> in
5614         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
5615         * lib/sys_socket.in.h (socklen_t): Remove definition.
5617 2020-06-29  Bruno Haible  <bruno@clisp.org>
5619         alloca-opt: Fix warning on mingw.
5620         Reported and solution by Eli Zaretskii <eliz@gnu.org> in
5621         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
5622         * lib/alloca.in.h: On mingw, include <alloca.h> and then test again
5623         whether alloca is defined.
5625 2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>
5627         getrandom: do not depend on ‘open’ on mingw
5628         Similarly for at-internal, getloadavg.  These modules do not call
5629         the ‘open’ function when they are compiled on mingw.  On mingw,
5630         this avoids having to compile open.c when building Emacs, which
5631         does its own thing with ‘open’.
5632         * modules/at-internal, modules/getloadavg, modules/getrandom:
5633         (Depends-on): Don’t depend on ‘open’ on mingw.
5634         (Depends-on): Require AC_CANONICAL_HOST, for host_os.
5635         * modules/getloadavg (Depends-on):
5636         Depend on intprops, open, stdbool, stdlib only if compiling
5637         getloadavg.c.
5639 2020-06-28  Bruno Haible  <bruno@clisp.org>
5641         doc: Add a note about sigprocmask vs. pthread_sigmask.
5642         * doc/posix-functions/sigprocmask.texi: Add note.
5644 2020-06-28  Bruno Haible  <bruno@clisp.org>
5646         getrandom: Fix compilation errors on older versions of mingw.
5647         Reported by Eli Zaretskii <eliz@gnu.org> in
5648         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
5649         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
5650         * lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
5651         define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
5652         BCryptGenRandom ourselves.
5654 2020-06-28  Bruno Haible  <bruno@clisp.org>
5656         clean-temp: Fix wrong errno in error message.
5657         * lib/clean-temp.c (create_temp_dir): Save errno around
5658         unblock_fatal_signals call.
5660 2020-06-27  Bruno Haible  <bruno@clisp.org>
5662         fatal-signal: Make multithread-safe.
5663         * lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.
5665 2020-06-27  Bruno Haible  <bruno@clisp.org>
5667         clean-temp: Don't force deletion of temporary files on native Windows.
5668         * lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
5669         argument.
5670         * lib/clean-temp.c (open_temp, fopen_temp): Likewise.
5671         * NEWS: Mention the change.
5672         * lib/javacomp.c (write_temp_file): Update.
5674 2020-06-27  Bruno Haible  <bruno@clisp.org>
5676         fatal-signal: Make multithread-safe.
5677         * lib/fatal-signal.c: Include glthread/lock.h.
5678         (at_fatal_signal_lock): New variable.
5679         (at_fatal_signal): Use it.
5680         (fatal_signals_block_lock, fatal_signals_block_counter): New variables.
5681         (block_fatal_signals, unblock_fatal_signals): Use them.
5682         * modules/fatal-signal (Depends-on): Add lock.
5684 2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>
5686         getloadavg: don’t depend on fopen-gnu
5687         This is for Emacs, which does not need fopen-gnu for anything else,
5688         and which would need it only on a NetBSD platform where getloadavg
5689         does not work (does that even happen?).
5690         * lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
5691         * modules/getloadavg (Depends-on): Remove fopen-gnu.
5693         * tests/test-getloadavg.c (main): Fix typo.
5695 2020-06-27  Bruno Haible  <bruno@clisp.org>
5697         tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
5698         * modules/tempname (Link): New section.
5699         * modules/mkdtemp (Link): Likewise.
5700         * modules/clean-temp (Link): Likewise.
5701         * modules/mkstemp (Link): Likewise.
5702         * modules/stdlib-safer (Link): Likewise.
5703         * modules/mkstemps (Link): Likewise.
5704         * modules/mkostemp (Link): Likewise.
5705         * modules/mkostemps (Link): Likewise.
5706         * modules/tmpfile (Link): Likewise.
5707         * modules/tmpfile-safer (Link): Likewise.
5708         * modules/javacomp (Link): Add $(LIB_GETRANDOM).
5709         * modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
5710         $(LIB_GETRANDOM).
5711         * NEWS: Mention the changes.
5713 2020-06-27  Bruno Haible  <bruno@clisp.org>
5715         fopen-gnu: Simplify code.
5716         * lib/fopen.c: Include <stdbool.h>.
5717         (rpl_fopen): Use a single variable open_flags instead of
5718         open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
5719         * modules/fopen (Depends-on): Add stdbool.
5721 2020-06-26  Bruno Haible  <bruno@clisp.org>
5723         canonicalize: Improve documentation.
5724         * lib/canonicalize.h (canonicalize_filename_mode): Document the failure
5725         return convention.
5727 2020-06-26  Bruno Haible  <bruno@clisp.org>
5729         xgetcwd: Improve documentation.
5730         * lib/xgetcwd.c (xgetcwd): Document the failure return convention.
5732 2020-06-26  Bruno Haible  <bruno@clisp.org>
5734         getcwd: Improve documentation.
5735         * lib/getcwd.c (__getcwd): Document the failure return convention.
5737 2020-06-26  Bruno Haible  <bruno@clisp.org>
5739         fchdir: Improve documentation.
5740         * lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
5741         convention.
5743 2020-06-26  Bruno Haible  <bruno@clisp.org>
5745         filenamecat-lgpl: Set errno upon failure.
5746         * lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
5747         return convention.
5748         * modules/filenamecat-lgpl (Depends-on): Add malloc-posix.
5750 2020-06-26  Bruno Haible  <bruno@clisp.org>
5752         areadlink-with-size: Set errno upon failure.
5753         * lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
5754         fails.
5755         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.
5757 2020-06-26  Bruno Haible  <bruno@clisp.org>
5759         copy-file: Shrink dependencies.
5760         * modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
5761         qcopy-acl.
5763 2020-06-26  Bruno Haible  <bruno@clisp.org>
5765         doc: Mention declaration fixes implemented by some modules.
5766         * doc/posix-functions/chdir.texi: Mention the module 'chdir'.
5767         * doc/posix-functions/close.texi: Mention that Gnulib makes the function
5768         declaration appear in <unistd.h>.
5769         * doc/posix-functions/dup.texi: Likewise.
5770         * doc/posix-functions/dup2.texi: Likewise.
5771         * doc/posix-functions/gethostname.texi: Likewise.
5772         * doc/posix-functions/isatty.texi: Likewise.
5773         * doc/posix-functions/lseek.texi: Likewise.
5774         * doc/posix-functions/unlink.texi: Likewise.
5775         * doc/posix-functions/read.texi: Mention the module 'read'.
5776         * doc/posix-functions/write.texi: Mention the effects of the module
5777         'write'.
5779 2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>
5781         c-dtoastr, c-ldtoastr: new modules
5782         These modules provide the same functionality as the modules
5783         dtoastr and ldtoastr except for the formatting taking place in the
5784         C locale.
5785         * MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
5786         * lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
5787         * lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
5788         defined.  Use c_snprintf and c_strtod/c_strtold instead of
5789         snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
5790         * lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
5791         * modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
5792         modules/c-ldtoastr-tests: New files.
5793         * tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
5794         tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.
5796 2020-06-21  Bruno Haible  <bruno@clisp.org>
5798         tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
5799         * lib/tzset.c: Include <stdlib.h>, <string.h>.
5801 2020-06-16  Bruno Haible  <bruno@clisp.org>
5803         thread: Avoid possible compiler warnings in uses of gl_thread_exit.
5804         * lib/glthread/thread.h (gl_thread_exit): Add a cast to void.
5806 2020-06-16  Bruno Haible  <bruno@clisp.org>
5808         thread, thrd: Avoid a compiler warning.
5809         * lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.
5811 2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)
5813         windows-thread: Avoid a compiler warning.
5814         * lib/windows-thread.h (glwthread_thread_exit): Change return type to
5815         void.
5816         * lib/windows-thread.c (glwthread_thread_exit): Likewise.
5818 2020-06-15  Bruno Haible  <bruno@clisp.org>
5820         unictype/joininggroup-name: Fix warning on 64-bit mingw.
5821         Reported by Biswapriyo Nath <nathbappai@gmail.com> in
5822         <https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
5823         * lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
5824         first.
5826 2020-06-06  Bruno Haible  <bruno@clisp.org>
5828         calloc-gnu tests: Avoid a test failure with clang.
5829         * tests/test-calloc-gnu.c (main): Mark the pointer variable as
5830         'volatile', to defeat compiler optimizations.
5832 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5834         getloadavg: fix double-increment bug
5835         * lib/getloadavg.c (getloadavg): Fix double-increment typo on
5836         Linux without glibc, Android, Cygwin.  This fixes a bug I
5837         introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
5838         Problem and fix reported by Semen Verchenko in:
5839         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html
5841         tempname: use getrandom, not getentropy
5842         This removes a dependency, as getentropy depends on getrandom.
5843         * lib/tempname.c: Include sys/random.h instead of unistd.h.
5844         (RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
5845         * modules/tempname (Depends-on): Depend on getrandom, not getentropy.
5847 2020-06-01  Bruno Haible  <bruno@clisp.org>
5849         doc: New chapter 'Multithreading'.
5850         * doc/multithread.texi: New file.
5851         * doc/gnulib.texi: Include it.
5853 2020-06-01  Bruno Haible  <bruno@clisp.org>
5855         doc: Move 'Running self-tests under valgrind' section.
5856         * doc/gnulib.texi (Build Infrastructure Modules): Include
5857         valgrind-tests.texi here...
5858         (Miscellaneous Notes): ... not here.
5860 2020-06-01  Bruno Haible  <bruno@clisp.org>
5862         doc: Move 'Visual Studio Compatibility' section.
5863         * doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
5864         here...
5865         (Build Infrastructure Modules): ... not here.
5867 2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>
5869         doc: improve randomness discussion
5870         Inspired by comments from Jeffrey Walton in:
5871         https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
5872         * doc/glibc-functions/getentropy.texi (getentropy):
5873         * doc/glibc-functions/getrandom.texi (getrandom):
5874         Improve discussion of problems with "random" data,
5875         and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.
5877 2020-06-01  Bruno Haible  <bruno@clisp.org>
5879         doc: Fix Texinfo syntax error.
5880         * doc/glibc-functions/getrandom.texi: Add missing '@item'.
5882 2020-06-01  Asher Gordon  <AsDaGo@posteo.net>
5884         doc: Change '.' to '@.' where appropriate.
5885         * doc/c-ctype.texi: Change '.' to '@.' where appropriate.
5886         * doc/glibc-functions/fstatfs.texi: Likewise.
5887         * doc/glibc-functions/fts_children.texi: Likewise.
5888         * doc/glibc-functions/fts_read.texi: Likewise.
5889         * doc/glibc-functions/getdirentries.texi: Likewise.
5890         * doc/glibc-functions/mkostemp.texi: Likewise.
5891         * doc/glibc-functions/mkostemps.texi: Likewise.
5892         * doc/glibc-functions/mkstemps.texi: Likewise.
5893         * doc/glibc-functions/preadv.texi: Likewise.
5894         * doc/glibc-functions/pwritev.texi: Likewise.
5895         * doc/glibc-functions/sendfile.texi: Likewise.
5896         * doc/glibc-functions/statfs.texi: Likewise.
5897         * doc/gnulib-intro.texi: Likewise.
5898         * doc/gnulib-tool.texi: Likewise.
5899         * doc/intprops.texi: Likewise.
5900         * doc/lib-symbol-visibility.texi: Likewise.
5901         * doc/licenses-texi.texi: Likewise.
5902         * doc/pastposix-functions/bcmp.texi: Likewise.
5903         * doc/pastposix-functions/bcopy.texi: Likewise.
5904         * doc/pastposix-functions/bzero.texi: Likewise.
5905         * doc/pastposix-functions/ecvt.texi: Likewise.
5906         * doc/pastposix-functions/fcvt.texi: Likewise.
5907         * doc/pastposix-functions/ftime.texi: Likewise.
5908         * doc/pastposix-functions/gcvt.texi: Likewise.
5909         * doc/pastposix-functions/getwd.texi: Likewise.
5910         * doc/pastposix-functions/index.texi: Likewise.
5911         * doc/pastposix-functions/mktemp.texi: Likewise.
5912         * doc/pastposix-functions/rindex.texi: Likewise.
5913         * doc/pastposix-functions/wcswcs.texi: Likewise.
5914         * doc/posix-functions/aio_cancel.texi: Likewise.
5915         * doc/posix-functions/aio_error.texi: Likewise.
5916         * doc/posix-functions/aio_fsync.texi: Likewise.
5917         * doc/posix-functions/aio_read.texi: Likewise.
5918         * doc/posix-functions/aio_return.texi: Likewise.
5919         * doc/posix-functions/aio_suspend.texi: Likewise.
5920         * doc/posix-functions/aio_write.texi: Likewise.
5921         * doc/posix-functions/creat.texi: Likewise.
5922         * doc/posix-functions/ctime.texi: Likewise.
5923         * doc/posix-functions/daylight.texi: Likewise.
5924         * doc/posix-functions/fgetpos.texi: Likewise.
5925         * doc/posix-functions/fopen.texi: Likewise.
5926         * doc/posix-functions/freopen.texi: Likewise.
5927         * doc/posix-functions/fseeko.texi: Likewise.
5928         * doc/posix-functions/fsetpos.texi: Likewise.
5929         * doc/posix-functions/fstatat.texi: Likewise.
5930         * doc/posix-functions/fstatvfs.texi: Likewise.
5931         * doc/posix-functions/ftello.texi: Likewise.
5932         * doc/posix-functions/ftruncate.texi: Likewise.
5933         * doc/posix-functions/getrlimit.texi: Likewise.
5934         * doc/posix-functions/lio_listio.texi: Likewise.
5935         * doc/posix-functions/localtime.texi: Likewise.
5936         * doc/posix-functions/lseek.texi: Likewise.
5937         * doc/posix-functions/mkstemp.texi: Likewise.
5938         * doc/posix-functions/mktime.texi: Likewise.
5939         * doc/posix-functions/open.texi: Likewise.
5940         * doc/posix-functions/openat.texi: Likewise.
5941         * doc/posix-functions/opendir.texi: Likewise.
5942         * doc/posix-functions/pread.texi: Likewise.
5943         * doc/posix-functions/pwrite.texi: Likewise.
5944         * doc/posix-functions/readdir.texi: Likewise.
5945         * doc/posix-functions/readdir_r.texi: Likewise.
5946         * doc/posix-functions/scandir.texi: Likewise.
5947         * doc/posix-functions/seekdir.texi: Likewise.
5948         * doc/posix-functions/setrlimit.texi: Likewise.
5949         * doc/posix-functions/statvfs.texi: Likewise.
5950         * doc/posix-functions/strftime.texi: Likewise.
5951         * doc/posix-functions/telldir.texi: Likewise.
5952         * doc/posix-functions/timezone.texi: Likewise.
5953         * doc/posix-functions/tmpfile.texi: Likewise.
5954         * doc/posix-functions/truncate.texi: Likewise.
5955         * doc/posix-functions/tzname.texi: Likewise.
5956         * doc/posix-functions/wcsftime.texi: Likewise.
5957         * doc/windows-sockets.texi: Likewise.
5959 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
5961         getrandom-tests: do not assume GRND_RANDOM yields short read
5962         * tests/test-getrandom.c (main): Omit assertion that
5963         getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
5964         when b’s size is 100000.  This assertion fails with Linux kernel
5965         5.6.13, as that kernel ignores the GRND_RANDOM flag.
5966         The separate blocking pool is going away in the Linux kernel, and
5967         they’ve added a flag GRND_INSECURE instead; see:
5968         https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
5969         The assertion was iffy anyway; what’s to prevent a kernel from
5970         lazily filling a large buffer with random bytes?
5972         read-file-test: pacify --enable-gcc-warnings
5973         * tests/test-read-file.c (test_read_file): Now static.
5975         tempname: merge from glibc and coreutils
5976         Also, merge in Gnulib’s more-recent methods of making it easier
5977         to share between Gnulib and glibc, and fix a few randomness
5978         glitches.
5979         * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
5980         (__set_errno): Remove; libc-config.h does that for us.
5981         Do not include <sys/time.h>.
5982         (__secure_getenv) [_LIBC]: New macro.
5983         (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
5984         (RANDOM_BITS): Rewrite.
5985         (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
5986         (random_value): New typedef.
5987         (try_file, try_dir, try_nocreate): Move up.
5988         (gen_tempname_len, try_tempname_len): New functions.
5989         (gen_tempname_len): Use a constant array rather than a switch.
5990         (try_tempname_len): Don’t assume string length fits in int.
5991         Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
5992         has enough entropy (it’s a bit short).
5993         (__gen_tempname): Rewrite in terms of gen_tempname_len.
5994         (__try_tempname): Rewrite in terms of try_tempname_len.
5995         * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
5996         * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
5997         Add getentropy, libc-config.
5999 2020-05-31  Bruno Haible  <bruno@clisp.org>
6001         getrandom, getentropy: Mention the crypto/gc-random module.
6002         Suggested by Simon Josefsson in
6003         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
6004         * doc/glibc-functions/getrandom.texi: Mention the quality issues and the
6005         crypto/gc-random module.
6006         * doc/glibc-functions/getentropy.texi: Likewise.
6008 2020-05-31  Bruno Haible  <bruno@clisp.org>
6010         getentropy: Enhance tests.
6011         * tests/test-getentropy.c (main): Add one more test.
6012         * tests/test-unistd-c++.cc: Check the signature of getentropy.
6014 2020-05-31  Bruno Haible  <bruno@clisp.org>
6016         getentropy: Work around a macOS and Solaris problem.
6017         * lib/unistd.in.h: Include <sys/random.h>, when needed for the
6018         'getentropy' module.
6019         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
6020         UNISTD_H_HAVE_SYS_RANDOM_H.
6021         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
6022         UNISTD_H_HAVE_SYS_RANDOM_H.
6023         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
6024         * doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
6025         problem. List more platforms.
6027 2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>
6029         fnmatch: merge from glibc
6030         Also, merge in Gnulib’s more-recent methods of making it easier
6031         to share between Gnulib and glibc.
6032         * lib/fnmatch.c: Reorder includes to match glibc better.
6033         Include libc-config.h instead of config.h.
6034         Include alloca.h only if _LIBC || HAVE_ALLOCA.
6035         Do not include "../locale/elem-hash.h" if _LIBC.
6036         Define macros for btowc, etc. if _LIBC.  All uses simplified.
6037         Define FALLTHROUGH if _LIBC, instead of including attribute.h.
6038         Include intprops.h, since glibc has it now.
6039         (SIZE_MAX): Remove; use (size_t) -1 instead.
6040         Omit the "Comment out all this code" ifdef, since Gnulib
6041         has never really needed it.
6042         (STREQ): Remove; no longer used.
6043         (__libc_use_alloca, alloca, alloca_account): Define as
6044         needed if !_LIBC.
6045         (ISWCTYPE): Remove; all uses replaced by iswctype.
6046         (HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
6047         (internal_function): Remove.  All uses removed.
6048         (STRUCT): New macro.
6049         (WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
6050         (WMEMCMP): New macro.
6051         (FINDIDX): Define if _LIBC, and include <locale/weight.h>
6052         and <locale/weightwc.h>.
6053         (fnmatch): Prefer __glibc_likely and __glibc_unlikely to
6054         __builtin_expect.  Check for integer overflow more
6055         systematically.  Account for alloca storage better when
6056         recursive.  Use strnlen instead of strlen for efficiency.
6057         * lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
6058         (struct STRUCT): New type.
6059         (FCT, EXT): New ENDS and ALLOCA_USED args.
6060         All callers changed.
6061         (FCT): Prefer __glibc_unlikely to __builtin_expect.
6062         Simplify by assuming WIDE_CHAR_SUPPORT.
6063         Copy _LIBC code from glibc without worrying Gnulib compatibility.
6064         Cast cold to UCHAR to avoid signedness warning.
6065         (END): Check for invalid pattern.
6066         (EXT): Improve alloca/malloc checking (taken from glibc),
6067         and improve it some more by using intprops.h and checking
6068         for integer overflow and using bool for booleans.
6069         * lib/libc-config.h (compat_symbol): New macro.
6070         (versioned_symbol): Make it ‘extern int dummy’ so that it’s
6071         acceptable to non-GCC when a trailing semicolon is added.
6072         * modules/fnmatch (Depends-on): Add alloca-opt, intprops,
6073         libc-config, strnlen.  Remove alloca.
6075 2020-05-31  Bruno Haible  <bruno@clisp.org>
6077         getrandom: Doc and test tweaks.
6078         * lib/getrandom.c (getrandom): Mention that it never returns 0, and that
6079         it sets errno when failing.
6080         * tests/test-getrandom.c (main): Disable the high-quality check on those
6081         platforms on which it fails.
6082         * doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
6083         Cygwin to the list of platforms that don't have the function. Add a note
6084         about the quality of the result.
6085         * doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
6086         declaration; this is fixed by module 'getrandom'.
6088 2020-05-31  Bruno Haible  <bruno@clisp.org>
6090         getrandom: Add support for native Windows.
6091         * lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
6092         <wincrypt.h>.
6093         (CRYPT_VERIFY_CONTEXT): New macro.
6094         (LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
6095         'A'.
6096         (GetProcAddress): New macro.
6097         (BCryptGenRandomFuncType): New type.
6098         (BCryptGenRandomFunc, initialized): New variables.
6099         (initialize): New function.
6100         (getrandom): On native Windows, use <bcrypt.h> API when available, and
6101         <wincrypt.h> API as fallback.
6102         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
6103         * modules/getrandom (Link): New section.
6104         * modules/getentropy (Link): Likewise.
6105         * modules/getrandom-tests (Makefile.am): Link test-getrandom against
6106         $(LIB_GETRANDOM).
6107         * modules/getentropy-tests (Makefile.am): Link test-getentropy against
6108         $(LIB_GETRANDOM).
6109         * modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
6110         against $(LIB_GETRANDOM).
6111         * doc/glibc-functions/getrandom.texi: Mention the native Windows
6112         support.
6114 2020-05-31  Bruno Haible  <bruno@clisp.org>
6116         getrandom: Simplify the determination of the random number devices.
6117         Suggested by Paul Eggert in
6118         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
6119         * lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
6120         macros.
6121         * modules/getrandom (Depends-on): Remove crypto/gc-random.
6123 2020-05-31  Bruno Haible  <bruno@clisp.org>
6125         crypto/gc-random: Fix list of crypto devices for Solaris.
6126         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.
6128 2020-05-31  Akim Demaille  <akim@lrde.epita.fr>
6130         list: fix GCC warnings
6131         * lib/gl_anytree_list2.h (gl_tree_iterator_free)
6132         (gl_tree_next_node, gl_tree_node_nx_set_value)
6133         (gl_tree_previous_node, gl_tree_next_node):
6134         Mark unused arguments.
6135         * lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
6136         * lib/gl_anylinked_list2.h (gl_linked_node_value)
6137         (gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.
6139         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
6140         the same variable name in nested scopes.
6142 2020-05-31  Bruno Haible  <bruno@clisp.org>
6144         list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
6145         Reported by Akim Demaille in
6146         <https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
6147         * lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
6148         * lib/gl_set.hh (gl_Set::iterator::next): Likewise.
6149         * lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
6150         * lib/gl_map.hh (gl_Map::iterator::next): Likewise.
6151         * lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.
6153 2020-05-30  Bruno Haible  <bruno@clisp.org>
6155         wmemchr: Relicense under LGPLv2+.
6156         * modules/wmemchr (License): Set to LGPLv2+.
6158 2020-05-30  Bruno Haible  <bruno@clisp.org>
6160         wmempcpy: New module.
6161         Reported by Paul Eggert in
6162         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
6163         * lib/wchar.in.h (wmempcpy): New declaration.
6164         * lib/wmempcpy.c: New file.
6165         * m4/wmempcpy.m4: New file.
6166         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
6167         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
6168         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
6169         HAVE_WMEMPCPY.
6170         * modules/wmempcpy: New file.
6171         * tests/test-wchar-c++.cc: Check the signature of wmempcpy.
6172         * doc/glibc-functions/wmempcpy.texi: Mention the new module.
6173         * modules/mempcpy (Description): Fix typo.
6175 2020-05-30  Bruno Haible  <bruno@clisp.org>
6177         crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
6178         * m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.
6180 2020-05-30  Bruno Haible  <bruno@clisp.org>
6182         sys_random: Work around macOS bug.
6183         * m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
6184         <stdlib.h> before <sys/random.h>.
6185         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
6186         * lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
6187         first.
6188         * doc/glibc-headers/sys_random.texi: Mention the macOS problem.
6190 2020-05-30  Bruno Haible  <bruno@clisp.org>
6192         getrandom: Override incompatible system function on Solaris 11.
6193         * lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
6194         * lib/getrandom.c (getrandom): When the system has getrandom, just
6195         invoke it.
6196         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
6197         system's getrandom function's prototype is not the expected one.
6198         * m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
6199         REPLACE_GETRANDOM.
6200         * modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
6201         * modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
6202         * tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
6203         EAGAIN.
6204         * doc/glibc-functions/getrandom.texi: Mention the new module and the
6205         Solaris problem.
6207 2020-05-30  Bruno Haible  <bruno@clisp.org>
6209         sys_random: Add C++ tests.
6210         * tests/test-sys_random-c++.cc: New file.
6211         * modules/sys_random-c++-tests: New file.
6212         * modules/sys_random-tests (Depends-on): Depend on it.
6214         sys_random: Add tests.
6215         * tests/test-sys_random.c: New file.
6216         * modules/sys_random-tests: New file.
6218         sys_random: New module.
6219         * lib/sys_random.in.h: Use the common idioms for overridable header
6220         files.
6221         * m4/sys_random_h.m4: New file.
6222         * m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
6223         * modules/sys_random: New file.
6224         * modules/getrandom (Files): Remove lib/sys_random.in.h.
6225         (Depends-on): Add sys_random.
6226         (configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
6227         gl_UNISTD_MODULE_INDICATOR.
6228         (Makefile.am): Don't generate sys/random.h here.
6229         * doc/glibc-headers/sys_random.texi: New file.
6230         * doc/gnulib.texi: Include it.
6232 2020-05-30  Bruno Haible  <bruno@clisp.org>
6234         unistd: Remove conflicting declaration of getrandom().
6235         * lib/unistd.in.h (getrandom): Remove declaration.
6236         * m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
6237         declared.
6238         (gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
6239         HAVE_GETRANDOM.
6240         * modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
6241         HAVE_GETRANDOM.
6243 2020-05-30  Bruno Haible  <bruno@clisp.org>
6245         getrandom: Add tests.
6246         * tests/test-getrandom.c: New file.
6247         * modules/getrandom-tests: New file.
6249 2020-05-30  Bruno Haible  <bruno@clisp.org>
6251         crypto/gc-random: Fix link error on MSVC.
6252         * m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
6253         * modules/crypto/gc-random (Link): New section.
6254         * modules/crypto/gc-tests (Makefile.am): Link test-gc against
6255         $(LIB_GC_RANDOM).
6257 2020-05-30  Bruno Haible  <bruno@clisp.org>
6259         Don't assume that UNICODE is not defined.
6260         Many Windows API functions are defined differently (redirecting to a
6261         function with suffix 'W') if the application defines the macro UNICODE
6262         than by default (redirecting to a function with suffix 'A').
6263         * lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
6264         variant with suffix 'A'.
6265         * lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
6266         * lib/gc-gnulib.c (CryptAcquireContext): Likewise.
6267         * lib/getaddrinfo.c (GetModuleHandle): Likewise.
6268         * lib/getlogin.c (GetUserName): Likewise.
6269         * lib/getlogin_r.c (GetUserName): Likewise.
6270         * lib/gettimeofday.c (LoadLibrary): Likewise.
6271         * lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
6272         * lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
6273         * lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
6274         * lib/mountlist.c (GetDriveType): Likewise.
6275         * lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
6276         * lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
6277         Likewise.
6278         * lib/physmem.c (GetModuleHandle): Likewise.
6279         * lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6280         PeekMessage, DispatchMessage): Likewise.
6281         * lib/progreloc.c (GetModuleFileName): Likewise.
6282         * lib/putenv.c (SetEnvironmentVariable): Likewise.
6283         * lib/read.c (GetNamedPipeHandleState): Likewise.
6284         * lib/readdir.c (FindNextFile): Likewise.
6285         * lib/relocatable.c (GetModuleFileName): Likewise.
6286         * lib/rename.c (MoveFileEx): Likewise.
6287         * lib/rewinddir.c (FindFirstFile): Likewise.
6288         * lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
6289         PeekMessage, DispatchMessage): Likewise.
6290         * lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
6291         * lib/socket.c (WSASocket): Likewise.
6292         * lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
6293         * lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
6294         * lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
6295         * lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
6296         * lib/tmpdir.c (GetTempPath): Likewise.
6297         * lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
6298         * lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
6299         * lib/utime.c (CreateFile, GetFileAttributes): Likewise.
6300         * lib/windows-cond.c (CreateEvent): Likewise.
6301         * lib/windows-rwlock.c (CreateEvent): Likewise.
6302         * lib/windows-timedmutex.c (CreateEvent): Likewise.
6303         * lib/windows-timedrecmutex.c (CreateEvent): Likewise.
6304         * lib/windows-timedrwlock.c (CreateEvent): Likewise.
6305         * lib/write.c (GetNamedPipeHandleState): Likewise.
6307 2020-05-30  Bruno Haible  <bruno@clisp.org>
6309         physmem: Fix compilation errors on MSVC.
6310         * lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
6311         * modules/physmem (Depends-on): Add unistd.
6313 2020-05-29  Bruno Haible  <bruno@clisp.org>
6315         gnulib-tool: Fix link errors with a particular set of modules on mingw.
6316         * gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
6317         LDADD a second time, after the second occurrence of libtests.a.
6318         * pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.
6320 2020-05-29  Bruno Haible  <bruno@clisp.org>
6322         fnmatch: Rely on more gnulib modules.
6323         * modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
6324         wmempcpy, mempcpy.
6325         * lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
6326         HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
6327         HAVE_MEMPCPY are all 1.
6328         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
6329         iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.
6331 2020-05-29  Bruno Haible  <bruno@clisp.org>
6333         Avoid dynamic lookup of Windows API functions when possible.
6334         * lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
6335         freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
6336         getnameinfo_ptr): Don't define in a build for Windows XP or higher.
6337         (use_win32_p): Define differently.
6338         * lib/link.c (GetProcAddress, CreateHardLinkFuncType,
6339         CreateHardLinkFunc, initialized, initialize): Don't define in a build
6340         for Windows XP or higher.
6342 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6344         read-file: disable buffering if RF_SENSITIVE is set
6345         * lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
6346         Suggested by Glenn Strauss.
6347         (fread_file): Suggest calling setvbuf before calling this
6348         function.  Suggested by Bruno Haible.
6350 2020-05-29  Bruno Haible  <bruno@clisp.org>
6352         wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
6353         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
6354         program.
6355         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
6356         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
6357         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
6358         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.
6360 2020-05-29  Bruno Haible  <bruno@clisp.org>
6362         Fix compilation error on native Windows (regression from 2020-05-28).
6363         Reported by Daiki Ueno.
6364         * lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
6365         macro when not using dynamic loading.
6366         * lib/isatty.c (GetNamedPipeClientProcessIdFunc,
6367         QueryFullProcessImageNameFunc): Likewise.
6368         * lib/stat-w32.c (GetFileInformationByHandleExFunc,
6369         GetFinalPathNameByHandleFunc): Likewise.
6371 2020-05-29  Daiki Ueno  <ueno@gnu.org>
6373         fopen-gnu-tests: fix "\x" escape usage
6374         * tests/test-fopen-gnu.c (DATA): Use safer escape sequence.
6376 2020-05-28  Bruno Haible  <bruno@clisp.org>
6378         Avoid dynamic loading of Windows API functions when possible.
6379         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6380         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
6381         * lib/gettimeofday.c (GetProcAddress,
6382         GetSystemTimePreciseAsFileTimeFuncType,
6383         GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
6384         define in a build for Windows 8 or higher.
6385         * lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
6386         GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
6387         QueryFullProcessImageNameFunc, initialized, initialize): Don't define
6388         in a build for Windows Vista or higher.
6389         * lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
6390         GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
6391         GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.
6393 2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>
6395         explicit_bzero-tests: improve -Wmissing-declarations pacification
6396         * tests/test-explicit_bzero.c: Now noinline.
6397         Suggested by Bruno Haible in:
6398         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html
6400 2020-05-28  Bruno Haible  <bruno@clisp.org>
6402         Fix build errors due to read-file changes (regression from 2020-05-27).
6403         * lib/git-merge-changelog.c (read_changelog_file): Update read_file
6404         invocation.
6405         * tests/test-sameacls.c (main): Likewise.
6406         * tests/test-pipe-filter-gi1.c (main): Call read_file instead of
6407         read_binary_file.
6408         * tests/test-pipe-filter-ii1.c (main): Likewise.
6410 2020-05-28  Bruno Haible  <bruno@clisp.org>
6412         fts: Make more robust in multithreaded applications.
6413         * lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
6414         * modules/fts (Depends-on): Add 'open'.
6416 2020-05-28  Bruno Haible  <bruno@clisp.org>
6418         relocatable-prog: Make more robust in multithreaded applications.
6419         * lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
6420         relocatable-prog-wrapper.
6421         (find_executable): Pass an O_CLOEXEC flag to open().
6422         * modules/relocatable-prog (Depends-on): Add 'open'.
6424 2020-05-28  Bruno Haible  <bruno@clisp.org>
6426         getloadavg: Make more robust in multithreaded applications.
6427         * lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
6428         Simplify use of O_CLOEXEC.
6429         * modules/getloadavg (Depends-on): Add 'open'.
6431 2020-05-28  Bruno Haible  <bruno@clisp.org>
6433         vma-iter: Make more robust in multithreaded applications.
6434         * lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
6435         open().
6436         * modules/vma-iter (Depends-on): Add 'open'.
6438 2020-05-28  Bruno Haible  <bruno@clisp.org>
6440         truncate: Make more robust in multithreaded applications.
6441         * lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().
6443 2020-05-28  Bruno Haible  <bruno@clisp.org>
6445         pagealign_alloc: Make more robust in multithreaded applications.
6446         * lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
6447         open().
6448         * modules/pagealign_alloc (Depends-on): Add 'open'.
6450 2020-05-28  Bruno Haible  <bruno@clisp.org>
6452         openat: Make more robust in multithreaded applications.
6453         * lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().
6455 2020-05-28  Bruno Haible  <bruno@clisp.org>
6457         at-internal: Make more robust in multithreaded applications.
6458         * lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
6459         open().
6461 2020-05-28  Bruno Haible  <bruno@clisp.org>
6463         mountlist: Make more robust in multithreaded applications.
6464         * lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
6465         open().
6466         * modules/mountlist (Depends-on): Add 'open'.
6468 2020-05-28  Bruno Haible  <bruno@clisp.org>
6470         login_tty: Make more robust in multithreaded applications.
6471         * lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
6472         * modules/login_tty (Depends-on): Add 'open'.
6474 2020-05-28  Bruno Haible  <bruno@clisp.org>
6476         javacomp: Make more robust in multithreaded applications.
6477         * lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
6478         open().
6479         * modules/javacomp (Depends-on): Add 'open'.
6481 2020-05-28  Bruno Haible  <bruno@clisp.org>
6483         getprogname: Make more robust in multithreaded applications.
6484         * lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
6485         * modules/getprogname (Depends-on): Add 'open'.
6487 2020-05-28  Bruno Haible  <bruno@clisp.org>
6489         get_progname_of: Make more robust in multithreaded applications.
6490         * lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
6491         open().
6492         * modules/get_progname_of (Depends-on): Add 'open'.
6494 2020-05-28  Bruno Haible  <bruno@clisp.org>
6496         get_ppid_of: Make more robust in multithreaded applications.
6497         * lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
6498         * modules/get_ppid_of (Depends-on): Add 'open'.
6500 2020-05-28  Bruno Haible  <bruno@clisp.org>
6502         get-rusage-as: Make more robust in multithreaded applications.
6503         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
6504         flag to open().
6505         * modules/get-rusage-as (Depends-on): Add 'open'.
6507 2020-05-28  Bruno Haible  <bruno@clisp.org>
6509         crypto/gc: Make more robust in multithreaded applications.
6510         * lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
6511         * modules/crypto/gc (Depends-on): Add 'open'.
6513 2020-05-28  Bruno Haible  <bruno@clisp.org>
6515         copy-file: Make more robust in multithreaded applications.
6516         * lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
6517         open().
6519 2020-05-28  Bruno Haible  <bruno@clisp.org>
6521         chown: Make more robust in multithreaded applications.
6522         * lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().
6524 2020-05-28  Bruno Haible  <bruno@clisp.org>
6526         doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
6527         * doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.
6529 2020-05-28  Daiki Ueno  <ueno@gnu.org>
6531         fopen-gnu: make 'b' flag can be used with 'e' on Windows
6532         * lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
6533         specified on Windows.
6534         * tests/test-fopen-gnu.c (DATA): New define.
6535         (main): Add test for reading binary files with an 'e' flag.
6537 2020-05-27  Bruno Haible  <bruno@clisp.org>
6539         Don't assume that UNICODE is not defined.
6540         Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
6541         differently if the application defines the macro UNICODE.
6542         Reported by Steve Lhomme <robux4@ycbcr.xyz> in
6543         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
6544         * lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
6545         * lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
6546         * lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.
6548 2020-05-27  Bruno Haible  <bruno@clisp.org>
6550         Improve pattern for defining _WIN32_WINNT.
6551         Newer versions of the Windows API may not only add, but also remove API
6552         functions. Therefore, when the user is e.g. building for Windows 10, we
6553         should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
6554         use of APIs that were present in Windows 8 but removed in Windows 10.
6555         Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
6556         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
6557         * lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
6558         * lib/sethostname.c (_WIN32_WINNT): Likewise.
6559         * lib/stat-w32.c (_WIN32_WINNT): Likewise.
6561 2020-05-27  Bruno Haible  <bruno@clisp.org>
6563         javacomp: Make more robust in multithreaded applications.
6564         * lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
6565         * modules/javacomp (Depends-on): Add fopen-gnu.
6567 2020-05-27  Bruno Haible  <bruno@clisp.org>
6569         mountlist: Make more robust in multithreaded applications.
6570         * lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
6571         to fopen.
6572         * modules/mountlist (Depends-on): Add fopen-gnu.
6574 2020-05-27  Bruno Haible  <bruno@clisp.org>
6576         sethostname: Make more robust in multithreaded applications.
6577         * lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
6578         * modules/sethostname (Depends-on): Add fopen-gnu.
6580 2020-05-27  Bruno Haible  <bruno@clisp.org>
6582         readutmp: Make more robust in multithreaded applications.
6583         * lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
6584         * modules/readutmp (Depends-on): Add fopen-gnu.
6586 2020-05-27  Bruno Haible  <bruno@clisp.org>
6588         getpass: Make more robust in multithreaded applications.
6589         * lib/getpass.c (getpass): Pass an 'e' flag to fopen.
6590         * modules/getpass (Depends-on): Add fopen-gnu.
6592 2020-05-27  Bruno Haible  <bruno@clisp.org>
6594         getloadavg: Make more robust in multithreaded applications.
6595         * lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
6596         * modules/getloadavg (Depends-on): Add fopen-gnu.
6598 2020-05-27  Bruno Haible  <bruno@clisp.org>
6600         exclude: Make more robust in multithreaded applications.
6601         * lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
6602         * modules/exclude (Depends-on): Add fopen-gnu.
6604 2020-05-27  Bruno Haible  <bruno@clisp.org>
6606         bitset: Make more robust in multithreaded applications.
6607         * lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
6608         'e' flag to fopen.
6609         * modules/bitset (Depends-on): Add fopen-gnu.
6611 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6613         read-file: add RF_SENSITIVE flag
6614         * lib/read-file.h (RF_SENSITIVE): New define.
6615         * lib/read-file.c (fread_file, read_file): Take into account of
6616         RF_SENSITIVE flag.
6617         * modules/read-file (Depends-on): Add explicit_bzero.
6618         This adds an alternative behavior of those functions to explicitly
6619         clear the internal memory block when it becomes unused.  This is
6620         useful for reading sensitive information from a file.
6622 2020-05-27  Daiki Ueno  <ueno@gnu.org>
6624         read-file: add flags to modify reading behavior
6625         * lib/read-file.h (RF_BINARY): New define.
6626         (fread_file, read_file): Take FLAGS argument.
6627         (read_binary_file): Remove.
6628         * lib/read-file.c (internal_read_file): Merge into ...
6629         (read_file): ... here.
6630         * modules/read-file-tests (Files): Add "tests/macros.h".
6631         * tests/test-read-file.c (main): Refactor using ASSERT macro.
6632         * NEWS: Mention this change.
6634 2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>
6636         doc/gnulib-intro.texi: add missing "to" in sentence
6637         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
6638         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
6639         * doc/gnulib-intro.texi (Collaborative Development): Add "to".
6641 2020-05-26  Bruno Haible  <bruno@clisp.org>
6643         count-one-bits: Fix MSVC specific code.
6644         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6645         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
6646         * lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
6647         using GCC.
6648         [_MSC_VER]: Use correct syntax for #pragma intrinsic.
6649         (__popcnt64): In 32-bit mode, define as an inline function.
6650         (COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.
6652 2020-05-26  Bruno Haible  <bruno@clisp.org>
6654         argz: Avoid name clashes through argz.h.
6655         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
6656         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
6657         * lib/argz.h: Don't use __ prefixed identifiers.
6658         (const): Remove definition.
6659         (argz_next): Remove inline definitions.
6661 2020-05-26  Daiki Ueno  <ueno@gnu.org>
6663         read-file: make use of fopen-gnu
6664         * lib/read-file.c (read_file): Pass an 'e' flag to fopen.
6665         (read_binary_file): Likewise.
6666         * modules/read-file (Depends-on): Add fopen-gnu.
6668 2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>
6670         getentropy, getrandom: new modules
6671         * MODULES.html.sh (func_all_modules):
6672         * lib/unistd.in.h (getentropy, getrandom):
6673         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
6674         * modules/unistd (unistd.h):
6675         Add support for getentropy, getrandom.
6676         * doc/glibc-functions/getentropy.texi (getentropy):
6677         * doc/glibc-functions/getrandom.texi (getrandom):
6678         These are now fixed on some platforms.
6679         * lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
6680         * m4/getentropy.m4, m4/getrandom.m4:
6681         * modules/getentropy, modules/getentropy-tests:
6682         * modules/getrandom, modules/getrandom-tests:
6683         * tests/test-getentropy.c, tests/test-getrandom.c:
6684         New files.
6686 2020-05-25  Bruno Haible  <bruno@clisp.org>
6688         Add missing C99 dependencies.
6689         Reported by Paul Smith <psmith@gnu.org> in
6690         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
6691         * modules/assert (Depends-on): Add c99.
6692         * modules/filenamecat-lgpl (Depends-on): Likewise.
6693         * modules/libc-config (Depends-on): Likewise.
6694         * modules/mktime (Depends-on): Likewise.
6695         * modules/random_r (Depends-on): Likewise.
6696         * modules/regex (Depends-on): Likewise.
6697         * modules/scratch_buffer (Depends-on): Likewise.
6698         * modules/timespec-add (Depends-on): Likewise.
6699         * modules/timespec-sub (Depends-on): Likewise.
6700         * modules/verify (Depends-on): Likewise.
6702 2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>
6704         explicit_bzero-tests: pacify -Wmissing-declarations
6705         * tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
6706         Now static.
6708 2020-05-24  Bruno Haible  <bruno@clisp.org>
6710         fopen-gnu: Add tests.
6711         * tests/test-fopen-gnu.c: New file.
6712         * modules/fopen-gnu-tests: New file.
6714         fopen-gnu: New module.
6715         Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
6716         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
6717         * lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
6718         mode contains an 'x' or 'e' flag, use open() followed by fdopen().
6719         * m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
6720         * modules/fopen-gnu: New file.
6721         * doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.
6723 2020-05-24  Bruno Haible  <bruno@clisp.org>
6725         open, openat: Really support O_CLOEXEC.
6726         * lib/open.c (open): When have_cloexec is still undecided, do pass a
6727         O_CLOEXEC flag to orig_open.
6728         * lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
6729         pass a O_CLOEXEC flag to orig_openat.
6730         * tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
6731         * modules/open-tests (Depends-on): Add fcntl.
6732         * modules/openat-tests (Depends-on): Likewise.
6733         * modules/fcntl-safer-tests (Depends-on): Likewise.
6735 2020-05-24  Bruno Haible  <bruno@clisp.org>
6737         fopen: Fix the trailing slash workaround.
6738         * lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
6739         write access. Pass the right flags to open().
6740         * tests/test-fopen.h (test_fopen): Add a few more tests on directories.
6742 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6744         assure: new macro ‘affirm’
6745         * lib/assure.h: Include verify.h.
6746         (affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
6747         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
6748         and commentary by Bruno Haible in:
6749         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
6750         * modules/assure (Depends-on:): Add verify.
6752 2020-05-23  Bruno Haible  <bruno@clisp.org>
6754         calloc-gnu: Make test work in non-flat address spaces.
6755         Uses code by Paul Eggert.
6756         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
6757         to return more than SIZE_MAX bytes, but only without wrap-around bugs.
6759 2020-05-23  Bruno Haible  <bruno@clisp.org>
6761         calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
6762         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
6763         AC_RUN_IFELSE invocations.
6765 2020-05-23  Bruno Haible  <bruno@clisp.org>
6767         isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
6768         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
6769         gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
6770         don't have it.
6771         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
6772         gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
6773         don't have it.
6774         * lib/isnanf-nolibm.h (__has_builtin): New macro.
6775         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6776         it.
6777         * lib/isnanl-nolibm.h (__has_builtin): New macro.
6778         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6779         it.
6780         * lib/math.in.h (__has_builtin): New macro.
6781         (isnanf): Don't use __builtin_isnanf on clang versions that don't have
6782         it.
6783         (isnanl): Don't use __builtin_isnanl on clang versions that don't have
6784         it.
6785         (isnan): Don't use the builtins on clang versions that don't have
6786         __builtin_isnanf and __builtin_isnanl.
6788 2020-05-23  Bruno Haible  <bruno@clisp.org>
6790         calloc-gnu: Avoid wrong configure results with clang.
6791         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
6792         'volatile', to defeat compiler optimizations.
6794 2020-05-23  Bruno Haible  <bruno@clisp.org>
6796         isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
6797         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
6798         'long double' values by reference, with values taken from a statically
6799         allocated array.
6801 2020-05-23  Bruno Haible  <bruno@clisp.org>
6803         findprog-in: Ignore directories.
6804         Reported by Frederick Eaton via Dmitry Goncharov in
6805         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
6806         * lib/findprog-in.c (find_in_given_path): When the file found is a
6807         directory, set errno to EACCES and, during a PATH search, continue
6808         searching.
6809         * modules/findprog-in (Depends-on): Add sys_stat, stat.
6811 2020-05-23  Paul Eggert  <eggert@cs.ucla.edu>
6813         verify: document ‘assume’ better
6814         * lib/verify.h (assume): Say it’s for static analysis, not dynamic.
6816 2020-05-22  Asher Gordon  <AsDaGo@posteo.net>
6818         gendocs: Clarify licenses for templates.
6819         * doc/gendocs_template: Add a GNU All-Permissive license notice
6820         and bump Parent-Version.
6821         * doc/gendocs_template_min: Add a GNU All-Permissive license
6822         notice and copy the explanatory comment about the license notice
6823         at the bottom from gendocs_template.
6825 2020-05-21  Bruno Haible  <bruno@clisp.org>
6827         group-member: Relicense under LGPLv2+.
6828         Jim Meyering's approval is in
6829         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
6830         Paul Eggert's approval is in
6831         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
6832         Eric Blake's approval is in
6833         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
6834         * modules/group-member (License): Change to LGPLv2+.
6836 2020-05-21  Bruno Haible  <bruno@clisp.org>
6838         memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
6839         Reported by Tim Rühsen in
6840         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6841         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.
6843 2020-05-21  Bruno Haible  <bruno@clisp.org>
6845         regex: Avoid wrong configure results with "clang -fsanitize=leak".
6846         Reported by Tim Rühsen in
6847         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6848         * m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
6849         before returning with status 0.
6851 2020-05-21  Bruno Haible  <bruno@clisp.org>
6853         glob: Avoid wrong configure results with "clang -fsanitize=leak".
6854         Reported by Tim Rühsen in
6855         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6856         * m4/glob.m4 (gl_GLOB): Free allocated memory before returning.
6858 2020-05-21  Bruno Haible  <bruno@clisp.org>
6860         fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
6861         Reported by Tim Rühsen in
6862         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
6863         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
6864         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
6865         respectively.
6867 2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>
6869         getdelim: Avoid wrong configure results with gcc -fsanitize=address.
6870         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.
6872 2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>
6874         ftoastr: fix ifndef typo
6875         * lib/ftoastr.h (_GL_FTOASTR_H): Define.
6877 2020-05-19  Bruno Haible  <bruno@clisp.org>
6879         havelib: Tweak documentation.
6880         * doc/havelib.texi (Searching for Libraries): Fix typo.
6882 2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>
6884         vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
6885         This was needed earlier because modules had to import the main script,
6886         but that is no longer true.  Rename the script so that it is
6887         consistent with all other scripts in gnulib and uses hyphens.
6888         * build-aux/vcs_to_changelog.py: Rename to...
6889         * build-aux/vcs-to-changelog.py: ... this.
6890         * doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
6891         * modules/vcs-to-changelog: Likewise.
6893 2020-05-17  Bruno Haible  <bruno@clisp.org>
6895         Clarify intended usage of the license file modules.
6896         Reported by Asher Gordon <AsDaGo@posteo.net> in
6897         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
6898         * doc/licenses-texi.texi (License Texinfo sources): Mention the
6899         GNU AGPL. Explain the intended usage of the modules.
6900         * modules/fdl (Notice): Discourage use as a module.
6901         * modules/fdl-1.3 (Notice): Likewise.
6903 2020-05-17  Akim Demaille  <akim@lrde.epita.fr>
6905         hash: add hash_xinsert
6906         * lib/hash.h, lib/xhash.c (hash_xinsert): New.
6908 2020-05-16  Bruno Haible  <bruno@clisp.org>
6910         findprog-lgpl: Fix link error (existing since 2008-09-02).
6911         * modules/findprog-lgpl (Makefile.am): Arrange to compile
6912         findprog-lgpl.c, not findprog.c.
6913         * lib/findprog.c (find_in_path): Add LGPLed replacement code for
6914         XNMALLOC.
6916 2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>
6918         c-stack: pacify -Wunused-result when DEBUG
6919         Problem reported by Marc Nieper-Wißkirchen in:
6920         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
6921         * lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
6922         Explicitly ignore write failures.
6924 2020-05-13  Jim Meyering  <meyering@fb.com>
6926         announce-gen: improve a comment
6927         * build-aux/announce-gen: Improve comment.
6929 2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>
6931         xalloc: pacify -Wanalyzer-possible-null-argument
6932         Problem reported for GCC 10.1.0 by Bruno Haible in:
6933         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
6934         * lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
6935         (xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
6936         (xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.
6938 2020-05-11  Paul Eggert  <eggert@cs.ucla.edu>
6940         careadlinkat: fix GCC 10 workaround
6941         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6942         Massage the code so that it’s closer to what it was before
6943         the GCC 10.1.0 workaround was introduced.  This fixes
6944         a loop when !buffer and the bug workaround is in effect.
6945         Remove unnecessary casts.  Defend in a different way
6946         against (buffer && !buffer_size), by adding at least 1
6947         to buf_size each time through the loop.
6949 2020-05-10  Bruno Haible  <bruno@clisp.org>
6951         doc: Mark HP-UX as unsupported.
6952         * doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.
6954 2020-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6956         careadlinkat: limit GCC workaround
6957         * lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
6958         10.1.0 and later, since the workaround is pretty bad and the GCC
6959         bug should get fixed.
6961 2020-05-10  Bruno Haible  <bruno@clisp.org>
6963         havelib: Enhance documentation.
6964         * doc/havelib.texi (Searching for Libraries): Mention the bad
6965         consequences of using LIBxxx instead of LTLIBxxx and vice versa.
6967 2020-05-10  Bruno Haible  <bruno@clisp.org>
6969         attribute: Clarify list of attributes.
6970         * lib/attribute.h: Reorder the list of attributes, and group them by
6971         purpose.
6973 2020-05-10  Bruno Haible  <bruno@clisp.org>
6975         string: Fix compilation error in C++ mode.
6976         * lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
6977         _GL_WARN_ON_USE.
6978         * lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
6979         instead of _GL_WARN_ON_USE.
6981 2020-05-10  Akim Demaille  <akim@lrde.epita.fr>
6983         announce-gen: add support for dist-lzip
6984         * build-aux/announce-gen (@archive_suffixes): Add tar.lz.
6986 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
6988         manywarnings: port to GCC 10.1
6989         * build-aux/gcc-warning.spec:
6990         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
6991         Add GCC 10.1.0 warnings.
6993         careadlinkat: pacify -Wreturn-local-addr
6994         * lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
6995         Pacify gcc 10’s -Wreturn-local-addr option.
6996         Simplify some of the later code.
6998 2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>
7000         attribute: remove ATTRIBUTE_DEPRECATED
7001         * lib/attribute.h: Improve recently-added comments, mostly
7002         by shortening them (use active voice, etc.).
7003         (ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
7004         Problem reported by Bruno Haible in:
7005         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html
7007 2020-05-09  Bruno Haible  <bruno@clisp.org>
7009         attribute: Add comments.
7010         * lib/attribute.h: Document each macro.
7012 2020-05-09  Akim Demaille  <akim@lrde.epita.fr>
7014         bitset: use the attribute module
7015         * modules/bitset: Depend on 'attribute'.
7016         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
7017         * lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
7018         * lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
7019         Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.
7021 2020-05-09  Bruno Haible  <bruno@clisp.org>
7023         c-stack: Fix warning when DEBUG is enabled.
7024         Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7025         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
7026         * lib/c-stack.c: Include <stdio.h>.
7028 2020-05-09  Bruno Haible  <bruno@clisp.org>
7030         Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
7031         * lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
7032         * lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7033         * lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7034         * lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7035         * lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7036         * lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7037         * lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7038         * lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7039         * lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
7040         * lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7041         * lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7042         * lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7044 2020-05-09  Bruno Haible  <bruno@clisp.org>
7046         Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
7047         Reported by Akim Demaille in
7048         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
7049         * lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
7050         * lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7051         * lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
7053 2020-05-09  Bruno Haible  <bruno@clisp.org>
7055         stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
7056         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
7057         that usually comes from m4/gnulib-common.m4.
7058         * lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
7060 2020-05-09  Bruno Haible  <bruno@clisp.org>
7062         dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
7063         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
7064         that usually comes from m4/gnulib-common.m4.
7065         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7066         * lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7067         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
7069 2020-05-09  Bruno Haible  <bruno@clisp.org>
7071         uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
7072         * lib/uchar.in.h (char16_t): Define as macro if
7073         GNULIB_OVERRIDES_CHAR16_T.
7074         (char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
7075         * m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
7076         (gl_UCHAR_H): Invoke them.
7077         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
7078         GNULIB_OVERRIDES_CHAR32_T.
7079         * m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
7080         gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
7081         * modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
7082         GNULIB_OVERRIDES_CHAR32_T.
7084 2020-05-09  Bruno Haible  <bruno@clisp.org>
7086         Macro tweaks.
7087         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
7088         * m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.
7090 2020-05-08  Bruno Haible  <bruno@clisp.org>
7092         c32rtomb: Avoid compilation failure on Haiku.
7093         * m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
7094         inline definitions.
7095         * doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.
7097 2020-05-08  Bruno Haible  <bruno@clisp.org>
7099         mbrtoc32: Avoid compilation failure on Haiku.
7100         * m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
7101         (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
7102         AC_CHECK_FUNCS_ONCE.
7103         * doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.
7105 2020-05-08  Bruno Haible  <bruno@clisp.org>
7107         limits-h: Define LONG_BIT correctly on Haiku/x86_64.
7108         * lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.
7110 2020-05-08  Bruno Haible  <bruno@clisp.org>
7112         list: Update documentation.
7113         Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7114         <https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
7115         * doc/containers.texi (Container data types): Document the new list
7116         operations and their complexity.
7118 2020-05-08  Bruno Haible  <bruno@clisp.org>
7120         ignore-value tests: Use module 'attribute'.
7121         * m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
7122         * tests/test-ignore-value.c: Include attribute.h.
7123         (_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
7124         * modules/ignore-value-tests (Depends-on): Add attribute.
7126 2020-05-08  Bruno Haible  <bruno@clisp.org>
7128         uniname/uniname: Use module 'attribute'.
7129         * lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
7130         * lib/uniname/uninames.h: Regenerated.
7131         * lib/uniname/uniname.c: Include attribute.h.
7132         * modules/uniname/uniname (Depends-on): Add attribute.
7134 2020-05-08  Bruno Haible  <bruno@clisp.org>
7136         c32rtomb: Use module 'attribute'.
7137         * lib/c32rtomb.c: Include attribute.h.
7138         (FALLTHROUGH): Remove macro.
7139         * modules/c32rtomb (Depends-on): Add attribute.
7141 2020-05-08  Bruno Haible  <bruno@clisp.org>
7143         xsize: Use module 'attribute'.
7144         * lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
7145         * modules/xsize (Depends-on): Add attribute.
7147 2020-05-06  Paul Eggert  <eggert@cs.ucla.edu>
7149         * m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.
7151         * lib/attribute.h: Minor style fixes.
7153         Fix version-etc glitch on OpenIndiana
7154         Problem reported by Mats Erik Andersson in:
7155         https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
7156         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
7157         that now clashes with gnulib-common.h.  All uses changed.
7159 2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>
7161         attribute: new module
7162         This simplifies use of GCC and C2X attributes like ‘deprecated’.
7163         * MODULES.html.sh: Add attribute.
7164         * doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
7165         * doc/gnulib.texi (Particular Modules): Add Attributes.
7166         * lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
7167         * lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
7168         * lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
7169         * lib/vasnprintf.c:
7170         Include attribute.h, and let it define FALLTHROUGH.
7171         * lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
7172         * lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
7173         _GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2X.
7174         * lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
7175         This is a copy since Gawk doesn’t use Gnulib.
7176         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
7177         is incompatible with gl_COMMON_BODY’s.  All uses changed.
7178         * lib/fts.c: Include attribte.h, for FALLTHROUGH.
7179         Keep the existing FALLTHROUGH definition since Glibc might use it,
7180         and it does no harm to Gnulib’s FALLTHROUGH.
7181         * lib/fts_.h, lib/inttostr.h:
7182         (__GNUC_PREREQ): Remove; no longer needed.
7183         (__attribute_warn_unused_result__): Remove.  All uses
7184         replaced by _GL_ATTRIBUTE_NODISCARD.
7185         * lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
7186         * lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
7187         __attribute__ ((__warn_unused_result__)), for forward
7188         compatibility to C2X.
7189         * lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
7190         _GL_ATTRIBUTE_NODISCARD.
7191         (_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
7192         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
7193         replaced by gl_COMMON_BODY’s implementation, which has a
7194         slightly different signature.
7195         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
7196         Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
7197         * lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
7198         Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
7199         No doubt all uses should be replaced, at some point.
7200         * m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
7201         (_Noreturn): Use it.
7202         (_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
7203         (_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
7204         (_GL_ATTRIBUTE_COLD)
7205         (_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
7206         (_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
7207         (_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
7208         (_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
7209         (_GL_ATTRIBUTE_MAYBE_UNUSED)
7210         (_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
7211         (_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
7212         (_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
7213         (_GL_ATTRIBUTE_RETURNS_NONNULL)
7214         (_GL_ATTRIBUTE_SENTINEL): New macros.
7215         * modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
7216         * modules/fnmatch, modules/freopen-safer, modules/fts:
7217         * modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
7218         * modules/quotearg, modules/savewd:
7219         * modules/unistdio/u16-u16-vasnprintf:
7220         * modules/unistdio/u16-vasnprintf:
7221         * modules/unistdio/u32-u32-vasnprintf:
7222         * modules/unistdio/u32-vasnprintf:
7223         * modules/unistdio/u8-u8-vasnprintf:
7224         * modules/unistdio/u8-vasnprintf:
7225         * modules/unistdio/ulc-vasnprintf:
7226         * modules/unistr/u8-uctomb, modules/vasnprintf:
7227         (Depends-on:): Add attribute module.
7229 2020-05-03  Bruno Haible  <bruno@clisp.org>
7231         bison: Fix today's commit.
7232         * m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.
7234 2020-05-03  Bruno Haible  <bruno@clisp.org>
7236         list-c++: Add get_first, get_last, set_first, set_last operations.
7237         * lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
7238         set_first, set_last.
7239         * lib/gl_list.h: Tweak comments.
7241 2020-05-03  Akim Demaille  <akim@lrde.epita.fr>
7243         bison: rely on bison's %require to check a version requirement
7244         See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
7245         * m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
7246         enough of not.
7247         So far it is the only know Yacc tool that supports '%require'.
7248         Other yaccs will actually even choke on seeing the -o option after the
7249         input file name.
7250         * m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.
7252 2020-05-02  Bruno Haible  <bruno@clisp.org>
7254         list: Add get_first, get_last, set_first, set_last operations.
7255         * lib/gl_list.h (gl_list_get_first, gl_list_get_last,
7256         gl_list_nx_set_first, gl_list_nx_set_last): New functions.
7257         * lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.
7259 2020-05-02  Bruno Haible  <bruno@clisp.org>
7261         list: Remove redundant code for remove_first and remove_last operations.
7262         * lib/gl_list.h (struct gl_list_implementation): Remove fields
7263         remove_first, remove_last.
7264         (gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
7265         * lib/gl_array_list.c: Revert last change.
7266         * lib/gl_carray_list.c: Likewise.
7267         * lib/gl_anylinked_list2.h: Likewise.
7268         * lib/gl_linked_list.c: Likewise.
7269         * lib/gl_linkedhash_list.c: Likewise.
7270         * lib/gl_anytree_list2.h: Likewise.
7271         * lib/gl_avltree_list.c: Likewise.
7272         * lib/gl_avltreehash_list.c: Likewise.
7273         * lib/gl_rbtree_list.c: Likewise.
7274         * lib/gl_rbtreehash_list.c: Likewise.
7275         * lib/gl_sublist.c: Likewise.
7277 2020-05-02  Bruno Haible  <bruno@clisp.org>
7279         bison-i18n: Add support for cross-compilation.
7280         Reported by Hongxu Jia <hongxu.jia@windriver.com> in
7281         <https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
7282         via Akim Demaille <akim@lrde.epita.fr>.
7283         * m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
7284         --with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
7285         Don't use bison's --print-localedir option when cross-compiling.
7286         Also, fix an error message and a comment.
7288 2020-05-01  Bruno Haible  <bruno@clisp.org>
7290         list: Add remove_first and remove_last operations.
7291         Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
7292         <https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
7293         * lib/gl_list.h (struct gl_list_implementation): Add fields
7294         remove_first, remove_last.
7295         (gl_list_remove_first, gl_list_remove_last): New functions.
7296         * lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
7297         functions, based on gl_array_remove_at.
7298         (gl_array_list_implementation): Implement the new operations.
7299         * lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
7300         New functions, based on gl_carray_remove_at.
7301         (gl_carray_list_implementation): Implement the new operations.
7302         * lib/gl_anylinked_list2.h (gl_linked_remove_first,
7303         gl_linked_remove_last): New functions, based on gl_linked_remove_at.
7304         * lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
7305         new operations.
7306         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
7307         Likewise.
7308         * lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
7309         New functions, based on gl_tree_remove_at.
7310         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
7311         new operations.
7312         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
7313         Likewise.
7314         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
7315         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
7316         Likewise.
7317         * lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
7318         New functions, based on gl_sublist_remove_at.
7319         (gl_sublist_list_implementation): Implement the new operations.
7320         * lib/gl_list.hh (class gl_List): Add methods remove_first,
7321         remove_last.
7322         * tests/test-array_list.c (main): Test also gl_list_remove_first and
7323         gl_list_remove_last.
7324         * tests/test-avltree_list.c (main): Likewise.
7325         * tests/test-avltreehash_list.c (main): Likewise.
7326         * tests/test-carray_list.c (main): Likewise.
7327         * tests/test-linked_list.c (main): Likewise.
7328         * tests/test-linkedhash_list.c (main): Likewise.
7329         * tests/test-rbtree_list.c (main): Likewise.
7330         * tests/test-rbtreehash_list.c (main): Likewise.
7332 2020-05-01  Bruno Haible  <bruno@clisp.org>
7334         parse-datetime: Fix a build failure with an older bison version.
7335         * modules/parse-datetime (Makefile.am): Don't do the post-processing of
7336         parse-datetime.tab.c if a suitable version of bison was not found.
7338 2020-05-01  Bruno Haible  <bruno@clisp.org>
7340         bison: New module.
7341         * m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
7342         m4/parse-datetime.m4.
7343         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
7344         * modules/bison: New file.
7345         * modules/parse-datetime (Files): Remove m4/bison.m4.
7346         (Depends-on): Add bison.
7348 2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>
7350         Update users.txt.
7351         * users.txt: Add poke.
7353 2020-04-28  Bruno Haible  <bruno@clisp.org>
7355         posix_spawn_file_actions_addfchdir tests: Enhance test.
7356         * tests/test-posix_spawn5.c: Include findprog.h.
7357         (test): New function, extracted from main.
7358         (main): Invoke it. Also, invoke it with a program name such as
7359         "bin/pwd".
7360         * modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
7361         findprog.
7363 2020-04-28  Bruno Haible  <bruno@clisp.org>
7365         posix_spawn_file_actions_addchdir tests: Enhance test.
7366         * tests/test-posix_spawn4.c: Include findprog.h.
7367         (test): New function, extracted from main.
7368         (main): Invoke it. Also, invoke it with a program name such as
7369         "bin/pwd".
7370         * modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
7371         findprog.
7373 2020-04-28  Bruno Haible  <bruno@clisp.org>
7375         posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
7376         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
7377         access elements of the wrong union member.
7379 2020-04-27  Bruno Haible  <bruno@clisp.org>
7381         getdate: Remove deprecated module.
7382         * modules/getdate: Remove file.
7383         * doc/getdate.texi: Remove file.
7384         * lib/getdate.h: Remove file.
7385         * NEWS: Mention the removal.
7387 2020-04-27  Bruno Haible  <bruno@clisp.org>
7389         realloc: Remove deprecated module.
7390         * modules/realloc: Remove file.
7391         * NEWS: Mention the removal.
7393 2020-04-27  Bruno Haible  <bruno@clisp.org>
7395         calloc: Remove deprecated module.
7396         * modules/calloc: Remove file.
7397         * NEWS: Mention the removal.
7399 2020-04-27  Bruno Haible  <bruno@clisp.org>
7401         malloc: Remove deprecated module.
7402         * modules/malloc: Remove file.
7403         * NEWS: Mention the removal.
7405 2020-04-27  Bruno Haible  <bruno@clisp.org>
7407         fnmatch-posix: Remove deprecated module.
7408         * modules/fnmatch-posix: Remove file.
7409         * MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
7410         * NEWS: Mention the removal.
7412 2020-04-27  Bruno Haible  <bruno@clisp.org>
7414         pipe: Remove deprecated module.
7415         * modules/pipe: Remove file.
7416         * lib/pipe.h: Remove file.
7417         * NEWS: Mention the removal.
7419 2020-04-27  Bruno Haible  <bruno@clisp.org>
7421         getopt: Remove deprecated module.
7422         * modules/getopt: Remove file.
7423         * NEWS: Mention the removal.
7425 2020-04-27  Bruno Haible  <bruno@clisp.org>
7427         remove-dest-slash: Remove deprecated module.
7428         * modules/rename-dest-slash: Remove file.
7429         * MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
7430         Update.
7431         * NEWS: Mention the removal.
7433 2020-04-27  Bruno Haible  <bruno@clisp.org>
7435         unictype/bidicategory-*: Remove deprecated modules.
7436         * modules/unictype/bidicategory-all: Remove file.
7437         * modules/unictype/bidicategory-byname: Remove file.
7438         * modules/unictype/bidicategory-name: Remove file.
7439         * modules/unictype/bidicategory-of: Remove file.
7440         * modules/unictype/bidicategory-test: Remove file.
7441         * MODULES.html.sh (Unicode string functions): Update.
7442         * NEWS: Mention the removals.
7444 2020-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7446         Tune fts for FTS_LOGICAL+FTS_NOSTAT
7447         From a suggestion by Askar Safin in:
7448         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
7449         * lib/fts.c (fts_build): If file types are known, optimize
7450         FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
7451         same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
7452         non-directories.
7454 2020-04-19  Bruno Haible  <bruno@clisp.org>
7456         vasnprintf: Add support for printing wide characters using escapes.
7457         * lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
7458         (wctomb_fallback): New function.
7459         (local_wctomb): New function.
7460         (local_wcrtomb): New function or macro.
7461         (MAX_ROOM_NEEDED): Adjust estimate for %lc.
7462         (VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
7463         %lc.
7465 2020-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7467         fts: remove NOSTAT_LEAF_OPTIMIZATION
7468         It caused ‘find’ and ‘du’ to dump core, and it was useful
7469         only for obsolescent Linux filesystems anyway.  Problem reported in:
7470         https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
7471         Quite possibly there is still a serious underlying fts bug with
7472         tight-loop-check and mutating file systems, but if so this patch
7473         should cause the bug to be triggered less often.
7474         * lib/fts.c (enum leaf_optimization): Remove
7475         NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
7476         (S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
7477         (leaf_optimization): Remove special cases for ReiserFS and XFS.
7478         (fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
7479         * lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
7480         Remove.  All uses removed.
7482 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7484         explicit_bzero: Improve code style.
7485         * lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.
7487 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7489         explicit_bzero: On native Windows, use SecureZeroMemory().
7490         * lib/explicit_bzero.c: Include <windows.h>.
7491         (explicit_bzero): On native Windows, use SecureZeroMemory.
7493 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7495         explicit_bzero: Use memset_s() when available.
7496         * lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
7497         (explicit_bzero): Use memset_s when available.
7498         * m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.
7500 2020-04-13  Bastien Roucariès  <rouca@debian.org>
7502         explicit_bzero tests: Fix test failure on OpenBSD 6.5.
7503         * tests/test-explicit_bzero.c (test_heap): Handle implementations of
7504         free() that overwrite the memory with canaries.
7506 2020-04-13  Akim Demaille  <akim@lrde.epita.fr>
7508         bootstrap: recommend git submodule update --init
7509         Reported by Bruno Haible.
7510         <https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
7511         * build-aux/bootstrap: recommand "git submodule update --init"
7512         rather than "git submodule init".
7514 2020-04-12  Bruno Haible  <bruno@clisp.org>
7516         explicit_bzero: Add tests.
7517         * tests/test-explicit_bzero.c: New file.
7518         * modules/explicit_bzero-tests: New file.
7520 2020-04-11  Bruno Haible  <bruno@clisp.org>
7522         explicit_bzero: Relicense under LGPLv2+.
7523         Approved by Paul Eggert.
7524         * modules/explicit_bzero (License): Change to LGPLv2+.
7526 2020-04-10  Bruno Haible  <bruno@clisp.org>
7528         findprog, relocatable-prog: Ignore directories during PATH search.
7529         Reported by Frederick Eaton via Dmitry Goncharov in
7530         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
7532         * lib/findprog.c (find_in_path): When the file found in a PATH element
7533         is a directory, continue searching.
7534         * modules/findprog (Depends-on): Add sys_stat, stat.
7535         * modules/findprog-lgpl (Depends-on): Likewise.
7537         * lib/progreloc.c (maybe_executable): When the file found in a PATH
7538         element is a directory, continue searching.
7539         * lib/relocwrapper.c: Update comments.
7540         * modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
7541         (configure.ac-early): New section.
7543 2020-04-10  Bruno Haible  <bruno@clisp.org>
7545         MODULES.html.sh: Support for reproducible builds from git-less tarballs.
7546         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7547         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
7548         * MODULES.html.sh: In a git-less tarball, use the date of the first
7549         ChangeLog entry.
7551 2020-04-04  Bruno Haible  <bruno@clisp.org>
7553         Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
7554         * m4/gettext.m4: Fix comments regarding the gettext library.
7555         * m4/intl-thread-locale.m4: Likewise.
7556         * m4/intlmacosx.m4: Likewise.
7557         * m4/lcmessage.m4: Likewise.
7558         * m4/nls.m4: Likewise.
7559         * m4/po.m4: Likewise.
7560         * m4/progtest.m4: Likewise.
7562 2020-04-04  Jim Meyering  <meyering@fb.com>
7564         maint: remove a stray inter-word space in a 6x-repeated comment
7565         Induce the changes by running this:
7566           re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
7567         * build-aux/announce-gen: Change "by  perl" to "by perl".
7568         * build-aux/gitlog-to-changelog: Likewise.
7569         * build-aux/prefix-gnulib-mk: Likewise.
7570         * build-aux/update-copyright: Likewise.
7571         * build-aux/useless-if-before-free: Likewise.
7572         * tests/test-update-copyright.sh: Likewise.
7574 2020-03-28  Bruno Haible  <bruno@clisp.org>
7576         Use module 'filename' instead of module 'dosname'.
7578         * lib/at-func.c: Include filename.h instead of dosname.h.
7579         * lib/unlinkat.c: Likewise.
7580         * modules/areadlinkat (Depends-on): Add filename. Remove dosname.
7581         * modules/areadlinkat-with-size (Depends-on): Likewise.
7582         * modules/faccessat (Depends-on): Likewise.
7583         * modules/fchmodat (Depends-on): Likewise.
7584         * modules/fchownat (Depends-on): Likewise.
7585         * modules/fstatat (Depends-on): Likewise.
7586         * modules/mkdirat (Depends-on): Likewise.
7587         * modules/mkfifoat (Depends-on): Likewise.
7588         * modules/readlinkat (Depends-on): Likewise.
7589         * modules/selinux-at (Depends-on): Likewise.
7590         * modules/symlinkat (Depends-on): Likewise.
7591         * modules/unlinkat (Depends-on): Likewise.
7592         * modules/utimensat (Depends-on): Likewise.
7594         * lib/at-func2.c: Include filename.h instead of dosname.h.
7595         * modules/linkat (Depends-on): Add filename. Remove dosname.
7596         * modules/renameatu (Depends-on): Likewise.
7598         * lib/canonicalize.c: Include filename.h instead of dosname.h.
7599         * lib/canonicalize-lgpl.c: Likewise.
7600         * modules/canonicalize (Depends-on): Add filename.
7601         * modules/canonicalize-lgpl (Depends-on): Likewise.
7603         * lib/dirname.h: Include filename.h instead of dosname.h.
7604         * modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.
7606         * lib/fchdir.c: Include filename.h instead of dosname.h.
7607         * modules/fchdir (Depends-on): Add filename. Remove dosname.
7609         * lib/openat.c: Include filename.h instead of dosname.h.
7610         * modules/openat (Depends-on): Add filename. Remove dosname.
7612         * lib/rmdir.c: Include filename.h instead of dosname.h.
7613         * modules/rmdir (Depends-on): Add filename. Remove dosname.
7615         * lib/savewd.c: Include filename.h instead of dosname.h.
7616         * modules/savewd (Depends-on): Add filename. Remove dosname.
7618         * lib/unlink.c: Include filename.h instead of dosname.h.
7619         * modules/unlink (Depends-on): Add filename. Remove dosname.
7621         * modules/relocatable-prog-wrapper (Depends-on): Add filename.
7622         * lib/relocwrapper.c: Update comments.
7624         * modules/lstat (Depends-on): Remove dosname.
7626 2020-03-28  Bruno Haible  <bruno@clisp.org>
7628         dosname: Redirect to 'filename'.
7629         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
7630         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
7631         * lib/dosname.h: Remove all definitions. Just include filename.h.
7632         * modules/dosname (Status, Notice): Mark as deprecated.
7633         (Depends-on): Add 'filename'.
7635 2020-03-28  Bruno Haible  <bruno@clisp.org>
7637         dosname: Change IS_RELATIVE_FILE_NAME.
7638         * lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
7639         change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
7640         * NEWS: Mention the change.
7642 2020-03-28  Bruno Haible  <bruno@clisp.org>
7644         filename: Copy some definitions from module 'dosname'.
7645         * lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
7646         (HAS_DEVICE): Document macro.
7647         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
7648         (IS_ABSOLUTE_FILE_NAME): Consider
7649         FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
7650         (IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
7651         (IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
7652         * lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
7653         IS_PATH_WITH_DIR.
7654         (DllMain): Update.
7655         * lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
7656         IS_PATH_WITH_DIR.
7657         (find_executable): Update.
7658         * NEWS: Document the deprecations.
7660 2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7662         getopt-posix: port __GETOPT_PREFIX to macOS
7663         * lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
7664         Define to work around a problem with asm on macOS (Bug#40205).
7666 2020-03-22  Bruno Haible  <bruno@clisp.org>
7668         MODULES.html.sh: Add support for reproducible builds.
7669         Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
7670         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
7671         * MODULES.html.sh: Print the date of the last gnulib commit, not the
7672         current date.
7674 2020-03-22  Bruno Haible  <bruno@clisp.org>
7676         Several modules: Depend on stat.
7677         * modules/acl-permissions (Depends-on): Add stat.
7678         * modules/canonicalize (Depends-on): Likewise.
7679         * modules/file-has-acl (Depends-on): Likewise.
7680         * modules/fstat (Depends-on): Likewise.
7681         * modules/fstatat (Depends-on): Likewise.
7682         * modules/glob (Depends-on): Likewise.
7683         * modules/javacomp (Depends-on): Likewise.
7684         * modules/linkat (Depends-on): Likewise.
7685         * modules/mkdir (Depends-on): Likewise.
7686         * modules/pt_chown (Depends-on): Likewise.
7687         * modules/ptsname_r (Depends-on): Likewise.
7688         * modules/readlinkat (Depends-on): Likewise.
7689         * modules/rename (Depends-on): Likewise.
7690         * modules/renameatu (Depends-on): Likewise.
7691         * modules/tmpdir (Depends-on): Likewise.
7692         * modules/utimens (Depends-on): Likewise.
7693         * modules/relocatable-prog-wrapper (Depends-on): Add largefile.
7694         * modules/same (Depends-on): Remove stat.
7696 2020-03-22  Bruno Haible  <bruno@clisp.org>
7698         acl-permissions: Improve autoconf macro.
7699         * m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
7700         more reliably.
7702 2020-03-22  Bruno Haible  <bruno@clisp.org>
7704         file-has-acl: Fix module description.
7705         * modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
7706         (Depends-on): Depend on acl-permissions unconditionally.
7708 2020-03-21  Bruno Haible  <bruno@clisp.org>
7710         unlink: Ensure errno also on native Windows.
7711         * modules/unlink (Depends-on): Add malloc-posix.
7713 2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>
7715         unlink: fix malloc errno typo
7716         Problem reported by Tim Rühsen in:
7717         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
7718         * lib/unlink.c (rpl_unlink): Don’t mask malloc errno.
7720 2020-03-16  Bruno Haible  <bruno@clisp.org>
7722         *printf-posix: Fix m4 error (regression from 2020-03-08).
7723         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
7724         brackets in AC_COMPILE_IFELSE invocation.
7726 2020-03-08  Bruno Haible  <bruno@clisp.org>
7728         crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
7729         * modules/crypto/af_alg (Depends-on): Add fstat.
7730         * modules/renameatu (Depends-on): Likewise.
7731         * modules/same (Depends-on): Likewise.
7732         * modules/term-style-control (Depends-on): Likewise.
7734 2020-03-08  Bruno Haible  <bruno@clisp.org>
7736         *printf-posix: Document why it's overridden on some glibc systems.
7737         Reported by Adrian Bunk <bunk@stusta.de> in
7738         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
7739         * doc/posix-functions/*printf.texi: Document the problem with the %n
7740         directive on some glibc systems.
7741         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
7742         the cross-compilation guesses accordingly.
7744 2020-03-07  Paul Eggert  <eggert@cs.ucla.edu>
7746         open, openat: port to (O_RDWR | O_RDONLY) != 0
7747         Potential portability problem reported by Dan Gohman in:
7748         https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
7749         * lib/open.c (open):
7750         * lib/openat.c (rpl_openat):
7751         Don’t assume O_RDONLY is disjoint from O_RDWR.
7753 2020-03-07  Bruno Haible  <bruno@clisp.org>
7755         openat: Fix theoretically possible issue on GNU/Hurd.
7756         Reported by Dan Gohman <sunfish@mozilla.com> in
7757         <https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
7758         * lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
7759         ignore the bits that are also set in O_RDONLY.
7761 2020-02-24  Bruno Haible  <bruno@clisp.org>
7763         getloadavg: Don't use /usr/local when cross-compiling on AIX.
7764         Reported by Jens Rehsack <sno@netbsd.org> in
7765         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
7766         * m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
7767         cross-compiling.
7769 2020-02-24  Bruno Haible  <bruno@clisp.org>
7771         fcntl: Add witness of gnulib override.
7772         Reported by Jens Rehsack <sno@netbsd.org> in
7773         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
7774         * lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
7775         macros.
7777 2020-02-23  Assaf Gordon  <assafgordon@gmail.com>
7779         Update users.txt.
7780         * users.txt: Add datamash, time.
7782 2020-02-23  Bruno Haible  <bruno@clisp.org>
7784         uni*/base: Use 'restrict'.
7785         * lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
7786         from lib/regex.h.
7787         * lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
7788         u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
7789         u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
7790         u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
7791         u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
7792         * lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
7793         '_UC_RESTRICT'.
7794         * lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
7795         u32_conv_to_encoding): Use '_UC_RESTRICT'.
7796         * lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
7797         u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
7798         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
7799         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
7800         u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
7801         u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
7802         u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
7803         * lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
7804         u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
7805         u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
7806         '_UC_RESTRICT'.
7807         * lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
7808         * lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
7809         ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
7810         u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
7811         u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
7812         u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
7813         u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
7814         u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.
7816 2020-02-23  Bruno Haible  <bruno@clisp.org>
7818         glob, spawn: Use improved '_Restrict_' definition.
7819         * lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
7820         * lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.
7822 2020-02-23  Bruno Haible  <bruno@clisp.org>
7824         crypto/gc: Use 'restrict'.
7825         * lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
7826         * m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.
7828         crypto/hmac-*: Use 'restrict'.
7829         * lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
7830         'restrict'.
7831         * modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
7832         * modules/crypto/hmac-sha1 (configure.ac): Likewise.
7833         * modules/crypto/hmac-sha256 (configure.ac): Likewise.
7834         * modules/crypto/hmac-sha512 (configure.ac): Likewise.
7836         crypto/sm3: Use 'restrict'.
7837         * lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
7838         * m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.
7840         crypto/*-buffer: Use 'restrict'.
7841         * lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
7842         GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.
7844         crypto/sha512-buffer: Use 'restrict'.
7845         * lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
7846         sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
7847         * modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.
7849         crypto/sha256-buffer: Use 'restrict'.
7850         * lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
7851         sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
7852         * modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.
7854         crypto/sha1-buffer: Use 'restrict'.
7855         * lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
7856         'restrict'.
7857         * modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.
7859         crypto/md5-buffer: Use 'restrict'.
7860         * lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
7861         'restrict'.
7862         * modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.
7864         crypto/md4: Use 'restrict'.
7865         * lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
7866         * modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.
7868         crypto/md2: Use 'restrict'.
7869         * lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
7870         * modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.
7872         crypto/rijndael: Use 'restrict'.
7873         * lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
7874         rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
7875         * modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.
7877         crypto/arctwo: Use 'restrict'.
7878         * lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
7879         * modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.
7881         crypto/arcfour: Use 'restrict'.
7882         * lib/arcfour.h (arcfour_stream): Use 'restrict'.
7883         * modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.
7885         careadlinkat: Use 'restrict'.
7886         * lib/careadlinkat.h (careadlinkat): Use 'restrict'.
7887         * modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
7888         * modules/relocatable-prog-wrapper (configure.ac): Likewise.
7890         regex-quote: Use 'restrict'.
7891         * lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
7892         * modules/regex-quote (configure.ac): Require AC_C_RESTRICT.
7894         system-quote: Use 'restrict'.
7895         * lib/system-quote.h (system_quote_copy): Use 'restrict'.
7896         * modules/system-quote (configure.ac): Require AC_C_RESTRICT.
7898         sh-quote: Use 'restrict'.
7899         * lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
7900         * modules/sh-quote (configure.ac): Require AC_C_RESTRICT.
7902         quotearg: Use 'restrict'.
7903         * lib/quotearg.h (quotearg_buffer): Use 'restrict'.
7904         * m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.
7906         parse-datetime: Use 'restrict'.
7907         * lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
7908         'restrict'.
7909         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.
7911         nstrftime: Use 'restrict'.
7912         * lib/strftime.h (nstrftime): Use 'restrict'.
7913         * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.
7915         mbstok_r: Use 'restrict'.
7916         * lib/string.in.h (mbstok_r): Use 'restrict'.
7918         xmemcoll: Use 'restrict'.
7919         * lib/xmemcoll.h (xmemcoll): Use 'restrict'.
7920         * modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.
7922         memcoll: Use 'restrict'.
7923         * lib/memcoll.h (memcoll): Use 'restrict'.
7924         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.
7926         vasnprintf: Use 'restrict'.
7927         * lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
7928         * modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.
7930         c-vasnprintf: Use 'restrict'.
7931         * lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
7932         * modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.
7934         c-vsnprintf: Use 'restrict'.
7935         * lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
7936         * modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.
7938         c-snprintf: Use 'restrict'.
7939         * lib/c-snprintf.h (c_snprintf): Use 'restrict'.
7940         * modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.
7942         astrxfrm: Use 'restrict'.
7943         * lib/astrxfrm.h (astrxfrm): Use 'restrict'.
7944         * modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.
7946         amemxfrm: Use 'restrict'.
7947         * lib/amemxfrm.h (amemxfrm): Use 'restrict'.
7948         * modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.
7950 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
7952         fchmodat, lchmod: simplify
7953         It appears that we may have overengineered lchmod and fchmodat,
7954         in that the code was prepared for some hypothetical platforms but
7955         was so complicated that it was hard to understand.  I attempted to
7956         improve the situation by simplifying the code when this
7957         simplification should not hurt on real platforms; we can re-add
7958         complexity later to port to platforms I didn’t know about.
7959         * lib/fchmodat.c (fchmodat):
7960         * lib/lchmod.c (lchmod):
7961         Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
7962         around the /proc code that needs it.
7963         * lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
7964         * lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
7965         Do not include <config.h> twice.
7966         (orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
7967         lchmod on any known hosts.
7968         (lchmod): Do not defer to fchmodat, so that the lchmod module
7969         need not depend on the fchmodat module (which is a circular
7970         dependency).  Do not use openat, since ‘open’ suffices.
7971         Coalesce calls to lchmod/chmod.
7972         * lib/lchmod.c, lib/sys_stat.in.h (lchmod):
7973         * m4/sys_stat_h.m4 (REPLACE_FSTAT):
7974         * modules/lchmod (Depends-on, configure.ac):
7975         * modules/sys_stat (Depends-on):
7976         Do not worry about replacing lchmod, since that shouldn’t happen.
7977         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
7978         Do not worry about whether lchmod works on non-symlinks,
7979         since every known lchmod works on non-symlinks.
7980         * modules/lchmod (Depends-on):
7981         Remove circular dependency on fchmodat.
7983 2020-02-22  Bruno Haible  <bruno@clisp.org>
7985         lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
7986         * lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
7987         NEED_LCHMOD_NONSYMLINK_FIX is not defined.
7989 2020-02-22  Bruno Haible  <bruno@clisp.org>
7991         Use 'restrict' in all POSIX function declarations.
7992         * lib/iconv.in.h (iconv): Use 'restrict'.
7993         * lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
7994         * lib/monetary.in.h (strfmon_l): Likewise.
7995         * lib/pthread.in.h (pthread_create, pthread_mutex_init,
7996         pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
7997         pthread_mutex_timedlock, pthread_rwlock_init,
7998         pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
7999         pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
8000         * lib/search.in.h (tdelete): Likewise.
8001         * lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
8002         * lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
8003         fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
8004         vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
8005         Likewise.
8006         * lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
8007         strtoull): Likewise.
8008         * lib/string.in.h (strncat): Likewise.
8009         * lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
8010         recvfrom): Likewise.
8011         * lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
8012         * lib/time.in.h (strftime): Likewise.
8013         * lib/unistd.in.h (readlink, readlinkat): Likewise.
8014         * lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
8015         wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
8016         wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
8017         * m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
8018         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
8019         * m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
8020         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8021         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8022         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8023         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8024         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8025         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8026         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8027         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8028         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
8029         other *_h.m4 files.
8030         * m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.
8032 2020-02-22  Bruno Haible  <bruno@clisp.org>
8034         Update NEWS.
8035         * NEWS: Mention the last change.
8037 2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>
8039         chmodat, chownat: new modules
8040         These are split from fchmodat, fchownat.  GNU Emacs needs the
8041         POSIX-specified fchmodat, but not the gnulib-specified chmodat and
8042         lchmodat.  Split the latter two into a new module chmodat.
8043         Similarly for fchownat.  This the same basic idea for why statat
8044         was split from fstatat on 2013-01-23.
8045         * lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
8046         Rename from FCHMODAT_INLINE.  All uses changed.
8047         * lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
8048         Rename from FCHOWNAT_INLINE.  All uses changed.
8049         * lib/openat.h:
8050         (chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
8051         (chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
8052         * modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
8053         * modules/fchmodat (Files:): Remove lib/fchmodat.c.
8054         (configure.ac): Remove fchmodat module indicator.
8055         (Makefile.am): Omit chmodat.c.
8056         (Maintainer): Add self.
8057         * modules/fchownat: Similarly, but for chown.
8058         * tests/test-fchownat.c (BASE): Don't define if already defined.
8059         (do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
8061 2020-02-22  Bruno Haible  <bruno@clisp.org>
8063         users.txt: Add groff.
8064         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
8065         * users.txt: Add groff.
8067 2020-02-22  Bruno Haible  <bruno@clisp.org>
8069         gnulib-tool: Ensure copied files are writable.
8070         Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
8071         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
8072         * gnulib-tool (func_ensure_writable): New function.
8073         (func_ln_s, func_hardlink, func_lookup_file, func_import,
8074         func_create_testdir, copy-file): Invoke it after copying a file.
8076 2020-02-22  Bruno Haible  <bruno@clisp.org>
8078         users.txt: Update.
8079         * users.txt: Update URLs to projects that have moved or switched to git.
8080         Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
8081         over the summary view. Add gawk.
8083 2020-02-21  Paul Eggert  <eggert@cs.ucla.edu>
8085         largefile: remove _DARWIN_USE_64_BIT_INODE
8086         It’s not needed in currently-supported macOS versions, and was
8087         problematic anyway in MacOS X 10.5 which was the only version that
8088         could use it.  Problem reported by Peter Eisentraut in:
8089         https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
8090         * m4/largefile.m4 (AC_SYS_LARGEFILE):
8091         Don’t define _DARWIN_USE_64_BIT_INODE.
8092         This syncs with Autoconf master.
8094         Add ‘extern "C"’ to count-one-bits.h etc.
8095         This ports these .h files to C++.
8096         Problem reported by Simon Marchi in:
8097         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
8098         * lib/count-leading-zeros.h, lib/count-one-bits.h:
8099         * lib/count-trailing-zeros.h: Add ‘extern "C"’.
8101 2020-02-19  Bruno Haible  <bruno@clisp.org>
8103         uninorm/decompose-internal: Avoid "no previous prototype" warning.
8104         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8105         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
8106         * lib/array-mergesort.h: Accept an optional macro definition
8107         STATIC_FROMTO.
8108         * lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.
8110 2020-02-16  Bruno Haible  <bruno@clisp.org>
8112         fchmodat: Make more future-proof.
8113         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
8114         NEED_FCHMODAT_NONSYMLINK_FIX.
8115         (gl_PREREQ_FCHMODAT): New macro.
8116         * lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
8117         /proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
8118         without lchmod function.
8119         * modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.
8121 2020-02-16  Bruno Haible  <bruno@clisp.org>
8123         lchmod: Make more future-proof.
8124         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
8125         (gl_PREREQ_LCHMOD): New macro.
8126         * lib/lchmod.c (orig_lchmod): New function.
8127         (lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
8128         Return EOPNOTSUPP only on Linux and on platforms without lchmod
8129         function.
8130         * modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.
8132         lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
8133         * modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.
8135 2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>
8137         xnanosleep: prefer pause, and get remaining time
8138         Problem reported by Vladimir Panteleev in:
8139         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
8140         * lib/xnanosleep.c: Include intprops.h, unistd.h.
8141         (xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
8142         (xnanosleep): Obtain remaining time when nanosleep is interrupted.
8143         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
8144         * modules/xnanosleep (Depends-on): Add intprops, unistd.
8146 2020-02-16  Bruno Haible  <bruno@clisp.org>
8148         lchmod: Improve cross-compilation guess.
8149         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
8150         cross-compiling, guess depending on the platform.
8152 2020-02-16  Bruno Haible  <bruno@clisp.org>
8154         fstrcmp: Add API to clean up resources.
8155         Reported by Akim Demaille <akim@lrde.epita.fr> in
8156         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
8157         * lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
8158         * lib/fstrcmp.c (fstrcmp_free_resources): New function.
8160 2020-02-14  Bruno Haible  <bruno@clisp.org>
8162         wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
8163         Reported by Christian Biesinger in
8164         <https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
8165         * lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
8166         corresponding module is not enabled.
8167         * tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
8168         prototype if the corresponding module is not enabled.
8170 2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>
8172         fchmodat, lchmod: port to buggy Linux filesystems
8173         Problem reported by Florian Weimer in:
8174         https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
8175         * lib/fchmodat.c (fchmodat):
8176         * lib/lchmod.c (lchmod):
8177         Don’t assume that chmod on the O_PATH-opened fd will do
8178         the right thing on a symbolic link.
8179         * lib/fchmodat.c (fchmodat):
8180         Don’t attempt to special-case
8181         any flag value other than AT_SYMLINK_NOFOLLOW.
8183 2020-02-11  Paul Eggert  <eggert@cs.ucla.edu>
8185         lchmod: pacify Coverity CID 1491216
8186         * lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
8187         not complain about unreachable code at the ‘struct stat st;’
8188         declaration.
8190 2020-02-10  Bruno Haible  <bruno@clisp.org>
8192         copysignf: Fix link error on HP-UX with cc.
8193         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
8194         HP-UX, set COPYSIGNF_LIBM to -lm.
8196 2020-02-10  Bruno Haible  <bruno@clisp.org>
8198         pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
8199         * modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
8200         with $(LIB_SEMAPHORE).
8201         * modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
8202         with $(LIB_SEMAPHORE).
8204 2020-02-10  Bruno Haible  <bruno@clisp.org>
8206         ptsname_r-tests: Avoid unused function warning.
8207         * tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.
8209 2020-02-08  Bruno Haible  <bruno@clisp.org>
8211         lchmod: Add tests.
8212         * tests/test-lchmod.c: New file.
8213         * modules/lchmod-tests: New file.
8215 2020-02-08  Bruno Haible  <bruno@clisp.org>
8217         lchmod: Ensure declaration on HP-UX.
8218         * lib/sys_stat.in.h (lchown): Declare also on HP-UX.
8219         * doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.
8221 2020-02-08  Bruno Haible  <bruno@clisp.org>
8223         fchmodat: Strengthen tests.
8224         * tests/test-fchmodat.c (BASE): New macro.
8225         (main): Use it, to avoid conflicts with other unit tests. Verify that
8226         fchmodat changed the file permission bits.
8228 2020-02-08  Bruno Haible  <bruno@clisp.org>
8230         fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
8231         * lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
8232         '#undef __need_system_sys_stat_h'.
8234 2020-02-08  Bruno Haible  <bruno@clisp.org>
8236         fchmodat: Improve cross-compilation guesses.
8237         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
8238         cross-compiling, guess depending on the platform.
8239         * doc/posix-functions/fchmodat.texi: Clarify.
8241 2020-02-08  Bruno Haible  <bruno@clisp.org>
8243         Fix compilation errors in a testdir created with --with-c++-tests.
8244         * lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
8245         since it does not work any more with g++ >= 4.4.
8247 2020-02-08  Bruno Haible  <bruno@clisp.org>
8249         doc: Update for glibc 2.31.
8250         * doc/glibc-functions/pthread_clockjoin_np.texi: New file.
8251         * doc/gnulib.texi: Include it.
8252         * doc/pastposix-functions/h_errno.texi: Update.
8253         * doc/posix-functions/*.texi: Likewise.
8255 2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>
8257         mountlist: consider smb3 file systems as remote
8258         * lib/mountlist.c (ME_REMOTE): Recognize file systems of type
8259         "smb3" as remote.
8261 2020-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8263         fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
8264         Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
8265         they act like chmod on non-symlinks.
8266         * NEWS:
8267         * doc/glibc-functions/lchmod.texi (lchmod):
8268         * doc/posix-functions/fchmodat.texi (fchmodat):
8269         Mention this.
8270         * lib/fchmodat.c: Define __need_system_sys_stat_h before including
8271         config.h, and undef it after including sys/stat.h the first time.
8272         Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
8273         sys/stat.h a second time after defining orig_fchmodat.
8274         (orig_fchmodat) [HAVE_FCHMODAT]: New function.
8275         (fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
8276         * lib/lchmod.c: New file.
8277         * lib/sys_stat.in.h (fchmodat, lchmod):
8278         Support replacing these functions.
8279         * m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
8280         test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
8281         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
8282         Test that lchmod works on non-symlinks.
8283         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
8284         Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
8285         * modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
8286         (Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
8287         * modules/lchmod (Files): Add lib/lchmod.c.
8288         (Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
8289         (configure.ac): Compile lchmod.c if needed.
8290         (lib_SOURCES): Add lchmod.c.
8291         * modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
8292         and REPLACE_LCHMOD.
8293         * tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
8294         (main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.
8296 2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)
8298         mountlist: Consider AFS filesystems as remote
8299         df --local relies on the ME_REMOTE macro to determine if a given
8300         mount entry should be considered "local".  There is special logic
8301         for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
8302         kernel's kafs module or AuriStorFS is treated as a local mount.
8303         * lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
8304         (OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.
8306 2020-02-04  Paul Eggert  <eggert@cs.ucla.edu>
8308         Port _Noreturn to older Clang
8309         Problem reported by Jeffery Walton in:
8310         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
8311         * lib/_Noreturn.h (_Noreturn):
8312         * m4/gnulib-common.m4 (gl_COMMON_BODY):
8313         Assume _Noreturn works in Clang 3.5 and later.
8314         It is documented to work in Clang 3.5:
8315         http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
8316         and is not documented in Clang 3.4:
8317         https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
8318         Apple sets __clang_version__ to a different value, so use
8319         __apple_build_version__ there.  See:
8320         https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html
8322 2020-02-04  Pádraig Brady  <P@draigBrady.com>
8324         test-canonicalize: avoid unused function warning
8325         * tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
8326         with the same guard as that used to protect usage of the null_ptr
8327         function, so that one doesn't get a -Wunused warning.
8328         * tests/test-canonicalize-lgpl.c: Likewise.
8330 2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>
8332         libc-config: port to Apple’s Clang variant
8333         * lib/libc-config.h (__glibc_clang_prereq):
8334         Port to Apple’s Clang variant, which uses a different
8335         numbering scheme for __clang_major__.
8337 2020-02-02  Bruno Haible  <bruno@clisp.org>
8339         Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
8340         * doc/containers.texi: Document these new modules.
8342 2020-02-02  Bruno Haible  <bruno@clisp.org>
8344         omap-c++: Add tests.
8345         * tests/test-omap-c++.cc: New file.
8346         * modules/omap-c++-tests: New file.
8348         omap-c++: New module.
8349         * lib/gl_omap.hh: New file, based on lib/gl_omap.h.
8350         * modules/omap-c++: New file.
8352 2020-02-02  Bruno Haible  <bruno@clisp.org>
8354         map-c++: Add tests.
8355         * tests/test-map-c++.cc: New file.
8356         * modules/map-c++-tests: New file.
8358         map-c++: New module.
8359         * lib/gl_map.hh: New file, based on lib/gl_map.h.
8360         * modules/map-c++: New file.
8362 2020-02-02  Bruno Haible  <bruno@clisp.org>
8364         oset-c++: Add tests.
8365         * tests/test-oset-c++.cc: New file.
8366         * modules/oset-c++-tests: New file.
8368         oset-c++: New module.
8369         * lib/gl_oset.hh: New file, based on lib/gl_oset.h.
8370         * modules/oset-c++: New file.
8372 2020-02-02  Bruno Haible  <bruno@clisp.org>
8374         set-c++: Add tests.
8375         * tests/test-set-c++.cc: New file.
8376         * modules/set-c++-tests: New file.
8378         set-c++: New module.
8379         * lib/gl_set.hh: New file, based on lib/gl_set.h.
8380         * modules/set-c++: New file.
8382 2020-02-02  Bruno Haible  <bruno@clisp.org>
8384         list-c++: Add tests.
8385         * tests/test-list-c++.cc: New file.
8386         * modules/list-c++-tests: New file.
8388         list-c++: New module.
8389         * lib/gl_list.hh: New file, based on lib/gl_list.h.
8390         * modules/list-c++: New file.
8392 2020-02-02  Bruno Haible  <bruno@clisp.org>
8394         xalloc: Fix compilation error in C++ mode on FreeBSD 12.
8395         * lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
8396         '_Noreturn'.
8397         * lib/sigpipe-die.h (sigpipe_die): Likewise.
8399 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8401         read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
8402         On x86_64 with glibc-2.30, gcc 9.2 is giving:
8403           error: argument 2 value '18446744073709551615'
8404           exceeds maximum object size 9223372036854775807
8405           [-Werror=alloc-size-larger-than=]
8406         The details of this restriction are discussed at:
8407         https://stackoverflow.com/q/42574890/4421
8408         * lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/
8410 2020-02-02  Pádraig Brady  <P@draigBrady.com>
8412         sysctl.h: avoid including on glibc
8413         * lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
8414         * lib/physmem.c: Likewise.
8416 2020-02-02  Bruno Haible  <bruno@clisp.org>
8418         list, set, oset, map, omap: Avoid imperative voice in documentation.
8419         * lib/gl_list.h: Use descriptive sentences instead of imperative voice
8420         in the specification of functions.
8421         * lib/gl_set.h: Likewise.
8422         * lib/gl_oset.h: Likewise.
8423         * lib/gl_map.h: Likewise.
8424         * lib/gl_omap.h: Likewise.
8425         * lib/gl_*.h: Likewise.
8427 2020-02-01  Bruno Haible  <bruno@clisp.org>
8429         ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
8430         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
8431         does.
8433 2020-01-29  Bruno Haible  <bruno@clisp.org>
8435         array-map, hash-map, linkedhash-map: Fix module description.
8436         * modules/array-map (Description): Fix description.
8437         * modules/hash-map (Description): Likewise.
8438         * modules/linkedhash-map (Description): Likewise.
8440 2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8442         dfa: do not depend on isblank
8443         This removes a difference between Gawk dfa.c and Gnulib dfa.c.
8444         * lib/dfa.c (isblank): Define if neither system nor Gnulib does.
8445         * modules/dfa (Depends-on): Remove isblank.
8446         * modules/isblank: Add a module indicator, for lib/dfa.c.
8448         dfa: do not assume 64-bit int
8449         Problem reported for VAX/VMS C (!) by Arnold Robbins in:
8450         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
8451         * lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
8452         (CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
8453         Fall back to 32-bit words.
8454         (CHARCLASS_INIT): Go back to having 8 32-bit args instead
8455         of 4 64-bit args.  All uses changed.
8457 2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8459         regex: remove limits-h dependency
8460         * modules/regex (Depends-on): Remove limits-h, since the
8461         code no longer depends on ULONG_WIDTH already being defined.
8463         regex: port to non-GCC pre-IEC-60559
8464         Problem reported by Arnold Robbins in:
8465         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
8466         * lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.
8468 2020-01-25  Bruno Haible  <bruno@clisp.org>
8470         c32isxdigit: Add tests.
8471         * tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
8472         * tests/test-c32isxdigit.sh: New file.
8473         * modules/c32isxdigit-tests: New file.
8475         c32isxdigit: New module.
8476         * lib/c32isxdigit.c: New file.
8477         * modules/c32isxdigit: New file.
8478         * doc/posix-functions/iswxdigit.texi: Mention the new module.
8480 2020-01-25  Bruno Haible  <bruno@clisp.org>
8482         c32isupper: Add tests.
8483         * tests/test-c32isupper.c: New file.
8484         * tests/test-c32isupper.sh: New file.
8485         * modules/c32isupper-tests: New file.
8487         c32isupper: New module.
8488         * lib/c32isupper.c: New file.
8489         * modules/c32isupper: New file.
8490         * doc/posix-functions/iswupper.texi: Mention the new module.
8492 2020-01-25  Bruno Haible  <bruno@clisp.org>
8494         c32isspace: Add tests.
8495         * tests/test-c32isspace.c: New file.
8496         * tests/test-c32isspace.sh: New file.
8497         * modules/c32isspace-tests: New file.
8499         c32isspace: New module.
8500         * lib/c32isspace.c: New file.
8501         * modules/c32isspace: New file.
8502         * doc/posix-functions/iswspace.texi: Mention the new module.
8504 2020-01-25  Bruno Haible  <bruno@clisp.org>
8506         c32ispunct: Add tests.
8507         * tests/test-c32ispunct.c: New file.
8508         * tests/test-c32ispunct.sh: New file.
8509         * modules/c32ispunct-tests: New file.
8511         c32ispunct: New module.
8512         * lib/c32ispunct.c: New file.
8513         * modules/c32ispunct: New file.
8514         * doc/posix-functions/iswpunct.texi: Mention the new module.
8516 2020-01-25  Bruno Haible  <bruno@clisp.org>
8518         c32isprint: Add tests.
8519         * tests/test-c32isprint.c: New file.
8520         * tests/test-c32isprint.sh: New file.
8521         * modules/c32isprint-tests: New file.
8523         c32isprint: New module.
8524         * lib/c32isprint.c: New file.
8525         * modules/c32isprint: New file.
8526         * doc/posix-functions/iswprint.texi: Mention the new module.
8528 2020-01-25  Bruno Haible  <bruno@clisp.org>
8530         c32islower: Add tests.
8531         * tests/test-c32islower.c: New file.
8532         * tests/test-c32islower.sh: New file.
8533         * modules/c32islower-tests: New file.
8535         c32islower: New module.
8536         * lib/c32islower.c: New file.
8537         * modules/c32islower: New file.
8538         * doc/posix-functions/iswlower.texi: Mention the new module.
8540 2020-01-25  Bruno Haible  <bruno@clisp.org>
8542         c32isgraph: Add tests.
8543         * tests/test-c32isgraph.c: New file.
8544         * tests/test-c32isgraph.sh: New file.
8545         * modules/c32isgraph-tests: New file.
8547         c32isgraph: New module.
8548         * lib/c32isgraph.c: New file.
8549         * modules/c32isgraph: New file.
8550         * doc/posix-functions/iswgraph.texi: Mention the new module.
8552 2020-01-25  Bruno Haible  <bruno@clisp.org>
8554         c32isdigit: Add tests.
8555         * tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
8556         * tests/test-c32isdigit.sh: New file.
8557         * modules/c32isdigit-tests: New file.
8559         c32isdigit: New module.
8560         * lib/c32isdigit.c: New file.
8561         * modules/c32isdigit: New file.
8562         * doc/posix-functions/iswdigit.texi: Mention the new module.
8564 2020-01-25  Bruno Haible  <bruno@clisp.org>
8566         c32iscntrl: Add tests.
8567         * tests/test-c32iscntrl.c: New file.
8568         * tests/test-c32iscntrl.sh: New file.
8569         * modules/c32iscntrl-tests: New file.
8571         c32iscntrl: New module.
8572         * lib/c32iscntrl.c: New file.
8573         * modules/c32iscntrl: New file.
8574         * doc/posix-functions/iswcntrl.texi: Mention the new module.
8576 2020-01-25  Bruno Haible  <bruno@clisp.org>
8578         c32isblank: Add tests.
8579         * tests/test-c32isblank.c: New file.
8580         * tests/test-c32isblank.sh: New file.
8581         * modules/c32isblank-tests: New file.
8583         c32isblank: New module.
8584         * lib/c32isblank.c: New file.
8585         * modules/c32isblank: New file.
8586         * doc/posix-functions/iswblank.texi: Mention the new module.
8588 2020-01-25  Bruno Haible  <bruno@clisp.org>
8590         c32isalpha: Add tests.
8591         * tests/test-c32isalpha.c: New file.
8592         * tests/test-c32isalpha.sh: New file.
8593         * modules/c32isalpha-tests: New file.
8595         c32isalpha: New module.
8596         * lib/c32isalpha.c: New file.
8597         * modules/c32isalpha: New file.
8598         * doc/posix-functions/iswalpha.texi: Mention the new module.
8600 2020-01-25  Bruno Haible  <bruno@clisp.org>
8602         c32isalnum: Add tests.
8603         * tests/test-c32isalnum.c: New file.
8604         * tests/test-c32isalnum.sh: New file.
8605         * modules/c32isalnum-tests: New file.
8607         c32isalnum: New module.
8608         * lib/c32isalnum.c: New file.
8609         * lib/c32is-impl.h: New file.
8610         * modules/c32isalnum: New file.
8611         * doc/posix-functions/iswalnum.texi: Mention the new module.
8613 2020-01-25  Bruno Haible  <bruno@clisp.org>
8615         uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
8616         * lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
8617         c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
8618         c32isupper, c32isxdigit): New declarations.
8619         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
8620         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8621         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8622         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8623         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8624         * modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
8625         GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
8626         GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
8627         GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
8628         GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
8629         * tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
8630         c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
8631         c32ispunct, c32isspace, c32isupper, c32isxdigit.
8633 2020-01-25  Bruno Haible  <bruno@clisp.org>
8635         mbchar, wctype: Use the corrected iswxdigit function.
8636         * modules/mbchar (Depends-on): Add iswxdigit.
8637         * modules/wctype (Depends-on): Likewise.
8639         iswxdigit: Add tests.
8640         * tests/test-iswxdigit.c: New file.
8641         * tests/test-iswxdigit.sh: New file.
8642         * modules/iswxdigit-tests: New file.
8644         iswxdigit: New module.
8645         * m4/iswxdigit.m4: New file.
8646         * lib/wctype.in.h (iswxdigit): Potentially override.
8647         (iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
8648         REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
8649         * lib/iswxdigit.c: New file.
8650         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
8651         REPLACE_ISWXDIGIT.
8652         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
8653         REPLACE_ISWXDIGIT.
8654         * modules/iswxdigit: New file.
8655         * doc/posix-functions/iswxdigit.texi: Mention the portability problem.
8657 2020-01-25  Bruno Haible  <bruno@clisp.org>
8659         lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
8660         Reported by John Donoghue <john.david.donoghue@gmail.com> in
8661         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
8662         * lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
8663         off_t on mingw, invoke _lseeki64 instead of lseek.
8665 2020-01-25  Bruno Haible  <bruno@clisp.org>
8667         iswdigit tests: Avoid test failure on Cygwin.
8668         * tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
8669         byte sequence, return 0.
8671         iswdigit: Fix test failure on native Windows.
8672         * lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.
8674         mbchar, wctype: Use the corrected iswdigit function.
8675         * modules/mbchar (Depends-on): Add iswdigit.
8676         * modules/wctype (Depends-on): Likewise.
8678         iswdigit: Add tests.
8679         * tests/test-iswdigit.c: New file.
8680         * tests/test-iswdigit.sh: New file.
8681         * modules/iswdigit-tests: New file.
8683         iswdigit: New module.
8684         * m4/iswdigit.m4: New file.
8685         * lib/wctype.in.h (iswdigit): Potentially override.
8686         (iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
8687         * lib/iswdigit.c: New file.
8688         * m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
8689         REPLACE_ISWDIGIT.
8690         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
8691         REPLACE_ISWDIGIT.
8692         * modules/iswdigit: New file.
8693         * doc/posix-functions/iswdigit.texi: Mention the portability problem.
8695 2020-01-25  Bruno Haible  <bruno@clisp.org>
8697         hard-locale tests: Make it easy to reuse the musl test.
8698         * m4/musl.m4: New file, extracted from modules/hard-locale-tests.
8699         * modules/hard-locale-tests (Files): Add it.
8700         (configure.ac): Invoke gl_MUSL_LIBC.
8702 2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>
8704         regex: port to Gawk on nonstandard platforms
8705         * lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
8706         This is useful for Gawk, which does not use the Gnulib stdlib-h
8707         module.  Problem reported by Arnold Robbins in:
8708         https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html
8710 2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>
8712         regex: fix bug with >=16 subexpressions
8713         * lib/regex_internal.h (struct re_backref_cache_entry):
8714         Use bitset_word_t as the type of eps_reachable_subexps_map,
8715         instead of unsigned short int.  This fixes a bug I introduced
8716         to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
8717         2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
8718         Remove unused member 'unused'.
8720         regex: simplify definition of BITSET_WORD_BITS
8721         * config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
8722         * lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
8723         * lib/regex_internal.h (BITSET_WORD_BITS):
8724         * modules/regex (Depends-on): Add limits-h.
8725         Simplify now that we can use ULONG_WIDTH.
8727 2020-01-20  Bruno Haible  <bruno@clisp.org>
8729         mbrtoc32: Add note about FreeBSD 12.
8730         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
8731         * doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
8732         affected.
8734 2020-01-20  Bruno Haible  <bruno@clisp.org>
8736         unistr/u8-uctomb: Fix warning.
8737         Reported by Andreas Schwab <schwab@suse.de> in
8738         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
8739         * lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
8740         (u8_uctomb): Add FALLTHROUGH markers.
8742 2020-01-20  Bruno Haible  <bruno@clisp.org>
8744         lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
8745         * lib/glthread/lock.c (glthread_once_multithreaded): New function.
8746         * lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
8747         (glthread_once): Use it.
8749 2020-01-19  Bruno Haible  <bruno@clisp.org>
8751         threadlib: Disable use of weak symbols on FreeBSD 11.
8752         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8753         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
8754         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
8755         against a bug in FreeBSD 11.
8757 2020-01-19  Bruno Haible  <bruno@clisp.org>
8759         iconv_open: Improve z/OS support.
8760         * lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
8761         ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
8762         Remove mapping for EUC-TW.
8764 2020-01-18  Bruno Haible  <bruno@clisp.org>
8766         Rename ~~gnulib.m4 to zzgnulib.m4.
8767         Suggested by Paul Eggert.
8768         * m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
8769         * gnulib-tool (func_get_filelist): Update.
8770         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8772 2020-01-18  Bruno Haible  <bruno@clisp.org>
8774         doc: Update license notices.
8775         * doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
8776         reference to a section or to a "file as part of this distribution".
8778 2020-01-18  Bruno Haible  <bruno@clisp.org>
8780         Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
8781         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8782         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
8783         * m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
8784         AC_EGREP_CPP.
8786 2020-01-18  Bruno Haible  <bruno@clisp.org>
8788         Ensure Automake does not drop ~~gnulib.m4.
8789         * m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
8790         * m4/gnulib-common.m4 (gl_COMMON): Require it.
8792 2020-01-18  Bruno Haible  <bruno@clisp.org>
8794         Fix major regression from 2020-01-10.
8795         Reported by Paul Eggert in
8796         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
8797         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
8798         Don't AC_REQUIRE anything.
8799         (gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
8800         AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
8801         (_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
8802         use ac_compile instead.
8803         (AC_CHECK_DECL): Remove override.
8804         * m4/~~gnulib.m4: New file.
8805         * gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
8806         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
8808 2020-01-17  Bruno Haible  <bruno@clisp.org>
8809             Paul Eggert  <eggert@cs.ucla.edu>
8811         glob: Fix use-after-free bug.
8812         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
8813         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
8814         * lib/glob.c (__glob): Delay freeing dirname until after the use of
8815         end_name.
8817 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8819         vcs-to-changelog: Fix parsing of fndecl without args.
8820         * build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
8821         for empty arguments.
8823 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8825         vcs-to-changelog: Add documentation.
8826         * doc/vcs-to-changelog.texi: New file.
8827         * doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
8828         section.
8830 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8832         vcs-to-changelog: Allow loading of custom quirks file.
8833         * build-aux/vcs_to_changelog.py: New commandline option -q.
8835 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8837         vcs-to-changelog: Fix formatting of ChangeLog output.
8838         * build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
8839         output.
8841 2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>
8843         vcs-to-changelog: Drop python3 shebang from frontend_c.py.
8844         Reported in
8845         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
8846         * build-aux/vcstocl/frontend_c.py: Remove shebang.
8848 2020-01-15  Simon Josefsson  <simon@josefsson.org>
8850         crypto/gc-pbkdf2: New module.
8851         * MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
8852         * NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
8853         * lib/gc-pbkdf2.c: New file.
8854         * lib/gc-pbkdf2-sha1.c: Use new interface.
8855         * lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
8856         * modules/crypto/gc-pbkdf2: New file.
8857         * modules/crypto/gc-pbkdf2-tests: New file.
8858         * tests/test-gc-pbkdf2.c: New file.
8860 2020-01-12  Bruno Haible  <bruno@clisp.org>
8862         c32stombs: Add tests.
8863         * tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
8864         * tests/test-c32stombs-1.sh: New file, based on
8865         tests/test-c32srtombs-1.sh.
8866         * tests/test-c32stombs-2.sh: New file, based on
8867         tests/test-c32srtombs-2.sh.
8868         * tests/test-c32stombs-3.sh: New file, based on
8869         tests/test-c32srtombs-3.sh.
8870         * tests/test-c32stombs-4.sh: New file, based on
8871         tests/test-c32srtombs-4.sh.
8872         * modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.
8874         c32stombs: New module.
8875         * lib/uchar.in.h (c32stombs): New declaration.
8876         * lib/c32stombs.c: New file.
8877         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
8878         * modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
8879         * modules/c32stombs: New file.
8880         * tests/test-uchar-c++.cc: Test the signature of c32stombs.
8881         * doc/posix-functions/wcstombs.texi: Mention the new module.
8883 2020-01-11  Jim Meyering  <meyering@fb.com>
8885         perl: require the "warnings" module
8886         * m4/perl.m4: Also "use warnings", so we reject the perl found
8887         on at least one IRIX 6.5 system. Reported by Bruno Haible in
8888         https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html
8890 2020-01-10  Bruno Haible  <bruno@clisp.org>
8892         Fix major regression from 2020-01-04.
8893         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
8894         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
8895         * m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
8896         AC_DEFUN_ONCE.
8897         (AC_CHECK_DECL): Invoke, not require, it.
8899 2020-01-10  Bruno Haible  <bruno@clisp.org>
8901         c32snrtombs: Add tests.
8902         * tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
8903         * tests/test-c32snrtombs-1.sh: New file, based on
8904         tests/test-wcsnrtombs1.sh.
8905         * tests/test-c32snrtombs-2.sh: New file, based on
8906         tests/test-wcsnrtombs2.sh.
8907         * tests/test-c32snrtombs-3.sh: New file, based on
8908         tests/test-wcsnrtombs3.sh.
8909         * tests/test-c32snrtombs-4.sh: New file, based on
8910         tests/test-wcsnrtombs4.sh.
8911         * modules/c32snrtombs-tests: New file, based on
8912         modules/wcsnrtombs-tests.
8914         c32snrtombs: New module.
8915         * lib/uchar.in.h (c32snrtombs): New declaration.
8916         * lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8917         INTERNAL_STATE, WCRTOMB.
8918         * lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8919         * lib/c32snrtombs.c: New file.
8920         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
8921         * modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
8922         * modules/c32snrtombs: New file.
8923         * tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
8924         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
8926 2020-01-09  Bruno Haible  <bruno@clisp.org>
8928         c32srtombs: Add tests.
8929         * tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
8930         * tests/test-c32srtombs-1.sh: New file, based on
8931         tests/test-wcsrtombs1.sh.
8932         * tests/test-c32srtombs-2.sh: New file, based on
8933         tests/test-wcsrtombs2.sh.
8934         * tests/test-c32srtombs-3.sh: New file, based on
8935         tests/test-wcsrtombs3.sh.
8936         * tests/test-c32srtombs-4.sh: New file, based on
8937         tests/test-wcsrtombs4.sh.
8938         * modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.
8940         c32srtombs: New module.
8941         * lib/uchar.in.h (c32srtombs): New declaration.
8942         * lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
8943         INTERNAL_STATE, WCRTOMB.
8944         * lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
8945         * lib/c32srtombs.c: New file.
8946         * lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
8947         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
8948         * modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
8949         * modules/c32srtombs: New file.
8950         * tests/test-uchar-c++.cc: Test the signature of c32srtombs.
8951         * doc/posix-functions/wcsrtombs.texi: Mention the new module.
8953 2020-01-08  Bruno Haible  <bruno@clisp.org>
8955         c32tob: Make consistent with mbrtoc32.
8956         * lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
8957         (c32tob): If the char32_t encoding and the wchar_t encoding may differ,
8958         use c32rtomb, not wctob.
8959         * modules/c32tob (Files): Add m4/mbrtoc32.m4.
8960         (Depends-on): Add c32rtomb.
8961         (configure.ac): Require gl_MBRTOC32_SANITYCHECK.
8963 2020-01-08  Bruno Haible  <bruno@clisp.org>
8965         c32rtomb: Add tests.
8966         * tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
8967         * tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
8968         * tests/test-c32rtomb-w32.c: New file, based on
8969         tests/test-wcrtomb-w32.c.
8970         * tests/test-c32rtomb-w32-1.sh: New file, based on
8971         tests/test-wcrtomb-w32-1.sh.
8972         * tests/test-c32rtomb-w32-2.sh: New file, based on
8973         tests/test-wcrtomb-w32-2.sh.
8974         * tests/test-c32rtomb-w32-3.sh: New file, based on
8975         tests/test-wcrtomb-w32-3.sh.
8976         * tests/test-c32rtomb-w32-4.sh: New file, based on
8977         tests/test-wcrtomb-w32-4.sh.
8978         * tests/test-c32rtomb-w32-5.sh: New file, based on
8979         tests/test-wcrtomb-w32-5.sh.
8980         * tests/test-c32rtomb-w32-6.sh: New file, based on
8981         tests/test-wcrtomb-w32-6.sh.
8982         * tests/test-c32rtomb-w32-7.sh: New file, based on
8983         tests/test-wcrtomb-w32-7.sh.
8984         * modules/c32rtomb-tests: New file.
8986         c32rtomb: New module.
8987         * lib/uchar.in.h (c32rtomb): New declaration.
8988         * lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
8989         * m4/c32rtomb.m4: New file.
8990         * m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
8991         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
8992         REPLACE_C32RTOMB.
8993         * modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
8994         HAVE_C32RTOMB, REPLACE_C32RTOMB.
8995         * modules/c32rtomb: New file.
8996         * tests/test-uchar-c++.cc: Test the signature of c32rtomb.
8997         * doc/posix-functions/c32rtomb.texi: Document the new module.
8998         * doc/posix-functions/wcrtomb.texi: Mention the new module.
9000 2020-01-08  Bruno Haible  <bruno@clisp.org>
9002         mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
9003         * m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
9004         (gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
9005         but is not working.
9006         * lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
9007         (mbrtoc32): If the char32_t encoding and the wchar_t encoding may
9008         differ, use the system's mbrtoc32, adding workarounds.
9009         * modules/mbrtoc32 (Depends-on): Add hard-locale.
9010         * doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
9011         Windows problem.
9012         * lib/btoc32.c: Include <stdio.h>, <string.h>.
9013         (btoc32): If the char32_t encoding and the wchar_t encoding may differ,
9014         use mbrtoc32, not btowc.
9015         * modules/btoc32 (Depends-on): Add mbrtoc32.
9016         * lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
9017         wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
9018         * modules/mbsrtoc32s (Depends-on): Update conditions.
9019         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9020         * lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
9021         wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
9022         * modules/mbsnrtoc32s (Depends-on): Update conditions.
9023         (configure.ac): Compile mbsrtoc32s-state.c unconditionally.
9025 2020-01-07  Bruno Haible  <bruno@clisp.org>
9027         wcrtomb: Make multithread-safe, except possibly on IRIX.
9028         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
9029         REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
9030         WCRTOMB_RETVAL_BUG.
9031         * lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
9032         wctomb only on IRIX.
9034 2020-01-05  Jim Meyering  <meyering@fb.com>
9036         tests: skip thread-using tests when threading is disabled
9037         sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
9038         thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
9039         of those, so they are skipped in this case.
9040         * tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
9041         * tests/test-setlocale_null-mt-all.c (main): Likewise.
9042         * tests/test-setlocale_null-mt-one.c (main): Likewise.
9044 2020-01-05  Bruno Haible  <bruno@clisp.org>
9046         tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
9047         Reported by Jim Meyering in
9048         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
9049         * lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
9050         (GNULIB_defined_ptsname_r): New macro.
9051         * tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
9052         (main): Disable the NULL argument test if canonicalize_file_name does
9053         not come from gnulib.
9054         * tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
9055         (main): Disable the NULL argument test if canonicalize_file_name does
9056         not come from gnulib.
9057         * tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
9058         (test_errors): Disable the NULL argument test if ptsname_r does not come
9059         from gnulib.
9061 2020-01-04  Jim Meyering  <meyering@fb.com>
9063         update-copyright: reenable its always-skipped test
9064         * tests/test-update-copyright.sh: Restore the "-pi" options removed
9065         on 2019-06-15. Without those, an internal preliminary test would
9066         fail, causing this test always to be skipped.
9067         Verify that the test is now run and passes via this:
9068           ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright
9070 2020-01-05  Bruno Haible  <bruno@clisp.org>
9072         mbstoc32s: Add tests.
9073         * tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
9074         * tests/test-mbstoc32s-1.sh: New file, based on
9075         tests/test-mbsrtoc32s-1.sh.
9076         * tests/test-mbstoc32s-2.sh: New file, based on
9077         tests/test-mbsrtoc32s-2.sh.
9078         * tests/test-mbstoc32s-3.sh: New file, based on
9079         tests/test-mbsrtoc32s-3.sh.
9080         * tests/test-mbstoc32s-4.sh: New file, based on
9081         tests/test-mbsrtoc32s-4.sh.
9082         * modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.
9084         mbstoc32s: New module.
9085         * lib/uchar.in.h (mbstoc32s): New declaration.
9086         * lib/mbstoc32s.c: New file.
9087         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
9088         * modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
9089         * modules/mbstoc32s: New file.
9090         * tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
9091         * doc/posix-functions/mbstowcs.texi: Mention the new module.
9093 2020-01-05  Bruno Haible  <bruno@clisp.org>
9095         Tweak recently added tests.
9096         * tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
9097         * tests/test-mbsrtoc32s.c: Likewise.
9098         * tests/test-mbsnrtoc32s.c: Likewise.
9100 2020-01-04  Bruno Haible  <bruno@clisp.org>
9102         mbsnrtoc32s: Add tests.
9103         * tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
9104         * tests/test-mbsnrtoc32s-1.sh: New file, based on
9105         tests/test-mbsnrtowcs1.sh.
9106         * tests/test-mbsnrtoc32s-2.sh: New file, based on
9107         tests/test-mbsnrtowcs2.sh.
9108         * tests/test-mbsnrtoc32s-3.sh: New file, based on
9109         tests/test-mbsnrtowcs3.sh.
9110         * tests/test-mbsnrtoc32s-4.sh: New file, based on
9111         tests/test-mbsnrtowcs4.sh.
9112         * modules/mbsnrtoc32s-tests: New file, based on
9113         modules/mbsnrtowcs-tests.
9115         mbsnrtoc32s: New module.
9116         * lib/uchar.in.h (mbsnrtoc32s): New declaration.
9117         * lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9118         INTERNAL_STATE, MBRTOWC.
9119         * lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9120         * lib/mbsnrtoc32s.c: New file.
9121         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
9122         * modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
9123         * modules/mbsnrtoc32s: New file.
9124         * tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
9125         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module.
9127 2020-01-04  Bruno Haible  <bruno@clisp.org>
9129         mbsrtoc32s tests: Enhance test.
9130         * tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
9131         test strings for UTF-8 and GB18030.
9133 2020-01-04  Bruno Haible  <bruno@clisp.org>
9135         mbsrtoc32s: Fix bug.
9136         * modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
9137         that SMALL_WCHAR_T is defined.
9139 2020-01-04  Bruno Haible  <bruno@clisp.org>
9141         mbsrtoc32s: Add tests.
9142         * tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
9143         * tests/test-mbsrtoc32s-1.sh: New file, based on
9144         tests/test-mbsrtowcs1.sh.
9145         * tests/test-mbsrtoc32s-2.sh: New file, based on
9146         tests/test-mbsrtowcs2.sh.
9147         * tests/test-mbsrtoc32s-3.sh: New file, based on
9148         tests/test-mbsrtowcs3.sh.
9149         * tests/test-mbsrtoc32s-4.sh: New file, based on
9150         tests/test-mbsrtowcs4.sh.
9151         * modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.
9153         mbsrtoc32s: New module.
9154         * lib/uchar.in.h (mbsrtoc32s): New declaration.
9155         * lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
9156         INTERNAL_STATE, MBRTOWC.
9157         * lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
9158         * lib/mbsrtoc32s.c: New file.
9159         * lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
9160         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
9161         * modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
9162         * modules/mbsrtoc32s: New file.
9163         * tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
9164         * doc/posix-functions/mbsrtowcs.texi: Mention the new module.
9166 2020-01-04  Bruno Haible  <bruno@clisp.org>
9168         mbrtowc, mbrtoc32: Tighten dependendies.
9169         * modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
9170         REPLACE_MBSTATE_T is 1.
9171         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9172         REPLACE_MBSTATE_T is 0.
9173         * modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
9174         mbrtowc dependency if REPLACE_MBSTATE_T is 1.
9175         (configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
9176         REPLACE_MBSTATE_T is 0.
9178 2020-01-04  Bruno Haible  <bruno@clisp.org>
9180         uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
9181         * m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
9182         * modules/uchar (Files): Add stdint.m4.
9183         (Makefile.am): Substitute SMALL_WCHAR_T.
9184         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.
9186 2020-01-04  Bruno Haible  <bruno@clisp.org>
9188         Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
9189         Reported by Martin Storsjö <martin@martin.st> in
9190         <https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
9191         * m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
9192         New macros.
9193         (_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.
9195 2020-01-04  Bruno Haible  <bruno@clisp.org>
9197         btoc32: Add tests.
9198         * tests/test-btoc32.c: New file, based on tests/test-btowc.c.
9199         * tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
9200         * tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
9201         * modules/btoc32-tests: New file, based on modules/btowc-tests.
9203         btoc32: New module.
9204         * lib/uchar.in.h (btoc32): New declaration.
9205         * lib/btoc32.c: New file.
9206         * m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
9207         * modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
9208         * modules/btoc32: New file.
9209         * tests/test-uchar-c++.cc: Test the signature of btoc32.
9210         * doc/posix-functions/btowc.texi: Mention the new module.
9212 2020-01-03  Bruno Haible  <bruno@clisp.org>
9214         uchar tests: Avoid compilation error with HP cc.
9215         * tests/test-uchar.c: Disable a test when HP cc is in use.
9217 2020-01-03  Bruno Haible  <bruno@clisp.org>
9219         mbrtoc32: Add tests.
9220         * tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
9221         * tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
9222         * tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
9223         * tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
9224         * tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
9225         * tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
9226         * tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
9227         * tests/test-mbrtoc32-w32-1.sh: New file, based on
9228         tests/test-mbrtowc-w32-1.sh.
9229         * tests/test-mbrtoc32-w32-2.sh: New file, based on
9230         tests/test-mbrtowc-w32-2.sh.
9231         * tests/test-mbrtoc32-w32-3.sh: New file, based on
9232         tests/test-mbrtowc-w32-3.sh.
9233         * tests/test-mbrtoc32-w32-4.sh: New file, based on
9234         tests/test-mbrtowc-w32-4.sh.
9235         * tests/test-mbrtoc32-w32-5.sh: New file, based on
9236         tests/test-mbrtowc-w32-5.sh.
9237         * tests/test-mbrtoc32-w32-6.sh: New file, based on
9238         tests/test-mbrtowc-w32-6.sh.
9239         * tests/test-mbrtoc32-w32-7.sh: New file, based on
9240         tests/test-mbrtowc-w32-7.sh.
9241         * modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.
9243         mbrtoc32: New module.
9244         * lib/uchar.in.h (mbrtoc32): New declaration.
9245         * lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
9246         * m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
9247         * m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
9248         (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
9249         REPLACE_MBRTOC32.
9250         * modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
9251         HAVE_MBRTOC32, REPLACE_MBRTOC32.
9252         * modules/mbrtoc32: New file, based on modules/mbrtowc.
9253         * tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
9254         * modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
9255         $(LIB_MBRTOWC).
9256         * doc/posix-functions/mbrtoc32.texi: Document the new module.
9257         * doc/posix-functions/mbrtowc.texi: Mention the new module.
9259 2020-01-03  Bruno Haible  <bruno@clisp.org>
9261         mbrtowc: Refactor to share code with mbrtoc32.
9262         * lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
9263         * lib/mbrtowc-impl-utf8.h: Likewise.
9264         * lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
9265         mbrtowc-impl.h.
9266         * modules/mbrtowc (Files): Add the new files.
9268 2020-01-03  Jim Meyering  <meyering@fb.com>
9270         doc: fix time.texi wording
9271         * doc/posix-headers/time.texi (time.h): Typo.
9273 2020-01-03  Bruno Haible  <bruno@clisp.org>
9275         mbrtowc: Refactor locale charset dispatching.
9276         * lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
9277         * lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
9278         * lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
9279         localcharset.h, streq.h.
9280         (enc_t): Remove type.
9281         (locale_enc): Remove function.
9282         (cached_locale_enc): Remove variable.
9283         (locale_enc_cached): Remove function.
9284         (mbrtowc): Invoke locale_encoding_classification.
9285         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
9286         * modules/mbrtowc (Files): Add lc-charset-dispatch.h,
9287         lc-charset-dispatch.c.
9288         (configure.ac): Arrange to compile lc-charset-dispatch.c.
9290 2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>
9292         doc: mention 32-bit time_t issue
9293         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9294         * doc/posix-headers/time.texi (time.h): Mention 2038.
9296 2020-01-03  Bruno Haible  <bruno@clisp.org>
9298         mbrtowc: Ensure the mbtowc_lock is unique.
9299         * lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
9300         * lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
9301         lib/setlocale_null.c.
9302         * lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
9303         glthread/lock.h. Include mbtowc-lock.h.
9304         (mbtowc_lock): Remove declaration.
9305         (mbrtowc): Use mbtowc_with_lock.
9306         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
9307         threads.h. Set LIB_MBRTOWC.
9308         (gl_PREREQ_MBTOWC_LOCK): New macro.
9309         * modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
9310         lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
9311         (Depends-on): Remove lock.
9312         (configure.ac): Arrange to compile mbtowc-lock.c.
9313         (Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
9314         * modules/acl (Link): Likewise.
9315         * modules/argmatch (Link): Likewise.
9316         * modules/backup-rename (Link): Likewise.
9317         * modules/backupfile (Link): Likewise.
9318         * modules/closein (Link): Likewise.
9319         * modules/closeout (Link): Likewise.
9320         * modules/copy-file (Link): Likewise.
9321         * modules/csharpcomp (Link): Likewise.
9322         * modules/csharpexec (Link): Likewise.
9323         * modules/dfa (Link): Likewise.
9324         * modules/exclude (Link): Likewise.
9325         * modules/fnmatch (Link): Likewise.
9326         * modules/fnmatch-gnu (Link): Likewise.
9327         * modules/fnmatch-posix (Link): Likewise.
9328         * modules/glob (Link): Likewise.
9329         * modules/human (Link): Likewise.
9330         * modules/javacomp (Link): Likewise.
9331         * modules/javaexec (Link): Likewise.
9332         * modules/javaversion (Link): Likewise.
9333         * modules/mbfile (Link): Likewise.
9334         * modules/mbiter (Link): Likewise.
9335         * modules/mbmemcasecmp (Link): Likewise.
9336         * modules/mbmemcasecoll (Link): Likewise.
9337         * modules/mbrlen (Link): Likewise.
9338         * modules/mbscasecmp (Link): Likewise.
9339         * modules/mbscasestr (Link): Likewise.
9340         * modules/mbschr (Link): Likewise.
9341         * modules/mbscspn (Link): Likewise.
9342         * modules/mbsinit (Link): Likewise.
9343         * modules/mbslen (Link): Likewise.
9344         * modules/mbsncasecmp (Link): Likewise.
9345         * modules/mbsnlen (Link): Likewise.
9346         * modules/mbsnrtowcs (Link): Likewise.
9347         * modules/mbspbrk (Link): Likewise.
9348         * modules/mbspcasecmp (Link): Likewise.
9349         * modules/mbsrchr (Link): Likewise.
9350         * modules/mbsrtowcs (Link): Likewise.
9351         * modules/mbssep (Link): Likewise.
9352         * modules/mbsspn (Link): Likewise.
9353         * modules/mbsstr (Link): Likewise.
9354         * modules/mbstok_r (Link): Likewise.
9355         * modules/mbswidth (Link): Likewise.
9356         * modules/mbuiter (Link): Likewise.
9357         * modules/mkdir-p (Link): Likewise.
9358         * modules/propername (Link): Likewise.
9359         * modules/quote (Link): Likewise.
9360         * modules/quotearg (Link): Likewise.
9361         * modules/quotearg-simple (Link): Likewise.
9362         * modules/regex-quote (Link): Likewise.
9363         * modules/rpmatch (Link): Likewise.
9364         * modules/sh-quote (Link): Likewise.
9365         * modules/system-quote (Link): Likewise.
9366         * modules/trim (Link): Likewise.
9367         * modules/unistdio/ulc-asnprintf (Link): Likewise.
9368         * modules/unistdio/ulc-fprintf (Link): Likewise.
9369         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
9370         * modules/unistdio/ulc-vasprintf (Link): Likewise.
9371         * modules/unistdio/ulc-vfprintf (Link): Likewise.
9372         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
9373         * modules/unistdio/ulc-vsprintf (Link): Likewise.
9374         * modules/xfreopen (Link): Likewise.
9375         * modules/xmemcoll (Link): Likewise.
9376         * modules/yesno (Link): Likewise.
9377         * modules/regex (Link): Add $(LIB_MBRTOWC).
9378         * modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
9379         instead of $(LIBTHREAD).
9380         * modules/argmatch-tests (Makefile.am): Likewise.
9381         * modules/closein-tests (Makefile.am): Likewise.
9382         * modules/copy-file-tests (Makefile.am): Likewise.
9383         * modules/dfa-tests (Makefile.am): Likewise.
9384         * modules/fnmatch-tests (Makefile.am): Likewise.
9385         * modules/glob-tests (Makefile.am): Likewise.
9386         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
9387         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
9388         * modules/mbrtowc-tests (Makefile.am): Likewise.
9389         * modules/mbscasecmp-tests (Makefile.am): Likewise.
9390         * modules/mbscasestr-tests (Makefile.am): Likewise.
9391         * modules/mbschr-tests (Makefile.am): Likewise.
9392         * modules/mbscspn-tests (Makefile.am): Likewise.
9393         * modules/mbsinit-tests (Makefile.am): Likewise.
9394         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
9395         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
9396         * modules/mbspbrk-tests (Makefile.am): Likewise.
9397         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
9398         * modules/mbsrchr-tests (Makefile.am): Likewise.
9399         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
9400         * modules/mbsspn-tests (Makefile.am): Likewise.
9401         * modules/mbsstr-tests (Makefile.am): Likewise.
9402         * modules/quotearg-simple-tests (Makefile.am): Likewise.
9403         * modules/quotearg-tests (Makefile.am): Likewise.
9404         * modules/readtokens-tests (Makefile.am): Likewise.
9405         * modules/sh-quote-tests (Makefile.am): Likewise.
9406         * modules/system-quote-tests (Makefile.am): Likewise.
9407         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
9408         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
9409         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
9410         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
9411         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
9412         * modules/yesno-tests (Makefile.am): Likewise.
9413         * modules/exclude-tests (Makefile.am): Link the programs with
9414         $(LIB_MBRTOWC).
9415         * modules/regex-tests (Makefile.am): Likewise.
9416         * modules/regex-quote-tests (Makefile.am): Likewise.
9418 2020-01-03  Bruno Haible  <bruno@clisp.org>
9420         getopt-posix: Fix compilation failure in testdirs.
9421         * lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
9422         when the gnulib module 'getopt-posix' is enabled.
9423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
9424         * modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
9425         module indicator.
9426         * modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.
9428 2020-01-03  Bruno Haible  <bruno@clisp.org>
9430         doc: Mention the 64-bit inode number problem.
9431         * m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
9432         64-bit inode number problem.
9433         * doc/posix-functions/stat.texi: Mention that this module fixes the
9434         64-bit inode number problem.
9435         * doc/posix-functions/lstat.texi: Likewise.
9436         * doc/posix-functions/fstat.texi: Likewise.
9437         * doc/posix-functions/readdir.texi: Add more details.
9438         * doc/posix-functions/readdir_r.texi: Likewise.
9440 2020-01-02  Bruno Haible  <bruno@clisp.org>
9442         wcrtomb: Add more tests.
9443         * tests/test-wcrtomb-w32.c: Include localcharset.h.
9444         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9445         locale_charset() returns the expected value; otherwise, skip the test.
9446         * tests/test-wcrtomb-w32-6.sh: Remove old comment.
9447         * tests/test-wcrtomb-w32-7.sh: Likewise.
9448         * modules/wcrtomb-tests (Files): Add these files.
9449         (Depends-on): Add localcharset.
9450         (TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.
9452 2020-01-02  Bruno Haible  <bruno@clisp.org>
9454         mbrtowc: Add more tests.
9455         * tests/test-mbrtowc-w32.c: Include localcharset.h.
9456         (test_one_locale): For the GB18030 and UTF-8 tests, verify that
9457         locale_charset() returns the expected value; otherwise, skip the test.
9458         * tests/test-mbrtowc-w32-6.sh: Remove old comment.
9459         * tests/test-mbrtowc-w32-7.sh: Likewise.
9460         * modules/mbrtowc-tests (Files): Add these files.
9461         (Depends-on): Add localcharset.
9462         (TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.
9464 2020-01-02  Bruno Haible  <bruno@clisp.org>
9466         mbrtowc: Fix test failures on MSVC (regression by previous commit).
9467         * m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
9468         (gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
9469         * lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
9470         MBRTOWC_STORES_INCOMPLETE_BUG.
9471         * doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.
9473 2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>
9475         doc: mention glibc bug 24269
9476         * doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
9477         Reformat slightly so that it looks nicer in the Grep manual.
9479 2020-01-02  Bruno Haible  <bruno@clisp.org>
9481         mbrtowc: Don't replace mbstate_t on MSVC.
9482         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
9483         a missing mbsinit function on native Windows.
9484         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
9485         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
9486         MSVC bug.
9487         * doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.
9489 2020-01-02  Bruno Haible  <bruno@clisp.org>
9491         setlocale-null: Avoid crashing the MSVC linker.
9492         * lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
9493         MSVC.
9495 2020-01-02  Bruno Haible  <bruno@clisp.org>
9497         wchar: Make the HP-UX workaround work on HP-UX 11.31.
9498         * modules/wchar (Depends-on): Add inttypes-incomplete.
9499         * lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
9500         * lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
9501         of strtoimax.
9503 2020-01-02  Bruno Haible  <bruno@clisp.org>
9505         mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
9506         * lib/mbrtowc.c: Include <stdint.h>.
9507         * modules/mbrtowc (Depends-on): Add stdint.
9509 2020-01-01  Pádraig Brady  <P@draigBrady.com>
9511         md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
9512         * m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
9513         which will auto enable use of openssl, only for >= version 3,
9514         which is newly licensed under the Apache Software License.
9516 2020-01-01  Bruno Haible  <bruno@clisp.org>
9518         mbrtowc: Include function name in macro names.
9519         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
9520         MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
9521         (gl_MBRTOWC_C_LOCALE): Change cache variable name to
9522         gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
9523         * lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
9524         C_LOCALE_MAYBE_EILSEQ.
9526 2020-01-01  Bruno Haible  <bruno@clisp.org>
9528         c32tob: New module.
9529         * lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
9530         (c32tob): New declaration.
9531         * lib/c32tob.c: New file.
9532         * m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
9533         macros.
9534         (gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
9535         * modules/uchar (Depends-on): Add snippet/c++defs.
9536         (Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
9537         uchar.h.
9538         * modules/c32tob: New file.
9539         * tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
9540         defined.
9541         * tests/test-uchar-c++.cc: Include signature.h. Test the signature of
9542         c32tob.
9543         * modules/uchar-c++-tests (Files): Add tests/signature.h.
9544         * doc/posix-functions/wctob.texi: Mention the new module.
9546 2020-01-01  Bruno Haible  <bruno@clisp.org>
9548         locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
9549         * modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
9550         $(LIB_SETLOCALE).
9552 2020-01-01  Bruno Haible  <bruno@clisp.org>
9554         hard-locale tests: Fix a conflict with the C++ tests.
9555         * modules/hard-locale-tests (Makefile.am): Build a program named
9556         'current-locale', not 'locale'.
9558 2020-01-01  Bruno Haible  <bruno@clisp.org>
9560         doc: Update documentation about wchar_t.
9561         * doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
9562         wchar_t type.
9564 2020-01-01  Bruno Haible  <bruno@clisp.org>
9566         mbrtowc tests: Fix typos.
9567         * tests/test-mbrtowc.c (main): Fix typo.
9568         * tests/test-mbrtowc-w32.c (test_one_locale): Likewise.
9570 2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9572         maint: update copyright notices
9573         Before doing the following changes done by hand, I also ran ‘make
9574         update-copyright’ and ‘config/srclist-update <config/srclist.txt’
9575         to do most of the copyright years automatically.  A few upstream
9576         sources are still in 2019 but these should eventually be changed
9577         automatically too.
9578         * build-aux/declared.sh (func_version):
9579         * build-aux/libtool-next-version (func_version):
9580         * build-aux/run-test (func_version):
9581         Update these notices by hand.  Put just the last year
9582         in output of programs, as per GNU coding standards.
9584 2019-12-31  Bruno Haible  <bruno@clisp.org>
9586         uchar: Add C++ tests.
9587         * tests/test-uchar-c++.cc: New file.
9588         * tests/test-uchar-c++2.cc: New file.
9589         * modules/uchar-c++-tests: New file.
9591         uchar: Add tests.
9592         * tests/test-uchar.c: New file.
9593         * modules/uchar-tests: New file.
9595         uchar: New module.
9596         * lib/uchar.in.h: New file.
9597         * m4/uchar.m4: New file.
9598         * modules/uchar: New file.
9599         * doc/posix-headers/uchar.texi: Mention the new module.
9601 2019-12-30  Jim Meyering  <meyering@fb.com>
9603         localeinfo: ->simple would be wrong for LC_ALL=C
9604         That would lead to using unnecessary and expensive code paths in dfa.c.
9605         * lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
9606         error that would have made grep many times slower in the C locale.
9607         With this change, and a file created like this:
9608           yes 00 | head -10000000 > in
9609         Running grep as follows becomes more than 40 times faster:
9610           LC_ALL=C grep -Fw 0 in
9612 2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>
9614         doc: document trouble with back-references
9615         * doc/regex.texi (Back-reference Operator): Mention bugs etc.
9617 2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>
9619         doc: use “back-reference” for \1 etc.
9620         * doc/regex.texi: Consistently spell “back-reference” with
9621         a hyphen, since that’s how POSIX does it.
9623 2019-12-26  Jim Meyering  <meyering@fb.com>
9625         test-framework-sh: tighten an internal grep regexp
9626         * tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
9627         that helps test for a working printf.
9629 2019-12-26  Bruno Haible  <bruno@clisp.org>
9631         test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
9632         Reported by Paul Eggert in
9633         <https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
9634         Simplification by Jim Meyering.
9635         * tests/init.sh (gl_shell_test_script_): Add a test of printf of an
9636         octal escape sequence in a UTF-8 locale.
9638 2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>
9640         mbrtowc: port better to narrow-wchar_t platforms
9641         * lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
9642         wchar_t is too narrow to represent all the Unicode characters,
9643         consider a byte sequence for an out-of-wchar_t-range character to
9644         be an encoding error.  This fixes grep’s surrogate-pair test
9645         failure on AIX 7.2.
9647 2019-12-24  Bruno Haible  <bruno@clisp.org>
9649         localcharset: Avoid referencing rpl_setlocale on native Windows.
9650         * lib/localcharset.c (setlocale): Undefine.
9652 2019-12-24  Bruno Haible  <bruno@clisp.org>
9654         lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
9655         * m4/semaphore.m4: New file.
9656         * modules/lock-tests (Files): Add it.
9657         (configure.ac): Require gl_SEMAPHORE.
9658         (Makefile.am): Link test-lock with $(LIB_SEMAPHORE).
9660 2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>
9662         strptime: fix typo in previous patch
9663         Problem and fix reported by Bruno Haible in:
9664         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
9665         * lib/strptime.c (day_of_the_week): Fix paren bug.
9667 2019-12-24  Bruno Haible  <bruno@clisp.org>
9669         setlocale-null: Make it easy to rely on the lock in another library.
9670         * lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
9671         defined.
9673 2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>
9675         gethrxtime, mktime, nstrftime, strptime: tweak division performance
9676         Performanced analyzed by Bruno Haible in:
9677         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
9678         * config/srclist.txt: Do not sync mktime.c for now.
9679         * lib/mktime.c (shr, ydhms_diff):
9680         * lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
9681         * lib/strptime.c (day_of_the_week):
9682         * lib/xtime.h (xtime_sec):
9683         Redo with neither ‘%’ nor conditional branches.
9685 2019-12-23  Bruno Haible  <bruno@clisp.org>
9687         setlocale-null: Export the lock function also on non-Windows platforms.
9688         * lib/setlocale-lock.c (DLL_EXPORTED): New macro.
9689         (gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
9690         * m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
9691         * modules/setlocale-null (configure.ac): Invoke it.
9692         (Files): Add m4/visibility.m4.
9694 2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>
9696         gethrxtime: fix rounding bug with negative args
9697         Problem reported by Bruno Haible in:
9698         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
9699         * lib/xtime.h (xtime_sec): Simplify calculation and correct bug
9700         with negative rounding.  Common platforms can compute / and % with
9701         a single instruction, so the simplified code should be shorter and
9702         faster on these platforms anyway.
9704 2019-12-22  Bruno Haible  <bruno@clisp.org>
9706         gethrxtime: remove incorrect overflow detection
9707         * lib/xtime.h (xtime_make): Remove attempt to prevent internal
9708         integer overflow, as it didn’t suffice.  This reverts the xtime.h
9709         part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
9710         cannot now see the need for anyway (even in cases where it works),
9711         as the patch is helpful only when the signs of S and NS disagree,
9712         and all callers pass nonnegative values for S and NS.
9714 2019-12-22  Bruno Haible  <bruno@clisp.org>
9716         setlocale-null: Add standalone include file.
9717         * lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
9718         * lib/locale.in.h: Include setlocale_null.h.
9719         (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
9720         setlocale_null): Remove declarations.
9721         * lib/setlocale_null.c: Include setlocale_null.h.
9722         * lib/localename.c: Likewise.
9723         * modules/setlocale-null (Files): Add lib/setlocale_null.h.
9724         (Depends-on): Add snippet/arg-nonnull.
9725         (Include): Allow either "setlocale_null.h" or <locale.h>.
9727 2019-12-22  Bruno Haible  <bruno@clisp.org>
9729         strfmon_l: Fix test failures on FreeBSD and Cygwin.
9730         * m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
9731         AC_RUN_IFELSE test.
9732         * modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
9733         * doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
9734         problem.
9736 2019-12-22  Bruno Haible  <bruno@clisp.org>
9738         Prefer lib_SOURCES to unconditional AC_LIBOBJ.
9739         * modules/at-internal: Prefer a lib_SOURCES augmentation to an
9740         unconditional AC_LIBOBJ.
9741         * modules/selinux-at: Likewise.
9742         * modules/xmemdup0: Likewise.
9743         * modules/xstrtoll: Likewise.
9745 2019-12-22  Bruno Haible  <bruno@clisp.org>
9747         longlong: Mark module obsolete.
9748         * modules/longlong (Status, Notice): New sections.
9750         stdint: Assume that the compiler supports 'long long'.
9751         * lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
9752         UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
9753         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9754         * m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
9755         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9756         * modules/stdint (Files): Remove longlong.m4.
9757         (Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
9758         HAVE_UNSIGNED_LONG_LONG_INT.
9760         inttypes-incomplete: Assume that the compiler supports 'long long'.
9761         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
9762         _SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
9763         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9764         * m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
9765         HAVE_LONG_LONG_INT to be 1.
9766         * modules/inttypes-incomplete (Makefile.am): Don't substitute
9767         HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.
9769         malloca: Assume that the compiler supports 'long long'.
9770         * lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
9771         * m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
9772         * modules/malloca (Files): Remove longlong.m4.
9773         * modules/relocatable-prog-wrapper (Files): Likewise.
9775         atoll: Assume that the compiler supports 'long long'.
9776         * m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
9777         * modules/atoll (Files): Remove longlong.m4.
9779         strtoll: Assume that the compiler supports 'long long'.
9780         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
9781         * modules/strtoll (Files): Remove longlong.m4.
9783         strtoull: Assume that the compiler supports 'long long'.
9784         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
9785         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9786         * modules/strtoull (Files): Remove longlong.m4.
9788         strtoimax, strtoumax: Assume that the compiler supports 'long long'.
9789         * lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
9790         HAVE_UNSIGNED_LONG_LONG_INT to be 1.
9791         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
9792         AC_TYPE_LONG_LONG_INT.
9793         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
9794         AC_TYPE_UNSIGNED_LONG_LONG_INT.
9795         * modules/strtoimax (Files): Remove longlong.m4.
9796         * modules/strtoumax (Files): Likewise.
9798         xstrtoll: Assume that the compiler supports 'long long'.
9799         * lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
9800         * modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.
9802         vasnprintf: Assume that the compiler supports 'long long'.
9803         * lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
9804         * lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
9805         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
9806         * lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
9807         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
9808         require AC_TYPE_LONG_LONG_INT.
9809         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
9810         gl_PREREQ_VASNPRINTF): Likewise.
9811         * modules/vasnprintf (Files): Remove longlong.m4.
9812         * modules/c-vasnprintf (Files): Likewise.
9813         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9814         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9815         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9816         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9817         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9818         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9819         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9821         gethrxtime: Assume that the compiler supports 'long long'.
9822         * lib/xtime.h (xtime_t): Define to 'long long int' always.
9823         (XTIME_PRECISION): Define to 1000000000 always.
9824         (xtime_make, xtime_sec): Optimize accordingly.
9825         * m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
9826         * modules/gethrxtime (Files): Remove longlong.m4.
9828         integer_length*: Assume that the compiler supports 'long long'.
9829         * lib/integer_length.h (integer_length_ll): Declare unconditionally.
9830         * modules/integer_length (Files): Remove longlong.m4.
9831         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9832         * modules/integer_length_l (Files): Remove longlong.m4.
9833         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9834         * modules/integer_length_ll (Files): Remove longlong.m4.
9835         (configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
9837         count-one-bits: Assume that the compiler supports 'long long'.
9838         * lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
9839         * m4/count-one-bits.m4: Remove file.
9840         * modules/count-one-bits (Files): Remove it.
9841         (configure.ac): Don't invoke gl_COUNT_ONE_BITS.
9842         * tests/test-count-one-bits.c (main): Test count_one_bits_ll
9843         unconditionally.
9845         count-trailing-zeros: Assume that the compiler supports 'long long'.
9846         * lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
9847         unconditionally.
9848         * m4/count-trailing-zeros.m4: Remove file.
9849         * modules/count-trailing-zeros (Files): Remove it.
9850         (configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
9851         * tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
9852         unconditionally.
9854         count-leading-zeros: Assume that the compiler supports 'long long'.
9855         * lib/count-leading-zeros.h (count_leading_zeros_ll): Define
9856         unconditionally.
9857         * m4/count-leading-zeros.m4: Remove file.
9858         * modules/count-leading-zeros (Files): Remove it.
9859         (configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
9860         * tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
9861         unconditionally.
9863 2019-12-22  Bruno Haible  <bruno@clisp.org>
9865         localcharset: Update support for OpenBSD.
9866         * lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".
9868 2019-12-21  Bruno Haible  <bruno@clisp.org>
9870         pthread_sigmask: Avoid test failure on NetBSD 8.0.
9871         * tests/test-pthread_sigmask2.c (main): Skip the error handling test on
9872         NetBSD.
9873         * doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.
9875 2019-12-21  Bruno Haible  <bruno@clisp.org>
9877         threadlib: Improve code structure.
9878         * m4/threadlib.m4: Reorder macros. Add comments.
9880 2019-12-21  Bruno Haible  <bruno@clisp.org>
9882         threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
9883         * m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
9884         here from m4/threads.m4).
9885         (gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
9886         in libc. Instead, rely on gl_STDTHREADLIB_BODY.
9887         (gl_STDTHREADLIB): New macro.
9888         * m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
9889         gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.
9891 2019-12-21  Bruno Haible  <bruno@clisp.org>
9893         sched_yield: Don't depend on threadlib and yield.
9894         * m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
9895         LIB_SCHED_YIELD.
9896         (gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
9897         m4/yield.m4).
9898         * m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
9899         gl_THREADLIB and gl_YIELD.
9900         * m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
9901         based on $(LIB_SCHED_YIELD).
9902         * m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
9903         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9904         * modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
9905         (Depends-on): Remove threadlib.
9906         (Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9907         * modules/threads-h (Files): Remove m4/yield.m4.
9908         * modules/pthread-cond-tests (Makefile.am): Link the programs against
9909         $(LIB_SCHED_YIELD), not $(YIELD_LIB).
9910         * modules/pthread-mutex-tests (Makefile.am): Likewise.
9911         * modules/pthread-once-tests (Makefile.am): Likewise.
9912         * modules/pthread-rwlock-tests (Makefile.am): Likewise.
9913         * modules/pthread-tss-tests (Makefile.am): Likewise.
9915 2019-12-21  Bruno Haible  <bruno@clisp.org>
9917         threads-h: Don't depend on threadlib.
9918         * modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
9919         not gl_THREADLIB_EARLY.
9921 2019-12-21  Bruno Haible  <bruno@clisp.org>
9923         nl_langinfo tests: Fix link error (regression from 2019-12-18).
9924         * modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
9925         with $(LIB_SETLOCALE).
9927 2019-12-21  Bruno Haible  <bruno@clisp.org>
9929         threadlib: Remove unused dependency (left over from 2019-07-06).
9930         * modules/threadlib (Depends-on): Remove havelib.
9932 2019-12-21  Bruno Haible  <bruno@clisp.org>
9934         New convention for multithread-safety tests.
9935         * tests/test-setlocale_null-mt-one.c: Renamed from
9936         tests/test-setlocale_null-one.c.
9937         * tests/test-setlocale_null-mt-all.c: Renamed from
9938         tests/test-setlocale_null-all.c.
9939         * modules/setlocale-null-tests (Files, Makefile.am): Update.
9941 2019-12-21  Bruno Haible  <bruno@clisp.org>
9943         quotearg tests: Fix conflict with hard-locale tests.
9944         * tests/testlocale: Renamed from tests/locale.
9945         * modules/quotearg-tests (Files): Update.
9946         * tests/test-quotearg.sh (LOCALEDIR): Likewise.
9948 2019-12-21  Bruno Haible  <bruno@clisp.org>
9950         pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
9951         Reported by Daniel Richard G. in
9952         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
9953         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
9954         * lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
9955         PTHREAD_RWLOCK_INITIALIZER_NP when possible.
9956         * lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
9957         alternative to PTHREAD_RWLOCK_INITIALIZER.
9958         * lib/glthread/lock.c: Likewise.
9960 2019-12-21  Bruno Haible  <bruno@clisp.org>
9962         memcmp tests: Work around the clang bug.
9963         * tests/test-memcmp.c (main): Use a volatile function pointer to disable
9964         the clang optimization.
9966 2019-12-20  Bruno Haible  <bruno@clisp.org>
9968         localcharset: Add support for z/OS encoding names.
9969         * lib/localcharset.h: Mention which encodings are used as locale
9970         encodings on z/OS.
9972 2019-12-20  Bruno Haible  <bruno@clisp.org>
9974         iconv_open: Add support for z/OS encoding names.
9975         Reported by Daniel Richard G. in
9976         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
9977         * lib/iconv_open-zos.gperf: New file.
9978         * modules/iconv_open (Files): Add iconv_open-zos.gperf.
9979         (Makefile.am): Add rules for generating iconv_open-zos.h from it.
9980         * lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
9981         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
9982         * doc/posix-functions/iconv_open.texi: Mention z/OS.
9984 2019-12-20  Bruno Haible  <bruno@clisp.org>
9986         doc: Document the problem of the per-thread locale functions on z/OS.
9987         * doc/posix-functions/uselocale.texi: Document the z/OS problem.
9988         * doc/posix-functions/newlocale.texi: Likewise.
9989         * doc/posix-functions/duplocale.texi: Likewise.
9990         * doc/posix-functions/freelocale.texi: Likewise.
9992 2019-12-20  Bruno Haible  <bruno@clisp.org>
9994         localename, gettext: Fix host_os value for z/OS.
9995         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
9996         cross-configuration code.
9998 2019-12-19  Jim Meyering  <meyering@fb.com>
10000         nstrftime: avoid a shadowing warning
10001         * lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
10002         to avoid shadowing an "i" declared hundreds of lines above.
10004 2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>
10006         dfa: struct dfamust now uses flexible array
10007         * lib/dfa.c: Include flexmember.h.
10008         (dfamust, dfamustfree): Adjust to struct dfamust change.
10009         This saves a call to malloc+free.
10010         * lib/dfa.h (struct dfamust): Make the final member a
10011         flexible array member.
10012         * modules/dfa (Depends-on): Add flexmember.
10014         dfa: fast->small for array elements
10015         * lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
10016         since this type is used in arrays.  This change is more for
10017         documentation than for any practical effect, since the two types
10018         are the same on all known platforms.
10020 2019-12-19  Bruno Haible  <bruno@clisp.org>
10022         iconv tests: Test canonicalized, not system-dependent, encoding names.
10023         * tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
10024         * modules/iconv-tests (Depends-on): Add iconv_open.
10026 2019-12-18  Bruno Haible  <bruno@clisp.org>
10028         localename: Fix test failure on AIX 7.2.
10029         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
10030         locales on AIX.
10031         * lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
10032         locales on AIX.
10034 2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>
10036         Improve port of AC_C_RESTRICT to Oracle C++
10037         Problem reported by Christian Biesinger in:
10038         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
10039         * m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
10040         Oracle Developer Studio C++ 12.5 or later.
10042 2019-12-18  Bruno Haible  <bruno@clisp.org>
10044         wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
10045         * lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.
10047 2019-12-18  Bruno Haible  <bruno@clisp.org>
10049         localename: Ensure multithread-safety in future changes.
10050         * lib/localename.c (setlocale): Reference the system's setlocale().
10051         (get_locale_t_name): Invoke setlocale_null instead of setlocale.
10052         (gl_locale_name_posix): Likewise.
10053         * modules/localename (Depends-on): Add setlocale-null.
10055 2019-12-18  Bruno Haible  <bruno@clisp.org>
10057         setlocale-null: Make API more useful.
10058         * lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
10059         callers changed.
10060         (setlocale_null): New declaration.
10061         * lib/setlocale_null.c (setlocale_null_androidfix): New function,
10062         extracted from setlocale_null_unlocked.
10063         (setlocale_null_unlocked): Invoke it.
10064         (setlocale_null_r): Renamed from setlocale_null.
10065         (setlocale_null): New function, extracted from setlocale_mtsafe in
10066         setlocale.c.
10067         * lib/setlocale.c: Don't include <errno.h>.
10068         (setlocale_mtsafe): Invoke setlocale_null.
10069         * lib/setlocale-lock.c: Update comments.
10070         * doc/posix-functions/setlocale.texi: Mention both functions.
10072 2019-12-18  Bruno Haible  <bruno@clisp.org>
10074         localename: Optimize code for native Windows.
10075         * lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
10076         category (not allowed here).
10078 2019-12-18  Bruno Haible  <bruno@clisp.org>
10080         setlocale: Make calls with NULL argument multithread-safe.
10081         * lib/setlocale.c: Include <errno.h>.
10082         (setlocale_mtsafe): New function.
10083         (setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
10084         (setlocale_improved): Renamed from rpl_setlocale.
10085         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10086         Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
10087         LIB_SETLOCALE.
10088         * modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
10089         (Link): New section.
10090         * tests/locale.c: Undefine setlocale.
10091         * tests/test-setlocale_null-one.c: Likewise.
10092         * tests/test-setlocale_null-all.c: Likewise.
10093         * modules/setlocale-tests (Makefile.am): Link the test programs with
10094         $(LIB_SETLOCALE).
10095         * modules/astrxfrm-tests (Makefile.am): Likewise.
10096         * modules/btowc-tests (Makefile.am): Likewise.
10097         * modules/c-ctype-tests (Makefile.am): Likewise.
10098         * modules/c-snprintf-tests (Makefile.am): Likewise.
10099         * modules/c-strcase-tests (Makefile.am): Likewise.
10100         * modules/c-vasprintf-tests (Makefile.am): Likewise.
10101         * modules/c-vsnprintf-tests (Makefile.am): Likewise.
10102         * modules/c-xvasprintf-tests (Makefile.am): Likewise.
10103         * modules/dfa-tests (Makefile.am): Likewise.
10104         * modules/duplocale-tests (Makefile.am): Likewise.
10105         * modules/hard-locale-tests (Makefile.am): Likewise.
10106         * modules/localcharset-tests (Makefile.am): Likewise.
10107         * modules/localename-tests (Makefile.am): Likewise.
10108         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10109         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10110         * modules/mbrtowc-tests (Makefile.am): Likewise.
10111         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10112         * modules/mbscasestr-tests (Makefile.am): Likewise.
10113         * modules/mbschr-tests (Makefile.am): Likewise.
10114         * modules/mbscspn-tests (Makefile.am): Likewise.
10115         * modules/mbsinit-tests (Makefile.am): Likewise.
10116         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10117         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10118         * modules/mbspbrk-tests (Makefile.am): Likewise.
10119         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10120         * modules/mbsrchr-tests (Makefile.am): Likewise.
10121         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10122         * modules/mbsspn-tests (Makefile.am): Likewise.
10123         * modules/mbsstr-tests (Makefile.am): Likewise.
10124         * modules/nl_langinfo-tests (Makefile.am): Likewise.
10125         * modules/quotearg-tests (Makefile.am): Likewise.
10126         * modules/regex-tests (Makefile.am): Likewise.
10127         * modules/strfmon_l-tests (Makefile.am): Likewise.
10128         * modules/strtod-tests (Makefile.am): Likewise.
10129         * modules/strtold-tests (Makefile.am): Likewise.
10130         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
10131         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
10132         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
10133         * modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
10134         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
10135         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
10136         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
10137         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10138         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
10139         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
10140         * modules/wcrtomb-tests (Makefile.am): Likewise.
10141         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
10142         * modules/wcsrtombs-tests (Makefile.am): Likewise.
10143         * modules/wcwidth-tests (Makefile.am): Likewise.
10144         * doc/posix-functions/setlocale.texi: Mention that the multithread-
10145         safety fix is also available in module 'setlocale'.
10147 2019-12-18  Bruno Haible  <bruno@clisp.org>
10149         hard-locale: Make multithread-safe.
10150         * lib/hard-locale.h (hard_locale): Move documentation to here.
10151         * lib/hard-locale.c: Don't include <stdlib.h>.
10152         (GLIBC_VERSION): Remove macro.
10153         (hard_locale): Assume that all systems name the "C" and "POSIX" locales
10154         "C" or "POSIX". Invoke setlocale_null instead of setlocale.
10155         * modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
10156         (configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
10157         (Link): New section.
10158         * modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
10159         $(LIB_HARD_LOCALE).
10161 2019-12-18  Bruno Haible  <bruno@clisp.org>
10163         hard-locale: Avoid test failure on Haiku.
10164         * tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.
10166 2019-12-18  Bruno Haible  <bruno@clisp.org>
10168         setlocale-null: Handle NULL result from setlocale.
10169         * lib/locale.in.h (setlocale_null): Document EINVAL return value.
10170         * lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
10171         from setlocale or _wsetlocale.
10173 2019-12-18  Bruno Haible  <bruno@clisp.org>
10175         hard-locale: Add test.
10176         * tests/test-hard-locale.c: New file.
10177         * tests/locale.c: New file.
10178         * modules/hard-locale-tests: New file.
10180 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10182         dfa: do not match invalid UTF-8
10183         * lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
10184         from 5 to 9 tokens; this is needed due to the changes to
10185         add_utf8_anychar.
10186         (charclass_index): 2nd arg is now pointer-to-const.
10187         (add_utf8_anychar): Match only valid UTF-8 byte sequences
10188         instead of allowing overlong encodings or surrogate halves.
10190         dfa: simplify charclass by assuming C99
10191         * lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
10192         (charclass_word): Now always uint_fast64_t.
10193         (CHARCLASS_PAIR): Remove.
10194         (CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.
10196         fts: tune via calloc
10197         * lib/fts.c (fts_open): Prefer calloc to malloc + memset.
10199         dfa: tune via xzalloc
10200         * lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.
10202 2019-12-17  Bruno Haible  <bruno@clisp.org>
10204         localcharset: Fix multithread-safety bug on Windows and OS/2.
10205         * lib/localcharset.h (locale_charset): Clarify when the result becomes
10206         invalid.
10207         * lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
10208         assemble the result.
10210 2019-12-17  Bruno Haible  <bruno@clisp.org>
10212         localcharset: Optimize code for native Windows.
10213         * lib/localcharset.c (locale_charset): Don't bother calling
10214         setlocale (LC_ALL, NULL) since we're not interested in its result.
10216 2019-12-17  Bruno Haible  <bruno@clisp.org>
10218         nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
10219         * lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
10220         setlocale.
10221         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
10222         gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
10223         * modules/nl_langinfo (Depends-on): Add setlocale-null.
10225 2019-12-17  Bruno Haible  <bruno@clisp.org>
10227         nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
10228         * lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
10229         stack-allocated buffer to assemble each result and different static
10230         buffers to return it.
10231         * tests/test-nl_langinfo-mt.c: New file.
10232         * modules/nl_langinfo-tests (Files): Add it.
10233         (Depends-on): Add thread, nanosleep.
10234         (Makefile.am): Build test-nl_langinfo-mt test.
10236 2019-12-17  Bruno Haible  <bruno@clisp.org>
10238         langinfo: Document more details.
10239         * doc/posix-headers/langinfo.texi: List platform details.
10240         * doc/posix-functions/nl_langinfo.texi: Likewise.
10242 2019-12-17  Bruno Haible  <bruno@clisp.org>
10244         mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
10245         Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
10246         and Martin Storsjö <martin@martin.st>
10247         in <https://savannah.gnu.org/bugs/?57406>.
10248         * lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
10249         mingw.
10251 2019-12-17  Bruno Haible  <bruno@clisp.org>
10253         glob: Avoid warning on mingw.
10254         Reported by Christian Biesinger <cbiesinger@google.com> in
10255         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
10256         * lib/glob.c (__stat64): Undefine first.
10258 2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>
10260         xalloc: tune xzalloc for fresh allocations
10261         * lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
10262         because when the memory is freshly allocated from the OS via sbrk
10263         or mmap, calloc can avoid doing the memset.
10265         dfa: new function dfacopysyntax
10266         * lib/dfa.c (struct dfa): Move syntax member later so
10267         that dfacopysyntax can easily clear earlier members.
10268         (dfacopysyntax): New function, used by Gawk.
10270 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10272         dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
10273         Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
10274         * lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
10275         if not already defined.
10277         dfa: remove one dependency on MB_CUR_MAX
10278         * lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.
10280         dfa: remove struct lexer_state.cur_mb_len
10281         * lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
10282         as it’s not needed and the code is simpler without it.
10283         All uses removed.
10285 2019-12-16  Bruno Haible  <bruno@clisp.org>
10287         setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
10288         Reported by Arnold Robbins <arnold@skeeve.com>.
10289         * lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
10290         copied from lib/glthread/lock.h.
10291         (pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
10292         (setlocale_null_with_lock): If pthread_in_use() is false, use
10293         setlocale_null_unlocked directly.
10294         * m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
10295         gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
10296         (gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
10297         * m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
10298         Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
10299         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.
10301 2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>
10303         dfa: make dfasyntax thread-safe
10304         Problem reported by Bruno Haible in:
10305         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
10306         * lib/dfa.c: Do not include locale.h.
10307         (struct dfa): Remove simple_locale member.
10308         All uses replaced by localeinfo.simple.
10309         (using_simple_locale): Remove; now present (with some
10310         changes) in localeinfo.c.
10311         (dfasyntax): No need to initialize removed member.
10313         localeinfo: record whether locale is simple
10314         * lib/localeinfo.c (using_simple_locale): New function,
10315         copied here from lib/dfa.c but with a change: it uses
10316         strcoll for its heuristic, instead of using setlocale.
10317         This lets it be thread-safe.
10318         * lib/localeinfo.h (struct localeinfo): New member ‘simple’.
10320 2019-12-15  Bruno Haible  <bruno@clisp.org>
10322         duplocale: Fix multithread-safety bug on AIX.
10323         * lib/duplocale.c: Don't include <stdlib.h>.
10324         (rpl_duplocale): Invoke setlocale_null instead of setlocale.
10325         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
10326         Set LIB_DUPLOCALE.
10327         * modules/duplocale (Depends-on): Add setlocale-null.
10328         (Link): New section.
10329         * modules/duplocale-tests (Makefile.am): Link test-duplocale with
10330         $(LIB_DUPLOCALE).
10332 2019-12-15  Bruno Haible  <bruno@clisp.org>
10334         setlocale-null: Add tests.
10335         * tests/test-setlocale_null.c: New file.
10336         * tests/test-setlocale_null-one.c: New file.
10337         * tests/test-setlocale_null-all.c: New file.
10338         * modules/setlocale-null-tests: New file.
10340         setlocale-null: New module.
10341         * lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
10342         setlocale_null): New declarations.
10343         * lib/setlocale_null.c: New file.
10344         * lib/setlocale-lock.c: New file.
10345         * m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
10346         * m4/setlocale_null.m4: New file.
10347         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
10348         GNULIB_SETLOCALE_NULL.
10349         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
10350         * modules/setlocale-null: New file.
10351         * doc/posix-functions/setlocale.texi: Mention the new module.
10353 2019-12-15  Bruno Haible  <bruno@clisp.org>
10355         lock tests: Skip test when no multithreading is enabled.
10356         * tests/test-rwlock1.c: Skip the test when no multithreading is enabled.
10358 2019-12-14  Bruno Haible  <bruno@clisp.org>
10360         locale, duplocale, localename: Fix last patch.
10361         Reported by Daniel Richard G. in
10362         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
10363         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
10364         Don't define if locale_t does not exist.
10366 2019-12-13  Bruno Haible  <bruno@clisp.org>
10368         locale, duplocale, localename: Fix errors if locale_t does not exist.
10369         Reported by Daniel Richard G. in
10370         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
10371         * lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
10372         macros.
10373         * tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
10374         HAVE_NEWLOCALE.
10375         * tests/test-localename.c: Likewise.
10376         * tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
10377         HAVE_DUPLOCALE.
10378         * tests/test-locale-c++.cc: Likewise.
10380 2019-12-13  Bruno Haible  <bruno@clisp.org>
10382         wcstok: Fix test failure on HP-UX.
10383         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
10384         * doc/posix-functions/wcstok.texi: Mention the HP-UX bug.
10386 2019-12-12  Bruno Haible  <bruno@clisp.org>
10388         strtod, strtold tests: Avoid test failure on AIX 7.2.
10389         * tests/test-strtod1.c (main): Allow implementations in which ',' and
10390         '.' both are radix characters.
10391         * tests/test-strtold1.c (main): Likewise.
10393 2019-12-12  Paul Eggert  <eggert@cs.ucla.edu>
10395         dfa: prefer ptrdiff_t for API, too
10396         Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
10397         but do this only for internal use for now.
10398         * NEWS: Mention the API change.
10399         * lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
10400         use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
10401         values known to be nonnegative.
10402         (dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
10403         Prefer idx_t or ptrdiff_t to size_t for API.
10404         * lib/dfa.h (dfaparse, dfacomp, dfaexec):
10405         Prefer ptrdiff_t to size_t for API.
10407         stdalign: port to xlclang 16.01
10408         Problem reportd by Bruno Haible in:
10409         https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
10410         * lib/stdalign.in.h (_Alignas): Do not use __attribute__
10411         ((__aligned__ (...))) with xlclang, as a top-level
10412         ‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
10413         xlclang version 16.01.0000.0001; the alignment directive is ignored.
10415 2019-12-12  Bruno Haible  <bruno@clisp.org>
10417         duplocale: Fix test failure on AIX 7.2 with xlclang.
10418         * lib/duplocale.c: Include <stdlib.h>.
10419         (rpl_duplocale): Use a heap-allocated copy of the first setlocale return
10420         value.
10422 2019-12-12  Bruno Haible  <bruno@clisp.org>
10424         stddef: Document the AIX xlc issue.
10425         * doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.
10427 2019-12-12  Bruno Haible  <bruno@clisp.org>
10429         duplocale: Don't attempt to override if locale_t does not exist.
10430         Reported by Daniel Richard G. in
10431         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
10432         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
10433         HAVE_DUPLOCALE to 0.
10435 2019-12-12  Bruno Haible  <bruno@clisp.org>
10437         wcwidth: Avoid test failure on AIX 7.2.
10438         * tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
10439         negative.
10440         * doc/posix-functions/wcwidth.texi: Mention the AIX issue.
10442 2019-12-12  Bruno Haible  <bruno@clisp.org>
10444         ilogbl: Work around Cygwin bug.
10445         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
10446         correct.
10447         * doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.
10449 2019-12-12  Bruno Haible  <bruno@clisp.org>
10451         strtold: Work around Cygwin bug.
10452         * m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
10453         If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
10454         * lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
10455         STRTOLD_HAS_UNDERFLOW_BUG is defined.
10456         * doc/posix-functions/strtold.texi: Mention the Cygwin bug.
10458 2019-12-12  Bruno Haible  <bruno@clisp.org>
10460         strtold: Fix autoconf test.
10461         * m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.
10463 2019-12-11  Bruno Haible  <bruno@clisp.org>
10465         fsync tests: Skip test that is known to fail.
10466         * doc/posix-functions/fsync.texi: Update list of platforms.
10467         * tests/test-fsync.c (main): Skip test with read-only file descriptors
10468         that is known to fail on AIX and Cygwin.
10470 2019-12-11  Bruno Haible  <bruno@clisp.org>
10472         getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
10473         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
10474         non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
10475         HAVE_GETADDRINFO as a C macro.
10476         * lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
10477         declare as replacement functions.
10478         * lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
10479         define as no-op overrides.
10480         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
10481         * modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
10482         * modules/getaddrinfo (Depends-on, configure.ac): Test
10483         REPLACE_GETADDRINFO.
10484         * doc/posix-functions/getaddrinfo.texi: Mention calling convention
10485         problem.
10486         * doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
10487         convention problems.
10489 2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>
10491         dfa: prefer signed integers for internals
10492         Signed integers can be checked more easily for integer overflow.
10493         * lib/dfa.c (position, struct lexer_state, struct parser_state)
10494         (struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
10495         (struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
10496         (nsubtoks, copytoks, closure, alloc_position_set, delete)
10497         (replace, state_index, epsclosure, charclass_context)
10498         (state_separate_contexts, merge_nfa_state, dfaoptimize)
10499         (dfaanalyze, build_state, dfaexec_main, dfa_supported)
10500         (maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
10501         (comsubs, inboth, allocmust):
10502         Prefer a signed to an unsigned integer when calculating indexes,
10503         unless the integer is part of the external API (a bigger deal,
10504         and to be done later).
10506         dfa: fix index overflow
10507         * lib/dfa.c (compare): Avoid integer overflow when analyzing
10508         very large regular expressions.
10510         dfa: update commentary for previous change
10511         * NEWS: Mention the change.
10512         * lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.
10514 2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>
10516         dfa: separate parse and compile phase
10517         ‘dfamust’ must be called after parsing and before tokens are
10518         reordered, but both are executed in the compilation phase.
10519         Token reordering was introduced in Gnulib commit
10520         2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
10521         (5c7a0371823876cca7a1347fa09ca26bbbff0c98).
10522         * lib/dfa.c (dfaparse): Change it to global function.
10523         (dfacomp): If first argument is NULL, skip parse.
10524         * lib/dfa.h: (dfaparse): Add a prototype.
10526 2019-12-11  Bruno Haible  <bruno@clisp.org>
10528         unistd tests: Fix link error on MSVC.
10529         * modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
10530         $(LIB_GETLOGIN).
10532 2019-12-11  Bruno Haible  <bruno@clisp.org>
10534         doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
10535         * doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
10536         and POSIX substitutes are supported in C++ mode.
10537         * NEWS: Likewise.
10539 2019-12-11  Bruno Haible  <bruno@clisp.org>
10541         stddef: Fix compilation error in C++ mode on MSVC.
10542         * lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
10543         instead, include <cstddef>.
10545 2019-12-11  Bruno Haible  <bruno@clisp.org>
10547         unistd: Fix compilation error in C++ mode on MSVC.
10548         * lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
10549         does not have <unistd.h>.
10551 2019-12-11  Bruno Haible  <bruno@clisp.org>
10553         locale: Fix compilation error in C++ mode on MSVC.
10554         * m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
10555         * lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
10556         int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
10557         int_n_sep_by_space): Define as macros on MSVC.
10559 2019-12-11  Bruno Haible  <bruno@clisp.org>
10561         wchar: Fix compilation error in C++ mode on MSVC.
10562         * lib/wchar.in.h (mbstate_t): Don't override on MSVC.
10564 2019-12-11  Bruno Haible  <bruno@clisp.org>
10566         pthread-thread: Fix compilation error in C++ mode on MSVC.
10567         * lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
10568         _GL_CXXALIAS_RPL invocation.
10570 2019-12-08  Bruno Haible  <bruno@clisp.org>
10572         Fix compilation errors in C++ mode on Haiku.
10573         * lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
10574         non-glibc systems.
10575         * lib/spawn.in.h (posix_spawnattr_getschedpolicy,
10576         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10577         posix_spawnattr_setschedparam): Likewise.
10578         * lib/stdlib.in.h (random, initstate_r, setstate_r): Use
10579         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10580         * lib/unistd.in.h (usleep): Likewise.
10582 2019-12-08  Bruno Haible  <bruno@clisp.org>
10584         Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
10585         * m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
10586         * modules/fseeko (configure.ac-early): Require it instead of
10587         AC_FUNC_FSEEKO.
10588         * modules/ftello (configure.ac-early): Likewise.
10589         * modules/fflush (configure.ac-early): Likewise.
10591 2019-12-08  Bruno Haible  <bruno@clisp.org>
10593         Fix compilation error in C++ mode on HP-UX 11.
10594         * lib/unistd.in.h (getpagesize): Declare on HP-UX.
10595         * doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.
10597 2019-12-08  Bruno Haible  <bruno@clisp.org>
10599         Fix compilation errors on HP-UX 11/ia64.
10600         * lib/math.in.h (copysignf, fmaf, fma): Undefine before
10601         _GL_FUNCDECL_SYS.
10603 2019-12-08  Bruno Haible  <bruno@clisp.org>
10605         Fix compilation error in C++ mode on OpenBSD.
10606         * lib/signal.in.h (signal): Declare on OpenBSD.
10608 2019-12-08  Bruno Haible  <bruno@clisp.org>
10610         math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
10611         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
10612         instead of #error.
10614 2019-12-08  Bruno Haible  <bruno@clisp.org>
10616         Fix compilation errors in C++ mode on FreeBSD.
10617         * lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
10618         * tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
10619         * lib/threads.in.h (thrd_exit): Likewise.
10620         * tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.
10622 2019-12-08  Bruno Haible  <bruno@clisp.org>
10624         Fix compilation errors in C++ mode on macOS and FreeBSD.
10625         * lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
10626         or FreeBSD with clang, use the approach without C preprocessor macro.
10628 2019-12-07  Bruno Haible  <bruno@clisp.org>
10630         Fix compilation errors in C++ mode on AIX with xlclang++.
10631         Reported by Christian Biesinger <cbiesinger@google.com> in
10632         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10633         * lib/wchar.in.h (mbstate_t): Don't override on AIX.
10635 2019-12-07  Bruno Haible  <bruno@clisp.org>
10637         Document compilation error in C++ mode on NetBSD 8.0.
10638         * doc/posix-headers/monetary.texi: Mention the NetBSD bug.
10640 2019-12-07  Bruno Haible  <bruno@clisp.org>
10642         Fix compilation errors in C++ mode on Solaris 10.
10643         * m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
10644         to non-empty on Solaris with a non-GCC compiler.
10645         * doc/posix-headers/stdbool.texi: Mention the Solaris issue.
10647 2019-12-07  Bruno Haible  <bruno@clisp.org>
10649         Reword NEWS entry.
10650         * NEWS: Reword the latest NEWS entry.
10652 2019-12-05  Pino Toscano  <ptoscano@redhat.com>
10654         Move xstrtol_fatal to a new xstrtol-error module.
10655         * lib/xstrtol.h: Stop including <getopt.h>.
10656         (xstrtol_fatal): Move ...
10657         * lib/xstrtol-error.h: ... here.  New file.
10658         * lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
10659         * tests/test-xstrtol.c: Likewise.
10660         * modules/xstrtol (Files): Remove lib/xstrtol-error.c.
10661         (Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
10662         (Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
10663         * modules/xstrtol-error: New file.
10664         * modules/xstrtol-tests (Depends-on): Add xstrtol-error.
10665         * MODULES.html.sh: Add xstrtol-error.
10666         * NEWS: Document the change.
10668 2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>
10670         nstrftime: better width support for %N, %z
10671         * lib/nstrftime.c (width_add, width_add1, width_cpy):
10672         New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
10673         a new WIDTH parameter.
10674         (add, add1, cpy): Use these macros.
10675         (width_add): Do not treat digits == 0 as a special case,
10676         do not pad if padding is ‘-’, and do not use a negative width.
10677         (__strftime_internal): Redo formatting of nanoseconds and numeric
10678         timezones to avoid buffer misuse in unusual cases, and so that
10679         widths make more sense.  Add support for widths greater than 9 to
10680         the %N format; they are zero filled on the right.
10681         * tests/test-nstrftime.c (posixtm_test): Add a %12N test.
10683 2019-12-05  Bruno Haible  <bruno@clisp.org>
10685         Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
10686         * m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
10687         set REPLACE_ISFINITE to 1.
10688         * m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
10689         REPLACE_ISINF to 1.
10690         * m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
10691         * lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
10692         Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
10693         * lib/threads.in.h (call_once): Likewise.
10694         * lib/iconv.in.h (iconv): Likewise.
10696 2019-12-05  Bruno Haible  <bruno@clisp.org>
10698         wchar: Add more C++ tests.
10699         Reported by Christian Biesinger <cbiesinger@google.com> in
10700         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
10701         * tests/test-wchar-c++3.cc: New file.
10702         * modules/wchar-c++-tests (Files): Add it.
10703         (Makefile.am): Compile it.
10705 2019-12-05  Bruno Haible  <bruno@clisp.org>
10707         Add more C++ tests.
10709         assert-h: Add C++ tests.
10710         * tests/test-assert-h-c++.cc: New file.
10711         * tests/test-assert-h-c++2.cc: New file.
10712         * modules/assert-h-c++-tests: New file.
10713         * modules/assert-h-tests: New file.
10715         ctype: Add C++ tests.
10716         * tests/test-ctype-c++.cc: New file.
10717         * tests/test-ctype-c++2.cc: New file.
10718         * modules/ctype-c++-tests: New file.
10719         * modules/ctype-tests (Depends-on): Add ctype-c++-tests.
10721         errno: Add C++ tests.
10722         * tests/test-errno-c++.cc: New file.
10723         * tests/test-errno-c++2.cc: New file.
10724         * modules/errno-c++-tests: New file.
10725         * modules/errno-tests (Depends-on): Add errno-c++-tests.
10727         float: Add C++ tests.
10728         * tests/test-float-c++.cc: New file.
10729         * tests/test-float-c++2.cc: New file.
10730         * modules/float-c++-tests: New file.
10731         * modules/float-tests (Depends-on): Add float-c++-tests.
10733         inttypes: Add more C++ tests.
10734         * tests/test-inttypes-c++2.cc: New file.
10735         * modules/inttypes-c++-tests (Files): Add it.
10736         (Makefile.am): Compile it.
10738         limits-h: Add C++ tests.
10739         * tests/test-limits-h-c++.cc: New file.
10740         * tests/test-limits-h-c++2.cc: New file.
10741         * modules/limits-h-c++-tests: New file.
10742         * modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.
10744         stdarg: Add C++ tests.
10745         * tests/test-stdarg-c++.cc: New file.
10746         * tests/test-stdarg-c++2.cc: New file.
10747         * modules/stdarg-c++-tests: New file.
10748         * modules/stdarg-tests: New file.
10750         stdbool: Add C++ tests.
10751         * tests/test-stdbool-c++.cc: New file.
10752         * tests/test-stdbool-c++2.cc: New file.
10753         * modules/stdbool-c++-tests: New file.
10754         * modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.
10756         stddef: Add C++ tests.
10757         * tests/test-stddef-c++.cc: New file.
10758         * tests/test-stddef-c++2.cc: New file.
10759         * modules/stddef-c++-tests: New file.
10760         * modules/stddef-tests (Depends-on): Add stddef-c++-tests.
10762         stdint: Add C++ tests.
10763         * tests/test-stdint-c++.cc: New file.
10764         * tests/test-stdint-c++2.cc: New file.
10765         * modules/stdint-c++-tests: New file.
10766         * modules/stdint-tests (Depends-on): Add stdint-c++-tests.
10768         wchar: Add more C++ tests.
10769         * tests/test-wchar-c++2.cc: New file.
10770         * modules/wchar-c++-tests (Files): Add it.
10771         (Makefile.am): Compile it.
10773         wctype-h: Add more C++ tests.
10774         * tests/test-wctype-h-c++2.cc: New file.
10775         * modules/wctype-h-c++-tests (Files): Add it.
10776         (Makefile.am): Compile it.
10778 2019-12-04  Bruno Haible  <bruno@clisp.org>
10780         Fix compilation errors in C++ mode with xlclang++ on AIX.
10781         * lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
10782         C++ mode on AIX.
10783         (isfinite, signbit): In C++ mode on AIX with clang, use the approach
10784         without C preprocessor macro.
10785         * lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
10786         _GL_CXXALIAS_SYS.
10787         * lib/threads.in.h (thrd_exit): Likewise.
10789 2019-12-04  Bruno Haible  <bruno@clisp.org>
10791         Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
10792         * lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
10793         * doc/posix-functions/wcsnrtombs.texi: Mention the issue.
10795 2019-12-04  Bruno Haible  <bruno@clisp.org>
10797         Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
10798         * lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
10799         _GL_CXXALIASWARN invocation on non-glibc systems.
10800         * lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
10801         iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
10802         iswctype, towlower, towupper): Likewise.
10804 2019-12-03  Bruno Haible  <bruno@clisp.org>
10806         Avoid hassles caused by [[noreturn]] in C++.
10807         Reported by Christian Biesinger <cbiesinger@google.com> in
10808         <https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
10809         * m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
10810         * lib/_Noreturn.h: Likewise.
10812 2019-12-02  Bruno Haible  <bruno@clisp.org>
10814         Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
10815         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
10816         LIBMULTITHREAD.
10817         * m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
10818         * m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
10819         * m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
10820         gl_THREADLIB.
10821         * modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.
10823 2019-12-02  Bruno Haible  <bruno@clisp.org>
10825         Fix some more link errors with --enable-threads=isoc.
10826         * modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
10827         * modules/pthread-rwlock (Depends-on): Likewise.
10829 2019-12-02  Bruno Haible  <bruno@clisp.org>
10831         Fix link errors with --enable-threads=posix on AIX.
10832         * modules/string-c++-tests (Makefile.am): Link the test-string-c++
10833         program with $(LIBTHREAD).
10834         * modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
10835         program with $(LIBTHREAD).
10837 2019-12-02  Bruno Haible  <bruno@clisp.org>
10839         Fix link errors with --enable-threads=posix on AIX.
10840         * modules/mbrtowc (Link): New section.
10841         * modules/acl (Link): Likewise.
10842         * modules/argmatch (Link): Likewise.
10843         * modules/backup-rename (Link): Likewise.
10844         * modules/backupfile (Link): Likewise.
10845         * modules/closein (Link): Likewise.
10846         * modules/closeout (Link): Likewise.
10847         * modules/copy-file (Link): Likewise.
10848         * modules/csharpcomp (Link): Likewise.
10849         * modules/csharpexec (Link): Likewise.
10850         * modules/dfa (Link): Likewise.
10851         * modules/exclude (Link): Likewise.
10852         * modules/fnmatch (Link): Likewise.
10853         * modules/fnmatch-gnu (Link): Likewise.
10854         * modules/fnmatch-posix (Link): Likewise.
10855         * modules/glob (Link): Likewise.
10856         * modules/human (Link): Likewise.
10857         * modules/javacomp (Link): Likewise.
10858         * modules/javaexec (Link): Likewise.
10859         * modules/javaversion (Link): Likewise.
10860         * modules/mbfile (Link): Likewise.
10861         * modules/mbiter (Link): Likewise.
10862         * modules/mbmemcasecmp (Link): Likewise.
10863         * modules/mbmemcasecoll (Link): Likewise.
10864         * modules/mbrlen (Link): Likewise.
10865         * modules/mbscasecmp (Link): Likewise.
10866         * modules/mbscasestr (Link): Likewise.
10867         * modules/mbschr (Link): Likewise.
10868         * modules/mbscspn (Link): Likewise.
10869         * modules/mbsinit (Link): Likewise.
10870         * modules/mbslen (Link): Likewise.
10871         * modules/mbsncasecmp (Link): Likewise.
10872         * modules/mbsnlen (Link): Likewise.
10873         * modules/mbsnrtowcs (Link): Likewise.
10874         * modules/mbspbrk (Link): Likewise.
10875         * modules/mbspcasecmp (Link): Likewise.
10876         * modules/mbsrchr (Link): Likewise.
10877         * modules/mbsrtowcs (Link): Likewise.
10878         * modules/mbssep (Link): Likewise.
10879         * modules/mbsspn (Link): Likewise.
10880         * modules/mbsstr (Link): Likewise.
10881         * modules/mbstok_r (Link): Likewise.
10882         * modules/mbswidth (Link): Likewise.
10883         * modules/mbuiter (Link): Likewise.
10884         * modules/mkdir-p (Link): Likewise.
10885         * modules/propername (Link): Likewise.
10886         * modules/quote (Link): Likewise.
10887         * modules/quotearg (Link): Likewise.
10888         * modules/quotearg-simple (Link): Likewise.
10889         * modules/regex-quote (Link): Likewise.
10890         * modules/rpmatch (Link): Likewise.
10891         * modules/sh-quote (Link): Likewise.
10892         * modules/system-quote (Link): Likewise.
10893         * modules/trim (Link): Likewise.
10894         * modules/unistdio/ulc-asnprintf (Link): Likewise.
10895         * modules/unistdio/ulc-fprintf (Link): Likewise.
10896         * modules/unistdio/ulc-vasnprintf (Link): Likewise.
10897         * modules/unistdio/ulc-vasprintf (Link): Likewise.
10898         * modules/unistdio/ulc-vfprintf (Link): Likewise.
10899         * modules/unistdio/ulc-vsnprintf (Link): Likewise.
10900         * modules/unistdio/ulc-vsprintf (Link): Likewise.
10901         * modules/xfreopen (Link): Likewise.
10902         * modules/xmemcoll (Link): Likewise.
10903         * modules/yesno (Link): Likewise.
10904         * modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
10905         * modules/argmatch-tests (Makefile.am): Likewise.
10906         * modules/closein-tests (Makefile.am): Likewise.
10907         * modules/copy-file-tests (Makefile.am): Likewise.
10908         * modules/dfa-tests (Makefile.am): Likewise.
10909         * modules/fnmatch-tests (Makefile.am): Likewise.
10910         * modules/glob-tests (Makefile.am): Likewise.
10911         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
10912         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
10913         * modules/mbrtowc-tests (Makefile.am): Likewise.
10914         * modules/mbscasecmp-tests (Makefile.am): Likewise.
10915         * modules/mbscasestr-tests (Makefile.am): Likewise.
10916         * modules/mbschr-tests (Makefile.am): Likewise.
10917         * modules/mbscspn-tests (Makefile.am): Likewise.
10918         * modules/mbsinit-tests (Makefile.am): Likewise.
10919         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
10920         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
10921         * modules/mbspbrk-tests (Makefile.am): Likewise.
10922         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
10923         * modules/mbsrchr-tests (Makefile.am): Likewise.
10924         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
10925         * modules/mbsspn-tests (Makefile.am): Likewise.
10926         * modules/mbsstr-tests (Makefile.am): Likewise.
10927         * modules/quotearg-tests (Makefile.am): Likewise.
10928         * modules/quotearg-simple-tests (Makefile.am): Likewise.
10929         * modules/readtokens-tests (Makefile.am): Likewise.
10930         * modules/regex-quote-tests (Makefile.am): Likewise.
10931         * modules/sh-quote-tests (Makefile.am): Likewise.
10932         * modules/system-quote-tests (Makefile.am): Likewise.
10933         * modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
10934         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
10935         * modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
10936         * modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
10937         * modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
10938         * modules/yesno-tests (Makefile.am): Likewise.
10940 2019-12-02  Bruno Haible  <bruno@clisp.org>
10942         Simplify link sections.
10943         * modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
10944         * modules/lock (Link): Likewise.
10945         * modules/cond (Link): Likewise.
10946         * modules/tls (Link): Likewise.
10947         * modules/yield (Link): Likewise.
10948         * modules/regex (Link): Likewise.
10949         * modules/localename (Link): Likewise.
10950         * modules/unicase/locale-language (Link): Likewise.
10951         * modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.
10953 2019-12-02  Bruno Haible  <bruno@clisp.org>
10955         thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
10956         * tests/test-thread_self.c (main): Disable test on AIX.
10958 2019-12-01  Bruno Haible  <bruno@clisp.org>
10960         pthread-h: Fix link errors with --enable-threads=isoc on AIX.
10961         * m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
10962         gl_THREADLIB_EARLY_BODY.
10963         (gl_THREADLIB_EARLY_BODY): Invoke it.
10964         (gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
10965         (gl_THREADLIB_BODY): Invoke it.
10966         (gl_PTHREADLIB): New macro.
10967         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
10968         gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
10969         present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
10970         * modules/pthread-h (Files): Add threadlib.m4.
10971         (Depends-on): Remove threadlib.
10972         (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
10973         and _THREAD_SAFE here.
10974         (Link): Use LIBPTHREAD, not LIBTHREAD.
10975         * modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
10976         LIBMULTITHREAD.
10977         * modules/pthread-once (Link): Likewise.
10978         * modules/pthread-mutex (Link): Likewise.
10979         * modules/pthread-rwlock (Link): Likewise.
10980         * modules/pthread-cond (Link): Likewise.
10981         * modules/pthread-tss (Link): Likewise.
10982         * modules/pthread-spin (Link): Likewise.
10983         * modules/pthread (Link): Likewise.
10984         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
10985         * modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
10986         * modules/pthread-once-tests (test_pthread_once1_LDADD,
10987         test_pthread_once2_LDADD): Likewise.
10988         * modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
10989         * modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
10990         * modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
10991         * modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.
10993 2019-12-01  Bruno Haible  <bruno@clisp.org>
10995         cond: State linking requirements.
10996         * modules/cond (Link): New section.
10998 2019-12-01  Bruno Haible  <bruno@clisp.org>
11000         threadlib: Remove unnecessary file (left over from 2019-07-06).
11001         * modules/threadlib (Files): Remove config.rpath.
11003 2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>
11005         gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
11006         Reported by Dagobert Michelsen <dam@opencsw.org> in
11007         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
11008         * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
11009         list of strings instead of one string.
11010         * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
11011         * pygnulib/GLImport.py (execute): Likewise.
11013 2019-11-27  Bruno Haible  <bruno@clisp.org>
11015         openpty, forkpty: Fix build error on Solaris 11.4.
11016         * m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
11017         also in <termios.h>.
11018         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
11019         of the function also in <termios.h>.
11020         * doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
11021         * doc/glibc-functions/forkpty.texi: Likewise.
11023 2019-11-27  Bruno Haible  <bruno@clisp.org>
11025         New options --enable-threads=isoc and --enable-threads=isoc+posix.
11026         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
11027         --enable-threads=isoc and --enable-threads=isoc+posix.
11028         (gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
11029         When both the ISO C and the POSIX threads API are available, choose
11030         USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
11031         --enable-threads=isoc+posix was specified. When only the ISO C threads
11032         API is available and --enable-threads=iso was specified, choose
11033         USE_ISOC_THREADS.
11034         * lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
11035         USE_ISOC_AND_POSIX_THREADS.
11036         * lib/glthread/lock.c: Likewise.
11037         * lib/glthread/cond.h: Likewise.
11038         * lib/glthread/cond.c: Likewise.
11039         * lib/glthread/tls.h: Likewise.
11040         * lib/glthread/tls.c: Likewise.
11041         * lib/glthread/yield.h: Likewise.
11042         * lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
11043         USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
11044         * lib/glthread/thread.c: Likewise.
11045         * lib/glthread/threadlib.c: Likewise.
11046         * tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
11047         USE_ISOC_AND_POSIX_THREADS.
11048         * tests/test-cond.c: Consider USE_ISOC_THREADS and
11049         USE_ISOC_AND_POSIX_THREADS.
11050         * tests/test-tls.c: Likewise.
11051         * tests/test-thread_create.c (main): Likewise.
11052         * tests/test-pthread-cond.c: Likewise.
11053         * tests/test-pthread-mutex.c: Likewise.
11054         * tests/test-pthread-once2.c: Likewise.
11055         * tests/test-pthread-rwlock.c: Likewise.
11056         * tests/test-pthread-tss.c: Likewise.
11057         * tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
11058         USE_POSIX_THREADS.
11060 2019-11-24  Bruno Haible  <bruno@clisp.org>
11062         mbrtowc: Modernize autoconf test.
11063         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
11064         gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
11065         try a UTF-8 locale.
11066         * doc/posix-functions/mbrtowc.texi: Update info about AIX.
11068 2019-11-24  Bruno Haible  <bruno@clisp.org>
11070         Fix errors in C++ mode on mingw.
11071         * lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
11072         instead of _GL_CXXALIAS_SYS.
11073         * lib/signal.in.h (pthread_sigmask): Likewise.
11074         * lib/spawn.in.h (posix_spawn_file_actions_addopen,
11075         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11076         Likewise.
11077         * lib/wchar.in.h (btowc): Likewise.
11079 2019-11-24  Bruno Haible  <bruno@clisp.org>
11081         sys_time: Fix errors in C++ mode on mingw.
11082         * lib/sys_time.in.h (timeval): Restore the redirection
11083         '#define timeval rpl_timeval', for when the symbol timeval is being used
11084         outside the 'gnulib' namespace.
11085         * lib/sys_select.in.h (select): In C++, write 'timeval', not
11086         'struct timeval'.
11088 2019-11-24  Bruno Haible  <bruno@clisp.org>
11090         iswctype: Fix errors in C++ mode on mingw.
11091         * lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
11092         is 1.
11093         * lib/iswctype.c (iswctype): Add another implementation, for the
11094         GNULIB_defined_wint_t case.
11095         * modules/iswctype (configure.ac): Compile iswctype.c also if
11096         GNULIB_OVERRIDES_WINT_T is 1.
11098 2019-11-24  Bruno Haible  <bruno@clisp.org>
11100         windows-timedmutex: Fix errors in C++ mode on mingw.
11101         * lib/windows-timedmutex.h: Add closing brace.
11103 2019-11-24  Bruno Haible  <bruno@clisp.org>
11105         Fix errors in C++ mode on Cygwin.
11106         * lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
11107         _GL_CXXALIAS_SYS.
11109 2019-11-24  Bruno Haible  <bruno@clisp.org>
11111         time_r: Fix for mingw (regression from 2019-11-16).
11112         * m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
11113         AC_LINK_IFELSE test only if the function does not appear to exist.
11115 2019-11-24  Bruno Haible  <bruno@clisp.org>
11117         wcstok: Add tests.
11118         * tests/test-wcstok.c: New file.
11119         * modules/wcstok-tests: New file.
11121 2019-11-24  Bruno Haible  <bruno@clisp.org>
11123         wcstok: Work around wrong signature on native Windows.
11124         * lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
11125         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
11126         REPLACE_WCSTOK.
11127         * m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
11128         * modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
11129         * modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
11130         * doc/posix-functions/wcstok.texi: Mention the problem.
11132 2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>
11134         intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
11135         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
11136         remove workaround for GCC bug 91450 as the bug should be fixed
11137         there too.
11139 2019-11-21  Bruno Haible  <bruno@clisp.org>
11141         Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
11142         Reported by Christian Biesinger <cbiesinger@google.com> in
11143         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
11144         * lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
11145         non-glibc systems.
11146         * lib/locale.in.h (localeconv, setlocale): Likewise.
11147         * lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
11148         frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
11149         rint, round, trunc): Likewise.
11150         * lib/monetary.in.h (strfmon_l): Likewise.
11151         * lib/pthread.in.h (pthread_mutexattr_getrobust,
11152         pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
11153         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
11154         pthread_spin_destroy): Likewise.
11155         * lib/signal.in.h (raise, signal): Likewise.
11156         * lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
11157         fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
11158         perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
11159         tmpfile, vfprintf, vprintf, vsprintf): Likewise.
11160         * lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
11161         Likewise.
11162         * lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
11163         Likewise.
11164         * lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
11165         * lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
11166         wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
11167         wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
11168         wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
11169         wcsftime): Likewise.
11170         * lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.
11172 2019-11-21  Bruno Haible  <bruno@clisp.org>
11174         Fix various errors in _GL_CXXALIAS_SYS invocations.
11175         * lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
11176         _GL_CXXALIAS_SYS.
11177         * lib/pthread.in.h (pthread_mutexattr_gettype,
11178         pthread_mutexattr_getrobust): Likewise.
11179         * lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
11180         * lib/sys_socket.in.h (recv, send): Likewise.
11181         * lib/unistd.in.h (getdtablesize): Likewise.
11182         * lib/sys_select.in.h (select): In C++, write 'timeval' instead of
11183         'struct timeval'.
11185 2019-11-21  Bruno Haible  <bruno@clisp.org>
11187         math tests: Update after 2019-08-28 change.
11188         * tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
11189         return type of 'bool', not 'int'.
11191 2019-11-21  Bruno Haible  <bruno@clisp.org>
11193         pthread-spin: Fix errors in C++ mode.
11194         * m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
11195         functions as nonexistent when <pthread.h> exists but does not define
11196         the pthread_spinlock_t type.
11198 2019-11-21  Bruno Haible  <bruno@clisp.org>
11200         pthread-mutex: Fix errors in C++ mode.
11201         * m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
11202         pthread_mutexattr_getrobust exists. If not, define
11203         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11204         * lib/pthread-mutex.c (pthread_mutexattr_getrobust,
11205         pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
11206         PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
11207         * modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
11208         when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
11209         definition.
11211 2019-11-19  Bruno Haible  <bruno@clisp.org>
11213         threads-h tests: Fix typo.
11214         * tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.
11216 2019-11-19  Bruno Haible  <bruno@clisp.org>
11218         pthread-thread: Fix prototype of pthread_attr_getdetachstate.
11219         * lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
11220         to 'const pthread_attr_t *'.
11221         * lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
11222         * tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.
11224 2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11226         intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
11227         * lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
11228         work around GCC bug 91450 as the bug should be fixed there.
11230 2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>
11232         glob: get closer to glibc glob.c
11233         Omit differences from glibc when the differences don’t matter.
11234         * lib/glob.c [_LIBC]: Include shlib-compat.h.
11235         (__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
11236         (glob_lstat): New function.
11237         (glob_in_dir): Use it.
11238         (GLOB_ATTRIBUTE): Define to empty if not already defined.
11239         Use changed.
11241 2019-11-18  Bruno Haible  <bruno@clisp.org>
11243         stdint: Define [u]intptr_t correctly on 64-bit native Windows.
11244         * lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
11245         UINTPTR_MAX): Consider _WIN64.
11246         * tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
11247         a pointer.
11249 2019-11-18  Bruno Haible  <bruno@clisp.org>
11251         stdint: Fix value of WINT_MAX when we override wint_t.
11252         * lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
11253         when GNULIB_OVERRIDES_WINT_T is 1.
11255 2019-11-18  Bruno Haible  <bruno@clisp.org>
11257         vcs-to-changelog: New module.
11258         * modules/vcs-to-changelog: New file.
11259         * MODULES.html.sh (func_all_modules): Add it.
11261 2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>
11263         vcs-to-changelog: New script to generate ChangeLog-like output.
11264         Discussion:
11265         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
11266         * build-aux/vcs_to_changelog.py: New file.
11267         * build-aux/vcstocl/frontend_c.py: New file.
11268         * build-aux/vcstocl/misc_util.py: New file.
11269         * build-aux/vcstocl/vcs_git.py: New file.
11271 2019-11-18  Bruno Haible  <bruno@clisp.org>
11273         stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
11274         Reported by Keith Marshall <keith@users.osdn.me> in
11275         <https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
11276         and <https://osdn.net/projects/mingw/ticket/39677>.
11277         * lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
11278         already been defined by mingw's <crtdefs.h>.
11280 2019-11-18  Bruno Haible  <bruno@clisp.org>
11282         gnulib-tool: Fix build error on macOS with --conditional-dependencies.
11283         * gnulib-tool (func_modules_add_dummy): Ignore modules that are
11284         conditionally enabled.
11286 2019-11-18  Bruno Haible  <bruno@clisp.org>
11288         gc: Mirror libgcrypt.m4 from libgcrypt.
11289         * config/srclistvars.sh (LIBGCRYPT): New variable.
11290         * config/srclist.txt: Use it to fetch m4/libgcrypt.m4.
11292 2019-11-17  Bruno Haible  <bruno@clisp.org>
11294         locale, localename: Improve z/OS support.
11295         Reported by Daniel Richard G. in
11296         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
11297         * m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
11298         gl_LOCALE_H.
11299         (gl_LOCALE_H): Require it.
11300         * m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
11301         defined, don't even check for newlocale, duplocale, freelocale.
11302         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
11303         locale_t is not defined.
11305 2019-11-17  Bruno Haible  <bruno@clisp.org>
11307         havelib: Make libdirstems processing more flexible.
11308         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
11309         variables: Consider 'lib' always, also on Solaris. Look for lib32 in
11310         addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
11311         patch from 2017-02-19).
11312         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
11313         libdirs, even when the first one exists as a directory.
11315 2019-11-17  Bruno Haible  <bruno@clisp.org>
11317         havelib: Match the bitness when searching for libraries.
11318         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
11319         acl_is_expected_elfclass.
11320         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
11321         file exists, in ELF, also test whether it has the ELF class that
11322         corresponds to the host's bitness.
11324 2019-11-17  Bruno Haible  <bruno@clisp.org>
11326         host-cpu-c-abi: Add support for unknown CPUs.
11327         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
11328         gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
11329         32-bit or 64-bit.
11331 2019-11-17  Bruno Haible  <bruno@clisp.org>
11333         havelib: Remove redundant code.
11334         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
11335         test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.
11337 2019-11-17  Bruno Haible  <bruno@clisp.org>
11339         havelib: Fix a bug in dependency processing.
11340         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
11341         of .la files, don't overwrite the value of additional_libdir for the
11342         next rounds.
11344 2019-11-16  Bruno Haible  <bruno@clisp.org>
11346         wctype-h: When overriding wint_t, override also the related functions.
11347         Reported by Christian Biesinger <cbiesinger@google.com> in
11348         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
11349         * m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
11350         REPLACE_ISWCNTRL to 1.
11351         * lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
11352         rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
11353         rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
11354         rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
11355         * doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
11356         on mingw.
11357         * doc/posix-headers/wctype.texi: Likewise.
11359 2019-11-16  Bruno Haible  <bruno@clisp.org>
11361         time_r: Fix for mingw.
11362         Reported by Christian Biesinger <cbiesinger@google.com> in
11363         <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
11364         * lib/time.in.h: On mingw, include <unistd.h>.
11365         * m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
11366         <time.h>. Test for localtime_r in a way that works when it is defined
11367         as an inline function.
11369 2019-11-13  Bruno Haible  <bruno@clisp.org>
11371         havelib: Revert last change.
11372         * build-aux/config.rpath: Revert last change. We can add msys2 support
11373         when it has been added to libtool.m4 upstream.
11375 2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11377         config: add msys support
11378         Requested by Arnold Robbins in:
11379         https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
11380         He also requested a change to config.guess, which I’ll forward
11381         upstream.
11382         * build-aux/ar-lib (func_file_conv):
11383         * build-aux/compile (func_file_conv):
11384         * build-aux/config.rpath (wl, with_gnu_ld)
11385         (hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
11386         Treat msys like cygwin.
11388 2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>
11390         regex: now back in sync with glibc
11391         * config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
11392         regexec.c got merged into glibc and are now copies again.
11394 2019-10-27  Bruno Haible  <bruno@clisp.org>
11396         host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
11397         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
11398         statement.
11399         (gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
11400         32-bit CPUs.
11402 2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>
11404         timespec-add, timespec-sub: simplify
11405         * lib/timespec-add.c (timespec_add):
11406         * lib/timespec-sub.c (timespec_sub):
11407         Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
11408         work on unsigned integers.
11410 2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>
11412         nstrftime: speed up integer overflow checking
11413         * lib/nstrftime.c: Include intprops.h.
11414         (INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
11415         (__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
11416         instead of doing it by hand.
11417         * modules/nstrftime (Depends-on): Add intprops.
11419         Port better to GCC under macOS
11420         Work around macOS header that has ‘#define __has_builtin(x) 0’
11421         when compiled by GCC.  Apple really, really doesn’t want you to
11422         use GCC, apparently.  Rroblem reported by Akim Demaille in:
11423         https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
11424         The fix is to not trust __has_builtin when being compiled by
11425         recent-enough GCC.
11426         * lib/intprops.h (__has_builtin)
11427         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
11428         * lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
11429         (_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
11430         Remove.  All uses removed.
11431         * lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
11432         directly, if defined and if not newer GCC.
11433         * lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
11434         New macro, that use __has_builtin directly, if defined and if
11435         not newer GCC.
11436         (assume): Use them.
11438 2019-10-22  Akim Demaille  <akim@lrde.epita.fr>
11440         maintainer-makefile: update rule for argmatch.
11441         * top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.
11443 2019-10-21  Akim Demaille  <akim@lrde.epita.fr>
11445         bitset: let freeing functions accept NULL.
11446         * lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
11447         given NULL.
11448         * lib/bitset.h: Document that.
11449         * doc/bitset.texi: Fix the example, and demonstrate bitset_free.
11451 2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>
11453         inttypes: use more-robust test for int range
11454         This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
11455         Problem reported by Dagobert Michelsen in:
11456         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
11457         * lib/inttypes.in.h: Rely only on limits.h when checking
11458         int range.
11460 2019-10-15  Bruno Haible  <bruno@clisp.org>
11462         libtextstyle-optional: Sync with current not-yet-released libtextstyle.
11463         * libtextstyle-optional (styled_ostream_get_hyperlink_ref,
11464         styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
11465         term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
11466         term_ostream_set_hyperlink): New functions.
11467         (term_styled_ostream_get_hyperlink_ref,
11468         term_styled_ostream_get_hyperlink_id,
11469         term_styled_ostream_set_hyperlink): New function aliases.
11471 2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>
11473         update-copyright: use en dashes in .texi ranges
11474         * build-aux/update-copyright: Match year ranges like "1998--2019",
11475         which are used in the Autoconf manual.  Also, update ranges in
11476         .tex, .texi, and .texinfo files to use en dashes instead of
11477         hyphens.
11479 2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>
11481         * config/srclist.txt: Remove posix/regex_internal.c for now.
11483 2019-10-13  Bruno Haible  <bruno@clisp.org>
11485         git-version-gen: Allow 'snapshot' as .tarball-version contents.
11486         * build-aux/git-version-gen: Don't map non-numeric .tarball-version
11487         contents to the empty string.
11489 2019-10-12  Bruno Haible  <bruno@clisp.org>
11491         intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
11492         * tests/test-intprops.c (main): Disable two more tests when using
11493         HP-UX cc.
11495 2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>
11497         Simplify and regularize regex use of ‘assert’
11498         Also, tell GCC about the asserts even when compiling without
11499         debugging, to give it further optimization opportunities.
11500         * lib/regex_internal.h (DEBUG_ASSERT): New macro.
11501         * lib/regcomp.c (link_nfa_nodes, calc_eclosure)
11502         (parse_expression, parse_bracket_exp):
11503         * lib/regex_internal.c (build_wcs_buffer)
11504         (build_wcs_upper_buffer, re_string_reconstruct)
11505         (re_string_context_at):
11506         * lib/regexec.c (re_search_stub, re_copy_regs)
11507         (re_search_internal, prune_impossible_nodes, check_matching)
11508         (check_halt_state_context, set_regs, sift_states_backward)
11509         (build_sifted_states, transit_state_mb, transit_state_bkref)
11510         (check_arrival_add_next_nodes, check_arrival_expand_ecl)
11511         (match_ctx_add_subtop):
11512         Use it instead of plain ‘assert’.
11514 2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>
11516         regex: omit debug assignment when not debugging
11517         * lib/regexec.c (re_search_internal) [!DEBUG]:
11518         Remove unnecessary assignment.
11520         regex: tell compiler there’s at most 256 arcs out
11521         Partly this is to help the reader (and maybe help GCC);
11522         partly this is to pacify Coverity.
11523         * lib/regex_internal.h: Include verify.h.
11524         * lib/regexec.c (group_nodes_into_DFAstates):
11525         Tell the compiler that ndests cannot exceed SBC_MAX.
11526         * modules/regex (Depends-on): Add ‘verify’.
11528         regex: simplify by assuming C99
11529         * config/srclist.txt: Comment out regex_internal.h and regexec.c
11530         temporarily.
11531         * lib/regex_internal.h (lock_define, re_match_context_t):
11532         Simplify by assuming C99 macros and const.
11533         * lib/regexec.c (re_search_internal): Simplify by assuming C99
11534         initializers.  Remove unnecessary assignment, as mctx is now
11535         safely initialized earlier.
11537         regex: avoid copying of uninitialized storage
11538         * config/srclist.txt: Comment out regcomp.c temporarily.
11539         * lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
11540         Initialize even when not checking for lint, as the behavior is
11541         arguably undefined otherwise and Coverity warns about it.
11543 2019-10-06  Bruno Haible  <bruno@clisp.org>
11545         access tests: Fix test failure when run as root.
11546         * tests/test-access.c: Include root-uid.h.
11547         (geteuid): Define fallback.
11548         (main): Don't expect that writing to a read-only file would fail when
11549         running as root. Also, remove the created files at the end.
11550         * modules/access-tests (Depends-on): Add root-uid.
11551         (configure.ac): Test whether geteuid exists.
11553 2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
11555         users.txt: add GNU nano
11556         Nano has been making use of gnulib since March 2017, version 2.8.0.
11558 2019-10-05  Paul Eggert  <eggert@cs.ucla.edu>
11560         bootstrap: simplify debugging of wget failures
11561         Problem reported by Tim Rühsen in:
11562         https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
11563         * build-aux/bootstrap (po_download_command_format):
11564         Invoke wget with -nv instead of -q, to make debugging easier.
11566 2019-09-29  Bruno Haible  <bruno@clisp.org>
11568         avltree-list: Fix compilation warning (introduced on 2014-09-16).
11569         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
11570         'const' attribute.
11572 2019-09-29  Bruno Haible  <bruno@clisp.org>
11574         fbufmode: Fix compilation error on glibc >= 2.28 systems.
11575         * lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.
11577 2019-09-28  Bruno Haible  <bruno@clisp.org>
11579         Update comments that refer to POSIX.
11580         * lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
11581         sentence about trailing slashes.
11582         * lib/fflush.c: Clarify the reasoning.
11583         * tests/test-fflush2.c: Cite the relevant sentence.
11585 2019-09-28  Bruno Haible  <bruno@clisp.org>
11587         access: Document limitations on Windows.
11588         Suggested by Zaretskii <eliz@gnu.org>.
11589         * doc/posix-functions/access.texi: Mention two limitations on Windows.
11591 2019-09-28  Bruno Haible  <bruno@clisp.org>
11593         findprog-in: Fix comment.
11594         Reported by Eli Zaretskii <eliz@gnu.org>.
11595         * lib/findprog.h (find_in_given_path): Extend description of EACCES
11596         condition.
11597         * lib/stat.c (rpl_stat): Fix typo in comment.
11598         * lib/utime.c (_gl_utimens_windows): Likewise.
11600 2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11602         Update URLs and associated text
11603         (Thanks to Bruno Haible for proofreading this patch.)
11604         Prefer https: to http: in URLs where either will do, for the usual
11605         security reasons.  I also updated broken and/or moved URLs
11606         discovered during the process. In a few places I had to resort to
11607         archive.org, since I didn't find the originals elsewhere.
11609 2019-09-15  Paul Smith  <psmith@gnu.org>
11610             Bruno Haible  <bruno@clisp.org>
11612         findprog-in: Set errno when the search fails.
11613         * lib/findprog-in.c: Include <errno.h>.
11614         (find_in_given_path): Set errno before returning NULL.
11615         * lib/findprog.h (find_in_given_path): Update comment accordingly.
11616         Define the term "slash".
11618 2019-09-15  Bruno Haible  <bruno@clisp.org>
11620         findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
11621         * modules/findprog (Depends-on): Add access.
11622         * modules/findprog-lgpl (Depends-on): Likewise.
11623         * modules/findprog-in (Depends-on): Likewise.
11625 2019-09-15  Bruno Haible  <bruno@clisp.org>
11627         access: Add tests.
11628         * tests/test-access.c: New file.
11629         * modules/access-tests: New file.
11631         access: New module.
11632         * lib/unistd.in.h (access): New declaration.
11633         * lib/access.c: New file.
11634         * m4/access.m4: New file.
11635         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
11636         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
11637         * modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
11638         REPLACE_ACCESS.
11639         * modules/access: New file.
11640         * tests/test-unistd-c++.cc (access): Check signature.
11641         * doc/posix-functions/access.texi: Mention the new module.
11643 2019-09-15  Bruno Haible  <bruno@clisp.org>
11645         fcntl-h: Fix compilation error of creat.c on MSVC.
11646         * lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
11647         defined.
11649 2019-09-15  Bruno Haible  <bruno@clisp.org>
11651         creat: Add tests.
11652         * tests/test-creat.c: New file, based on tests/test-open.h.
11653         * modules/creat-tests: New file.
11655         creat: New module.
11656         * lib/fcntl.in.h (creat): New declaration.
11657         * lib/creat.c: New file, based on lib/open.c.
11658         * m4/creat.m4: New file.
11659         * m4/open-slash.m4: New file, extracted from m4/open.m4.
11660         * m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
11661         Invoke gl_OPEN_TRAILING_SLASH_BUG.
11662         * modules/open (Files): Add m4/open-slash.m4.
11663         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
11664         REPLACE_CREAT.
11665         * modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
11666         * modules/creat: New file.
11667         * tests/test-fcntl-h-c++.cc (creat): Check signature.
11668         * doc/posix-functions/creat.texi: Mention the new module.
11670 2019-09-15  Bruno Haible  <bruno@clisp.org>
11672         open tests: Enhance test.
11673         * tests/test-open.h (test_open): Test the creation of an executable
11674         regular file. Also improve initial cleanup.
11676 2019-09-15  Bruno Haible  <bruno@clisp.org>
11678         intprops tests: Avoid build failure with HP-UX cc.
11679         * tests/test-intprops.c: Disable a check that makes HP cc choke with
11680         "error 4018: Macro param too large after substitution - use -H option.".
11682 2019-09-14  Bruno Haible  <bruno@clisp.org>
11684         Make autoconf tests work with -Werror=implicit-function-declaration.
11685         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
11686         towupper() declaration.
11687         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
11688         declaration.
11690 2019-09-14  Bruno Haible  <bruno@clisp.org>
11692         findprog-in: Better mimic the system on native Windows.
11693         Reported by Paul Smith <psmith@gnu.org>.
11694         * lib/findprog-in.c (find_in_given_path): On native Windows, don't try
11695         non-empty suffixes when the file name already contains a '.'.
11697 2019-09-10  Bruno Haible  <bruno@clisp.org>
11699         wctob: Fix autoconf test.
11700         Based on patch by Florian Weimer <fweimer@redhat.com>.
11701         * m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.
11703 2019-09-09  Akim Demaille  <akim@lrde.epita.fr>
11705         xhash: provide hash_xinitialize.
11706         Suggested by Egor Pugin <egor.pugin@gmail.com>
11707         https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
11708         * modules/xhash, lib/xhash.c: New.
11709         * lib/hash.h (hash_xinitialize): New.
11711 2019-09-09  Bruno Haible  <bruno@clisp.org>
11713         findprog-in: Make exec optimization optional.
11714         * lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
11715         (find_in_given_path): Add optimize_for_exec parameter.
11716         * lib/findprog-in.c (find_in_given_path): Likewise.
11718 2019-09-08  Bruno Haible  <bruno@clisp.org>
11720         Add option to assume the best, not the worst, when cross-compiling.
11721         Suggested by Jonas Termansen <sortie@maxsi.org>.
11722         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
11723         option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
11724         * m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
11725         lt_cv_sys_argz_works.
11726         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
11727         ac_cv_func_calloc_0_nonnull.
11728         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
11729         --enable-cross-guesses for gl_cv_func_realpath_works.
11730         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
11731         gl_cv_func_cbrtl_ieee.
11732         * m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
11733         gl_cv_func_ceil_ieee.
11734         * m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
11735         gl_cv_func_ceilf_ieee.
11736         * m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
11737         gl_cv_func_ceill_ieee.
11738         * m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
11739         ac_cv_func_chown_works.
11740         (gl_FUNC_CHOWN): Obey --enable-cross-guesses for
11741         gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
11742         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
11743         --enable-cross-guesses for gl_cv_struct_dirent_d_ino.
11744         * m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
11745         gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
11746         * m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
11747         gl_cv_func_expl_works.
11748         * m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
11749         gl_cv_func_expm1_ieee.
11750         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
11751         gl_cv_func_expm1l_works.
11752         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
11753         gl_cv_func_open_directory_works.
11754         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
11755         --enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
11756         (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
11757         gl_cv_func_fchownat_empty_filename_works.
11758         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
11759         gl_cv_func_fdopendir_works.
11760         * m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
11761         gl_cv_func_floor_ieee.
11762         * m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
11763         gl_cv_func_floorf_ieee.
11764         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
11765         gl_cv_func_fma_works.
11766         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
11767         gl_cv_func_fmaf_works.
11768         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
11769         gl_cv_func_fmal_works.
11770         * m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
11771         gl_cv_func_fmod_ieee.
11772         * m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
11773         gl_cv_func_fmodf_ieee.
11774         * m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
11775         gl_cv_func_fmodl_ieee.
11776         * m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
11777         gl_cv_func_fpurge_works.
11778         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
11779         --enable-cross-guesses for gl_cv_func_getcwd_path_max.
11780         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
11781         gl_cv_func_getcwd_null.
11782         (gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
11783         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
11784         gl_cv_func_working_getdelim.
11785         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11786         ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
11787         (gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
11788         gl_cv_func_getgroups_works.
11789         * m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
11790         am_cv_func_working_getline.
11791         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
11792         for gl_cv_func_getopt_gnu.
11793         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
11794         --enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
11795         * m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
11796         gl_cv_func_hypot_ieee.
11797         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
11798         gl_cv_func_hypotf_ieee.
11799         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
11800         gl_cv_func_hypotl_ieee.
11801         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
11802         --enable-cross-guesses for gl_cv_func_iconv_supports_utf.
11803         * m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
11804         gl_cv_func_link_works.
11805         * m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
11806         gl_cv_func_linkat_slash.
11807         * m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
11808         gl_cv_func_log_ieee.
11809         * m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
11810         gl_cv_func_logf_ieee.
11811         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
11812         gl_cv_func_logl_works.
11813         * m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
11814         gl_cv_func_log10_ieee.
11815         * m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
11816         gl_cv_func_log10f_ieee.
11817         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
11818         gl_cv_func_log10l_works.
11819         * m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
11820         gl_cv_func_log1p_ieee.
11821         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
11822         gl_cv_func_log1pf_ieee.
11823         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
11824         gl_cv_func_log1pl_ieee.
11825         * m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
11826         gl_cv_func_log2_ieee.
11827         * m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
11828         gl_cv_func_log2f_ieee.
11829         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
11830         --enable-cross-guesses for
11831         gl_cv_func_lstat_dereferences_slashed_symlink.
11832         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
11833         ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11834         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
11835         gl_cv_C_locale_sans_EILSEQ.
11836         * m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
11837         gl_cv_func_memchr_works.
11838         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
11839         gl_cv_func_memmem_works_always.
11840         (gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
11841         gl_cv_func_memmem_works_fast.
11842         * m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
11843         gl_cv_func_mkdir_trailing_slash_works,
11844         gl_cv_func_mkdir_trailing_dot_works.
11845         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
11846         gl_cv_func_mkfifo_works.
11847         * m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
11848         gl_cv_func_mknod_works.
11849         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
11850         gl_cv_func_working_mkstemp.
11851         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
11852         gl_cv_func_working_mktime.
11853         * m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
11854         gl_cv_func_modf_ieee.
11855         * m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
11856         gl_cv_func_modff_ieee.
11857         * m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
11858         gl_cv_func_modfl_ieee.
11859         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
11860         gl_cv_func_nanosleep.
11861         * m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
11862         gl_cv_func_perror_works.
11863         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
11864         gl_cv_func_printf_sizes_c99.
11865         (gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
11866         gl_cv_func_printf_infinite.
11867         (gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
11868         gl_cv_func_printf_infinite_long_double.
11869         (gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
11870         gl_cv_func_printf_directive_a.
11871         (gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
11872         gl_cv_func_printf_directive_f.
11873         (gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
11874         gl_cv_func_printf_flag_zero.
11875         (gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
11876         gl_cv_func_printf_enomem.
11877         (gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
11878         gl_cv_func_snprintf_truncation_c99.
11879         (gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
11880         gl_cv_func_snprintf_retval_c99.
11881         (gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
11882         gl_cv_func_snprintf_directive_n.
11883         (gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
11884         gl_cv_func_vsnprintf_zerosize_c99.
11885         * m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
11886         gl_cv_func_pselect_detects_ebadf.
11887         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
11888         Obey --enable-cross-guesses for
11889         gl_cv_pthread_rwlock_rdlock_prefer_writer.
11890         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
11891         gl_cv_func_ptsname_sets_errno.
11892         * m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
11893         gl_cv_func_svid_putenv.
11894         * m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
11895         gl_cv_func_readlink_works.
11896         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
11897         ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
11898         * m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
11899         gl_cv_func_re_compile_pattern_working.
11900         * m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
11901         gl_cv_func_remainder_ieee.
11902         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
11903         gl_cv_func_remainderf_ieee.
11904         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
11905         gl_cv_func_remainderl_ieee.
11906         * m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
11907         gl_cv_func_rintl_works.
11908         * m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
11909         gl_cv_func_rmdir_works.
11910         * m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
11911         gl_cv_func_round_ieee.
11912         * m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
11913         gl_cv_func_roundf_ieee.
11914         * m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
11915         gl_cv_func_roundl_ieee.
11916         * m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
11917         gl_cv_func_select_detects_ebadf.
11918         * m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
11919         gl_cv_func_setenv_works.
11920         (gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
11921         gl_cv_func_unsetenv_works.
11922         * m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
11923         gl_cv_func_signbit, gl_cv_func_signbit_gcc.
11924         * m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
11925         gl_cv_func_sleep_works.
11926         * m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
11927         gl_cv_func_stat_file_slash.
11928         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
11929         gl_cv_func_stpncpy.
11930         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
11931         --enable-cross-guesses for gl_cv_func_strcasestr_works_always.
11932         (gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
11933         gl_cv_func_strcasestr_linear.
11934         * m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
11935         gl_cv_func_working_strerror.
11936         (gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
11937         gl_cv_func_strerror_0_works.
11938         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
11939         --enable-cross-guesses for gl_cv_func_strerror_r_works.
11940         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
11941         gl_cv_func_strstr_works_always.
11942         (gl_FUNC_STRSTR): Obey --enable-cross-guesses for
11943         gl_cv_func_strstr_linear.
11944         * m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
11945         gl_cv_func_strtod_works.
11946         * m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
11947         gl_cv_func_strtold_works.
11948         * m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
11949         gl_cv_func_symlink_works.
11950         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
11951         gl_cv_func_symlinkat_works.
11952         * m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
11953         gl_cv_func_trunc_ieee.
11954         * m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
11955         gl_cv_func_truncf_ieee.
11956         * m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
11957         gl_cv_func_truncl_ieee.
11958         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
11959         gl_cv_func_tzset_clobber.
11960         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
11961         gl_cv_func_ungetc_works.
11962         * m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
11963         gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
11964         * m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
11965         gl_cv_func_usleep_works.
11966         * m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
11967         gl_cv_func_futimesat_works.
11968         * m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
11969         gl_cv_func_working_utimes.
11970         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
11971         gl_cv_func_wcwidth_works.
11972         * m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
11973         testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
11974         * m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
11975         links for testing. Obey --enable-cross-guesses for
11976         gl_cv_func_rename_slash_dst_works, gl_cv_func_rename_slash_src_works,
11977         gl_cv_func_rename_link_works, gl_cv_func_rename_dest_works.
11979 2019-09-08  Bruno Haible  <bruno@clisp.org>
11981         Clarify that cross-compilation guesses are guesses.
11982         * m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
11983         cross-compiling.
11985 2019-09-08  Bruno Haible  <bruno@clisp.org>
11987         chown: Fix configure output (regression from 2019-03-23).
11988         * m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
11989         gl_cv_func_chown_follows_symlink variable.
11991 2019-09-08  Bruno Haible  <bruno@clisp.org>
11993         findprog-in: New module.
11994         Suggested by Paul Smith <psmith@gnu.org>.
11995         * lib/findprog.h (find_in_given_path): New declaration.
11996         * lib/findprog-in.c: New file, based on lib/findprog.c.
11997         * m4/findprog-in.m4: New file, based on m4/findprog.m4.
11998         * modules/findprog-in: New file.
12000 2019-09-08  Bruno Haible  <bruno@clisp.org>
12002         findprog: Remove unused dependency.
12003         * modules/findprog (Depends-on): Remove strdup.
12005 2019-09-08  Bruno Haible  <bruno@clisp.org>
12007         findprog: Remove test that is obsolete since 2006-04-24.
12008         * m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.
12010 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12012         bitset: style changes
12013         * lib/bitset/vector.c (vbitset_resize): Factor computation.
12014         * lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
12015         xzalloc to xcalloc.
12016         Suggested by Paul Eggert.
12018 2019-09-06  Akim Demaille  <akim@lrde.epita.fr>
12020         bitset: check memory allocation
12021         Reported by 江 祖铭 (Zu-Ming Jiang).
12022         With help from Paul Eggert.
12023         https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
12024         * lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
12025         instead of realloc.
12026         When shrinking, accept failures.
12027         * lib/bitset/vector.c (vbitset_resize): Likewise.
12029 2019-09-07  Paul Eggert  <eggert@cs.ucla.edu>
12031         scratch_buffer: sync from glibc
12032         * config/srclist.txt: Add the scratch_buffer source
12033         code from glibc, since these should be in sync.
12034         Autoupdate.
12036 2019-09-07  Bruno Haible  <bruno@clisp.org>
12038         doc: Update for glibc 2.30.
12039         * doc/glibc-functions/gettid.texi: New file.
12040         * doc/glibc-functions/pthread_cond_clockwait.texi: New file.
12041         * doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
12042         * doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
12043         * doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
12044         * doc/glibc-functions/sem_clockwait.texi: New file.
12045         * doc/glibc-functions/tgkill.texi: New file.
12046         * doc/glibc-functions/twalk_r.texi: New file.
12047         * doc/gnulib.texi: Include them.
12048         (Glibc semaphore.h): New section.
12049         * doc/pastposix-functions/h_errno.texi: Update.
12050         * doc/posix-functions/*.texi: Likewise.
12052 2019-09-06  Bruno Haible  <bruno@clisp.org>
12054         symlink tests: Avoid test failure on Linux with Lustre file system.
12055         Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
12056         at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
12057         * tests/test-symlink.h (test_symlink): Accept errno value ENOENT.
12059 2019-09-01  Bruno Haible  <bruno@clisp.org>
12061         gitsub.sh: Add support for shallow-cloning of subdirectories.
12062         * top/gitsub.sh (func_usage): Document allowed git options with
12063         'git pull'.
12064         (func_pull): Accept GIT_OPTIONS argument.
12065         (pull): Parse git options before complaining about too many arguments.
12066         Pass the git options to func_pull.
12068 2019-08-29  Bruno Haible  <bruno@clisp.org>
12070         lock: Fix cross-compilation guesses.
12071         * m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
12072         Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
12073         platforms.
12075 2019-08-28  Bruno Haible  <bruno@clisp.org>
12077         isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
12078         Reported by Martin Storsjö <martin@martin.st> in
12079         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
12080         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
12081         (isfinite, isinf, isnan, signbit): On platforms that use C++ include
12082         files from GCC 6 or newer, use an override through '#define', because
12083         the inline definitions in the platform's <cmath> cannot be overridden
12084         in another way.
12086 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12088         Revert macOS INT_MULTIPLY_WRAPV patch
12089         Problem reported by Bruno Haible in:
12090         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
12091         * lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
12092         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12093         Go back to working around the Clang bug on macOS.
12095 2019-08-27  Bruno Haible  <bruno@clisp.org>
12097         libtool-next-version: Fix error output.
12098         * build-aux/libtool-next-version (func_fatal_error): Fix the program
12099         name.
12101 2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>
12103         Speed up INT_MULTIPLY_WRAPV on macOS
12104         Assume that __builtin_mul_overflow works OK with Clang on macOS.
12105         Mattias Engdegård says it’s safe to assume the relevant library
12106         is always available there.
12107         * lib/intprops.h (_GL_HAS___builtin_mul_overflow):
12108         New temporary internal macro.
12109         (_GL_HAS_BUILTIN_MUL_OVERFLOW):
12110         No need to work around the Clang bug on macOS.
12112 2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>
12114         intprops.h, verify.h: port better to clang
12115         Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
12116         with Clang.  Problem reported privately by Mattias Engdegård.
12117         Also, insulate intprops.h and verify.h better against each other’s
12118         definitions of __has_builtin on non-Clang hosts.
12119         * lib/intprops.h (__has_builtin): Define a temporary substitute
12120         if __has_builtin is not already defined.
12121         (_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
12122         New temporary internal macros.
12123         (_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
12124         Now two separate macros, replacing the old
12125         _GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
12126         __builtin_mul_overflow is like the rest.  All uses changed.
12127         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
12128         Adjust to above changes.
12129         (_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
12130         longer relevant.  All uses changed.
12131         * lib/verify.h (__has_builtin): Treat like intprops.h,
12132         so that the two .h files do not collide with each other.
12133         (_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
12134         (_GL_TEMPDEF___has_builtin): New temporary internal macros.
12136 2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>
12138         intprops: say why not Clang __builtin_add_overflow
12139         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
12140         Mention Clang in comment, responding to a query from
12141         Mattias Engdegård.
12143 2019-08-24  Bruno Haible  <bruno@clisp.org>
12145         doc: Document most of the files outside of modules.
12146         * doc/gnulib.texi (Build Infrastructure Files,
12147         Release Management Files): New chapters.
12149 2019-08-24  Bruno Haible  <bruno@clisp.org>
12151         bootstrap: Keep in sync with the 'gettext' module.
12152         Reported by Assaf Gordon in
12153         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
12154         * build-aux/po/Makefile.in.in: Update to gettext 0.20.
12155         * build-aux/po/remove-potcdate.sin: Likewise.
12157 2019-08-24  Bruno Haible  <bruno@clisp.org>
12159         crypto/gc-sha512: Add tests.
12160         * tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
12161         * modules/crypto/gc-sha512-tests: New file.
12163         crypto/gc-sha256: Add tests.
12164         * tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
12165         * modules/crypto/gc-sha256-tests: New file.
12167         crypto/gc-sha256, crypto/gc-sha512: New modules.
12168         * lib/gc.h (gc_sha256, gc_sha512): New declarations.
12169         * lib/gc-gnulib.c: Include sha256.h, sha512.h.
12170         (MAX_DIGEST_SIZE): Set to 64.
12171         (_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
12172         gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
12173         (gc_sha256, gc_sha512): New functions.
12174         * lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
12175         * modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
12176         * modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.
12178 2019-08-24  Bruno Haible  <bruno@clisp.org>
12180         crypto/gc-sha1 tests: Improve output when the test fails.
12181         * tests/test-gc-sha1.c (main): In case of mismatch, print the entire
12182         output.
12184 2019-08-24  Bruno Haible  <bruno@clisp.org>
12186         crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
12187         * m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
12188         LIBGCRYPT_HAS_MD_SM3.
12189         * lib/gc-libgcrypt.c: Include sm3.h.
12190         (_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
12191         gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
12192         implementation if libgcrypt does not support SM3.
12194 2019-08-24  Bruno Haible  <bruno@clisp.org>
12196         crypto/gc-md2: Optimize and clarify code.
12197         * lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
12198         * lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
12199         is not needed.
12201 2019-08-24  Bruno Haible  <bruno@clisp.org>
12203         crypto/gc-md2: Add comment.
12204         * lib/gc-libgcrypt.c: Add comment.
12206 2019-08-24  Bruno Haible  <bruno@clisp.org>
12208         crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
12209         * modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
12210         * modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
12211         * modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
12212         variable.
12214 2019-08-24  Bruno Haible  <bruno@clisp.org>
12216         crypto/gc: Fix link error with --with-libgcrypt.
12217         * m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
12218         AC_LIB_HAVE_LINKFLAGS invocation.
12220 2019-08-24  Bruno Haible  <bruno@clisp.org>
12222         crypto/gc: Access the module indicators correctly.
12223         * lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
12224         * lib/gc-libgcrypt.c: Likewise.
12226 2019-08-24  Bruno Haible  <bruno@clisp.org>
12228         crypto/gc: Fix configuration with --with-libgcrypt.
12229         * m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
12230         * modules/crypto/gc (Files): Add it.
12231         * m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.
12233 2019-08-24  Bruno Haible  <bruno@clisp.org>
12235         Remove unused file.
12236         * m4/stat-macros.m4: Remove file.
12238 2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>
12240         New strip-trailing-space option for srclist-update
12241         * config/srclist-update (fixfile): Support new option.
12242         * config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
12243         Use it.
12245 2019-08-20  Eric Blake  <eblake@redhat.com>
12247         accept4: Support SOCK_NONBLOCK, if defined
12248         * lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.
12250         accept4: Fix compilation when native accept4() exists.
12251         Reported by Richard W.M. Jones <rjones@redhat.com> in
12252         https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
12253         * lib/accept4.c (accept4): Match witness symbol to m4 file update.
12255 2019-08-18  Bruno Haible  <bruno@clisp.org>
12257         Defeat -flto GCC optimization in math autoconf tests.
12258         Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
12259         at <https://savannah.gnu.org/bugs/?56109>.
12260         * m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
12261         * m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
12262         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12263         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12264         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12265         * m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
12266         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12267         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
12268         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
12269         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12270         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12271         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12273 2019-08-17  Bruno Haible  <bruno@clisp.org>
12275         windows-spin: Implement declared functions.
12276         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
12277         <https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
12278         * lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
12279         name.
12281 2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>
12283         intprops: port to Oracle Developer Studio 12.6
12284         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
12285         typos that were in a section not compiled by GCC.
12287 2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>
12289         intprops: support uchar, ushort _WRAPV dests
12290         * lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
12291         when __builtin_add_overflow etc. and _Generic are not used.
12292         (_GL_INT_OP_WRAPV): Use it to support destinations that
12293         are unsigned char or unsigned short, even in compilers
12294         that lack __typeof__ and are not C11-compatible.
12296         intprops: pacify picky GCC
12297         * lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
12298         Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
12299         possibly-incorrect result.
12300         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
12301         about (A) used as a boolean, when A is an expression like 3 * 4.
12303         intprops: support unsigned *_WRAPV results
12304         Add support for unsigned, unsigned long, and unsigned long long
12305         results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
12306         INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
12307         bug with unsigned inputs reported by Eli Zaretskii in:
12308         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
12309         * config/srclist.txt: Break the glibc connection for intprops.h
12310         temporarily, while more testing is done in Gnulib-using apps.
12311         * lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
12312         (INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
12313         Support unsigned results no narrower than unsigned int.  Report
12314         overflow correctly if some arguments are unsigned.
12315         (_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
12316         (_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
12317         the right thing with narrow args.
12318         (_GL_INT_OP_CALC1): Remove.  All callers removed.
12319         (_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
12320         (_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
12321         * tests/test-intprops.c: Check for bugs and test new behavior.
12323 2019-08-14  Bruno Haible  <bruno@clisp.org>
12325         get_progname_of: New module.
12326         * lib/get_progname_of.h: New file.
12327         * lib/get_progname_of.c: New file, based on lib/getprogname.c.
12328         * lib/getprogname.c (getprogname): Tweak coding style.
12329         * lib/vma-iter.c (vma_iterate_bsd): Update comment.
12330         * modules/get_progname_of: New file.
12332 2019-08-14  Bruno Haible  <bruno@clisp.org>
12334         get_ppid_of: New module.
12335         * lib/get_ppid_of.h: New file.
12336         * lib/get_ppid_of.c: New file.
12337         * modules/get_ppid_of: New file.
12339 2019-08-13  Bruno Haible  <bruno@clisp.org>
12341         libtextstyle-optional tests: Support the NO_COLOR environment variable.
12342         * tests/test-libtextstyle.c (main): Do not emit styling when the
12343         environment variable NO_COLOR is set.
12345 2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>
12347         verify: improve diagnostic quality in recent GCC
12348         If ‘verify’ fails in a deeply-nested macro, GCC does not output a
12349         useful line number containing the top-level caller of the macro.
12350         So, bring back the older way of issuing a diagnostic containing
12351         the top-level call’s arg, so that it is easier to diagnose
12352         ‘verify’ failures with recent GCC.
12353         * lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
12354         Bring back DIAGNOSTIC arg.  All callers changed.
12355         (verify): Just use _GL_VERIFY.
12357 2019-08-11  Bruno Haible  <bruno@clisp.org>
12359         localcharset: Add more aliases for OS/2.
12360         Based on patch by KO Myung-Hun <komh78@gmail.com> in
12361         <https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
12362         * lib/localcharset.c (alias_table) [OS2]: Add more aliases.
12364 2019-08-10  Eric Blake  <eblake@redhat.com>
12366         configmake: Update advice on usage.
12367         * modules/configmake (Include): No longer necessary to include
12368         last, since configmake.h itself worries about collision avoidance.
12370 2019-08-10  Assaf Gordon <assafgordon@gmail.com>
12372         parse-datetime: fix 'T' military timezone handling
12373         * lib/parse-datetime.y (zone):
12374         follow-up to the previous commit: the 'T' case is handled outside the
12375         conversion table (used as either military timezone UTC-7 or ISO8601
12376         separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
12377         timezone letters.
12379 2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>
12381         parse-datetime: fix military timezone letters
12382         Problem and trivial fix reported by Neil Hoggarth in:
12383         https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
12384         * lib/parse-datetime.y (military_table):
12385         Do it the right way, not the RFC 822 way.
12387 2019-08-08  Eric Blake  <eblake@redhat.com>
12389         configmake: Avoid namespace pollution issue on mingw.
12390         * modules/configmake (Makefile.am): If the project uses
12391         <winsock2.h>, include that header before defining DATADIR.
12393 2019-07-28  Bruno Haible  <bruno@clisp.org>
12395         mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
12396         * tests/test-mbrtowc.c (main): Fix expected value of wc.
12398 2019-07-24  Bruno Haible  <bruno@clisp.org>
12400         pthread-h: Fix definitions of types and macros on mingw.
12401         * lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
12402         PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
12403         not in use.
12404         (pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
12405         'pthread-once' is not in use.
12406         (pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
12407         PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
12408         PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
12409         in use.
12410         (pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
12411         Define also when module 'pthread-rwlock' is not in use.
12412         (pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
12413         also when module 'pthread-cond' is not in use.
12414         (pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
12415         'pthread-tss' is not in use.
12416         (pthread_spinlock_t): Define also when module 'pthread-spin' is not in
12417         use.
12419 2019-07-24  Simon Josefsson  <simon@josefsson.org>
12421         crypto/gc: Cope with libgcrypt without SM3.
12422         * lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.
12424 2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>
12426         backupfile: fix resource leak on memory failure
12427         Problem found by Coverity (CID 1484214).
12428         * lib/backupfile.c (backupfile_internal): Don’t leak dirp.
12430 2019-07-22  Bruno Haible  <bruno@clisp.org>
12432         Avoid missing-declarations warning in various tests.
12433         * tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
12434         test6, test_optional, test7, test8, test9, test10, test11, test12,
12435         test13, test14, test15, test_fun): Declare static.
12436         * tests/test-cnd.c (test_cnd_wait): Likewise.
12437         * tests/test-cond.c (test_cond): Likewise.
12439 2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>
12441         pthread tests: Avoid missing-declarations warning.
12442         * tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.
12444 2019-07-19  Bruno Haible  <bruno@clisp.org>
12446         parse-datetime: Avoid warnings from bison versions >= 3.3.
12447         Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
12448         * modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.
12450 2019-07-19  Bruno Haible  <bruno@clisp.org>
12452         parse-datetime: Require Bison 2.4 or newer.
12453         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
12454         Code taken from gettext's intl.m4.
12455         * modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
12456         of YACC.
12458 2019-07-19  Bruno Haible  <bruno@clisp.org>
12460         areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
12461         * lib/areadlink-with-size.c: Include <string.h>.
12462         * lib/areadlinkat-with-size.c: Likewise.
12463         * lib/xgethostname.c: Likewise.
12464         * lib/xgetdomainname.c: Likewise.
12466 2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>
12468         parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
12469         * lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
12470         "%pure-parser".  The former is available since Bison 2.3b (2008),
12471         while the latter is marked as obsolete since version 3.4 (May 2019).
12473 2019-07-16  Bruno Haible  <bruno@clisp.org>
12475         update-copyright: Make it work again (regression from 2019-06-15).
12476         Reported by Brian C. Lane <bcl@redhat.com>.
12477         * build-aux/update-copyright: Add back the -0777, -p, -i options.
12479 2019-07-14  Bruno Haible  <bruno@clisp.org>
12481         doc: Update info about <pthread.h>.
12482         * doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
12483         of 'pthread'.
12485 2019-07-14  Bruno Haible  <bruno@clisp.org>
12487         pthread_sigmask tests: Use new multithread modules.
12488         * tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
12489         glthread/thread.h.
12490         (main_thread, killer_thread): Change type to pthread_t.
12491         (main): Update accordingly.
12492         * modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
12493         thread.
12495 2019-07-14  Bruno Haible  <bruno@clisp.org>
12497         pthread-tss: Add tests.
12498         * tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
12499         tests/test-tss.c.
12500         * modules/pthread-tss-tests: New file.
12502 2019-07-14  Bruno Haible  <bruno@clisp.org>
12504         pthread-cond: Add tests.
12505         * tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
12506         tests/test-cnd.c.
12507         * modules/pthread-cond-tests: New file.
12509 2019-07-14  Bruno Haible  <bruno@clisp.org>
12511         pthread-rwlock: Add tests.
12512         * tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
12513         * modules/pthread-rwlock-tests: New file.
12515 2019-07-14  Bruno Haible  <bruno@clisp.org>
12517         pthread-mutex: Add tests.
12518         * tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
12519         tests/test-mtx.c.
12520         * modules/pthread-mutex-tests: New file.
12522 2019-07-14  Bruno Haible  <bruno@clisp.org>
12524         pthread-once: Add tests.
12525         * tests/test-pthread-once1.c: New file, based on tests/test-once.c and
12526         tests/test-call_once.c.
12527         * tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
12528         tests/test-mtx.c.
12529         * modules/pthread-once-tests: New file.
12531 2019-07-14  Bruno Haible  <bruno@clisp.org>
12533         pthread-thread: Add tests.
12534         * tests/test-pthread-thread.c: New file, based on
12535         tests/test-thread_create.c and tests/test-thrd_create.c.
12536         * modules/pthread-thread-tests: New file.
12538 2019-07-14  Bruno Haible  <bruno@clisp.org>
12540         pthread: Turn into a convenience module.
12541         * lib/pthread.in.h: Remove declarations for extern inline functions.
12542         * lib/pthread.c: Remove file.
12543         * modules/pthread (Files): Remove it.
12544         (Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
12545         pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
12546         (configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
12547         * m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
12548         GNULIB_PTHREAD.
12549         * modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.
12551 2019-07-14  Bruno Haible  <bruno@clisp.org>
12553         pthread-spin: New module.
12554         * lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
12555         pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
12556         inline definitions.
12557         * lib/pthread-spin.c: New file.
12558         * m4/pthread-spin.m4: New file.
12559         * modules/pthread-spin: New file.
12560         * doc/posix-functions/pthread_spin_init.texi: Mention the new module.
12561         * doc/posix-functions/pthread_spin_lock.texi: Likewise.
12562         * doc/posix-functions/pthread_spin_trylock.texi: Likewise.
12563         * doc/posix-functions/pthread_spin_unlock.texi: Likewise.
12564         * doc/posix-functions/pthread_spin_destroy.texi: Likewise.
12566 2019-07-14  Bruno Haible  <bruno@clisp.org>
12568         pthread-tss: New module.
12569         * lib/pthread-tss.c: New file.
12570         * m4/pthread-tss.m4: New file.
12571         * modules/pthread-tss: New file.
12572         * doc/posix-functions/pthread_key_create.texi: Mention the new module.
12573         * doc/posix-functions/pthread_setspecific.texi: Likewise.
12574         * doc/posix-functions/pthread_getspecific.texi: Likewise.
12575         * doc/posix-functions/pthread_key_delete.texi: Likewise.
12577 2019-07-14  Bruno Haible  <bruno@clisp.org>
12579         pthread-cond: New module.
12580         * lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
12581         pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
12582         * lib/pthread-cond.c: New file.
12583         * m4/pthread-cond.m4: New file.
12584         * modules/pthread-cond: New file.
12585         * doc/posix-functions/pthread_cond_init.texi: Mention the new module.
12586         * doc/posix-functions/pthread_condattr_init.texi: Likewise.
12587         * doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
12588         * doc/posix-functions/pthread_cond_wait.texi: Likewise.
12589         * doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
12590         * doc/posix-functions/pthread_cond_signal.texi: Likewise.
12591         * doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
12592         * doc/posix-functions/pthread_cond_destroy.texi: Likewise.
12594 2019-07-14  Bruno Haible  <bruno@clisp.org>
12596         pthread-rwlock: New module.
12597         * lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
12598         * m4/pthread-rwlock.m4: New file.
12599         * modules/pthread-rwlock: New file.
12600         * doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
12601         and the Android problem.
12602         * doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
12603         * doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
12604         * doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
12605         * doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
12606         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
12607         * doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
12608         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
12609         * doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
12610         * doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
12611         * doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.
12613 2019-07-14  Bruno Haible  <bruno@clisp.org>
12615         pthread-mutex: New module.
12616         * lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
12617         pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
12618         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
12619         pthread_mutex_unlock): Remove inline definitions.
12620         * lib/pthread-mutex.c: New file.
12621         * m4/pthread-mutex.m4: New file.
12622         * modules/pthread-mutex: New file.
12623         * doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
12624         * doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
12625         * doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
12626         * doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
12627         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
12628         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
12629         * doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
12630         * doc/posix-functions/pthread_mutex_lock.texi: Likewise.
12631         * doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
12632         * doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
12633         * doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
12634         * doc/posix-functions/pthread_mutex_destroy.texi: Likewise.
12636 2019-07-14  Bruno Haible  <bruno@clisp.org>
12638         pthread-once: New module.
12639         * lib/pthread-once.c: New file.
12640         * m4/pthread-once.m4: New file.
12641         * modules/pthread-once: New file.
12642         * doc/posix-functions/pthread_once.texi: Mention the new module.
12644 2019-07-14  Bruno Haible  <bruno@clisp.org>
12646         pthread-thread: New module.
12647         * lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
12648         inline definitions.
12649         * lib/pthread-thread.c: New file.
12650         * m4/pthread-thread.m4: New file.
12651         * modules/pthread-thread: New file.
12652         * doc/posix-functions/pthread_create.texi: Mention the new module.
12653         * doc/posix-functions/pthread_attr_init.texi: Likewise.
12654         * doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
12655         * doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
12656         * doc/posix-functions/pthread_attr_destroy.texi: Likewise.
12657         * doc/posix-functions/pthread_self.texi: Likewise.
12658         * doc/posix-functions/pthread_equal.texi: Likewise.
12659         * doc/posix-functions/pthread_detach.texi: Likewise.
12660         * doc/posix-functions/pthread_join.texi: Likewise.
12661         * doc/posix-functions/pthread_exit.texi: Likewise.
12663 2019-07-14  Bruno Haible  <bruno@clisp.org>
12665         pthread-h: Prepare for adding new modules.
12666         * lib/pthread.in.h: Define the types and macros for each of the
12667         facilities separately.
12668         * m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
12669         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12670         HAVE_PTHREAD_PROCESS_SHARED.
12671         (gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
12672         HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
12673         HAVE_PTHREAD_PROCESS_SHARED.
12674         * modules/pthread-h (Makefile.am): Substitute
12675         HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
12676         HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.
12678 2019-07-14  Bruno Haible  <bruno@clisp.org>
12680         pthread-h: Add declarations of essential pthread functions.
12681         * lib/pthread.in.h: Include snippets.
12682         (pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
12683         pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
12684         pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
12685         pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
12686         pthread_mutexattr_settype, pthread_mutexattr_getrobust,
12687         pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
12688         pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
12689         pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
12690         pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
12691         pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
12692         pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
12693         pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
12694         pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
12695         pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
12696         pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
12697         pthread_key_create, pthread_setspecific, pthread_getspecific,
12698         pthread_key_delete, pthread_spin_init, pthread_spin_lock,
12699         pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
12700         declarations.
12701         (pthread_mutex_timedlock): Move declaration.
12702         * m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
12703         declared.
12704         (gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
12705         GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
12706         GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
12707         HAVE_* and REPLACE_* variables for the new functions.
12708         * modules/pthread-h (Depends-on): Add snippet/c++defs,
12709         snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
12710         (Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
12711         GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
12712         GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
12713         variables for the new functions. Split the sed script, to avoid the
12714         limit of 99 commands of HP-UX sed.
12715         * tests/test-pthread-c++.cc: Check the signature of the new functions.
12717 2019-07-14  Bruno Haible  <bruno@clisp.org>
12719         pthread-h: Respect --enable-threads={posix|windows} option on mingw.
12720         * m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
12721         HAVE_PTHREAD_H if gl_threads_api is 'windows'.
12722         (LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
12723         * modules/pthread (Link): Change to $(LIBMULTITHREAD).
12724         * modules/pthread-h (Depends-on): Add threadlib.
12725         (Link): Change to $(LIBTHREAD).
12726         * modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
12727         $(LIBMULTITHREAD) instead of $(LIB_PTHREAD).
12729 2019-07-14  Bruno Haible  <bruno@clisp.org>
12731         pthread-h: Add C++ tests.
12732         * tests/test-pthread-c++.cc: New file.
12733         * modules/pthread-h-c++-tests: New file.
12735 2019-07-14  Bruno Haible  <bruno@clisp.org>
12737         pthread-h: Add tests.
12738         * tests/test-pthread.c: New file.
12739         * modules/pthread-h-tests: New file.
12741 2019-07-14  Bruno Haible  <bruno@clisp.org>
12743         pthread-h: New module.
12744         * lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
12745         is 1.
12746         * m4/pthread_h.m4: Renamed from m4/pthread.m4.
12747         (gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
12748         <pthread.h> pollutes the namespace; instead, prepare for generating a
12749         pthread.h always. Substitute HAVE_PTHREAD_H here.
12750         (gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
12751         GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
12752         * modules/pthread-h: New file, based on modules/pthread.
12753         * modules/pthread: Rely on 'pthread-h'.
12754         * m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
12755         Update.
12756         * modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
12757         pthread.
12759 2019-07-14  Bruno Haible  <bruno@clisp.org>
12761         sched_yield: New module.
12762         * lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
12763         (sched_yield): New declaration.
12764         * lib/sched_yield.c: New file.
12765         * m4/sched_yield.m4: New file.
12766         * m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
12767         provide a replacement sched.h always. Test whether sched_yield is
12768         declared.
12769         (gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
12770         * modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
12771         (Makefile.am): Provide a replacement sched.h always. Substitute
12772         GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
12773         _GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
12774         * modules/sched_yield: New file.
12775         * doc/posix-functions/sched_yield.texi: Mention the new module.
12777 2019-07-14  Bruno Haible  <bruno@clisp.org>
12779         windows-spin: New module.
12780         * lib/windows-spin.h: New file.
12781         * lib/windows-spin.c: New file.
12782         * modules/windows-spin: New file.
12784 2019-07-14  Bruno Haible  <bruno@clisp.org>
12786         windows-timedrwlock: New module.
12787         * lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
12788         * lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
12789         windows-cond.c.
12790         * lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
12791         redefinition conflict with windows-timedrwlock.h.
12792         * modules/windows-timedrwlock: New file.
12794 2019-07-14  Bruno Haible  <bruno@clisp.org>
12796         windows-rwlock: New module.
12797         * lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
12798         * lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
12799         * lib/glthread/lock.h: Include windows-rwlock.h. Don't include
12800         windows-initguard.h.
12801         (gl_rwlock_t): Define using glwthread_rwlock_t.
12802         (gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
12803         (glthread_rwlock_init): Define using glwthread_rwlock_init.
12804         (glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
12805         (glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
12806         (glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
12807         (glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
12808         (glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
12809         glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
12810         glthread_rwlock_destroy_func): Remove declarations.
12811         * lib/glthread/lock.c (gl_waitqueue_t): Remove type.
12812         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
12813         gl_waitqueue_notify_all, glthread_rwlock_init_func,
12814         glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
12815         glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
12816         functions.
12817         * modules/windows-rwlock: New file.
12818         * modules/lock (Depends-on): Add windows-rwlock.
12820 2019-07-14  Bruno Haible  <bruno@clisp.org>
12822         windows-thread: Add support for creating a thread in detached state.
12823         * lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
12824         (glwthread_thread_create): Add attr argument.
12825         * lib/windows-thread.c (glwthread_thread_create): Likewise.
12826         * lib/glthread/thread.h (glthread_create): Update.
12827         * lib/thrd.c (thrd_create): Update.
12829 2019-07-14  Bruno Haible  <bruno@clisp.org>
12831         windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
12832         * lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
12833         (glwthread_initguard_t): Renamed from glwthread_spinlock_t.
12834         (GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
12835         * lib/windows-mutex.h: Update.
12836         * lib/windows-recmutex.h: Likewise.
12837         * lib/windows-timedmutex.h: Likewise.
12838         * lib/windows-timedrecmutex.h: Likewise.
12839         * lib/windows-cond.h: Likewise.
12840         * lib/glthread/lock.h: Likewise.
12841         * modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
12842         lib/windows-spinlock.h.
12843         * modules/windows-recmutex (Files): Likewise.
12844         * modules/windows-timedmutex (Files): Likewise.
12845         * modules/windows-timedrecmutex (Files): Likewise.
12846         * modules/windows-cond (Files): Likewise.
12847         * modules/threads-h (Files): Likewise.
12849 2019-07-14  Bruno Haible  <bruno@clisp.org>
12851         doc: Fix info about pthread API in HP-UX.
12852         * doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.
12854 2019-07-14  Bruno Haible  <bruno@clisp.org>
12856         threads-h: Fix generation of threads.h.
12857         * modules/threads-h (Makefile.am): Insert the required header file
12858         snippets.
12860 2019-07-09  Bruno Haible  <bruno@clisp.org>
12862         striconveh test: Fix a compilation failure when iconv is not available.
12863         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12864         * tests/test-striconveh.c (main): Move iconv_close invocations inside
12865         HAVE_ICONV.
12867 2019-07-07  Akim Demaille  <akim@lrde.epita.fr>
12869         argmatch: adjust columns for help2man.
12870         * lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
12871         requires column 20 or more, return 20.
12873 2019-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12875         areadlink-with-size: avoid realloc when size==0
12876         * lib/areadlink-with-size.c (areadlink_with_size):
12877         * lib/areadlinkat-with-size.c (areadlinkat_with_size):
12878         Reallocate at the end to the actual size, to avoid memory waste,
12879         as suggested by Bruno Haible.  But when the guessed size is zero -
12880         useful when the size is unknown - do the initial small readlink
12881         into the stack, to avoid that realloc in the usual case.
12883 2019-07-06  Pádraig Brady  <P@draigBrady.com>
12885         areadlink-with-size: guess a buffer size with 0 size
12886         The size is usually taken from st_size, which can be zero,
12887         resulting in inefficient operation.
12888         Instead let zero select an initial memory allocation
12889         of 128 bytes, which most symlinks fit within.
12890         * lib/areadlink-with-size.c (areadlink_with_size):
12891         Start with a 128 byte buffer, for SIZE == 0.
12892         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.
12894 2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>
12896         Replace manually crafted hex regexes with [:xdigit:]
12897         * build-aux/gitlog-to-changelog (parse_amend_file)
12898         (git_dir_option):
12899         Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
12900         This patch is backported from Emacs (Bug#36167).
12902 2019-07-06  Bruno Haible  <bruno@clisp.org>
12904         error: Fix documentation.
12905         * doc/glibc-functions/error_at_line.texi: Document what the 'error'
12906         module provides.
12907         * doc/glibc-functions/error_message_count.texi: Likewise.
12908         * doc/glibc-functions/error_one_per_line.texi: Likewise.
12909         * doc/glibc-functions/error_print_progname.texi: Likewise.
12911 2019-07-06  Bruno Haible  <bruno@clisp.org>
12913         doc: Remove documentation of glibc <= 2.1.x as a supported platform.
12914         * doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
12915         and older is unsupported.
12916         * doc/**/*.texi: Update.
12918 2019-07-06  Bruno Haible  <bruno@clisp.org>
12920         doc: Remove documentation of Linux libc5 as a supported platform.
12921         * doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
12922         to Linux libc5.
12923         * doc/posix-functions/iswalpha.texi: Likewise.
12924         * doc/posix-functions/iswblank.texi: Likewise.
12925         * doc/posix-functions/iswcntrl.texi: Likewise.
12926         * doc/posix-functions/iswdigit.texi: Likewise.
12927         * doc/posix-functions/iswgraph.texi: Likewise.
12928         * doc/posix-functions/iswlower.texi: Likewise.
12929         * doc/posix-functions/iswprint.texi: Likewise.
12930         * doc/posix-functions/iswpunct.texi: Likewise.
12931         * doc/posix-functions/iswspace.texi: Likewise.
12932         * doc/posix-functions/iswupper.texi: Likewise.
12933         * doc/posix-functions/iswxdigit.texi: Likewise.
12934         * doc/posix-functions/snprintf.texi: Likewise.
12935         * doc/posix-functions/vsnprintf.texi: Likewise.
12937 2019-07-06  Bruno Haible  <bruno@clisp.org>
12939         doc: Remove documentation of Tandem/NSK as a supported platform.
12940         * doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
12941         Tandem/NSK.
12942         * doc/**/*.texi: Update.
12944 2019-07-06  Bruno Haible  <bruno@clisp.org>
12946         doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
12947         * doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
12948         and older is unsupported.
12949         * doc/posix-functions/acosl.texi: Don't mention workarounds specific to
12950         Mac OS X 10.4 and older.
12951         * doc/posix-functions/asinl.texi: Likewise.
12952         * doc/posix-functions/atanl.texi: Likewise.
12953         * doc/posix-functions/cosl.texi: Likewise.
12954         * doc/posix-functions/expl.texi: Likewise.
12955         * doc/posix-functions/frexpl.texi: Likewise.
12956         * doc/posix-functions/gettimeofday.texi: Likewise.
12957         * doc/posix-functions/logl.texi: Likewise.
12958         * doc/posix-functions/mkstemp.texi: Likewise.
12959         * doc/posix-functions/sinl.texi: Likewise.
12960         * doc/posix-functions/sqrtl.texi: Likewise.
12961         * doc/posix-functions/tanl.texi: Likewise.
12962         * doc/posix-functions/wcswidth.texi: Likewise.
12963         * doc/**/*.texi: Update.
12965 2019-07-06  Bruno Haible  <bruno@clisp.org>
12967         doc: Remove documentation of AIX 4 as a supported platform.
12968         * doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
12969         unsupported.
12970         * doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
12971         workarounds.
12972         * doc/posix-functions/strnlen.texi: Likewise.
12973         * doc/posix-headers/inttypes.texi: Likewise.
12974         * doc/**/*.texi: Update.
12976 2019-07-06  Bruno Haible  <bruno@clisp.org>
12978         doc: Remove documentation of HP-UX 10 as a supported platform.
12979         * doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
12980         unsupported.
12981         * doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
12982         workarounds.
12983         * doc/posix-functions/gmtime_r.texi: Likewise.
12984         * doc/posix-functions/localtime_r.texi: Likewise.
12985         * doc/posix-functions/mkstemp.texi: Likewise.
12986         * doc/**/*.texi: Update.
12988 2019-07-06  Bruno Haible  <bruno@clisp.org>
12990         doc: Remove documentation of Interix 3.5 as a supported platform.
12991         * doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
12992         unsupported.
12993         * doc/posix-functions/select.texi: Don't mention Interix specific
12994         workarounds.
12995         * doc/posix-headers/signal.texi: Likewise.
12996         * doc/**/*.texi: Update.
12998 2019-07-06  Bruno Haible  <bruno@clisp.org>
13000         doc: Remove documentation of IRIX 6.4 and older as supported platforms.
13001         * doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
13002         unsupported.
13003         * doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
13004         workarounds.
13005         * doc/posix-functions/nl_langinfo.texi: Likewise.
13006         * doc/posix-functions/remainder.texi: Likewise.
13007         * doc/posix-functions/towlower.texi: Likewise.
13008         * doc/posix-functions/towupper.texi: Likewise.
13009         * doc/posix-functions/vsnprintf.texi: Likewise.
13010         * doc/posix-functions/wcscat.texi: Likewise.
13011         * doc/posix-functions/wcschr.texi: Likewise.
13012         * doc/posix-functions/wcscmp.texi: Likewise.
13013         * doc/posix-functions/wcscpy.texi: Likewise.
13014         * doc/posix-functions/wcscspn.texi: Likewise.
13015         * doc/posix-functions/wcslen.texi: Likewise.
13016         * doc/posix-functions/wcsncat.texi: Likewise.
13017         * doc/posix-functions/wcsncmp.texi: Likewise.
13018         * doc/posix-functions/wcsncpy.texi: Likewise.
13019         * doc/posix-functions/wcspbrk.texi: Likewise.
13020         * doc/posix-functions/wcsrchr.texi: Likewise.
13021         * doc/posix-functions/wcsspn.texi: Likewise.
13022         * doc/posix-headers/langinfo.texi: Likewise.
13023         * doc/posix-headers/signal.texi: Likewise.
13024         * doc/posix-headers/wchar.texi: Likewise.
13025         * doc/posix-headers/wctype.texi: Likewise.
13026         * doc/**/*.texi: Update.
13028 2019-07-05  Bruno Haible  <bruno@clisp.org>
13030         doc: Remove documentation of OSF/1 as supported platform.
13031         * doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
13032         unsupported.
13033         * doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
13034         workarounds.
13035         * doc/glibc-functions/pthread_setname_np.texi: Likewise.
13036         * doc/glibc-functions/ptsname_r.texi: Likewise.
13037         * doc/posix-functions/ceil.texi: Likewise.
13038         * doc/posix-functions/ceilf.texi: Likewise.
13039         * doc/posix-functions/ceill.texi: Likewise.
13040         * doc/posix-functions/fchdir.texi: Likewise.
13041         * doc/posix-functions/floor.texi: Likewise.
13042         * doc/posix-functions/floorf.texi: Likewise.
13043         * doc/posix-functions/fmod.texi: Likewise.
13044         * doc/posix-functions/fmodf.texi: Likewise.
13045         * doc/posix-functions/fmodl.texi: Likewise.
13046         * doc/posix-functions/log.texi: Likewise.
13047         * doc/posix-functions/logf.texi: Likewise.
13048         * doc/posix-functions/logl.texi: Likewise.
13049         * doc/posix-functions/log10.texi: Likewise.
13050         * doc/posix-functions/log10f.texi: Likewise.
13051         * doc/posix-functions/log10l.texi: Likewise.
13052         * doc/posix-functions/log2.texi: Likewise.
13053         * doc/posix-functions/log2f.texi: Likewise.
13054         * doc/posix-functions/log2l.texi: Likewise.
13055         * doc/posix-functions/mbrtowc.texi: Likewise.
13056         * doc/posix-functions/recv.texi: Likewise.
13057         * doc/posix-functions/recvfrom.texi: Likewise.
13058         * doc/posix-functions/remainder.texi: Likewise.
13059         * doc/posix-functions/remainderf.texi: Likewise.
13060         * doc/posix-functions/remainderl.texi: Likewise.
13061         * doc/posix-functions/round.texi: Likewise.
13062         * doc/posix-functions/roundf.texi: Likewise.
13063         * doc/posix-functions/roundl.texi: Likewise.
13064         * doc/posix-functions/send.texi: Likewise.
13065         * doc/posix-functions/sendto.texi: Likewise.
13066         * doc/posix-functions/setenv.texi: Likewise.
13067         * doc/posix-functions/snprintf.texi: Likewise.
13068         * doc/posix-functions/tcgetsid.texi: Likewise.
13069         * doc/posix-functions/trunc.texi: Likewise.
13070         * doc/posix-functions/truncf.texi: Likewise.
13071         * doc/posix-functions/truncl.texi: Likewise.
13072         * doc/posix-functions/ttyname_r.texi: Likewise.
13073         * doc/posix-functions/unsetenv.texi: Likewise.
13074         * doc/posix-functions/wcsrtombs.texi: Likewise.
13075         * doc/posix-headers/sys_select.texi: Likewise.
13076         * doc/posix-headers/wchar.texi: Likewise.
13077         * doc/posix-headers/wctype.texi: Likewise.
13078         * doc/**/*.texi: Update.
13080 2019-07-05  Bruno Haible  <bruno@clisp.org>
13082         doc: Remove documentation of BSDI and BSD/OS as supported platforms.
13083         * doc/**/*.texi: Update.
13085 2019-07-05  Bruno Haible  <bruno@clisp.org>
13087         doc: Remove documentation of Solaris 8 and older as supported platforms.
13088         * doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
13089         unsupported.
13090         * doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
13091         workarounds.
13092         * doc/posix-functions/memcmp.texi: Likewise.
13093         * doc/posix-functions/rename.texi: Likewise.
13094         * doc/posix-functions/tzset.texi: Likewise.
13095         * doc/posix-headers/wctype.texi: Likewise.
13096         * doc/**/*.texi: Update.
13098 2019-07-05  Bruno Haible  <bruno@clisp.org>
13100         doc: Remove documentation of Interix 3.5 as a supported platform.
13101         * doc/**/*.texi: Update.
13103 2019-07-05  Bruno Haible  <bruno@clisp.org>
13105         doc: Remove documentation of BeOS as a supported platform.
13106         * doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
13107         unsupported.
13108         * doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
13109         * doc/posix-functions/getdelim.texi: Likewise.
13110         * doc/**/*.texi: Update.
13112 2019-07-05  Bruno Haible  <bruno@clisp.org>
13114         thread, lock, cond, tls: Remove support for Pth threads.
13115         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13116         --enable-threads=pth any more.
13117         (gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
13118         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
13119         * m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
13120         threads and ISO C11 threads.
13121         * lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
13122         * lib/glthread/lock.h: Likewise.
13123         * lib/glthread/lock.c: Likewise.
13124         * lib/glthread/cond.h: Likewise.
13125         * lib/glthread/cond.c: Likewise.
13126         * lib/glthread/tls.h: Likewise.
13127         * lib/glthread/tls.c: Likewise.
13128         * lib/glthread/yield.h: Likewise.
13129         * lib/regex_internal.h: Likewise.
13130         * tests/test-thread_create.c: Likewise.
13131         * tests/test-lock.c: Likewise.
13132         * tests/test-cond.c: Likewise.
13133         * tests/test-tls.c: Likewise.
13134         * tests/test-rwlock1.c: Don't include glthread/yield.h.
13135         (main): Sleep without calling gl_thread_yield.
13137 2019-07-05  Bruno Haible  <bruno@clisp.org>
13139         thread, lock, cond, tls: Remove support for old Solaris threads.
13140         Solaris >= 2.5.1 has POSIX threads.
13141         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
13142         --enable-threads=solaris any more.
13143         (gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
13144         * lib/glthread/thread.c: Update comment.
13145         * lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
13146         * lib/glthread/lock.h: Likewise.
13147         * lib/glthread/lock.c: Likewise.
13148         * lib/glthread/cond.h: Likewise.
13149         * lib/glthread/cond.c: Likewise.
13150         * lib/glthread/tls.h: Likewise.
13151         * lib/glthread/tls.c: Likewise.
13152         * lib/glthread/yield.h: Likewise.
13153         * lib/regex_internal.h: Likewise.
13154         * tests/test-thread_create.c: Likewise.
13155         * tests/test-lock.c: Likewise.
13156         * tests/test-cond.c: Likewise.
13157         * tests/test-tls.c: Likewise.
13159 2019-07-05  Bruno Haible  <bruno@clisp.org>
13161         getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
13162         * lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
13163         needed size is equal to the allocated size.
13164         * lib/getcwd.c (__getcwd): Likewise.
13166 2019-07-05  Bruno Haible  <bruno@clisp.org>
13168         xgetdomainname: Don't return an excessive memory allocation.
13169         * lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
13170         before returning it.
13172 2019-07-05  Bruno Haible  <bruno@clisp.org>
13174         xgethostname: Don't return an excessive memory allocation.
13175         * lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
13176         returning it.
13178 2019-07-05  Bruno Haible  <bruno@clisp.org>
13180         areadlinkat-with-size: Don't return an excessive memory allocation.
13181         * lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
13182         before returning it.
13184 2019-07-05  Bruno Haible  <bruno@clisp.org>
13186         areadlink-with-size: Don't return an excessive memory allocation.
13187         Reported by Andreas Dilger <adilger@whamcloud.com>.
13188         * lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
13189         before returning it.
13191 2019-07-03  Bruno Haible  <bruno@clisp.org>
13193         renameatu: Fix test failure on MSVC.
13194         * lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
13195         empty string.
13197 2019-07-03  Bruno Haible  <bruno@clisp.org>
13199         mbrtowc: Fix invalid use of mbtowc() on MSVC.
13200         * lib/mbrtowc.c: Include glthread/lock.h.
13201         (mbtowc_lock): New variable.
13202         (mbrtowc): Treat UTF-8 encoding without locking. For the other
13203         encodings, explicitly reset the internal state of mbtowc, and protect
13204         this through a lock.
13205         * modules/mbrtowc (Depends-on): Add lock.
13207 2019-07-03  Akim Demaille  <akim@lrde.epita.fr>
13209         argmatch: don't define _ in the header.
13210         Reported by Jim Meyering.
13211         * lib/argmatch.h (N_, _): Don't define.
13212         Use gettext instead.
13213         * lib/argmatch.h (_): Define.
13214         * tests/test-argmatch.c (N_): Define.
13216 2019-07-02  Paul Eggert  <eggert@cs.ucla.edu>
13218         verify: document ‘assume’ better
13219         * lib/verify.h: Reword doc (Bug#36370).
13221 2019-07-02  Bruno Haible  <bruno@clisp.org>
13223         localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
13224         * lib/localcharset.c (locale_charset): Return "UTF-8" instead of
13225         "CPutf8".
13226         * lib/nl_langinfo.c (ctype_codeset): Likewise.
13228 2019-07-02  Bruno Haible  <bruno@clisp.org>
13230         getcwd: Fix crash when invoked with size = 0 on MSVC.
13231         * lib/getcwd.c: Include msvc-inval.h.
13232         (getcwd_nothrow): New function/macro.
13233         (getcwd_system): New macro.
13234         (__getcwd): Use it instead of getcwd.
13235         * modules/getcwd (Depends-on): Add msvc-inval.
13236         * doc/posix-functions/getcwd.texi: Mention the MSVC issue.
13238 2019-07-02  Bruno Haible  <bruno@clisp.org>
13240         nonblocking-pipe tests: Fix test failure on MSVC.
13241         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
13242         native Windows.
13244 2019-07-02  Bruno Haible  <bruno@clisp.org>
13246         usleep: Implement with millisecond resolution on native Windows.
13247         * lib/usleep.c (usleep): On native Windows, implement using Sleep().
13248         * doc/pastposix-functions/usleep.texi: Update accordingly.
13250 2019-07-02  Bruno Haible  <bruno@clisp.org>
13252         lstat tests: Fix test failure on MSVC.
13253         * tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
13254         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13256 2019-07-02  Bruno Haible  <bruno@clisp.org>
13258         stat tests: Fix test failure on MSVC.
13259         * tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
13260         native Windows, unless _GL_WINDOWS_STAT_INODES is defined.
13262 2019-07-02  Bruno Haible  <bruno@clisp.org>
13264         getaddrinfo tests: Fix test failure on MSVC.
13265         * tests/test-getaddrinfo.c: Include sockets.h.
13266         (main): Invoke gl_sockets_startup.
13267         * modules/getaddrinfo-tests (Depends-on): Add sockets.
13269 2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>
13271         poll: Fix type of timeout pointer passed to select() on mingw x86_64.
13272         * lib/poll.c: Call Windows native select() with Windows native timeval.
13274 2019-06-30  Bruno Haible  <bruno@clisp.org>
13276         argmatch: Fix compilation errors.
13277         * lib/argmatch.h: Include <limits.h>, for INT_MAX.
13278         * tests/test-argmatch.c (main): Update after last-minute function names
13279         change.
13281 2019-06-30  Bruno Haible  <bruno@clisp.org>
13283         Include <stdlib.h> when needed.
13284         * lib/cnd.c: Include <stdlib.h>, needed for abort().
13285         * lib/fcntl.c: Likewise.
13286         * lib/mbscasestr.c: Likewise.
13287         * lib/mbssep.c: Likewise.
13288         * lib/mbsstr.c: Likewise.
13289         * lib/openat.c: Include <stdlib.h>, needed for free().
13290         * lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
13291         abort().
13293 2019-06-30  Bruno Haible  <bruno@clisp.org>
13295         Include <stdlib.h> when needed.
13296         * lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
13297         * lib/faccessat.c: Likewise.
13298         * lib/fchmodat.c: Likewise.
13299         * lib/fchownat.c: Likewise.
13300         * lib/fstatat.c: Likewise.
13301         * lib/mkfifoat.c: Likewise.
13302         * lib/mknodat.c: Likewise.
13303         * lib/readlinkat.c: Likewise.
13304         * lib/symlinkat.c: Likewise.
13305         * lib/utimensat.c: Likewise.
13306         * lib/mkdirat.c: Likewise. Include also the specification header.
13308 2019-06-30  Bruno Haible  <bruno@clisp.org>
13310         inet_ntop, inet_pton: Avoid conflict with native Windows functions.
13311         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
13312         from gl_PREREQ_SYS_H_SOCKET.
13313         (gl_PREREQ_SYS_H_SOCKET): Invoke it.
13314         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
13315         gl_PREREQ_SYS_H_WS2TCPIP.
13316         * modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
13317         (Makefile.am): Substitute HAVE_WS2TCPIP_H.
13318         * lib/arpa_inet.in.h: Include <ws2tcpip.h>.
13320 2019-06-30  Bruno Haible  <bruno@clisp.org>
13322         inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
13323         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
13324         REPLACE_INET_NTOP to 1 always.
13325         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
13326         REPLACE_INET_PTON to 1 always.
13328 2019-06-30  Bruno Haible  <bruno@clisp.org>
13330         inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
13331         * modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
13332         not REPLACE_INET_NTOP.
13334 2019-06-30  Bruno Haible  <bruno@clisp.org>
13336         poll: Add comment.
13337         * lib/poll.c: Add comment about WSAPoll.
13339 2019-06-30  Bruno Haible  <bruno@clisp.org>
13341         poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
13342         Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
13343         * lib/poll.in.h: Include <winsock2.h>.
13344         (POLL*, pollfd): Override on native Windows.
13345         * m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13346         * modules/poll-h (Files): Add m4/sys_socket_h.m4.
13347         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13349 2019-06-28  Bruno Haible  <bruno@clisp.org>
13351         accept4: Fix compilation error on OpenIndiana.
13352         Reported by Michal Nowak <mnowak@startmail.com>
13353         via Mark H Weaver <mhw@netris.org>.
13354         * m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
13355         whether it exists as a function.
13357 2019-06-26  Paul Eggert  <eggert@cs.ucla.edu>
13359         strverscmp: sync from glibc
13360         * lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
13361         comments, include libc-config.h, define __strverscmp to be
13362         strverscmp, and don’t assume types line uint8_t and int8_t that
13363         that C99 doesn’t guarantee.
13364         [!_LIBC]: Include libc-config.h; define __strverscmp.
13365         Include stdint.h.
13366         (__strverscmp): Assume C99.  Use uint_least8_t
13367         and int_least8_t instead of unsigned char and signed char.
13368         * modules/strverscmp (Depends-on): Add libc-config, stdint.
13370 2019-06-25  Bruno Haible  <bruno@clisp.org>
13372         tss tests: Add tests for destructors and races.
13373         * tests/test-tss.c (worker_thread): Fix typo in debug message.
13374         (test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
13375         functions.
13376         (main): Invoke them.
13377         * modules/tls-tests (Depends-on): Add mtx.
13379 2019-06-25  Bruno Haible  <bruno@clisp.org>
13381         tls tests: Add tests for destructors and races.
13382         * tests/test-tls.c: Include glthread/lock.h.
13383         (test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
13384         functions.
13385         (main): Invoke them.
13386         * modules/tls-tests (Depends-on): Add lock.
13388 2019-06-25  Bruno Haible  <bruno@clisp.org>
13390         windows-tls: Implement TLS key destructors for native Windows.
13391         * lib/windows-tls.h (glwthread_tls_process_destructors): New
13392         declaration.
13393         (GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
13394         * lib/windows-tls.c: Include <limits.h>, windows-once.h.
13395         (dtor_table_init_once, dtor_table_lock: New variables.
13396         (struct dtor): New type.
13397         (dtor_table, dtors_count, dtors_used, dtors_allocated,
13398         dtor_processing_threads): New variables.
13399         (dtor_table_initialize, dtor_table_ensure_initialized,
13400         dtor_table_shrink_used, glwthread_tls_process_destructors): New
13401         functions.
13402         (glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
13403         handle non-NULL destructors.
13404         * modules/windows-tls (Depends-on): Add windows-once.
13405         * lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
13406         Use the functions declared in windows-tls.h.
13407         * lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
13408         GLWTHREAD_DESTRUCTOR_ITERATIONS.
13409         * lib/windows-thread.c: Include windows-tls.h.
13410         (wrapper_func, glwthread_thread_exit): Invoke
13411         glwthread_tls_process_destructors.
13412         * modules/windows-thread (Depends-on): Add windows-tls.
13414 2019-06-25  Bruno Haible  <bruno@clisp.org>
13416         threadlib: Avoid autoconf warning "was expanded before it was required".
13417         * modules/threadlib (configure.ac): Require gl_THREADLIB.
13419 2019-06-25  Akim Demaille  <akim@lrde.epita.fr>
13421         argmatch: remove duplicate const qualifier
13422         * lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.
13424 2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>
13426         unistd: stddef.h and sys/types.h namespace cleanup
13427         * lib/unistd.in.h [__GLIBC__]:
13428         Do not include stddef.h or sys/types.h.
13429         [!__GLIBC__]: Always include sys/types.h, since unistd.h is
13430         supposed to declare off_t and ssize_t.  Problem found when looking
13431         at why @GNULIB_PWRITE@ was different from the newly-added
13432         @GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.
13434 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13436         maintainer-makefile: restore portability to non-GNU awks
13437         Reported by Tim Rühsen.
13438         * top/maint.mk (AWK): New variable.  Use it.
13439         (sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.
13441 2019-06-23  Paul Eggert  <eggert@cs.ucla.edu>
13443         Document setvbuf _IOLBF problem
13444         * doc/posix-functions/setvbuf.texi (setvbuf):
13445         Document MS-Windows portability problem with _IOLBF.
13447         Document lseek SEEK_DATA/SEEK_HOLE
13448         * doc/posix-functions/lseek.texi (lseek):
13449         Document some systems that do not support SEEK_DATA and SEEK_HOLE.
13451 2019-06-22  Akim Demaille  <akim@lrde.epita.fr>
13453         argmatch: put all the docs member last.
13454         Reported by Bruno Haible.
13455         * lib/argmatch.h (argmatch_##Name##_group_type): Put the args
13456         member before the docs done.
13457         * doc/argmatch.texi, tests/test-argmatch.c: Adjust.
13459 2019-06-21  Akim Demaille  <akim@lrde.epita.fr>
13461         argmatch: add support to generate the usage message.
13462         * lib/argmatch.c: Move some #includes and gettext support to...
13463         * lib/argmatch.h: here.
13464         (ARGMATCH_DEFINE_GROUP): New macro.
13465         * tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
13466         (argmatch_backup_group): New.
13467         (CHECK): New.
13468         (main): Check argmatch_backup_value, argmatch_backup_xvalue,
13469         argmatch_backup_argument and argmatch_backup_usage.
13470         * modules/argmatch: We depend on c99.
13471         * doc/argmatch.texi (Recognizing Option Arguments): New.
13472         * doc/gnulib.texi: Use it.
13474 2019-06-21  Bruno Haible  <bruno@clisp.org>
13476         thrd: Add comment.
13477         * lib/thrd.c (pthread_main_func): Add comment.
13479 2019-06-21  Bruno Haible  <bruno@clisp.org>
13481         threads-h: Define 'thread_local' if and only if it actually works.
13482         * m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
13483         (gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
13484         Oracle Solaris Studio C. Compile a simple program, to see whether
13485         _Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
13486         (gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
13487         * lib/threads.in.h (thread_local): Undefine if it does not work.
13488         * modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
13489         (Link): Mention LIBTHREADLOCAL.
13490         * tests/test-threads.c: Don't check that thread_local is defined.
13491         * tests/test-thread_local.c: New file.
13492         * modules/threads-h-tests (Files): Add it and macros.h.
13493         (Depends-on): Add thrd and stdint.
13494         (configure.ac): Test whether 'alarm' is declared.
13495         (Makefile.am): Arrange to build and link test-thread_local.
13496         * doc/posix-headers/threads.texi: Mention the platforms that don't
13497         support 'thread_local'.
13499 2019-06-20  Bruno Haible  <bruno@clisp.org>
13501         threads-h: Simplify link dependencies.
13502         * m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
13503         Don't set LTLIBSTDTHREAD.
13504         * modules/thrd (Link): Simplify accordingly.
13505         * modules/mtx (Link): Likewise.
13506         * modules/cnd (Link): Likewise.
13507         * modules/tss (Link): Likewise.
13508         * modules/threads (Link): Likewise.
13510 2019-06-20  Bruno Haible  <bruno@clisp.org>
13512         threads-h: Fix link error on FreeBSD 11.
13513         * m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
13514         also with -lpthread.
13516 2019-06-20  Bruno Haible  <bruno@clisp.org>
13518         threadlib: Fix typo (regression from today).
13519         * m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.
13521 2019-06-20  Bruno Haible  <bruno@clisp.org>
13523         windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
13524         * lib/windows-thread.c: Include <errno.h>.
13525         * lib/windows-tls.c: Likewise.
13527 2019-06-20  Bruno Haible  <bruno@clisp.org>
13529         tss tests: Small improvement.
13530         * tests/test-tss.c (test_tss): Pass a different id to each thread.
13532 2019-06-20  Bruno Haible  <bruno@clisp.org>
13534         threads: New module.
13535         * modules/threads: New file.
13537 2019-06-20  Bruno Haible  <bruno@clisp.org>
13539         tss: Add tests.
13540         * tests/test-tss.c: New file, based on tests/test-tls.c.
13541         * modules/tss-tests: New file.
13543 2019-06-20  Bruno Haible  <bruno@clisp.org>
13545         cnd: Add tests.
13546         * tests/test-cnd.c: New file, based on tests/test-cond.c.
13547         * modules/cnd-tests: New file.
13549 2019-06-20  Bruno Haible  <bruno@clisp.org>
13551         mtx: Add tests.
13552         * tests/test-mtx.c: New file, based on tests/test-lock.c.
13553         * tests/test-call_once.c: New file, based on tests/test-once.c.
13554         * modules/mtx-tests: New file.
13556 2019-06-20  Bruno Haible  <bruno@clisp.org>
13558         thrd: Add tests.
13559         * tests/test-thrd_create.c: New file, based on
13560         tests/test-thread_create.c.
13561         * tests/test-thrd_current.c: New file, based on
13562         tests/test-thread_self.c.
13563         * modules/thrd-tests: New file.
13565 2019-06-20  Bruno Haible  <bruno@clisp.org>
13567         tss: New module.
13568         * lib/tss.c: New file.
13569         * modules/tss: New file.
13570         * doc/posix-functions/tss_create.texi: Mention the new module.
13571         * doc/posix-functions/tss_set.texi: Likewise.
13572         * doc/posix-functions/tss_get.texi: Likewise.
13573         * doc/posix-functions/tss_delete.texi: Likewise.
13575 2019-06-20  Bruno Haible  <bruno@clisp.org>
13577         cnd: New module.
13578         * lib/cnd.c: New file.
13579         * modules/cnd: New file.
13580         * doc/posix-functions/cnd_init.texi: Mention the new module.
13581         * doc/posix-functions/cnd_wait.texi: Likewise.
13582         * doc/posix-functions/cnd_timedwait.texi: Likewise.
13583         * doc/posix-functions/cnd_signal.texi: Likewise.
13584         * doc/posix-functions/cnd_broadcast.texi: Likewise.
13585         * doc/posix-functions/cnd_destroy.texi: Likewise.
13587 2019-06-20  Bruno Haible  <bruno@clisp.org>
13589         mtx: New module.
13590         * lib/mtx.c: New file.
13591         * modules/mtx: New file.
13592         * doc/posix-functions/call_once.texi: Mention the new module.
13593         * doc/posix-functions/mtx_init.texi: Likewise.
13594         * doc/posix-functions/mtx_lock.texi: Likewise.
13595         * doc/posix-functions/mtx_trylock.texi: Likewise.
13596         * doc/posix-functions/mtx_timedlock.texi: Likewise.
13597         * doc/posix-functions/mtx_unlock.texi: Likewise.
13598         * doc/posix-functions/mtx_destroy.texi: Likewise.
13600 2019-06-20  Bruno Haible  <bruno@clisp.org>
13602         thrd: New module.
13603         * lib/thrd.c: New file.
13604         * m4/thrd.m4: New file.
13605         * modules/thrd: New file.
13606         * doc/posix-functions/thrd_current.texi: Mention the new module.
13607         * doc/posix-functions/thrd_detach.texi: Likewise.
13608         * doc/posix-functions/thrd_equal.texi: Likewise.
13609         * doc/posix-functions/thrd_exit.texi: Likewise.
13610         * doc/posix-functions/thrd_sleep.texi: Likewise.
13611         * doc/posix-functions/thrd_yield.texi: Likewise.
13612         * doc/posix-functions/thrd_create.texi: Mention the new module and the
13613         AIX bug.
13614         * doc/posix-functions/thrd_join.texi: Mention the new module and the
13615         AIX and Solaris bugs.
13617 2019-06-20  Bruno Haible  <bruno@clisp.org>
13619         threads-h: Add tests.
13620         * tests/test-threads.c: New file.
13621         * modules/threads-h-tests: New file.
13622         * tests/test-threads-c++.cc: New file.
13623         * modules/threads-h-c++-tests: New file.
13625 2019-06-20  Bruno Haible  <bruno@clisp.org>
13627         threads-h: New module.
13628         * lib/threads.in.h: New file.
13629         * m4/threads.m4: New file.
13630         * m4/yield.m4 (gl_YIELD): Update comment.
13631         * modules/threads-h: New file.
13632         * modules/yields (configure.ac): Use AC_REQUIRE.
13633         * doc/posix-headers/threads.texi: Mention the new module and the AIX
13634         bugs.
13636 2019-06-20  Bruno Haible  <bruno@clisp.org>
13638         windows-thread: New module.
13639         * lib/windows-thread.h: New file, based on lib/glthread/thread.h.
13640         * lib/windows-thread.c: New file, based on lib/glthread/thread.c.
13641         * lib/glthread/thread.h: Include windows-thread.h.
13642         (gl_thread_t): Define using glwthread_thread_t.
13643         (glthread_create): Define using glwthread_thread_create.
13644         (glthread_join): Define using glwthread_thread_join.
13645         (gl_thread_self): Define using glwthread_thread_self.
13646         (gl_thread_exit): Define using glwthread_thread_exit.
13647         (glthread_create_func, glthread_join_func, gl_thread_self_func,
13648         gl_thread_exit_func): Remove declarations.
13649         * lib/glthread/thread.c (self_key): Remove variable.
13650         (do_init_self_key, init_self_key): Remove functions.
13651         (struct gl_thread_struct): Remove type.
13652         (get_current_thread_handle, gl_thread_self_func, wrapper_func,
13653         glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
13654         functions.
13655         * modules/windows-thread: New file.
13656         * modules/thread (Depends-on): Add windows-thread.
13658 2019-06-20  Bruno Haible  <bruno@clisp.org>
13660         windows-tls: New module.
13661         * lib/windows-tls.h: New file, based on lib/glthread/tls.h.
13662         * lib/windows-tls.c: New file, based on lib/glthread/tls.h.
13663         * lib/glthread/tls.h: Include windows-tls.h.
13664         (gl_tls_key_t): Define using glwthread_tls_key_t.
13665         * modules/windows-tls: New file.
13666         * modules/tls (Depends-on): Add windows-tls.
13668 2019-06-20  Bruno Haible  <bruno@clisp.org>
13670         windows-cond: New module.
13671         * lib/windows-cond.h: New file, based on lib/glthread/cond.h.
13672         * lib/windows-cond.c: New file, based on lib/glthread/cond.c.
13673         * lib/glthread/cond.h: Include windows-cond.h.
13674         (struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
13675         (gl_cond_t): Define using glwthread_cond_t.
13676         (gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
13677         (glthread_cond_init): Define using glwthread_cond_init.
13678         (glthread_cond_wait): Define using glwthread_cond_wait.
13679         (glthread_cond_timedwait): Define using glwthread_cond_timedwait.
13680         (glthread_cond_signal): Define using glwthread_cond_signal.
13681         (glthread_cond_broadcast): Define using glwthread_cond_broadcast.
13682         (glthread_cond_destroy): Define using glwthread_cond_destroy.
13683         (glthread_cond_init_func, glthread_cond_wait_func,
13684         glthread_cond_timedwait_func, glthread_cond_signal_func,
13685         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13686         declarations.
13687         * lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
13688         types.
13689         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
13690         gl_waitqueue_notify_first, gl_waitqueue_notify_all,
13691         glthread_cond_init_func, glthread_cond_wait_func,
13692         glthread_cond_timedwait_func, glthread_cond_signal_func,
13693         glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
13694         functions.
13695         * modules/windows-cond: New file.
13696         * modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.
13698 2019-06-20  Bruno Haible  <bruno@clisp.org>
13700         windows-timedrecmutex: New module.
13701         * lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
13702         * lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
13703         * modules/windows-timedrecmutex: New file.
13705 2019-06-20  Bruno Haible  <bruno@clisp.org>
13707         windows-timedmutex: New module.
13708         * lib/windows-timedmutex.h: New file, based on windows-mutex.h.
13709         * lib/windows-timedmutex.c: New file, based on windows-mutex.c.
13710         * modules/windows-timedmutex: New file.
13712 2019-06-20  Bruno Haible  <bruno@clisp.org>
13714         windows-recmutex: New module.
13715         * lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
13716         * lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
13717         * lib/glthread/lock.h: Include windows-recmutex.h.
13718         (gl_recursive_lock_t): Define using glwthread_recmutex_t.
13719         (gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
13720         (glthread_recursive_lock_init): Define using glwthread_recmutex_init.
13721         (glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
13722         (glthread_recursive_lock_unlock): Define using
13723         glwthread_recmutex_unlock.
13724         (glthread_recursive_lock_destroy): Define using
13725         glwthread_recmutex_destroy.
13726         (glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
13727         glthread_recursive_lock_unlock_func,
13728         glthread_recursive_lock_destroy_func): Remove declarations.
13729         * lib/glthread/lock.c (glthread_recursive_lock_init_func,
13730         glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
13731         glthread_recursive_lock_destroy_func): Remove functions.
13732         * modules/windows-recmutex: New file.
13733         * modules/lock (Depends-on): Add windows-recmutex.
13735 2019-06-20  Bruno Haible  <bruno@clisp.org>
13737         windows-mutex: New module.
13738         * lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
13739         * lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
13740         * lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
13741         * lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
13742         (gl_spinlock_t): Remove type.
13743         (gl_lock_t): Define using glwthread_mutex_t.
13744         (gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
13745         (glthread_lock_init): Define using glwthread_mutex_init.
13746         (glthread_lock_lock): Define using glwthread_mutex_lock.
13747         (glthread_lock_unlock): Define using glwthread_mutex_unlock.
13748         (glthread_lock_destroy): Define using glwthread_mutex_destroy.
13749         (glthread_lock_init_func, glthread_lock_lock_func,
13750         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13751         declarations.
13752         Use glwthread_spinlock_t instead of gl_spinlock_t.
13753         (gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
13754         GLWTHREAD_SPINLOCK_INIT.
13755         * lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
13756         glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
13757         functions.
13758         * lib/glthread/cond.h: Use glwthread_spinlock_t instead of
13759         gl_spinlock_t.
13760         * modules/windows-mutex: New file.
13761         * modules/lock (Depends-on): Add windows-mutex.
13763 2019-06-20  Bruno Haible  <bruno@clisp.org>
13765         windows-once: New module.
13766         * lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
13767         * lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
13768         * lib/glthread/lock.h: Include windows-once.h.
13769         (gl_once_t): Define using glwthread_once_t.
13770         (gl_once_define): Define using GLWTHREAD_ONCE_INIT.
13771         (glthread_once): Define using glwthread_once.
13772         (glthread_once_func): Remove declaration.
13773         * lib/glthread/lock.c (glthread_once_func): Remove function.
13774         * modules/windows-once: New file.
13775         * modules/lock (Depends-on): Add windows-once.
13777 2019-06-20  Bruno Haible  <bruno@clisp.org>
13779         lock, cond: Avoid possible counter wraparound on Windows.
13780         * lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
13781         field of the guard unchanged if it was already positive.
13782         (glthread_rwlock_rdlock_func): Likewise.
13783         (glthread_rwlock_wrlock_func): Likewise.
13784         (glthread_recursive_lock_lock_func): Likewise.
13785         * lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
13786         (glthread_cond_timedwait_func): Likewise.
13788 2019-06-20  Bruno Haible  <bruno@clisp.org>
13790         cond: Make glthread_cond_timedwait more reliable on Windows.
13791         * lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
13792         condition variable before looking at the current time.
13794 2019-06-20  Bruno Haible  <bruno@clisp.org>
13796         pthread_mutex_timedlock: New module.
13797         * lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
13798         new declaration.
13799         * lib/pthread_mutex_timedlock.c: New file.
13800         * m4/pthread_mutex_timedlock.m4: New file.
13801         * m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
13802         whether pthread_mutex_timedlock is declared.
13803         (gl_PTHREAD_MODULE_INDICATOR): New macro.
13804         (gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13805         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13806         * modules/pthread (configure.ac): Call AC_LIBOBJ here.
13807         (Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
13808         HAVE_PTHREAD_MUTEX_TIMEDLOCK.
13809         * modules/pthread_mutex_timedlock: New file.
13810         * doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
13811         module.
13813 2019-06-20  Bruno Haible  <bruno@clisp.org>
13815         thread, lock, cond, tls: Recognize C11 multithreaded applications.
13816         * m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
13817         * lib/glthread/thread.h (c11_threads_in_use): New macro.
13818         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13819         * lib/glthread/lock.h (c11_threads_in_use): New macro.
13820         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13821         * lib/glthread/cond.h (c11_threads_in_use): New macro.
13822         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13823         * lib/glthread/tls.h (c11_threads_in_use): New macro.
13824         (pthread_in_use, pth_in_use, thread_in_use): Use it.
13826 2019-06-20  Bruno Haible  <bruno@clisp.org>
13828         tls tests: Small improvements.
13829         * tests/test-tls.c: Include <stdint.h>.
13830         (worker_thread): Avoid gcc warning on 64-bit mingw.
13831         (test_tls): Pass a different id to each thread.
13832         * modules/tls-tests (Depends-on): Add stdint.
13834 2019-06-20  Bruno Haible  <bruno@clisp.org>
13836         cond tests: Simplify.
13837         * tests/test-cond.c (test_timedcond): Remove redundant assignment.
13839 2019-06-20  Bruno Haible  <bruno@clisp.org>
13841         lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
13842         * tests/test-lock.c (test_once): Don't reference fire_signal if
13843         !ENABLE_LOCKING.
13845 2019-06-19  Bruno Haible  <bruno@clisp.org>
13847         nanosleep: Relicense under LGPLv2+.
13848         Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
13849         * modules/nanosleep (License): Change to LGPLv2+.
13851 2019-06-19  Bruno Haible  <bruno@clisp.org>
13853         Reorder pieces of header in perl scripts.
13854         The desired order is
13855         - Prologue part 1 (2 lines with #!)
13856         - Program short description
13857         - Copyright and license notice
13858         - Written-by notice
13859         - Program short description (optional)
13860         - Program long description (optional)
13861         - Prologue part 2
13862         - Time stamp
13863         - Code
13864         Reported by Paul Eggert.
13865         * build-aux/announce-gen: Reorder header.
13866         * build-aux/gitlog-to-changelog: Likewise.
13867         * build-aux/useless-if-before-free: Likewise.
13868         * build-aux/prefix-gnulib-mk: Add copyright notice and short
13869         description.
13870         * build-aux/update-copyright: Likewise. Add short description. Bump
13871         time-stamp-line-limit to 200.
13873 2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>
13875         verify-tests: work around xlc bug
13876         Problem reported by Bruno Haible in:
13877         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
13878         * tests/test-verify.c (item): Move the arithmetic inside the
13879         verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.
13881 2019-06-16  Bruno Haible  <bruno@clisp.org>
13883         Restore Emacs time-stamp hook applicability.
13884         Reported by Darshit Shah <darnir@gnu.org>.
13885         * build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
13886         * build-aux/announce-gen: Likewise.
13887         * build-aux/gitlog-to-changelog: Likewise.
13888         * build-aux/prefix-gnulib-mk: Likewise.
13889         * build-aux/update-copyright: Likewise.
13891 2019-06-15  Bruno Haible  <bruno@clisp.org>
13893         Fix scripts to have valid executable format on Alpine Linux.
13894         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
13895         Idea by Paul Eggert.
13896         * build-aux/useless-if-before-free: Use a prologue that starts with
13897         '#!/bin/sh'.
13898         * build-aux/announce-gen: Likewise.
13899         * build-aux/gitlog-to-changelog: Likewise.
13900         * build-aux/prefix-gnulib-mk: Likewise.
13901         * build-aux/update-copyright: Likewise.
13902         * tests/test-update-copyright.sh: Update test program accordingly.
13904 2019-06-10  Bruno Haible  <bruno@clisp.org>
13906         nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
13907         Reported by Nikita Ermakov <arei@altlinux.org> in
13908         <https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
13909         * lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
13910         sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.
13912 2019-06-10  Bruno Haible  <bruno@clisp.org>
13914         posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
13915         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13916         * lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
13917         a copy of the path argument.
13918         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13919         it.
13921 2019-06-10  Bruno Haible  <bruno@clisp.org>
13923         posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
13924         Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
13925         * lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
13926         * lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
13927         a copy of the path argument.
13928         * lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
13929         it.
13931 2019-06-10  Bruno Haible  <bruno@clisp.org>
13933         posix_spawn_file_actions_addfchdir: Add tests.
13934         * tests/test-posix_spawn_file_actions_addfchdir.c: New file.
13935         * tests/test-posix_spawn5.c: New file.
13936         * modules/posix_spawn_file_actions_addfchdir-tests: New file.
13938 2019-06-10  Bruno Haible  <bruno@clisp.org>
13940         posix_spawn_file_actions_addfchdir: New module.
13941         * lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
13942         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
13943         union member 'fchdir_action'.
13944         * lib/spawn_faction_addfchdir.c: New file.
13945         * lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
13946         * m4/posix_spawn_faction_addfchdir.m4: New file.
13947         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
13948         'posix_spawn_file_actions_addfchdir' is present and whether
13949         posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
13950         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
13951         posix_spawn_file_actions_addfchdir is declared.
13952         (gl_SPAWN_H_DEFAULTS): Initialize
13953         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13954         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13955         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13956         * modules/spawn (Makefile.am): Substitute
13957         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13958         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
13959         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
13960         * modules/posix_spawn_file_actions_addfchdir: New file.
13961         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
13962         signature.
13963         * doc/posix-functions/posix_spawn.texi: Mention the new module.
13964         * doc/posix-functions/posix_spawnp.texi: Likewise.
13965         * doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
13966         Likewise.
13968 2019-06-10  Bruno Haible  <bruno@clisp.org>
13970         doc: Document existence of posix_spawn_file_actions_addchdir module.
13971         * doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
13972         the posix_spawn_file_actions_addchdir module.
13974 2019-06-10  Bruno Haible  <bruno@clisp.org>
13976         posix_spawn-internal: Fix module description.
13977         * modules/posix_spawn (configure.ac): Move request to compile spawni.c
13978         from here...
13979         * modules/posix_spawnp (configure.ac): ... and here...
13980         * modules/posix_spawn-internal (configure.ac): ... to here.
13982 2019-06-10  Bruno Haible  <bruno@clisp.org>
13984         doc: Update and improve documentation of glibc functions.
13985         This is a series of commits that
13986         - updates the documentation to the state of glibc 2.29,
13987         - adds references to Linux man pages and glibc documentation,
13988         - marks Linux specific functions as such.
13989         These are the commits:
13990         doc: Update after removal of crypt functions from glibc 2.28.
13991         doc: Remove mention of function vm86 (does not exist on x86_64).
13992         doc: Remove mention of functions that are gone from glibc.
13993         doc: Mention that glibc no longer provides h_errno.
13994         doc: Mention the availability of specific functions in glibc versions.
13995         doc: Mention eaccess.
13996         doc: Add references to Linux man pages.
13997         doc: Add references to glibc documentation.
13998         doc: Mention inotify_* functions.
13999         doc: Mention ppoll.
14000         doc: Mention sched_getcpu.
14001         doc: Mention sync_file_range.
14002         doc: Mention epoll_pwait.
14003         doc: Mention eventfd, eventfd_read, eventfd_write.
14004         doc: Mention signalfd.
14005         doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
14006         doc: Mention epoll_create1.
14007         doc: Mention getauxval.
14008         doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
14009         doc: Mention nextdown, nextup.
14010         doc: Mention more ISO TS 18661-1 <math.h> functions.
14011         doc: Mention ISO TS 18661-1 <fenv.h> functions.
14012         doc: Mention getrandom, getentropy.
14013         doc: Mention strfromf, strfromd, strfroml.
14014         doc: Mention preadv2, pwritev2.
14015         doc: Mention copy_file_range.
14016         doc: Mention memfd_create.
14017         doc: Mention mlock2.
14018         doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
14019         doc: Mention more ISO TS 18661-1 <math.h> functions.
14020         doc: Mention renameat2.
14021         doc: Mention statx.
14022         doc: Mention the ISO C11 multithreading header and functions.
14023         doc: Mention getcpu.
14024         doc: Mention posix_spawn_file_actions_add[f]chdir_np.
14025         doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
14026         doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
14027         doc: Some glibc functions also exist on FreeBSD, Solaris 11.
14028         doc: Some glibc functions also exist on Solaris 11.
14029         doc: Some glibc functions also exist on Solaris 11.4.
14030         doc: Some glibc functions also exist on FreeBSD.
14031         doc: Some glibc functions also exist on BeOS.
14032         doc: Some glibc functions also exist on Haiku.
14033         doc: Mark functions which exist only on Linux.
14034         doc: Mark functions which exist only on Linux and illumos.
14036 2019-06-06  Paul Eggert  <eggert@cs.ucla.edu>
14038         copy-file: fix typo
14039         * lib/copy-file.c (qcopy_file_preserving): Remove unused label.
14041         copy-file-range: simplify into a stub
14042         Based on a comment by Florian Weimer in:
14043         https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
14044         It turns out that Emacs (which will use this module) won’t need an
14045         emulation and I suspect other programs won’t either, because these
14046         programs will need to fall back on read+write anyway.  Perhaps I
14047         am wrong and other programs will be able to use an emulation; if
14048         so, this patch can be reverted.
14049         * lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
14050         Just call it copy_file_range.
14051         * m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
14052         Check via AC_LINK_IFELSE.
14053         * modules/copy-file-range (Depends-on): Remove modules no longer used.
14055 2019-06-04  Paul Eggert  <eggert@cs.ucla.edu>
14057         copy-file: prefer copy_file_range
14058         * lib/copy-file.c: Do not include xalloc.h.
14059         (qcopy_file_preserving): Allocate a buffer only if
14060         copy_file_range does not suffice.  If the allocation fails
14061         don't give up; just use a small stack-based buffer.
14062         Prefer copy_file_range if it works.
14063         * modules/copy-file (Depends-on): Add copy-file-range.
14064         Remove xalloc.
14066         copy-file-range: new module
14067         * MODULES.html.sh: Add copy-file-range.
14068         * lib/copy-file-range.c, m4/copy-file-range.m4:
14069         * modules/copy-file-range: New files.
14070         * lib/unistd.in.h (copy_file_range): Declare.
14071         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
14072         Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
14073         * modules/unistd (unistd.h): Substitute them.
14075 2019-05-28  Bruno Haible  <bruno@clisp.org>
14077         binary-io: Attempted use of O_BINARY on consoles no longer fails.
14078         Reported by KO Myung-Hun <komh78@gmail.com> in
14079         <https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
14080         * lib/binary-io.h (__gl_setmode_check): Remove function.
14081         (set_binary_mode): Declare as notinline on DJGPP and EMX.
14082         * lib/binary-io.c (__gl_setmode_check): Remove function.
14083         (set_binary_mode): Define here on DJGPP and EMX. Inline
14084         __gl_setmode_check. In case of a tty, don't return an error code.
14086 2019-05-28  James Youngman  <jay@gnu.org>
14088         dirent-safer: Make opendir_safer usable from C++.
14089         * lib/dirent-safer.h: use extern "C".
14091 2019-05-28  James Youngman  <jay@gnu.org>
14093         canonicalize: Make canonicalize_filename_mode usable from C++.
14094         * lib/canonicalize.h: use extern "C".
14096 2019-05-26  Akim Demaille  <akim@lrde.epita.fr>
14098         prefix-gnulib-mk: Fix CPPFLAGS migration.
14099         * build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
14100         _a part of the library name.
14102 2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14104         flexmember: update comments again
14105         * lib/flexmember.h, m4/flexmember.m4: Improve comments further.
14107         flexmember: update comment
14108         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.
14110 2019-05-20  Bruno Haible  <bruno@clisp.org>
14112         setlocale: Improve fallback on macOS.
14113         * lib/setlocale.c (search): Optimize away a redundant strcmp()
14114         invocation.
14115         (locales_with_principal_territory): New array.
14116         (langcmp, get_main_locale_with_same_language): New functions.
14117         (locales_with_principal_language): New array.
14118         (terrcmp, get_main_locale_with_same_territory): New functions.
14119         (rpl_setlocale): When setlocale_single failed, try again with a locale
14120         that is more likely to exist. Don't warn if the environment variable
14121         SETLOCALE_VERBOSE is not set.
14123 2019-05-19  Bruno Haible  <bruno@clisp.org>
14125         localename: Fix default on macOS.
14126         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
14127         * lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
14128         (gl_locale_name_environ, gl_locale_name_default): Remove code for
14129         HAVE_CFLOCALECOPYCURRENT.
14130         * lib/localename.h (gl_locale_name_default): Update.
14132 2019-05-19  Karl Berry  <karl@freefriends.org>
14134         * config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
14135         source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
14136         * config/srclist.txt (texinfo.tex): use it. (Also doc changes.)
14138 2019-05-18  Akim Demaille  <akim@lrde.epita.fr>
14140         maintainer-makefile: catch uses of $< in non-implicit rules
14141         * top/maint.mk (sc_prohibit_magic_number_exit): New.
14143 2019-05-18  Bruno Haible  <bruno@clisp.org>
14145         threadlib: Provide an easy way to avoid mingw's winpthreads library.
14146         * m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
14147         (gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
14148         gl_use_threads accordingly.
14150 2019-05-18  Bruno Haible  <bruno@clisp.org>
14152         pthread_sigmask: Fix compilation error with --enable-threads=windows.
14153         Reported by Tim Rühsen in
14154         <https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
14155         and Michele Locati in
14156         <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
14157         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
14158         2015-06-01. Test whether pthread_sigmask is a macro, regardless of
14159         $LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
14160         in use and regardless which threads API is chosen.
14162 2019-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14164         close-stream, closein, closeout: simplify
14165         I noticed this opportunity for simplification while drafting a
14166         new, related module that I haven’t had time to finish yet.
14167         * m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
14168         * modules/close-stream (Files): Remove m4/close-stream.m4.
14169         (configure.ac): Omit gl_CLOSE_STREAM.
14170         * modules/closein (Files): Remove m4/closein.m4
14171         (configure.ac): Omit gl_CLOSEIN.
14172         * modules/closeout (Files): Remove m4/closeout.m4.
14173         (configure.ac): Omit gl_CLOSEOUT.
14175 2019-05-12  Bruno Haible  <bruno@clisp.org>
14177         libtool-next-version: New program.
14178         * build-aux/libtool-next-version: New file.
14180 2019-05-11  John Darrington  <john@darrington.wattle.id.au>
14181             Bruno Haible  <bruno@clisp.org>
14183         version-etc: Ease translation.
14184         * lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
14185         URLs and formatting newlines out of translatable string.
14187 2019-05-11  Bruno Haible  <bruno@clisp.org>
14189         gnupload: Explain how to create symlinks.
14190         * build-aux/gnupload (usage): Add an example that creates symlinks.
14192 2019-05-11  Paul Eggert  <eggert@cs.ucla.edu>
14194         fpucw: port to gcc -pedantic
14195         * lib/fpucw.h (GET_FPUCW, SET_FPUCW):
14196         Use __extension__ if using ({ ... }).
14198         crypto/af_alg: port to strict C compilers
14199         * lib/af_alg.c: Include af_alg.h regardless, so that the
14200         compilation unit is nonempty.
14202 2019-05-10  Bruno Haible  <bruno@clisp.org>
14204         base64: Avoid false positive warning from Coverity.
14205         Reported by Kamil Dudka <kdudka@redhat.com>.
14206         Idea by Paul Eggert.
14207         * lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
14208         '& 0x3f' to the array index expressions. This convinces Coverity that
14209         there is no out-of-bounds array reference, regardless of the input.
14211 2019-05-09  Bruno Haible  <bruno@clisp.org>
14213         gettext: Update to gettext 0.20.
14214         * modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
14215         m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
14216         m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
14217         m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
14218         m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
14219         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
14220         (configure.ac): Request infrastructure compatible with gettext 0.20.
14221         * m4/glibc2.m4: Remove file.
14222         * m4/intdiv0.m4: Remove file.
14223         * m4/intl.m4: Remove file.
14224         * m4/intldir.m4: Remove file.
14225         * m4/intmax.m4: Remove file.
14226         * m4/printf-posix.m4: Remove file.
14227         * m4/uintmax_t.m4: Remove file.
14228         * m4/gettext.m4: Update from gettext 0.20.
14229         * m4/po.m4: Likewise.
14231 2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>
14233         verify: remove verify_true
14234         * NEWS: Mention this.
14235         * lib/verify.h (verify_true): Remove.
14236         * tests/test-verify.c (item): Test verify_expr, not verify_true.
14238         Support C2X and C++17 static_assert
14239         C2X and C++17 finally added support for a simple, single-argument
14240         ‘static_assert’ that implements what the Gnulib ‘verify’ macro was
14241         doing back in 2005.  Implement static_assert on older platforms.
14242         The only remaining advantage of ‘verify’ is a shorter name.
14243         * doc/posix-headers/assert.texi (assert.h):
14244         * doc/verify.texi (Compile-time Assertions):
14245         Modernize for C2X and C++17.
14246         * lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
14247         New macros.
14248         (_GL_HAVE__STATIC_ASSERT): Remove.
14249         (_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
14250         (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
14251         string.  All callers changed.
14252         (_GL_VERIFY): Require 3 or more args, of which only the first 2
14253         are used.  All callers changed.
14254         (_Static_assert): Allow either 1 or 2 args, and define if
14255         !_GL_HAVE__STATIC_ASSERT1 instead of defining if
14256         !_GL_HAVE__STATIC_ASSERT.
14257         (static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
14258         of defining if !_GL_HAVE_STATIC_ASSERT.
14259         (verify_expr, verify): Don’t bother trying to copy the expression
14260         into the diagnostic, since 1-argument static_assert doesn’t.
14261         (verify): Prefer 1-argument _Static_assert if it works.
14262         * m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.
14264 2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14266         Fix _GL_HAVE__STATIC_ASSERT typo
14267         * lib/verify.h (_Static_assert): For the FreeBSD workaround,
14268         use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.
14270 2019-05-05  Bruno Haible  <bruno@clisp.org>
14272         wcwidth: Ensure width 1, not 2, for ambiguous characters.
14273         Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
14274         via Akim Demaille <akim.demaille@gmail.com>.
14275         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
14276         en_US.UTF-8 locale, since that is more likely to be present than an
14277         fr_FR.UTF-8 locale.
14278         * tests/test-wcwidth.c (main): Check the width of U+2202.
14279         * doc/posix-functions/wcwidth.texi: Mention the issue.
14281 2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>
14283         Port manywarnings to GCC 9
14284         * build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
14285         -Wc11-c2x-compat, -Wcast-result (for the D programming language),
14286         -Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
14287         -Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
14288         -Wredundant-move.  Adjust to minor wording changes in GCC 9’s
14289         --help=warnings output.
14290         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
14291         -Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
14292         -Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.
14294 2019-04-30  Paul Eggert  <eggert@cs.ucla.edu>
14296         Sync lib/mktime-internal.h from glibc
14297         * config/srclist.txt: Add entry for lib/mktime-internal.h.
14298         * lib/mktime-internal.h: Autoupdate.
14300 2019-04-28  Bruno Haible  <bruno@clisp.org>
14302         tls tests: Prevent that the test takes too long.
14303         * tests/test-tls.c: Include <signal.h>, <unistd.h>.
14304         (main): Let the test fail if it takes more than 10 minutes.
14305         * modules/tls-tests (configure.ac): Test whether 'alarm' is declared.
14307 2019-04-27  Bruno Haible  <bruno@clisp.org>
14309         lock tests: Prevent that the test takes too long.
14310         * tests/test-lock.c: Include <signal.h>, <unistd.h>.
14311         (main): Let the test fail if it takes more than 10 minutes.
14312         * modules/lock-tests (configure.ac): Test whether 'alarm' is declared.
14314 2019-04-27  Bruno Haible  <bruno@clisp.org>
14316         localename: Fix crash on mingw (regression from 2018-11-23).
14317         * lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
14318         locale name that is null.
14320 2019-04-27  Bruno Haible  <bruno@clisp.org>
14322         Fix gcc warnings on 64-bit mode mingw.
14323         * lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
14324         * lib/gl_array_list.c: Likewise.
14325         * lib/gl_array_map.c: Likewise.
14326         * lib/gl_array_set.c: Likewise.
14327         * lib/gl_carray_list.c: Likewise.
14328         * lib/gl_sublist.c: Likewise.
14329         * lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
14330         * lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
14331         * lib/gl_hash_map.c (uintptr_t): Likewise.
14332         * lib/gl_hash_set.c (uintptr_t): Likewise.
14333         * lib/gl_linkedhash_list.c (uintptr_t): Likewise.
14334         * lib/gl_linkedhash_map.c (uintptr_t): Likewise.
14335         * lib/gl_linkedhash_set.c (uintptr_t): Likewise.
14336         * lib/iconv.c (uintptr_t): Likewise.
14337         * lib/iconv_close.c (uintptr_t): Likewise.
14338         * tests/test-lock.c: Include <stdint.h>.
14339         (once_contender_thread, test_once): Cast through 'intptr_t' instead of
14340         'long'.
14341         * modules/clean-temp (Depends-on): Add stdint.
14342         * modules/array-list (Depends-on): Likewise.
14343         * modules/array-map (Depends-on): Likewise.
14344         * modules/array-set (Depends-on): Likewise.
14345         * modules/carray-list (Depends-on): Likewise.
14346         * modules/sublist (Depends-on): Likewise.
14347         * modules/lock-tests (Depends-on): Likewise.
14349 2019-04-27  Bruno Haible  <bruno@clisp.org>
14351         error: Tweak indentation.
14352         * lib/error.c: Correct indentation.
14354 2019-04-27  Bruno Haible  <bruno@clisp.org>
14356         term-style-control: Fix gcc warning on mingw.
14357         * lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
14358         of i.
14360 2019-04-26  Bruno Haible  <bruno@clisp.org>
14362         pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
14363         * lib/pipe-filter-aux.h (read): Undefine before redefinition.
14365 2019-04-26  Bruno Haible  <bruno@clisp.org>
14367         relocatable-prog: Fix gcc warning on mingw.
14368         * lib/progreloc.c (maybe_executable): Don't define on native Windows and
14369         on EMX.
14371 2019-04-02  Bruno Haible  <bruno@clisp.org>
14373         gitsub.sh: New file.
14374         * top/gitsub.sh: New file.
14376 2019-04-18  Akim Demaille  <akim@lrde.epita.fr>
14378         argmatch: use void* for raw memory pointers
14379         * lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
14380         (__xargmatch_internal, argmatch_to_argument): Use void* for pointers
14381         to "values", keep char* for strings.
14383 2019-04-21  Akim Demaille  <akim@lrde.epita.fr>
14385         prefix-gnulib-mk: fix the support for gnulib-po
14386         * build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
14387         Don't touch HAVE_* variables.
14388         Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.
14390 2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>
14392         di-set: allow free with 'ino_map' being NULL.
14393         * lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
14394         is NULL.  Bug introduced in commit 3703dbbe88dd.
14395         * tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
14396         as a test.
14398 2019-04-14  Paul Eggert  <eggert@cs.ucla.edu>
14400         * lib/str-two-way.h: Fix comment typo.
14402 2019-04-13  Bruno Haible  <bruno@clisp.org>
14404         x-to-1: Restore ability to use original calling convention.
14405         * build-aux/x-to-1.in: Add comments. Accept the original form of
14406         HELP2MAN argument as well as the form expected since 2012-12-12.
14408 2019-04-13  Bruno Haible  <bruno@clisp.org>
14410         x-to-1: Avoid failure due to missing perl modules.
14411         * build-aux/x-to-1.in: Test whether all the perl modules that help2man
14412         needs are installed.
14414 2019-04-13  Bruno Haible  <bruno@clisp.org>
14416         openmp-init: New module.
14417         * modules/openmp-init: New file.
14418         * modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
14419         the changes from 2019-04-09.
14421 2019-04-12  Bruno Haible  <bruno@clisp.org>
14423         signbit: Fix compilation error when gnulib's math.h exists twice.
14424         * lib/math.in.h (GNULIB_defined_signbit): New macro.
14426 2019-04-12  Bruno Haible  <bruno@clisp.org>
14428         openmp: Fix compilation error on platforms without OpenMP.
14429         * lib/omp-init.c: Include <omp.h> only if _OPENMP.
14431 2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>
14433         mountlist: make parsing /proc/self/mountinfo more robust
14434         Cater for the following issues with mountinfo parsing (the first
14435         one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
14436         in <https://bugs.gnu.org/35137>).
14437         1. The fields source, target, mntroot and fstype may contain characters
14438         like '\r'; sscanf(3) fails to read such values with the %s format
14439         specifier because it would stop at such characters.
14440         Example: "mount -t tmpfs tmpfs /foo^Mbar".
14441         The only true separator in that file is the ' ' character.
14442         2. The source field may be an empty string, which happens e.g. with
14443         "mount -t tmpfs '' /target".
14444         3. The fstype field may contain mangled characters as well which need
14445         unescaping.
14446         * lib/mountlist.c (terminate_at_blank): Add utility function.
14447         (read_file_system_list): In the block trying to read the mountinfo file,
14448         avoid using sscanf(3) with %s format; instead, parse the above fields
14449         separated by spaces one by one.
14450         This also handles the case when the source field is an empty string.
14451         Unescape the fstype field.
14453 2019-04-09  Bruno Haible  <bruno@clisp.org>
14455         openmp: Add workaround for 32-bit programs on AIX.
14456         * lib/omp.in.h: New file.
14457         * lib/omp-init.c: New file, based on lib/nproc.c.
14458         * m4/omp_h.m4: New file.
14459         * modules/openmp (Files): Add them.
14460         (Depends-on): Add include_next, c-ctype, setenv.
14461         (configure.ac): Invoke gl_OMP_H.
14462         (Makefile.am): Add rules to create omp.h and compile omp-init.c.
14463         (Include): Mention <omp.h>.
14465 2019-04-09  Bruno Haible  <bruno@clisp.org>
14467         nproc: Fix return value for privileged processes.
14468         * lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
14469         getpid().
14471 2019-04-07  Bruno Haible  <bruno@clisp.org>
14473         Add copyright notices in several files.
14474         Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
14475         * lib/_Noreturn.h: Add LGPLv2+ copyright notice.
14476         * lib/libunistring.valgrind: Likewise.
14477         * lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
14478         * lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
14479         * lib/memchr.valgrind: Likewise.
14480         * lib/memchr2.valgrind: Likewise.
14481         * lib/rawmemchr.valgrind: Likewise.
14482         * lib/relocatable.valgrind: Likewise.
14483         * lib/strchrnul.valgrind: Likewise.
14485 2019-03-25  Bruno Haible  <bruno@clisp.org>
14487         term-style-control tests: Fix link error.
14488         Reported by Tom G. Christensen in
14489         <https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
14490         * modules/term-style-control-tests (Makefile.am): Link
14491         test-term-style-control-hello and test-term-style-control-yes against
14492         LIBINTL.
14494 2019-03-24  Bruno Haible  <bruno@clisp.org>
14496         term-style-control: Add tests.
14497         * tests/test-term-style-control-hello.c: New file.
14498         * tests/test-term-style-control-yes.c: New file.
14499         * modules/term-style-control-tests: New file.
14501         term-style-control: New module.
14502         * lib/term-style-control.h: New file, based on libtextstyle's
14503         term-ostream.oo.h and term-ostream.oo.c.
14504         * lib/term-style-control.c: New file, based on libtextstyle's
14505         term-ostream.oo.c.
14506         * modules/term-style-control: New file.
14508 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14510         _Noreturn: beware of C's _Noreturn in C++ pre C++11.
14511         * lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
14512         C++98 appears to be supported by Clang, but not by GCC nor ICC.
14514 2019-03-23  Bruno Haible  <bruno@clisp.org>
14516         Support cross-compilation to musl libc.
14517         Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
14518         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
14519         musl libc.
14520         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
14521         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
14522         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
14523         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14524         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14525         * m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
14526         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
14527         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
14528         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14529         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
14530         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
14531         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
14532         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
14533         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14534         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
14535         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
14536         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
14537         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
14538         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
14539         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
14540         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14541         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
14542         * m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
14543         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
14544         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
14545         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
14546         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
14547         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
14548         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
14549         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
14550         * m4/log.m4 (gl_FUNC_LOG): Likewise.
14551         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
14552         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
14553         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
14554         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
14555         * m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
14556         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
14557         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
14558         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
14559         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
14560         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
14561         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
14562         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
14563         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
14564         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
14565         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
14566         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
14567         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
14568         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
14569         gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
14570         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
14571         gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
14572         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
14573         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
14574         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
14575         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
14576         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
14577         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
14578         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
14579         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
14580         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14581         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14582         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14583         * m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
14584         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14585         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14586         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
14587         * m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
14588         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
14589         * m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
14590         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14591         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14592         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14593         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
14594         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
14595         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
14596         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
14597         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14599 2019-03-23  Bruno Haible  <bruno@clisp.org>
14601         posix_spawn_file_actions_*: Document musl libc bugs.
14602         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14603         the bug.
14604         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
14605         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
14606         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
14607         cross-compiling to a musl system, guess no.
14608         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
14609         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
14611 2019-03-23  Bruno Haible  <bruno@clisp.org>
14613         futimens: Document musl libc bug.
14614         * doc/posix-functions/futimens.texi: Mention the bug.
14615         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
14616         cross-compiling, guess no on glibc and musl systems.
14618 2019-03-23  Bruno Haible  <bruno@clisp.org>
14620         Clarify that cross-compilation guesses are guesses.
14621         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
14622         prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
14623         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
14624         prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
14625         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
14626         cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
14627         * m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
14628         gl_cv_glob_lists_symlinks.
14629         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
14630         'guessing ' to ac_cv_func_malloc_0_nonnull.
14631         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
14632         'guessing ' to ac_cv_func_realloc_0_nonnull.
14633         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
14634         'guessing ' to gl_cv_func_poll.
14635         * m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
14636         compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
14637         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.
14639 2019-03-23  Bruno Haible  <bruno@clisp.org>
14641         strtold: Fix typo.
14642         * m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.
14644 2019-03-23  Bruno Haible  <bruno@clisp.org>
14646         noreturn: In C++ mode with clang, use _Noreturn as fallback.
14647         Reported by Akim Demaille.
14648         * lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
14649         [[noreturn]] would not work, use _Noreturn instead.
14651 2019-03-22  Akim Demaille  <akim@lrde.epita.fr>
14653         libtextstyle-optional: Fix compiler warnings.
14654         * lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
14655         as unused.
14657 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14659         bitset: fix memory leaks
14660         Reported by Bruno Haible.
14661         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
14662         * lib/bitset/vector.c (vbitset_free): New.
14663         (vbitset_vtable): Use it.
14665 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14667         bitset: minor changes
14668         * lib/bitset/base.h (bitset_alloc_type): Remove, unused.
14669         * lib/bitset/table.c: Formatting changes.
14670         Remove useless braces.
14671         Prefer using else in cascades of if/else-if with returns.
14672         * lib/bitset/vector.c: Reduce scopes.
14674 2019-03-19  Akim Demaille  <akim@lrde.epita.fr>
14676         bitset: expose bitset_resize
14677         * lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
14678         * tests/test-bitset.c (check_attributes): Check bitset_resize.
14679         (main): Use a variable bitset as reference, since fixed does not support resize.
14681 2019-03-19  Bruno Haible  <bruno@clisp.org>
14683         doc: Document the 'stdnoreturn' and 'noreturn' modules.
14684         Reported by Akim Demaille.
14685         * doc/noreturn.texi: New file.
14686         * doc/gnulib.texi: Include it.
14688 2019-03-19  Bruno Haible  <bruno@clisp.org>
14690         doc: Document how to use 'static inline'.
14691         * doc/static-inline.texi: New file.
14692         * doc/gnulib.texi: Include it.
14694 2019-03-19  Bruno Haible  <bruno@clisp.org>
14696         libtextstyle-optional: Add tests.
14697         * tests/test-libtextstyle.c: New file, based on libtextstyle's
14698         adhoc-tests/hello.c.
14699         * tests/test-libtextstyle-default.css: New file, copied from
14700         libtextstyle's adhoc-tests/hello-default.css.
14701         * modules/libtextstyle-optional-tests: New file.
14703         libtextstyle-optional: New module.
14704         * lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
14705         * m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
14706         * modules/libtextstyle-optional: New file.
14708 2019-03-19  Bruno Haible  <bruno@clisp.org>
14710         c-stack: Make signal handlers more reliable.
14711         * lib/c-stack.c (progname): New variable.
14712         (die): Use it.
14713         (c_stack_action): Initialize it.
14714         (segv_handler): Save and restore errno.
14716 2019-03-19  Bruno Haible  <bruno@clisp.org>
14718         Help making signal handlers more reliable.
14719         * m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
14720         _GL_ASYNC_SAFE into config.h.
14721         * lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
14722         * lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
14723         argument.
14724         * lib/fatal-signal.c (action_t, uninstall_handlers,
14725         fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
14726         * lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
14727         * lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
14728         _GL_ASYNC_SAFE.
14729         * lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
14730         * lib/c-stack.c: Add _GL_ASYNC_SAFE markers.
14732 2019-03-18  Bruno Haible  <bruno@clisp.org>
14734         _Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
14735         * lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
14736         indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.
14738 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14740         _Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
14741         * lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
14742         GCC 4.8.
14744 2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>
14746         fts: minor simplification
14747         * lib/fts.c (fts_safe_changedir): Remove redundant assignment.
14749 2019-03-17  Akim Demaille  <akim@lrde.epita.fr>
14751         bitset, timevar: Depend on c99.
14752         Reported by Bruno Haible.
14753         * modules/bitset, modules/timevar (Depends-on): Add c99.
14755 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14757         bitset: a bit (...) more tests
14758         * tests/test-bitset.c (check_attributes): Check zero and ones.
14760 2019-03-16  Akim Demaille  <akim@lrde.epita.fr>
14762         bitset: fix overflows.
14763         Reported by Bruno Haible.
14764         https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
14765         * lib/bitset/table.c (tbitset_test): last_bit is the position of
14766         the bit in the array of bitset_word, so be sure to take its modulo
14767         number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
14768         * lib/bitset/list.c (lbitset_unused_clear): Likewise.
14770 2019-03-14  Akim Demaille  <akim@lrde.epita.fr>
14772         bitset: style changes.
14773         * lib/bitset/table.c: Use NULL, not 0, for pointers.
14774         Formatting changes.
14775         (tbitset_list): Reduce scopes.
14777 2019-03-16  Bruno Haible  <bruno@clisp.org>
14779         fatal-signal: Pass the signal number to the action.
14780         * lib/fatal-signal.h (at_fatal_signal): Change the signature.
14781         * lib/fatal-signal.c (action_t): Take the signal number as parameter.
14782         (fatal_signal_handler): Pass the signal number to the action.
14783         * lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
14784         signal number as parameter.
14785         (create_temp_dir): Update.
14786         * lib/wait-process.c (cleanup_slaves_action): New function.
14787         (register_slave_subprocess): Update at_fatal_signal invocation.
14788         * NEWS: Mention the change.
14790 2019-03-16  Bruno Haible  <bruno@clisp.org>
14792         fatal-signal: Add function that lists the fatal signals.
14793         * lib/fatal-signal.h (get_fatal_signals): New declaration.
14794         * lib/fatal-signal.c (get_fatal_signals): New function.
14796 2019-03-14  Bruno Haible  <bruno@clisp.org>
14798         isatty: Make it return true in Cygwin consoles on native Windows.
14799         * lib/isatty.c: Include <string.h>.
14800         (GetProcAddress): New macro.
14801         (GetNamedPipeClientProcessIdFuncType): New type.
14802         (GetNamedPipeClientProcessIdFunc): New variable.
14803         (QueryFullProcessImageNameFuncType): New type.
14804         (QueryFullProcessImageNameFunc): New variable.
14805         (initialized): New variable.
14806         (initialize): New function.
14807         (IsCygwinConsoleHandle): New function.
14808         (isatty): Invoke it.
14809         * doc/posix-functions/isatty.texi: Mention the issue.
14811 2019-03-14  Bruno Haible  <bruno@clisp.org>
14813         all: Update URLs to msdn.microsoft.com.
14814         * lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
14815         was moved to docs.microsoft.com.
14817 2019-03-13  Bruno Haible  <bruno@clisp.org>
14819         gnulib-tool: Clarify the coding style.
14820         Suggested by Pavel Raiskup <praiskup@redhat.com>.
14821         * gnulib-tool: Add comment about coding style.
14823 2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>
14825         strtod: fix clash with strtold
14826         Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
14827         * lib/strtod.c (compute_minus_zero, minus_zero):
14828         Simplify by remving the macro / external variable,
14829         and having just a function.  User changed.  This avoids
14830         the need for an external variable that might clash.
14832 2019-03-10  Bruno Haible  <bruno@clisp.org>
14834         alloca-opt: Fix conflict mingw's new <alloca.h> file.
14835         Reported by Eli Zaretskii <eliz@gnu.org>.
14836         * lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
14837         * m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
14838         * modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.
14840 2019-03-10  Bruno Haible  <bruno@clisp.org>
14842         tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
14843         * tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
14844         is in use.
14845         * tests/test-printf-posix2.c: Likewise.
14847 2019-03-10  Bruno Haible  <bruno@clisp.org>
14849         uninorm tests: Free allocated memory.
14850         * tests/uninorm/test-u32-normalize-big.h
14851         (struct normalization_test_file): Remove 'const' from allocated member.
14852         (free_normalization_test_file): New declaration.
14853         * tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
14854         memory.
14855         (free_normalization_test_file): New function.
14856         * tests/uninorm/test-u32-nfc-big.c (main): Free allocated
14857         'struct normalization_test_file' contents.
14858         * tests/uninorm/test-u32-nfd-big.c (main): Likewise.
14859         * tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
14860         * tests/uninorm/test-u32-nfkd-big.c (main): Likewise.
14862 2019-03-10  Bruno Haible  <bruno@clisp.org>
14864         di-set: Fix memory leak.
14865         * lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
14866         not free().
14868 2019-03-10  Bruno Haible  <bruno@clisp.org>
14870         tests: Free allocated memory.
14871         Reported by <deltatau@protonmail.com> via Assaf Gordon.
14872         * tests/test-astrxfrm.c (main): Free allocated memory.
14873         * tests/test-bitset.c (compare, check_attributes): Free allocated
14874         bitsets.
14875         * tests/test-filenamecat.c (main): Free allocated memory.
14876         * tests/test-freadahead.c (main): Free allocated memory and close stdin.
14877         * tests/test-freadptr.c (main): Likewise.
14878         * tests/test-freadptr2.c (main): Free allocated memory.
14879         * tests/test-freadseek.c (main): Likewise.
14880         * tests/test-gc-arcfour.c (main): Close allocated context.
14881         * tests/test-gc-arctwo.c (main): Likewise.
14882         * tests/test-gc-des.c (main): Close all allocated contexts.
14883         * tests/test-pipe-filter-gi1.c (main): Free allocated memory.
14884         * tests/test-pipe-filter-ii1.c (main): Likewise.
14885         * tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
14886         allocated file actions.
14887         * tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
14888         * tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
14889         * tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
14890         * tests/test-sameacls.c (main): Free allocated memory and ACLs.
14891         * tests/test-strfmon_l.c (main): Free allocated locales.
14892         * tests/test-striconveh.c (main): Free allocated iconv_t objects.
14893         * tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
14894         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
14895         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
14896         * tests/unistr/test-chr.h (main): Free input32.
14897         * tests/unistr/test-strchr.h (test_strchr): Likewise.
14899 2019-03-10  Bruno Haible  <bruno@clisp.org>
14901         tests: Prepare for using valgrind.
14902         * tests/*.sh: Invoke all test programs through ${CHECKER}.
14903         * tests/*/*.sh: Likewise.
14904         * tests/test-freadptr.c (main): Update accordingly.
14905         * tests/test-freadseek.c (main): Likewise.
14907 2019-03-09  Bruno Haible  <bruno@clisp.org>
14909         get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
14910         * lib/get-rusage-as.c (get_rusage_as): When compiled by
14911         "gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
14912         * tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
14913         before exiting.
14915 2019-03-09  Jim Meyering  <meyering@fb.com>
14917         test-userspec.c: don't print NULL
14918         * tests/test-userspec.c (main): A test release of gcc,
14919         9.0.1 20190310, warned that this test would attempt to
14920         print a NULL pointer via a %s printf format.  Fix that
14921         and remove the unnecessary preceding "!diag" conjunct.
14922         Also add a comment.
14924 2019-03-03  Bruno Haible  <bruno@clisp.org>
14926         getloadavg: Write NULL for the null pointer.
14927         Reported by Michal Privoznik <mprivozn@redhat.com>.
14928         * lib/getloadavg.c (getloadavg): Write NULL instead of 0.
14930 2019-02-28  Michal Privoznik  <mprivozn@redhat.com>
14932         alloca, tsearch-tests: Write NULL for the null pointer.
14933         * lib/alloca.c (i00afunc): Write NULL instead of 0.
14934         * tests/test-tsearch.c (mangle_tree): Likewise.
14936 2019-03-09  Bruno Haible  <bruno@clisp.org>
14938         strfmon_l: Fix -fsanitize=address finding.
14939         * lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
14940         <string.h>.
14941         (MAX_ARGS): Renamed from MAX_ARG_WORDS.
14942         (directive_t, directives_t): New types.
14943         (fmon_parse): New function.
14944         (rpl_strfmon_l): Don't call va_arg more often than needed for the
14945         format string. Consume 'long double' arguments in places where the
14946         format string indicates so.
14947         * modules/strfmon_l (Depends-on): Add 'stdbool'.
14949 2019-03-09  Bruno Haible  <bruno@clisp.org>
14951         crypto/des: Fix undefined behaviour.
14952         * lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
14953         shift operations on 'int'.
14955 2019-03-09  Bruno Haible  <bruno@clisp.org>
14957         Fix undefined behaviour.
14958         * lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
14959         'unsigned int', to avoid shift operations on 'int'.
14960         * lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
14961         * tests/test-count-leading-zeros.c (main): Use a random number that has
14962         as many bits as TYPE, not only 2*15 or 2*31 bits.
14963         * tests/test-count-trailing-zeros.c (main): Likewise.
14964         * tests/test-count-one-bits.c (main): Likewise.
14965         * tests/test-memmem.c: Don't include "null-ptr.h".
14966         (main): Use zerosize_ptr() instead of null_ptr().
14967         * modules/memmem-tests (Files): Remove tests/null-ptr.h.
14969 2019-03-08  Bruno Haible  <bruno@clisp.org>
14971         unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
14972         Reported by Jeffrey Walton <noloader@gmail.com>.
14973         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
14974         invoke memset with a zero size.
14975         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
14976         Likewise.
14977         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
14978         Adjust accordingly.
14980 2019-03-08  Bruno Haible  <bruno@clisp.org>
14982         unistr/*, uniconv/*: Fix undefined behaviour.
14983         Reported by Jeffrey Walton <noloader@gmail.com>.
14984         * lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
14985         * lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
14986         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
14987         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
14989 2019-03-08  Bruno Haible  <bruno@clisp.org>
14991         unistr/u8-cmp: Fix undefined behaviour.
14992         Reported by Jeffrey Walton <noloader@gmail.com>.
14993         * lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.
14995 2019-03-08  Bruno Haible  <bruno@clisp.org>
14997         unictype/numeric: Fix undefined behaviour.
14998         Reported by Jeffrey Walton <noloader@gmail.com>.
14999         * lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
15000         on shift overflow, caught by "gcc -fsanitize=undefined".
15001         * lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
15002         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
15003         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
15005 2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>
15007         git-version-gen: fix --version copyright year
15008         * build-aux/git-version-gen, build-aux/move-if-change (version):
15009         --version output copyright year is now taken from script year,
15010         so that it no longer needs to be updated by hand.
15012 2019-03-04  Bruno Haible  <bruno@clisp.org>
15014         relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
15015         This approach supports relocatable installation of shared libraries
15016         which depend on other shared libraries from the same package.
15017         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15018         If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
15019         wrapper around the original LIBTOOL.
15020         * build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
15021         token '@loader_path' instead of '$ORIGIN'.
15022         * build-aux/libtool-reloc: New file.
15023         * modules/relocatable-prog (Files): Add it.
15024         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15025         the recent changes. Document the need to set the *_LDFLAGS of libraries.
15026         RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
15027         Makefile.am, not in configure.ac.
15029 2019-03-04  Bruno Haible  <bruno@clisp.org>
15031         relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
15032         * build-aux/install-reloc: Revert change.
15033         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
15035 2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>
15037         nstrftime: support the ‘+’ flag
15038         * lib/nstrftime.c (add, __strftime_internal):
15039         Add support for the ‘+’ flag introduced in POSIX.1-2017.
15040         (__strftime_internal): New arg ‘width’.  All uses changed.
15041         (DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.
15043 2019-02-24  Bruno Haible  <bruno@clisp.org>
15045         relocatable-prog: Improve verbose output.
15046         * build-aux/install-reloc (func_verbose): Escape characters that would
15047         be interpreted by the shell.
15049 2019-02-24  Bruno Haible  <bruno@clisp.org>
15051         stat, lstat: Fix conflict with relocatable-prog-wrapper module.
15052         * lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
15053         "sys/stat.h".
15054         * lib/lstat.c: Likewise.
15055         * lib/fstat.c: Likewise.
15056         * lib/fstatat.c: Likewise.
15058 2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>
15060         long-options: add parse_gnu_standard_options_only
15061         Discussed in https://bugs.gnu.org/33468 .
15063         * lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
15064         (parse_gnu_standard_options_only): Add function to process
15065         the GNU default options --help and --version and fail for
15066         any other unknown long or short option. See
15067         https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
15068         * lib/long-options.h (parse_gnu_standard_options_only): Declare it.
15069         * modules/long-options (depends-on): Add stdbool, exitfail.
15070         * top/maint.mk (sc_prohibit_long_options_without_use): Update
15071         syntax-check rule, add new function name.
15073 2019-02-23  Bruno Haible  <bruno@clisp.org>
15075         relocatable-prog: Update documentation.
15076         * doc/relocatable-maint.texi (Supporting Relocation): Update to match
15077         the recent changes.
15079 2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>
15081         nstrftime: tweak arg order
15082         * lib/nstrftime.c (__strftime_internal): Interchange arg order.
15083         All callers changed.  Suggested by TAMUKI Shoichi in:
15084         https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html
15086 2019-02-23  Bruno Haible  <bruno@clisp.org>
15088         relocatable-prog: Use wrapper-free installation also on Mac OS X.
15089         Reported by Paul Smith <psmith@gnu.org>.
15090         * build-aux/install-reloc: Accept a 'mode' argument as first argument.
15091         (func_relativize): New function, from gnulib-tool.
15092         Handle mode 'macosx' through invocations of 'otool' and
15093         'install_name_tool'.
15094         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
15095         If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
15096         'install-reloc' invocation with mode 'macosx'.
15098 2019-02-23  Bruno Haible  <bruno@clisp.org>
15100         relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
15101         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15102         Hurd with glibc >= 2.27.
15104 2019-02-21  Paul Eggert  <eggert@cs.ucla.edu>
15106         nstrftime: merge glibc strftime changes
15107         This incorporates:
15108         2019-02-11 Fix a few whitespace arrangement inconsistencies
15109         2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
15110         2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
15111         2019-01-11 strftime: use the "L_" macro with character literals
15112         * lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
15113         callers changed.  Default width of %Ey is now 2.  This is needed
15114         for proper handling of Japanese dates starting on 2019-05-01.
15116 2019-02-19  Bruno Haible  <bruno@clisp.org>
15118         relocatable-prog: Use $ORIGIN trick on more platforms.
15119         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
15120         FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
15121         Solaris >= 10, Haiku. But don't use it on Android.
15122         * build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
15123         Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.
15125 2019-02-19  Bruno Haible  <bruno@clisp.org>
15127         progreloc: Speed up executable lookup on various platforms.
15128         * lib/progreloc.c: Include <errno.h>.
15129         (safe_read, full_read): New functions.
15130         (find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
15131         prefer the information from the /proc file system to a PATH search.
15133 2019-02-19  Bruno Haible  <bruno@clisp.org>
15135         progreloc: Simplify code for Android.
15136         * lib/progreloc.c (executable_fd): Don't define on Android.
15137         (maybe_executable, find_executable): Don't use executable_fd on Android.
15139 2019-02-15  Bruno Haible  <bruno@clisp.org>
15141         gnulib-tool: Support --import with just a few tests, not --with-tests.
15142         * gnulib-tool (func_import): New variable 'gentests'. Use it instead of
15143         'inctests' when generating files; use 'inctests' only for computing the
15144         transitive closure.
15146 2019-02-14  Bruno Haible  <bruno@clisp.org>
15148         gnulib-tool: Improve handling of multiple --local-dir options.
15149         * doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
15150         options work.
15151         * gnulib-tool (func_path_prepend): Remove function.
15152         (func_path_foreach): Make IFS handling more robust.
15153         (local_gnulib_path): Collect --local-dir values using func_path_append,
15154         not func_path_prepend.
15155         (func_determine_path_separator): Make IFS handling more robust.
15156         (func_lookup_file_cb): New function.
15157         (func_lookup_file): Rewritten to use func_lookup_file_cb instead of
15158         func_lookup_local_file. Apply the patches in the reverse order of their
15159         origin in $local_gnulib_path.
15160         (func_count_relative_local_gnulib_path): Make IFS handling more robust.
15161         * NEWS: Mention that the first --local-dir option is the one with
15162         highest priority.
15164 2019-02-10  Bruno Haible  <bruno@clisp.org>
15166         libtextstyle: New module.
15167         * m4/libtextstyle.m4: New file.
15168         * modules/libtextstyle: New file.
15170 2019-02-05  Bruno Haible  <bruno@clisp.org>
15172         declared.sh: Fix bug with variables of pointer type.
15173         * build-aux/declared.sh (sed_extract_extern_declared): Allow the space
15174         before the symbol to be omitted if the preceding character is a '*'.
15176 2019-02-04  Bruno Haible  <bruno@clisp.org>
15178         Add script for running tests under valgrind.
15179         * build-aux/run-test: New file, from GNU libunistring.
15180         * doc/valgrind-tests.texi: Rewritten to mention alternative approaches
15181         as well.
15183 2019-02-04  Bruno Haible  <bruno@clisp.org>
15185         declared.sh: Fix --version output.
15186         * build-aux/declared.sh (func_version): Update package name.
15188 2019-02-03  Bruno Haible  <bruno@clisp.org>
15190         Add script for determining the set of symbols to export from a library.
15191         * build-aux/declared.sh: New file, from GNU libunistring.
15192         * doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
15193         Mention it.
15195 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
15197         vla: add commentary about VLA_ELEMS
15198         * lib/vla.h (VLA_ELEMS): Add commentary,
15199         some inspired by Bruno Haible’s proposal in:
15200         https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html
15202         dtoastr,ftoastr,ldtoastr: port to c-strtod changes
15203         Decouple these modules from c-strtod.  Nowadays it’s reasonable to
15204         assume the C99 signatures for strtod and strtold.  Programs that
15205         require stricter adherence to C99 should also use the strtod and
15206         strtold modules as needed, and we no longer need the
15207         HAVE_C99_STRTOLD macro.
15208         * NEWS: Mention this.
15209         * lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
15210         * m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
15211         * modules/dtoastr, modules/ftoastr, modules/ldtoastr:
15212         (Files): Remove m4/c-strtod.m4.
15213         (configure.ac): Do not require gl_C99_STRTOLD, which no longer
15214         exists.
15216 2019-02-02  Bruno Haible  <bruno@clisp.org>
15218         fma: Improve code style.
15219         * lib/fma.c: Include <limits.h>, for CHAR_BIT.
15221 2019-02-02  Colin Watson  <cjwatson@debian.org>
15223         *-map tests: Fix compilation error.
15224         * tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
15225         * tests/test-hash_map.c: Likewise.
15226         * tests/test-linkedhash_map.c: Likewise.
15228 2019-01-31  Bruno Haible  <bruno@clisp.org>
15230         c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
15231         * lib/stdlib.in.h (GNULIB_defined_strtod_function,
15232         GNULIB_defined_strtold_function): New macros.
15233         * lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
15234         (STRTOD): Ignore HAVE_C99_STRTOLD.
15235         (c_locale): Don't define it on platforms where strtod_l/strtold_l is
15236         deemed buggy. But do use it on platforms where uselocale exists and is
15237         usable.
15238         (C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
15239         deemed buggy. On platforms where uselocale exists and is usable, use
15240         uselocale and strtod/strtold.
15241         * m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
15242         (gl_C_STRTOD): Require gt_FUNC_USELOCALE.
15243         (gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
15244         * modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
15245         (Depends-on): Add strtod.
15246         * modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
15247         (Depends-on): Add strtold.
15249 2019-01-31  Bruno Haible  <bruno@clisp.org>
15251         strtod, strtold: Use the locale's decimal point.
15252         * lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
15253         (decimal_point_char): New function, copied from lib/vasnprintf.c.
15254         (parse_number): Add a radixchar argument. Use it instead of '.'.
15255         (STRTOD): Invoke decimal_point_char and pass the result to parse_number.
15256         * m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
15257         * m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
15258         * tests/test-strtod1.c: New file.
15259         * tests/test-strtod1.sh: New file.
15260         * modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
15261         locale-fr.m4 and its dependencies.
15262         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15263         (Makefile.am): Arrange to compile test-strtod1.c and run
15264         test-strtod1.sh.
15265         * tests/test-strtold1.c: New file.
15266         * tests/test-strtold1.sh: New file.
15267         * modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
15268         locale-fr.m4 and its dependencies.
15269         (configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
15270         (Makefile.am): Arrange to compile test-strtold1.c and run
15271         test-strtold1.sh.
15273 2019-01-31  Bruno Haible  <bruno@clisp.org>
15275         strtod, strtold tests: Simplify tests.
15276         * tests/test-strtod.c (main): Assume no rounding errors for 0.5.
15277         * tests/test-strtold.c (main): Likewise.
15279 2019-01-31  Bruno Haible  <bruno@clisp.org>
15281         strtod, strtold: Avoid unnecessary rounding errors.
15282         * lib/strtod.c (parse_number): Drop trailing zeroes before doing the
15283         decimal to DOUBLE conversion.
15285 2019-01-31  Bruno Haible  <bruno@clisp.org>
15287         strtod, strtold: Work around HP-UX 11.31/ia64 bug.
15288         * lib/strtod.c (STRTOD): When there is an extra character after the
15289         exponent marker 'p', reparse the number.
15290         * doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
15291         * doc/posix-functions/strtold.texi: Likewise.
15293 2019-01-29  Bruno Haible  <bruno@clisp.org>
15295         strtold: Add tests.
15296         * tests/test-strtold.c: New file, based on tests/test-strtod.c.
15297         * modules/strtold-tests: New file.
15299 2019-01-29  Bruno Haible  <bruno@clisp.org>
15301         strtold: New module.
15302         * lib/stdlib.in.h (strtold): New declaration.
15303         * lib/strtold.c: New file.
15304         * lib/strtod.c: Consider USE_LONG_DOUBLE.
15305         (STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
15306         USE_LDEXP): New macros.
15307         (LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
15308         USE_LONG_DOUBLE.
15309         (underlying_strtod): Remove function. Replace with some macros.
15310         Re-add the code for a missing underlying function that was removed on
15311         2013-02-19.
15312         * m4/strtold.m4: New file.
15313         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
15314         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
15315         REPLACE_STRTOLD.
15316         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
15317         REPLACE_STRTOLD.
15318         * modules/strtold: New file.
15319         * doc/posix-functions/strtold.texi: Document the new module.
15321 2019-01-29  Bruno Haible  <bruno@clisp.org>
15323         strtod: Fix compilation error on IRIX 6.5.
15324         * modules/strtod (Depends-on): Add 'math'.
15326 2019-01-28  Bruno Haible  <bruno@clisp.org>
15328         Fix build error when building a shared libunistring on Android.
15329         * tests/uninorm/test-nfc.c (n): Don't define on Android.
15330         (main): Add 'volatile', to defeat a GCC optimization that would
15331         eliminate the reference.
15332         * tests/uninorm/test-nfd.c (n): Don't define on Android.
15333         (main): Add 'volatile', to defeat a GCC optimization that would
15334         eliminate the reference.
15335         * tests/uninorm/test-nfkc.c (n): Don't define on Android.
15336         (main): Add 'volatile', to defeat a GCC optimization that would
15337         eliminate the reference.
15338         * tests/uninorm/test-nfkd.c (n): Don't define on Android.
15339         (main): Add 'volatile', to defeat a GCC optimization that would
15340         eliminate the reference.
15342 2019-01-27  Bruno Haible  <bruno@clisp.org>
15344         Avoid build errors due to wrong references between modules.
15345         * lib/uninorm/canonical-decomposition.c: Include
15346         "uninorm/decomposition-table.h", not "decomposition-table.h".
15347         * lib/uninorm/decomposition.c: Likewise.
15348         * lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
15349         not "decompose-internal.h".
15350         * lib/uninorm/u16-normalize.c: Likewise.
15351         * lib/uninorm/u32-normalize.c: Likewise.
15352         * lib/uninorm/uninorm-filter.c: Likewise.
15353         * lib/uninorm/nfkc.c: Likewise.
15354         * lib/uninorm/nfkd.c: Likewise.
15355         * lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
15356         "caseprop.h".
15357         * lib/unicase/u8-ct-totitle.c: Likewise.
15358         * lib/unicase/u8-prefix-context.c: Likewise.
15359         * lib/unicase/u8-suffix-context.c: Likewise.
15360         * lib/unicase/u16-casemap.c: Likewise.
15361         * lib/unicase/u16-ct-totitle.c: Likewise.
15362         * lib/unicase/u16-prefix-context.c: Likewise.
15363         * lib/unicase/u16-suffix-context.c: Likewise.
15364         * lib/unicase/u32-casemap.c: Likewise.
15365         * lib/unicase/u32-ct-totitle.c: Likewise.
15366         * lib/unicase/u32-prefix-context.c: Likewise.
15367         * lib/unicase/u32-suffix-context.c: Likewise.
15368         * lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
15369         "unicasemap.h".
15370         * lib/unicase/u8-toupper.c: Likewise.
15371         * lib/unicase/u8-ct-tolower.c: Likewise.
15372         * lib/unicase/u8-ct-toupper.c: Likewise.
15373         * lib/unicase/u16-tolower.c: Likewise.
15374         * lib/unicase/u16-toupper.c: Likewise.
15375         * lib/unicase/u16-ct-tolower.c: Likewise.
15376         * lib/unicase/u16-ct-toupper.c: Likewise.
15377         * lib/unicase/u32-tolower.c: Likewise.
15378         * lib/unicase/u32-toupper.c: Likewise.
15379         * lib/unicase/u32-ct-tolower.c: Likewise.
15380         * lib/unicase/u32-ct-toupper.c: Likewise.
15381         * lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
15382         "unicasemap.h", and "unicase/casefold.h", not "casefold.h".
15383         * lib/unicase/u16-ct-casefold.c: Likewise.
15384         * lib/unicase/u32-ct-casefold.c: Likewise.
15386 2019-01-27  Bruno Haible  <bruno@clisp.org>
15388         gperf: Fix error when this module is required by some test module.
15389         * modules/gperf (Applicability): Set to 'all'.
15391 2019-01-27  Bruno Haible  <bruno@clisp.org>
15393         tmpfile: Add support for Android.
15394         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
15395         works.
15396         * lib/tmpfile.c (tmpfile): Add an alternative implementation for
15397         Android.
15398         * modules/tmpfile (Depends-on): Add 'stdbool'.
15399         * doc/posix-functions/tmpfile.texi: Mention the Android bug.
15400         * modules/argv-iter-tests (Depends-on): Add 'tmpfile'.
15402 2019-01-27  Akim Demaille  <akim@lrde.epita.fr>
15404         bitsetv: allow free on NULL.
15405         * lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.
15407 2019-01-27  Bruno Haible  <bruno@clisp.org>
15409         test-framework-sh: Improve maintainability.
15410         * tests/init.sh: Clarify what belongs together. Reorder definitions.
15412 2019-01-27  Bruno Haible  <bruno@clisp.org>
15414         tests: Don't assume that /tmp exists.
15415         * tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
15416         * tests/test-copy-acl-1.sh: Likewise.
15417         * tests/test-file-has-acl-1.sh: Likewise.
15418         * tests/test-copy-file-1.sh: Likewise.
15420 2019-01-27  Bruno Haible  <bruno@clisp.org>
15422         tests: Accommodate a shell that is not in /bin/sh.
15423         * tests/init.sh (setup_): Set srcdir and builddir.
15424         (BOURNE_SHELL): New variable.
15425         * modules/acl-tests (Depends-on): Add 'test-framework-sh'.
15426         * modules/file-has-acl-tests (Depends-on): Likewise.
15427         * modules/copy-file-tests (Depends-on): Likewise.
15428         * tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
15429         scripts through $BOURNE_SHELL.
15430         * tests/test-set-mode-acl-2.sh: Likewise.
15431         * tests/test-copy-acl-1.sh: Likewise.
15432         * tests/test-copy-acl-2.sh: Likewise.
15433         * tests/test-file-has-acl-1.sh: Likewise.
15434         * tests/test-file-has-acl-2.sh: Likewise.
15435         * tests/test-copy-file-1.sh: Likewise.
15436         * tests/test-copy-file-2.sh: Likewise.
15437         * tests/test-set-mode-acl.sh (builddir): Consider value set by the
15438         invoker.
15439         * tests/test-copy-acl.sh (builddir): Likewise.
15440         * tests/test-file-has-acl.sh (builddir): Likewise.
15441         * tests/test-copy-file.sh (builddir): Likewise.
15442         * tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
15443         build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
15444         * tests/test-vc-list-files-git.sh: Likewise.
15446 2019-01-27  Bruno Haible  <bruno@clisp.org>
15448         tests: Fix some "unused variable" warnings.
15449         * tests/test-fts.c (fts_dealloc): Remove unused variable.
15450         * tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
15451         * tests/test-striconveh.c (main): Move some variable into the
15452         '#if HAVE_ICONV'.
15453         * tests/test-striconveha.c (main): Likewise.
15454         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
15455         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
15456         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
15457         * tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
15458         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
15459         * tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
15460         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
15461         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
15462         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
15463         * tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
15464         * tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
15465         * tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
15466         * tests/test-tsearch.c (main): Move some variable into the
15467         '#if HAVE_INITSTATE'.
15469 2019-01-27  Bruno Haible  <bruno@clisp.org>
15471         unigbrk/uc-grapheme-breaks: Fix build failure.
15472         * lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
15473         * modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.
15475 2019-01-27  Bruno Haible  <bruno@clisp.org>
15477         mountlist: Merge two .m4 files.
15478         * m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
15479         (AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
15480         * m4/ls-mntd-fs.m4: Remove file.
15481         * modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.
15483 2019-01-27  Bruno Haible  <bruno@clisp.org>
15485         tests: Enable Linux specific tests on Android.
15486         * tests/test-flock.c (main): Treat Android like Linux.
15487         * tests/test-openat-safer.c (main): Likewise.
15489 2019-01-27  Bruno Haible  <bruno@clisp.org>
15491         relocatable-prog: Use Linux code on Android.
15492         * lib/progreloc.c: Treat Android like Linux.
15494 2019-01-26  Bruno Haible  <bruno@clisp.org>
15496         getloadavg: Add support for Android.
15497         * lib/getloadavg.c: Treat Android like Linux.
15499 2019-01-26  Bruno Haible  <bruno@clisp.org>
15501         vma-iter: Add support for Android.
15502         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
15503         * lib/vma-iter.c: Treat Android like Linux.
15504         * lib/get-rusage-data.c (get_rusage_data): Likewise.
15506 2019-01-26  Bruno Haible  <bruno@clisp.org>
15508         fts: Optimize on Android.
15509         * lib/fts.c: Treat Android like Linux.
15511 2019-01-26  Bruno Haible  <bruno@clisp.org>
15513         fts: Add support for Android.
15514         * m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
15515         defined by this module and the ones in libc.
15516         * tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.
15518 2019-01-26  Bruno Haible  <bruno@clisp.org>
15520         mountlist: Use Linux code on Android.
15521         * lib/mountlist.c (setmntent, endmntent): Define fallbacks.
15522         (unescape_tab, read_file_system_list): Enable Linux code on Android
15523         as well.
15524         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
15525         and endmntent.
15526         * modules/mountlist (Depends-on): Add 'getline'.
15528 2019-01-26  Bruno Haible  <bruno@clisp.org>
15530         localename tests: Fix test failure on Android.
15531         * modules/localename-tests (Depends-on): Add 'setlocale'.
15533 2019-01-26  Bruno Haible  <bruno@clisp.org>
15535         mountlist: Port better to Android.
15536         * lib/mountlist.c (MOUNTED): Redefine on Android.
15537         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
15538         Android.
15540 2019-01-26  Bruno Haible  <bruno@clisp.org>
15542         striconveh: Fix use of uninitialized iconv_t.
15543         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
15544         <https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
15545         * lib/striconveh.c (iconveh_open): Correct the iconv_close argument.
15547 2019-01-26  Bruno Haible  <bruno@clisp.org>
15549         nonblocking-socket-tests: Fix test failure on Android 4.3.
15550         * tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
15551         also on Android.
15553 2019-01-26  Bruno Haible  <bruno@clisp.org>
15555         sh-filename: Add support for Android 4.3.
15556         * m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.
15558 2019-01-26  Bruno Haible  <bruno@clisp.org>
15560         ptsname_r: Work around bug on Android 4.3.
15561         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
15562         HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
15563         correct.
15564         * lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
15565         is defined, just fix the return value.
15566         * doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
15567         The behaviour of musl libc is nothing to be "fixed", since it is
15568         compliant with the next POSIX standard.
15570 2019-01-26  Bruno Haible  <bruno@clisp.org>
15572         ttyname_r: Work around bug on Android 4.3.
15573         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
15574         * lib/ttyname_r.c (ttyname_r): Implement for Android.
15575         * doc/posix-functions/ttyname_r.texi: Mention the Android bug.
15576         * doc/posix-functions/ttyname.texi: Likewise.
15578 2019-01-25  Bruno Haible  <bruno@clisp.org>
15580         getprogname: Port to Android 4.3.
15581         * lib/getprogname.c (getprogname): On Android, take only the last
15582         component of __progname.
15584 2019-01-25  Bruno Haible  <bruno@clisp.org>
15586         wcrtomb: Work around bug on Android 4.3.
15587         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
15588         the C locale.
15589         * lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
15590         which does not have the 'wctomb' function.
15591         * doc/posix-functions/wcrtomb.texi: Mention the Android bug.
15592         * tests/test-wcrtomb.c (main): Accept argument '5'.
15593         * tests/test-wcrtomb.sh: Add tests in the POSIX locale.
15595 2019-01-25  Bruno Haible  <bruno@clisp.org>
15597         setlocale: Work around bug on Android 4.3.
15598         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
15599         the "C" locale.
15600         * lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
15601         * doc/posix-functions/setlocale.texi: Mention the Android bug.
15603 2019-01-24  Bruno Haible  <bruno@clisp.org>
15605         memchr: Work around bug on Android <= 5.0.
15606         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
15607         * doc/posix-functions/memchr.texi: Mention the Android bug.
15609 2019-01-24  Bruno Haible  <bruno@clisp.org>
15611         random: Fix compilation error on Android 4.3.
15612         * lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
15613         (initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
15614         (setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
15615         * m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
15616         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15617         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
15618         HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15619         * modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
15620         REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
15621         * modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
15622         REPLACE_INITSTATE, REPLACE_SETSTATE.
15623         * doc/posix-functions/random.texi: Correct the description of the
15624         situation on Android.
15625         * doc/posix-functions/srandom.texi: Likewise.
15626         * doc/posix-functions/rand.texi: Likewise.
15627         * doc/posix-functions/srand.texi: Likewise.
15629 2019-01-24  Bruno Haible  <bruno@clisp.org>
15631         mbtowc: Fix compilation error on Android 4.3.
15632         * lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
15633         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
15634         HAVE_MBTOWC.
15635         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
15636         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
15637         * modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
15638         * modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
15639         * doc/posix-functions/mbtowc.texi: Mention the change.
15641 2019-01-24  Bruno Haible  <bruno@clisp.org>
15643         fdatasync: Fix compilation error on Android 4.3.
15644         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
15645         test whether fdatasync() exists.
15647 2019-01-24  Bruno Haible  <bruno@clisp.org>
15649         unlinkat: Fix compilation error on Android 4.3.
15650         * lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
15651         also on Android.
15652         * doc/posix-functions/unlinkat.texi: Mention the issue.
15654 2019-01-24  Bruno Haible  <bruno@clisp.org>
15656         renameat: Fix compilation error on Android 4.3.
15657         * lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
15658         * doc/posix-functions/renameat.texi: Mention the issue.
15660 2019-01-24  Bruno Haible  <bruno@clisp.org>
15662         fchownat: Fix compilation error on Android 4.3.
15663         * lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
15664         use.
15665         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
15666         gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
15667         * doc/posix-functions/fchownat.texi: Mention the issue.
15669 2019-01-23  Bruno Haible  <bruno@clisp.org>
15671         gnulib-tool: Support running testdirs on Android.
15672         * build-aux/test-driver.diff: New file.
15673         * gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
15674         build-aux/test-driver after running automake.
15676 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15678         relocatable-prog: avoid warnings from Automake
15679         * modules/relocatable-prog: Don't declare PHONY dependencies in
15680         Automake conditionals.
15682 2019-01-23  Akim Demaille  <akim@lrde.epita.fr>
15684         array-list: Pacify warnings about unused arguments (-Wunused-parameter).
15685         * lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.
15687 2019-01-23  Bruno Haible  <bruno@clisp.org>
15689         threadlib: Revert commit from 2018-06-25. We now have a better fix.
15690         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
15691         preceding -Wl,--as-needed option. Don't check whether the linker
15692         supports --as-needed/--no-as-needed and --push-state/--pop-state.
15694 2019-01-23  Bruno Haible  <bruno@clisp.org>
15696         thread: Force linking with -lpthread, even when --as-needed is in use.
15697         Reported by Richard W.M. Jones <rjones@redhat.com> in
15698         <https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
15699         * lib/glthread/thread.h (pthread_create): Don't declare weak.
15701 2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
15702             Bruno Haible  <bruno@clisp.org>
15704         relocatable: avoid compiler warnings (-Wshadow)
15705         * lib/relocatable.c (compute_curr_prefix): Rename local variables
15706         to avoid name collisions with global variables.
15708 2019-01-22  Bruno Haible  <bruno@clisp.org>
15710         vasnprintf: Don't use %n on Android.
15711         Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
15712         <https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
15713         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.
15715 2019-01-22  Bruno Haible  <bruno@clisp.org>
15717         *printf: Support cross-compilation to Android.
15718         * m4/printf.m4: Add cross-compilation guesses for Android.
15720 2019-01-21  Bruno Haible  <bruno@clisp.org>
15722         diacrit: Mark deprecated.
15723         * modules/diacrit (Status, Notice): Mark as deprecated.
15724         * NEWS: Mention it.
15726 2019-01-20  Bruno Haible  <bruno@clisp.org>
15728         rintl: Override broken implementation on NetBSD.
15729         * lib/math.in.h (rintl): Test also REPLACE_RINTL.
15730         * m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
15731         REPLACE_RINTL.
15732         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
15733         * modules/math (Makefile.in): Substitute REPLACE_RINTL.
15734         * modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
15735         * doc/posix-functions/rintl.texi: Mention the NetBSD bug.
15737 2019-01-20  Bruno Haible  <bruno@clisp.org>
15739         log10l: Work around inaccurate implementation on NetBSD.
15740         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
15741         * lib/log10l.c: Comment out too simplistic override.
15742         * doc/posix-functions/log10l.texi: Mention the NetBSD bug.
15744 2019-01-20  Bruno Haible  <bruno@clisp.org>
15746         logl: Work around inaccurate implementation on NetBSD.
15747         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
15748         * lib/logl.c: Comment out unused code.
15749         * doc/posix-functions/logl.texi: Mention the NetBSD bug.
15751 2019-01-20  Bruno Haible  <bruno@clisp.org>
15753         expm1l: Work around inaccurate implementation on NetBSD.
15754         * lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
15755         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
15756         REPLACE_EXPM1L.
15757         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
15758         * modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
15759         * modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
15760         * doc/posix-functions/expm1l.texi: Mention the NetBSD bug.
15762 2019-01-20  Bruno Haible  <bruno@clisp.org>
15764         expl: Work around inaccurate implementation on NetBSD.
15765         * lib/math.in.h (expl): Test also REPLACE_EXPL.
15766         * m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
15767         REPLACE_EXPL.
15768         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
15769         * modules/math (Makefile.in): Substitute REPLACE_EXPL.
15770         * modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
15771         * doc/posix-functions/expl.texi: Mention the NetBSD bug.
15773 2019-01-20  Bruno Haible  <bruno@clisp.org>
15775         exp2l: Work around inaccurate implementation on NetBSD.
15776         * m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
15777         * doc/posix-functions/exp2l.texi: Mention the NetBSD bug.
15779 2019-01-20  Bruno Haible  <bruno@clisp.org>
15781         floor, floorl: Avoid autoconf warnings.
15782         * modules/floor (configure.ac): Use AC_REQUIRE.
15783         * modules/floorl (configure.ac): Likewise.
15785 2019-01-20  Bruno Haible  <bruno@clisp.org>
15787         Defeat current GCC optimizations in math autoconf tests.
15788         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
15789         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15790         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15791         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15792         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
15793         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
15794         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15795         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
15796         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
15797         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
15798         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
15799         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
15800         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
15801         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
15802         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
15803         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
15804         * m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
15805         * m4/log.m4 (gl_FUNC_LOG): Likewise.
15806         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
15807         * m4/log10.m4 (gl_FUNC_LOG10): Likewise.
15808         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
15809         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
15810         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
15811         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
15812         * m4/log2.m4 (gl_FUNC_LOG2): Likewise.
15813         * m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
15814         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
15815         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
15816         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
15817         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
15818         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
15819         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
15820         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15821         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15822         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15823         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15824         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15825         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15827 2019-01-19  Pádraig Brady  <P@draigBrady.com>
15829         gettext: support disabling use of VLAs
15830         * lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined
15832 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15834         sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
15835         * lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.
15837 2019-01-17  KO Myung-Hun  <komh78@gmail.com>
15839         fcntl: Fix syntax error (regression from 2018-10-05).
15840         * lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.
15842 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15844         relocatable: improve documentation.
15845         * doc/relocatable-maint.texi (Supporting Relocation): For
15846         substitutions performed by config.status, we need more variables
15847         (for instance datarootdir defaults to '${prefix}/share' so we need
15848         prefix).
15850 2019-01-13  Akim Demaille  <akim@lrde.epita.fr>
15852         backup: update dependencies
15853         * modules/backup-rename (Depends-on): It now depends on opendirat
15854         instead of opendir.  It also uses stdint, and xalloc-oversized.
15855         But no longer dirfd.
15856         * modules/backupfile (Depends-on): Add xalloc-oversized.
15858 2019-01-13  Bruno Haible  <bruno@clisp.org>
15860         getcwd: Fix test failure when building on a Linux 9p file system.
15861         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
15862         EINVAL from mkdir like ENAMETOOLONG.
15863         * tests/test-getcwd.c (test_long_name): Likewise.
15865 2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>
15867         Fix typos found by codespell.
15868         * lib/*.[hc]: Fix typos in comments.
15869         * pygnulib/*.py: Fix typos in error messages and comments.
15871 2019-01-12  Bruno Haible  <bruno@clisp.org>
15873         doc: Fix documentation about container data types.
15874         Reported by Werner Lemberg <wl@gnu.org>.
15875         * doc/containers.texi (Container data types): Fix typo.
15877 2019-01-10  Bruno Haible  <bruno@clisp.org>
15879         verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
15880         Reported by Reuben Thomas <rrt@sc3d.org>.
15881         * lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.
15883 2019-01-06  Bruno Haible  <bruno@clisp.org>
15885         maintainer-makefile: Make the configure.ac section optional.
15886         * top/maint.mk (GREP, SED): Define if not defined.
15888 2019-01-06  Bruno Haible  <bruno@clisp.org>
15890         localename: Assume setlocale function.
15891         * lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
15892         * m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.
15894 2019-01-06  Bruno Haible  <bruno@clisp.org>
15896         doc: Add documentation about container data types.
15897         * doc/containers.texi: New file.
15898         * doc/gnulib.texi (Particular Modules): Include it.
15900 2019-01-06  Bruno Haible  <bruno@clisp.org>
15902         doc: Update documentation about 'progname' module.
15903         * doc/progname.texi: Rename from doc/error.texi. Change node name and
15904         title. Rewrite.
15905         * doc/gnulib.texi (Particular Modules): Update.
15907 2019-01-06  Bruno Haible  <bruno@clisp.org>
15909         doc: Document the xstdopen and *-safer modules.
15910         * doc/xstdopen.texi: New file.
15911         * doc/gnulib.texi (Particular Modules): Include it.
15913 2019-01-06  Bruno Haible  <bruno@clisp.org>
15915         xstdopen: Add tests.
15916         * tests/test-xstdopen.c: New file.
15917         * tests/test-xstdopen.sh: New file.
15918         * modules/xstdopen-tests: New file.
15920         xstdopen: New module.
15921         * lib/xstdopen.h: New file.
15922         * lib/xstdopen.c: New file.
15923         * modules/xstdopen: New file.
15925 2019-01-06  Bruno Haible  <bruno@clisp.org>
15927         stdopen: Fix compilation error with IRIX cc.
15928         * lib/stdopen.c (stdopen): Do not use C99-style decl in loop.
15930 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
15932         xfreopen need not include stdio--.h
15933         * lib/xfreopen.c: Do not include stdio--.h.
15935         xfreopen need not depend on freopen-safer
15936         * modules/xfreopen (Depends-on):
15937         Depend on freopen, not freopen-safer.
15939         stdopen: modernize and simplify
15940         * lib/stdopen.c: Update copyright date
15941         Do not include sys/types.h; no longer needed these days.
15942         (stdopen): Use C99-style decl in loop.  Return int errno
15943         value, rather than just a bool.  Do not worry about fd mismatches,
15944         since the caller cares only if 0, 1, 2 are occupied.
15945         * lib/stdopen.h: No need to include <stdbool.h>.
15946         * m4/stdopen.m4: Remove.
15947         * modules/stdopen: New file.
15949         stdopen: copy from last use in coreutils
15950         * lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
15951         New files, taken from their last commit in coreutils
15952         2007-07-23T12:35:58Z!jim@meyering.net
15953         71aa3ea88084d17bcb4fc1031ad7b66f8647115e.
15955 2019-01-05  Bruno Haible  <bruno@clisp.org>
15957         argp: Don't pass an invalid argument to dgettext().
15958         Reported by He X <xw897002528@gmail.com>.
15959         * lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
15960         dgettext().
15962 2019-01-05  Bruno Haible  <bruno@clisp.org>
15964         argp: Don't pass an invalid argument to dgettext().
15965         Reported by He X <xw897002528@gmail.com>.
15966         * lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
15967         * lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
15968         dgettext().
15970 2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>
15972         stdioext: port to newer 32-bit Android
15973         Problem reported by Tom Yan in:
15974         https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
15975         * lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
15976         (fp_) [__ANDROID__]: Use it.
15978 2019-01-04  Bruno Haible  <bruno@clisp.org>
15980         lock: Fix link error with --enable-threads=pth.
15981         * lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
15982         Mark as weak.
15984 2019-01-04  Bruno Haible  <bruno@clisp.org>
15986         Fix link errors in unit tests.
15987         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15988         * modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
15989         * modules/array-map-tests (Makefile.am): Link test-array_map against
15990         libintl.
15991         * modules/array-set-tests (Makefile.am): Link test-array_set against
15992         libintl.
15993         * modules/hash-map-tests (Makefile.am): Link test-hash_map against
15994         libintl.
15995         * modules/hash-set-tests (Makefile.am): Link test-hash_set against
15996         libintl.
15997         * modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
15998         against libintl.
15999         * modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
16000         against libintl.
16002 2019-01-04  Bruno Haible  <bruno@clisp.org>
16004         Fix incorrect 'Link' sections.
16005         * modules/regex (Link): Mention the link requirement of module 'lock'.
16006         * modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.
16008 2019-01-04  Bruno Haible  <bruno@clisp.org>
16010         Fix some 'Link' sections.
16011         * modules/c-stack (Link): Add link directive from the 'gettext-h'
16012         dependency.
16013         * modules/getaddrinfo (Link): Likewise.
16015 2019-01-04  Bruno Haible  <bruno@clisp.org>
16017         Remove redundant 'Link' sections.
16018         * modules/canon-host (Link): Remove section.
16019         * modules/timevar (Link): Likewise.
16021 2019-01-04  Bruno Haible  <bruno@clisp.org>
16023         Remove incorrect 'Link' sections.
16024         * modules/acl (Link): Remove section. Use combined 'Link' sections from
16025         the dependencies instead.
16026         * modules/crypto/md5 (Link): Likewise.
16027         * modules/crypto/sha1 (Link): Likewise.
16028         * modules/crypto/sha256 (Link): Likewise.
16029         * modules/crypto/sha512 (Link): Likewise.
16030         * modules/faccessat (Link): Likewise.
16031         * modules/fdutimensat (Link): Likewise.
16032         * modules/iconv_open-utf (Link): Likewise.
16033         * modules/propername (Link): Likewise.
16034         * modules/qacl (Link): Likewise.
16035         * modules/unicodeio (Link): Likewise.
16036         * modules/utimecmp (Link): Likewise.
16037         * modules/utimensat (Link): Likewise.
16038         * modules/xstriconv (Link): Likewise.
16039         * modules/xstriconveh (Link): Likewise.
16041 2019-01-04  Bruno Haible  <bruno@clisp.org>
16043         gnulib-tool: New option --extract-recursive-link-directive.
16044         * gnulib-tool (func_usage): Document the new options
16045         --extract-recursive-dependencies, --extract-recursive-link-directive.
16046         (func_verify_module): Document output variables.
16047         (func_get_dependencies_recursively): New function.
16048         (func_get_link_directive_recursively): New function.
16049         Use them to implement the new options
16050         --extract-recursive-dependencies, --extract-recursive-link-directive.
16051         * doc/gnulib-tool.texi (Link-time requirements): New section.
16053 2019-01-04  Bruno Haible  <bruno@clisp.org>
16055         Clarify meaning of 'Link' section in module description.
16056         * doc/gnulib.texi (Module description): Clarify the meaning of the
16057         'Link' section versus the one of the dependencies.
16058         * NEWS: Mention the change.
16060 2019-01-04  Bruno Haible  <bruno@clisp.org>
16062         pselect: Fix module description.
16063         * modules/pselect (Link): Put one link option per line.
16065 2019-01-04  Bruno Haible  <bruno@clisp.org>
16067         cosl: Fix module description.
16068         * modules/cosl (Link): Fix typo.
16069         * modules/mathl (configure.ac): Likewise.
16071 2019-01-04  Bruno Haible  <bruno@clisp.org>
16073         c-xvasprintf: Fix module dependencies.
16074         * modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.
16076 2019-01-04  Akim Demaille  <akim@lrde.epita.fr>
16078         bootstrap: die when some submodules are not initialized
16079         * build-aux/bootstrap: Make sure all submodules are initialized.
16081 2019-01-04  Bruno Haible  <bruno@clisp.org>
16083         bitsetv: Fix module dependencies.
16084         * lib/bitsetv.c: Include xalloc.h.
16085         * modules/bitsetv (Depends-on): Add 'xalloc'.
16087 2019-01-04  Bruno Haible  <bruno@clisp.org>
16089         xmemdup0: Remove redundant code.
16090         * lib/xmemdup0.h (xalloc_die): Remove declaration.
16092 2019-01-04  Bruno Haible  <bruno@clisp.org>
16094         backupfile: Fix module dependencies.
16095         * modules/backupfile (Depends-on): Add 'xalloc'.
16097 2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>
16099         bitset, crypto/gc: fix conflicts with Solaris 11
16100         * lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
16101         avoid clash with Solaris 11 <sys/bitset.h>.
16102         * lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
16103         with Solaris 11 <xorg/gc.h>.
16105 2019-01-04  Bruno Haible  <bruno@clisp.org>
16107         safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
16108         Reported by Andy Fiddaman <andy@omniosce.org>.
16109         * lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.
16111 2019-01-03  Eric Blake  <eblake@redhat.com>
16113         maintainer-makefile: fix typo in previous patch
16114         * top/maint.mk (_sc_search_regexp): Fix my accidental corruption
16115         of Roman's work.
16117 2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)
16119         maintainer-makefile: prefer $(GREP) over grep
16120         * modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
16121         defined.
16122         * top/maint.mk: Use it everywhere.
16124         maintainer-makefile: split long argument lines
16125         * top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
16126         it would be too long for exec limits on BSD.
16128 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
16130         mkfifo: bring back HAVE_MKFIFO macro
16131         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
16132         Problem reported by Andrew Janke in:
16133         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html
16135 2018-12-21  Bruno Haible  <bruno@clisp.org>
16137         Assume Autoconf >= 2.63.
16138         * modules/stdarg (configure.ac-early): Remove comment about Autoconf
16139         versions < 2.60.
16141 2018-12-21  Bruno Haible  <bruno@clisp.org>
16143         memcmp: Mention the clang bug.
16144         * tests/test-memcmp.c: Add comment about a known test failure.
16145         * doc/posix-functions/memcmp.texi: Mention the clang bug.
16147 2018-12-20  Jim Meyering  <meyering@fb.com>
16149         revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
16150         v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
16151           echo '123-x'|LC_ALL=C grep -E '.\bx'
16152         The goal is to revert the first, but reverting it requires to restore
16153         the function deleted in the second. I ran this to restore the deleted
16154         function:
16155           git show v0.1-2281-g95cd86dd7 lib/dfa.c \
16156             | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
16157             | patch -R -p1
16158         * lib/dfa.c (charclass_context): Restore deleted function.
16159         Reverting the primary commit removes this change:
16160         dfa: Simplify a building state
16161         * lib/dfa.c (build_state): Simplify a building state.
16163 2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>
16165         version-etc: allow zero authors
16166         * lib/version-etc.c (version_etc_arn): If no authors are given,
16167         omit authorship info instead of dumping core.
16169 2018-12-19  Bruno Haible  <bruno@clisp.org>
16171         lchown tests: Be more permissive regarding errno values.
16172         Reported by Ivan Zakharyaschev <imz@altlinux.org>.
16173         * tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
16174         alternative to ENOSYS.
16175         * modules/lchown-tests (Depends-on): Add 'errno'.
16176         * modules/fchownat-tests (Depends-on): Likewise.
16178 2018-12-18  Bruno Haible  <bruno@clisp.org>
16180         duplocale: Avoid test failure on AIX 7.
16181         * modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
16182         (configure.ac): Invoke gt_FUNC_USELOCALE.
16183         * tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
16184         HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
16185         works.
16187 2018-12-18  Bruno Haible  <bruno@clisp.org>
16189         localename: Fix test failure on AIX 7.
16190         Reported by Assaf Gordon in
16191         <https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
16192         * m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
16193         (gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
16194         instead of ac_cv_func_uselocale.
16195         * lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
16196         HAVE_USELOCALE.
16197         * lib/localename-table.h: Likewise.
16198         * lib/localename-table.c: Likewise.
16199         * tests/test-localename.c: Likewise.
16200         * doc/posix-functions/uselocale.texi: Mention the AIX problem.
16202 2018-12-18  Bruno Haible  <bruno@clisp.org>
16204         localename: Update comments regarding Cygwin.
16205         * lib/localename.c: Update comment.
16206         * doc/posix-functions/uselocale.texi: Update platforms list.
16207         * doc/posix-functions/newlocale.texi: Likewise.
16208         * doc/posix-functions/duplocale.texi: Likewise.
16209         * doc/posix-functions/freelocale.texi: Likewise.
16211 2018-12-16  Bruno Haible  <bruno@clisp.org>
16213         c-stack: Fix for Linux/sparc.
16214         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
16215         ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.
16217 2018-12-16  Bruno Haible  <bruno@clisp.org>
16219         localename: Avoid test failure on some glibc systems.
16220         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
16221         Unset environment variables that might disturb the first setlocale call,
16222         and verify that this setlocale call succeeds.
16224 2018-12-16  Assaf Gordon  <assafgordon@gmail.com>
16226         random: Fix build error on native Windows (regression from 2018-06-21).
16227         * lib/random.c (__srandom, __initstate, __setstate, __random,
16228         __srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
16229         to the symbols without '__' prefix.
16231 2018-12-16  Bruno Haible  <bruno@clisp.org>
16233         obstack, libc-config: Support HP-UX cc in C99 mode.
16234         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
16235         compiler, even when in C99 mode.
16236         * lib/cdefs.h (__flexarr): Likewise.
16237         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.
16239 2018-12-16  Bruno Haible  <bruno@clisp.org>
16241         localename: Fix test failure on OpenBSD >= 6.2.
16242         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
16243         locale system. Define HAVE_FAKE_LOCALES in this case.
16244         * lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
16245         HAVE_USELOCALE.
16246         * tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
16247         instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
16248         * doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
16249         platforms list.
16250         * doc/posix-functions/newlocale.texi: Likewise.
16251         * doc/posix-functions/duplocale.texi: Update platforms list.
16252         * doc/posix-functions/freelocale.texi: Likewise.
16254 2018-12-16  Bruno Haible  <bruno@clisp.org>
16256         duplocale tests: Re-enable the test on platforms without <monetary.h>.
16257         * tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
16258         of the test, on platforms without <monetary.h>.
16260 2018-12-16  Bruno Haible  <bruno@clisp.org>
16262         localename: Update comments.
16263         * lib/localename.c (HAVE_USELOCALE): Update list of platforms.
16265 2018-12-15  Jim Meyering  <meyering@fb.com>
16267         regex: fix indentation
16268         * m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.
16270 2018-12-15  Bruno Haible  <bruno@clisp.org>
16272         openat-safer tests: Avoid test failure on NetBSD 8.
16273         * tests/test-openat-safer.c (main): Execute a Linux specific test only
16274         on Linux.
16276 2018-12-15  Jim Meyering  <meyering@fb.com>
16278         regex: work around a bug in glibc-2.27 and prior
16279         * m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
16280         assertion for /0|()0|\1|0/.
16281         * tests/test-regex.c (main): Add the same test here.
16283 2018-12-15  Bruno Haible  <bruno@clisp.org>
16285         localename: Fix use of uninitialized shell variable.
16286         * m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
16287         gt_cv_locale_solaris114 always before use. Remove assignment without
16288         effect.
16290 2018-12-15  Bruno Haible  <bruno@clisp.org>
16292         dfa tests: Avoid test failure on Alpine Linux.
16293         * tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
16294         command found on Alpine Linux.
16296 2018-12-15  Jim Meyering  <meyering@fb.com>
16298         dfa: avoid new warnings from gcc
16299         These would prevent building with -Werror and a Dec snapshot of gcc.
16300         * lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
16301         Rename each inner instance to "p".
16302         (charclass_context): Remove unused static function.
16304 2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>
16306         mkdir-p: improve diagnostic for FUSE mounts
16307         Problem reported by Niklas Hambüchen in:
16308         https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
16309         * lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
16310         errno to mkdir errno if the stat errno is likely more interesting.
16312 2018-12-14  Bruno Haible  <bruno@clisp.org>
16314         hash-map: Add tests.
16315         * tests/test-hash_map.c: New file.
16316         * modules/hash-map-tests: New file.
16318         linkedhash-map: Add tests.
16319         * tests/test-linkedhash_map.c: New file.
16320         * modules/linkedhash-map-tests: New file.
16322         array-map: Add tests.
16323         * tests/test-array_map.c: New file.
16324         * modules/array-map-tests: New file.
16326         xmap: New module.
16327         * lib/gl_xmap.h: New file.
16328         * lib/gl_xmap.c: New file.
16329         * modules/xmap: New file.
16331         hash-map: New module.
16332         * lib/gl_hash_map.h: New file.
16333         * lib/gl_hash_map.c: New file.
16334         * modules/hash-map: New file.
16336         linkedhash-map: New module.
16337         * lib/gl_linkedhash_map.h: New file.
16338         * lib/gl_linkedhash_map.c: New file.
16339         * lib/gl_anyhash1.h: Update comments.
16340         * lib/gl_anyhash2.h: Likewise.
16341         * modules/linkedhash-map: New file.
16343         array-map: New module.
16344         * lib/gl_array_map.h: New file.
16345         * lib/gl_array_map.c: New file.
16346         * modules/array-map: New file.
16348         map: New module.
16349         * lib/gl_map.h: New file.
16350         * lib/gl_map.c: New file.
16351         * lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
16352         conflict with gl_map.h.
16353         * modules/map: New file.
16355 2018-12-13  Bruno Haible  <bruno@clisp.org>
16357         select tests: Avoid test failure on Cygwin.
16358         * tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.
16360 2018-12-13  Bruno Haible  <bruno@clisp.org>
16362         localtime-buffer: Avoid endless recursion in localtime and gmtime.
16363         * lib/localtime-buffer.c: Undefine localtime and gmtime before use.
16365 2018-12-13  Bruno Haible  <bruno@clisp.org>
16367         localeconv tests: Avoid test failure on Cygwin.
16368         * tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
16369         'mon_grouping' tests.
16371 2018-12-11  Bruno Haible  <bruno@clisp.org>
16373         omap: Don't dispose the old value when the function returns it.
16374         * lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
16375         here.
16376         * lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16377         * lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
16378         * lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
16379         here.
16381         array-omap, avltree-omap, rbtree-omap: Tweak style.
16382         * lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
16383         false.
16384         * lib/gl_array_omap.c (gl_array_nx_getput): Likewise.
16386         rbtree-omap: Add tests.
16387         * tests/test-rbtree_omap.c: New file.
16388         * modules/rbtree-omap-tests: New file.
16390         avltree-omap: Add tests.
16391         * tests/test-avltree_omap.c: New file.
16392         * modules/avltree-omap-tests: New file.
16394         array-omap: Add tests.
16395         * tests/test-array_omap.c: New file.
16396         * modules/array-omap-tests: New file.
16398         xomap: New module.
16399         * lib/gl_xomap.h: New file.
16400         * lib/gl_xomap.c: New file.
16401         * modules/xomap: New file.
16403         rbtree-omap: New module.
16404         * lib/gl_rbtree_omap.h: New file.
16405         * lib/gl_rbtree_omap.c: New file.
16406         * lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
16407         Parameterize.
16408         * lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
16409         * modules/rbtree-omap: New file.
16410         * modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
16411         (Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.
16413         avltree-omap: New module.
16414         * lib/gl_avltree_omap.h: New file.
16415         * lib/gl_avltree_omap.c: New file.
16416         * lib/gl_avltree_ordered.h: Code moved to here from
16417         lib/gl_avltree_oset.c. Parameterize.
16418         * lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
16419         * lib/gl_anytree_omap.h: New file.
16420         * modules/avltree-omap: New file.
16421         * modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
16422         (Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.
16424         array-omap: New module.
16425         * lib/gl_array_omap.h: New file.
16426         * lib/gl_array_omap.c: New file.
16427         * modules/array-omap: New file.
16429         omap: New module.
16430         * lib/gl_omap.h: New file.
16431         * lib/gl_omap.c: New file.
16432         * modules/omap: New file.
16434 2018-12-11  Bruno Haible  <bruno@clisp.org>
16436         hash-set, linkedhash-set: Reduce code duplication.
16437         * lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
16438         lib/gl_anyhash_set1.h.
16439         * lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
16440         lib/gl_anyhash_set2.h. Parameterize.
16441         (hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
16442         * lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
16443         * lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
16444         gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
16445         * lib/gl_rbtreehash_list.c: Likewise.
16446         * lib/gl_linkedhash_list.c: Likewise.
16447         (hash_resize_after_add): Remove function.
16448         * lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
16449         gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
16450         * gl_hash_set.c: Likewise.
16451         * modules/avltreehash-list (Files, Makefile.am): Update file list.
16452         * modules/rbtreehash-list (Files, Makefile.am): Likewise.
16453         * modules/linkedhash-list (Files, Makefile.am): Likewise.
16454         * modules/linkedhash-set (Files, Makefile.am): Likewise.
16455         * modules/hash-set (Files, Makefile.am): Likewise.
16457 2018-12-11  Bruno Haible  <bruno@clisp.org>
16459         array-set: Optimize.
16460         * lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
16461         outside the loop, not inside the loop.
16463 2018-12-11  Bruno Haible  <bruno@clisp.org>
16465         times: Fix tests.
16466         * tests/test-times.c (doublecmp): Implement a total order.
16468 2018-12-11  Bruno Haible  <bruno@clisp.org>
16470         array-set, linkedhash-set, hash-set: Fix tests.
16471         * tests/test-array_set.c (cmp_objects_in_array): New function.
16472         (check_equals): Use it.
16473         * tests/test-hash_set.c: Likewise.
16474         * tests/test-linkedhash_set.c: Likewise.
16476 2018-12-08  Bruno Haible  <bruno@clisp.org>
16478         Fix comments.
16479         * lib/gl_list.h (gl_list_free): Clarify what it does.
16480         * lib/gl_oset.h (gl_oset_free): Likewise.
16481         * lib/gl_set.h (gl_set_free): Likewise.
16482         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
16483         * lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
16484         * lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
16485         * lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.
16487 2018-12-03  Bruno Haible  <bruno@clisp.org>
16489         hash-set: Add tests.
16490         * tests/test-hash_set.c: New file.
16491         * modules/hash-set-tests: New file.
16493         linkedhash-set: Add tests.
16494         * tests/test-linkedhash_set.c: New file.
16495         * modules/linkedhash-set-tests: New file.
16497         array-set: Add tests.
16498         * tests/test-array_set.c: New file.
16499         * modules/array-set-tests: New file.
16501         xset: New module.
16502         * lib/gl_xset.h: New file.
16503         * lib/gl_xset.c: New file.
16504         * modules/xset: New file.
16506         hash-set: New module.
16507         * lib/gl_hash_set.h: New file.
16508         * lib/gl_hash_set.c: New file.
16509         * modules/hash-set: New file.
16511         linkedhash-set: New module.
16512         * lib/gl_linkedhash_set.h: New file.
16513         * lib/gl_linkedhash_set.c: New file.
16514         * lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
16515         * lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
16516         * lib/gl_anyhash_primes.h: New file, extracted from
16517         lib/gl_anyhash_list2.h.
16518         * lib/gl_anyhash_list2.h: Include it.
16519         (primes, next_prime): Remove definitions.
16520         * modules/linkedhash-set: New file.
16521         * modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
16522         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16523         * modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
16524         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16525         * modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
16526         (Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
16528         array-set: New module.
16529         * lib/gl_array_set.h: New file.
16530         * lib/gl_array_set.c: New file.
16531         * modules/array-set: New file.
16533         set: New module.
16534         * lib/gl_set.h: New file.
16535         * lib/gl_set.c: New file.
16536         * lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
16537         gl_set.h.
16538         * modules/set: New file.
16540 2018-12-07  Akim Demaille  <akim@lrde.epita.fr>
16542         bison: don't force the Yacc mode
16543         Passing -y forces Bison into POSIX YACC mode.  This includes reporting
16544         errors when Bison features are used in the grammar file.  Some of
16545         these features (such as %expect) were flagged non-yacc recently.  Most
16546         of the time, -y is actually used to please Automake's ylwrap which
16547         expects the output to be y.tab.c.
16548         * m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.
16550 2018-12-01  Bruno Haible  <bruno@clisp.org>
16552         gnupload: Document short options.
16553         * build-aux/gnupload (usage): Document the short options.
16555 2018-11-28  Ben Elliston  <bje@gnu.org>
16557         gnupload: Support option -h as alias of --help.
16558         * build-aux/gnupload: Support -h.
16560 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
16562         memrchr: port better to clang
16563         * lib/memrchr.c (__memrchr): Cast to void * instead of to
16564         longword *, to pacify clang -Wcast-align (Bug#33544).
16566 2018-11-29  Eric Blake  <eblake@redhat.com>
16568         docs: mention printf %m considerations
16569         * doc/glibc-functions/asprintf.texi (asprintf): Document that %m
16570         is not portable, and is easy enough to work around.
16571         * doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
16572         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
16573         * doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
16574         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
16575         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
16576         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
16577         * doc/posix-functions/printf.texi (printf): Likewise.
16578         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
16579         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
16580         * doc/posix-functions/swprintf.texi (swprintf): Likewise.
16581         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
16582         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
16583         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
16584         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
16585         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16586         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
16587         * doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
16588         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
16589         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
16591 2018-11-29  Akim Demaille  <akim@lrde.epita.fr>
16593         bitset: rename ebitset/expandable.* as tbitset/table.*
16594         See
16595         https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
16596         * lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
16597         * lib/bitset/table.h, lib/bitset/table.c: these.
16598         Rename all the ebitset* symbols as tbitset*.
16599         Adjust dependencies.
16601 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16603         bitset: check the operations
16604         * tests/test-bitset.c (bitset_random): New.
16605         Use it.
16606         * lib/bitset/expandable.c (ebitset_not): Fix typo.
16608 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16610         bitset: properly use false/true instead of 0/1 for Booleans
16611         * lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
16612         0/1, as Booleans.
16614 2018-11-28  Akim Demaille  <akim@lrde.epita.fr>
16616         bitset: rename BITSET_VARRAY as BITSET_VECTOR
16617         For consistency with the name of the file.
16618         * doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
16619         * lib/bitset/stats.c, lib/bitset/vector.c
16620         (BITSET_VARRAY): Rename as...
16621         (BITSET_VECTOR): this.
16623 2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>
16625         strerror_r-posix: memmove, not memcpy
16626         * lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
16627         since the source and destination might overlap in the call
16628         ‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
16629         Simplify.
16631 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16633         bitsetv: new module
16634         * lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.
16636 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16638         bitset: add tests and doc
16639         First stabs at providing a documentation and test for the bitset
16640         module.
16641         * doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.
16643 2018-11-25  Akim Demaille  <akim@lrde.epita.fr>
16645         bitset: new module
16646         * lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
16647         * lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
16648         * lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
16649         * lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
16650         * lib/bitset/vector.h, modules/bitset:
16651         New.
16653 2018-11-23  Bruno Haible  <bruno@clisp.org>
16655         localename: Fix gettext test failures on mingw.
16656         * lib/localename.c (gl_locale_name_posix): Convert the result of
16657         gl_locale_name_environ to XPG syntax.
16659 2018-11-23  Karl Berry  <karl@freefriends.org>
16661         * config/srclistvars.txt,
16662         * config/srclist.txt: remove all gettext references;
16663         the gettext maintainers will sync as needed.
16665 2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>
16667         mktime: add libc-config dependency
16668         I missed this when we synced from glibc.
16669         * modules/mktime (Depends-on): Add libc-config.
16671 2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>
16673         longlong: fix comment typo
16674         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.
16676 2018-11-11  Bruno Haible  <bruno@clisp.org>
16678         havelib: Remove the need to include asm-underscore.m4.
16679         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
16680         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
16681         gl_HOST_CPU_C_ABI.
16682         * modules/havelib (Files): Add host-cpu-c-abi.m4.
16683         (Depends-on): Remove host-cpu-c-abi.
16685 2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>
16687         parse-datetime: simplify test for mktime failure
16688         * lib/parse-datetime.y (mktime_ok): Simplify.
16689         Remove args TZ and T; no longer needed.  Callers changed.
16691         posixtm: simplify test for mktime failure
16692         * lib/posixtm.c (posixtime): Simplify.
16694         nstrftime: simplify test for mktime failure
16695         * lib/nstrftime.c (__strftime_internal): Simplify.
16697 2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>
16699         gnulib-common.m4: port _Noreturn to C++
16700         Problem reported by Akim Demaille in:
16701         https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
16702         * m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
16703         Merge adjustments from _Noreturn.h and from glibc into the non-C++
16704         version.
16705         * lib/_Noreturn.h: Match gnulib-common.
16707 2018-10-30  Bruno Haible  <bruno@clisp.org>
16709         gnu-make: Fix for NetBSD 8 'make'.
16710         Reported by Reuben Thomas in
16711         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
16712         * m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
16713         output, ignoring exit codes.
16715 2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>
16717         maintainer-makefile: fix syntax-check rule for "same.h"
16718         * top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
16719         for 'same_nameat', too.
16721 2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>
16723         havelib: fix nested ‘configure’ chatter
16724         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
16725         AC_CACHE_CHECK calls, which resulted in confusing output like
16726         “checking for the common suffixes of directories in the library
16727         search path... checking for 64-bit host... no lib,lib”.
16729         backupfile: tweak for better code
16730         * lib/backupfile.c: Sort include directives, and remove
16731         unnecessary <limits.h> include.
16732         (FALLTHROUGH): New macro, copied from other modules.
16733         (backupfile_internal): Use it to avoid code duplication.
16734         This lets GCC 8.2.1 generate better code by inlining the
16735         call to check_extension.
16737 2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>
16739         backupfile: new dir_fd args
16740         New module opendirat with code taken from fts.
16741         Use this module to let backupfile use a directory file descriptor.
16742         * NEWS: Document the incompatible change.
16743         * lib/backup-find.c (find_backup_file_name):
16744         * lib/backup-rename.c (backup_file_rename):
16745         New arg DIR_FD.
16746         * lib/backupfile.c: Include stdint.h, for SIZE_MAX.
16747         (SIZE_MAX): Remove.
16748         Include opendirat.h rather than dirent--.h.
16749         (check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
16750         (numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
16751         (backupfile_internal): New arg DIR_FD.  All callers changed.
16752         * lib/fts.c: Include opendirat.h.
16753         (opendirat): Move to opendirat.c.
16754         * lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
16755         * modules/backupfile (Depends-on): Remove dirfd, opendir.
16756         Add opendirat.
16757         * modules/fts (Depends-on): Remove fdopendir, openat-safer.
16758         Add opendirat.
16760 2018-10-23  Bruno Haible  <bruno@clisp.org>
16762         localename: Simplify support for per-thread locales on Solaris 11.4.
16763         * m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
16764         (gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
16765         HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
16766         * lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
16767         specific code.
16768         * lib/localename-table.h: Update comments.
16769         * lib/localename-table.c: Update comments.
16770         * m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
16771         Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
16772         * m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
16773         for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
16774         (gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
16775         HAVE_NAMELESS_LOCALES here.
16776         * modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
16777         m4/intlsolaris.m4.
16778         * modules/gettext (Files): Likewise.
16780 2018-10-22  Bruno Haible  <bruno@clisp.org>
16782         std-gnu11: Support Autoconf versions < 2.64.
16783         * m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
16784         when _AC_DO_LIMIT does not exist.
16786 2018-10-22  Bruno Haible  <bruno@clisp.org>
16788         Assume Autoconf >= 2.63.
16789         * DEPENDENCIES: Mention the requirement.
16791         * gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
16792         (func_get_filelist): Don't list m4/onceonly.m4 any more.
16793         * pygnulib/GLModuleSystem.py (getFiles): Likewise.
16794         * m4/onceonly.m4: Remove file.
16796         * m4/openmp.m4: Remove file.
16797         * modules/openmp (Files): Remove m4/openmp.m4.
16799         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
16800         htmldir, dvidir, pdfdir, psdir, localedir.
16801         * m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.
16803         * m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
16804         Autoconf < 2.60.
16805         (AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
16806         (AC_PROG_SED): Remove fallback for Autoconf < 2.60.
16808         * m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
16809         * m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
16810         * m4/stdint.m4 (AC_COMPUTE_INT): Likewise.
16812         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
16813         exists.
16814         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,
16816         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
16817         Autoconf < 2.61.
16819         * m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
16820         (AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
16821         Autoconf >= 2.52.
16823         * m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
16824         * m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
16825         * m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.
16827 2018-10-22  Bruno Haible  <bruno@clisp.org>
16829         Assume Automake >= 1.11.
16830         * m4/configmake.m4: Update comments.
16831         * m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
16832         * m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
16833         of 'eval'.
16834         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
16835         func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
16836         requires Automake >= 1.11.
16838 2018-10-22  Bruno Haible  <bruno@clisp.org>
16840         localename: Fix typo in comment.
16841         * tests/test-locale-c++.cc (newlocale): Fix typo in comment.
16843 2018-10-22  Bruno Haible  <bruno@clisp.org>
16845         Fix failure of 'gnulib-tool --create-testdir' with all modules.
16846         * gnulib-tool (func_create_testdir): Exclude 'timevar' module.
16848 2018-10-21  Bruno Haible  <bruno@clisp.org>
16850         locale: Ease integration with GNU libintl.
16851         * lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
16852         GNULIB_defined_freelocale): New macros.
16854 2018-10-21  Bruno Haible  <bruno@clisp.org>
16856         localename: Fine-tune support for per-thread locales on Solaris 11.4.
16857         * lib/localename-table.h: New file, extracted from lib/localename.c.
16858         * lib/localename-table.c: Likewise.
16859         * lib/localename.c: Include localename-table.h.
16860         (get_locale_t_name, newlocale, duplocale, freelocale): Invoke
16861         locale_hash_function instead of pointer_hash.
16862         * modules/localename (Files): Add lib/localename-table.h,
16863         lib/localename-table.c.
16864         (lib_SOURCES): Add localename-table.c.
16865         * m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
16866         for Solaris 11.4 locale system only on Solaris. Test for it
16867         independently whether getlocalename_l exists.
16868         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
16869         'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
16870         HAVE_NAMELESS_LOCALES.
16871         * modules/gettext (Files): Add m4/intlsolaris.m4.
16873 2018-10-21  Bruno Haible  <bruno@clisp.org>
16875         Small update from gettext.
16876         * m4/intl.m4: Update from gettext:
16877         - 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
16878         mode on AIX.
16879         - 2018-01-02: Don't use -lc explicitly when linking with libtool.
16880         - 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
16882 2018-10-16  Bruno Haible  <bruno@clisp.org>
16884         mountlist: Remove support for Cray with UNICOS 9.
16885         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16886         MOUNTED_LISTMNTENT.
16887         * lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.
16889 2018-10-16  Bruno Haible  <bruno@clisp.org>
16891         fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
16892         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
16893         STAT_STATFS2_FS_DATA.
16894         * lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
16895         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16896         MOUNTED_GETMNT.
16897         * lib/mountlist.c: Remove MOUNTED_GETMNT case.
16898         * lib/getloadavg.c (decstation): Remove definition and case.
16899         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
16900         * lib/getgroups.c: Likewise.
16901         * doc/posix-functions/getgroups.texi: Likewise.
16902         * lib/time.in.h: Update comments.
16904 2018-10-16  Bruno Haible  <bruno@clisp.org>
16906         getloadavg: Remove support for ConvexOS.
16907         * lib/getloadavg.c: Remove convex case.
16909 2018-10-16  Bruno Haible  <bruno@clisp.org>
16911         getloadavg: Remove support for Sony NEWS.
16912         * lib/getloadavg.c: Remove sony_news case.
16914 2018-10-16  Bruno Haible  <bruno@clisp.org>
16916         fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
16917         * lib/fsusage.c: Remove _SEQUENT_ case.
16918         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16919         * lib/mountlist.c: Don't test for MNTTABNAME.
16920         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
16921         (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
16922         * lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
16923         * lib/stat-size.h: Don't mention the Sequent bug.
16924         * doc/posix-functions/utime.texi: Don't mention the Dynix bug.
16926 2018-10-16  Bruno Haible  <bruno@clisp.org>
16928         fsusage: Remove support for AIX 3.
16929         * lib/fsusage.c: Remove code for AIX 3.
16930         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.
16932 2018-10-16  Bruno Haible  <bruno@clisp.org>
16934         fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
16935         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
16936         * lib/fsusage.c: Remove code for AIX PS/2.
16937         * lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
16938         * lib/getloadavg.c: Likewise.
16940 2018-10-16  Bruno Haible  <bruno@clisp.org>
16942         getloadavg: Remove support for HP-UX on m68k.
16943         * lib/getloadavg.c: Remove hp9000s300 case.
16945 2018-10-16  Bruno Haible  <bruno@clisp.org>
16947         fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
16948         * lib/fsusage.c: Remove DOLPHIN case.
16949         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
16950         * lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.
16952 2018-10-16  Bruno Haible  <bruno@clisp.org>
16954         getloadavg: Remove support for Alliant FX/2800.
16955         * lib/getloadavg.c: Remove alliant case.
16957 2018-10-16  Bruno Haible  <bruno@clisp.org>
16959         getloadavg: Remove support for tek4300.
16960         * lib/getloadavg.c: Remove tek4300 case.
16962 2018-10-16  Bruno Haible  <bruno@clisp.org>
16964         getloadavg: Remove support for Ardent.
16965         * lib/getloadavg.c: Remove ardent case.
16967 2018-10-16  Bruno Haible  <bruno@clisp.org>
16969         mountlist: Remove support for SVR2.
16970         Reported by Andrew Borodin <aborodin@vmail.ru> in
16971         <https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
16972         * lib/mountlist.c: Remove MOUNTED_FREAD case.
16973         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
16974         MOUNTED_FREAD.
16976 2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>
16978         libc-config: merge from glibc
16979         * lib/cdefs.h (__glibc_has_attribute): New macro.
16981         regex: depend on libc-config
16982         * modules/regex (Depends-on): Add libc-config.
16983         This is needed after the recent autoupdate from glibc.
16985 2018-10-14  Bruno Haible  <bruno@clisp.org>
16987         localename: Add support for per-thread locales on Solaris 11.4.
16988         * lib/locale.in.h (newlocale, freelocale): New declarations.
16989         (duplocale): Declare also when the 'localename' module requests it.
16990         * lib/localename.c (struniq_hash_node): Renamed from hash_node.
16991         (STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
16992         (struniq): Update.
16993         (struct locale_categories_names, struct locale_hash_node): New types.
16994         (LOCALE_HASH_TABLE_SIZE): New constant.
16995         (locale_hash_table, locale_lock): New variables.
16996         (pointer_hash, get_locale_t_name): New functions.
16997         (newlocale, duplocale, freelocale): New overridden functions.
16998         (gl_locale_name_thread_unsafe): Use get_locale_t_name.
16999         * m4/intlsolaris.m4: New file.
17000         * m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
17001         gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
17002         REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
17003         * m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
17004         declared.
17005         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
17006         HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17007         * modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
17008         HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
17009         * modules/localename (Files): Add intlsolaris.m4.
17010         (Depends-on): Add 'locale'.
17011         (configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
17012         * tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
17013         the signatures.
17015 2018-10-14  Akim Demaille  <akim@lrde.epita.fr>
17017         timevar: use gethrxtime to get wall clock time
17018         clock_gettime is not portable.  gethrxtime takes the best available
17019         option to get the wall clock time, including clock_gettime (monotonic
17020         clock), and gettime (non monotonic).
17021         Also, using xtime_t instead of float preserves the precision.
17022         Suggested by Bruno Haible.
17023         * lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
17024         * modules/timevar (Depends-on): We need gethrxtime.
17025         We no longer use times().
17026         (Link): Update.
17027         * lib/timevar.h (timevar_time_def): Use xtime_t.
17028         * lib/timevar.c (set_to_current_time): Use gethrxtime.
17029         (timevar_print): Instead of checking whether the timings themselves
17030         are large enough for the timevar to be printed, check the percentages.
17032 2018-10-14  Bruno Haible  <bruno@clisp.org>
17034         wcsnrtombs: Work around Solaris 11.4 bug.
17035         * m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
17036         macro.
17037         (gl_FUNC_WCSNRTOMBS): Invoke it.
17038         * doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.
17040 2018-10-14  Bruno Haible  <bruno@clisp.org>
17042         mbsnrtowcs: Work around Solaris 11.4 bug.
17043         * m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
17044         macro.
17045         (gl_FUNC_MBSNRTOWCS): Invoke it.
17046         * doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.
17048 2018-10-14  Bruno Haible  <bruno@clisp.org>
17050         doc: Update for Solaris 11.4.
17051         * doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
17052         mention Solaris 11.4.
17053         * m4/printf.m4: Update comments about Solaris.
17054         * m4/log.m4: Likewise.
17055         * m4/log10.m4: Likewise.
17056         * m4/logb.m4: Likewise.
17057         * m4/logbf.m4: Likewise.
17058         * m4/logbl.m4: Likewise.
17059         * m4/rename.m4: Likewise.
17060         * m4/wcrtomb.m4: Likewise.
17061         * m4/hostent.m4: Likewise.
17062         * m4/servent.m4: Likewise.
17064 2018-10-14  Bruno Haible  <bruno@clisp.org>
17066         floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
17067         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
17068         pointer.
17069         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
17070         pointer.
17071         * m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
17072         pointer.
17073         * m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
17074         pointer.
17075         * m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
17076         pointer.
17078 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17080         bootstrap: fix wget command for po files.
17081         * build-aux/bootstrap (po_download_command_format): Fix comment,
17082         and adjust callers.
17084 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17086         timevar: improve the output format
17087         Suggested by Bruno Haible.
17088         See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
17089         * lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
17090         wall, since its resolution is much higher.
17092 2018-10-13  Akim Demaille  <akim@lrde.epita.fr>
17094         timevar: expect that getrusage is available.
17095         Don't keep both times and getrusage as backend: both are guaranteed by
17096         gnulib, a single one suffices.  Using getrusage is open to possibly
17097         tracking other types of resources in the future.
17098         * modules/timevar (Depends-on): Add getrusage.
17099         (configure.ac): Remove gl_TIMEVAR.
17100         (Files): Remove m4/timevar.m4.
17101         * m4/timevar.m4: Remove, rely on gnulib for getrusage.
17102         * lib/timevar.h (timevar_enabled): Clarify documentation.
17103         * lib/timevar.c: Remove all the code about times.
17104         Remove all the CPP guards about getrusage: expect it to be present
17105         (courtesy of gnulib).
17107 2018-10-12  Bruno Haible  <bruno@clisp.org>
17109         mountlist: Improve support for Solaris in 64-bit mode.
17110         Reported by David Wood <David.Wood@deshaw.com> in
17111         <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
17112         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
17113         newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
17114         * lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.
17116 2018-10-12  Bruno Haible  <bruno@clisp.org>
17118         mountlist: Add support for Minix.
17119         Reported by Assaf Gordon in
17120         <https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
17121         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
17122         AC_CHECK_FUNCS to check for 'getmntinfo'.
17123         * lib/mountlist.c: Update comments.
17125 2018-10-12  Bruno Haible  <bruno@clisp.org>
17127         Make better use of Autoconf.
17128         * m4/environ.m4: Use AC_CACHE_CHECK where possible.
17129         * m4/manywarnings.m4: Likewise.
17130         * m4/manywarnings-c++.m4: Likewise.
17131         * m4/socklen.m4: Likewise.
17132         * m4/sockpfaf.m4: Likewise.
17133         * m4/stdarg.m4: Likewise.
17134         * m4/visibility.m4: Likewise.
17135         * m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
17136         indentation.
17137         * m4/ls-mntd-fs.m4: Likewise.
17139 2018-10-11  Bruno Haible  <bruno@clisp.org>
17141         mountlist: Modernize platform lists.
17142         * m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
17143         platforms, deemphasizing the obsolete ones.
17144         * lib/mountlist.c: Likewise.
17146 2018-10-11  Bruno Haible  <bruno@clisp.org>
17148         getprogname: Add support for 32-bit programs on HP-UX.
17149         * lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
17150         try the similar functions 32-bit programs on 64-bit HP-UX.
17152 2018-10-11  Bruno Haible  <bruno@clisp.org>
17154         getprogname: Work around program name truncation when possible.
17155         * lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
17156         possibly use pst_cmd instead.
17158 2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>
17160         fts: cleanup after FTS_NOATIME removal
17161         * lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
17162         (FTS_STOP): Shrink to minimal values.  We don’t need to
17163         worry about binary compatibility in Gnulib, and the old way
17164         of doing things had a hole in the user options that caused
17165         FTS_OPTIONMASK to not work as desired.
17167 2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>
17169         fts: remove FTS_NOATIME
17170         This reverts commit da4d6974013c822af1498941e32db774b2031765.
17171         We cannot guarantee that O_NOATIME works: e.g. openat fails
17172         with EPERM if the effective user ID of the caller does not match
17173         the owner of the file and the caller is not privileged.
17174         Downstream findutils has never picked up FTS_NOATIME.  Discussed at
17175         <https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
17176         * lib/fts_.h (FTS_NOATIME): Remove bit flag.
17177         (FTS_OPTIONMASK): Adjust.
17178         * lib/fts.c (diropen, fts_open, fts_build): Likewise.
17179         (fd_ring_check): Likewise.
17181 2018-10-08  Bruno Haible  <bruno@clisp.org>
17183         csharpcomp*, csharpexec*: Remove support for pnet.
17184         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
17185         HAVE_CSCC.
17186         * build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
17187         Don't test HAVE_CSCC.
17188         * lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
17189         (compile_csharp_class): Don't invoke it.
17190         * m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
17191         HAVE_ILRUN.
17192         * build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
17193         Don't test HAVE_ILRUN.
17194         * lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
17195         (execute_csharp_program): Don't invoke it.
17196         * m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
17197         any more.
17199 2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)
17201         renameatu: prefer renameat2 to syscall
17202         * lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
17203         Use renameat2 instead of syscall (Bug#32796).
17204         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.
17206 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17208         bootstrap, gnulib-tool: use https instead of insecure rsync
17209         * build-aux/bootstrap (download_po_files, po_download_command_format):
17210         Don't try using rsync; always use wget over https to fetch PO files.
17211         * gnulib-tool (func_import): Likewise.
17212         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17214 2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>
17216         bootstrap, gnulib-tool: correct the translations wget command
17217         * build-aux/bootstrap (po_download_command_format2): Restrict
17218         recursion to a single level.
17219         * gnulib-tool (func_import): Likewise.
17220         * pygnulib/GLImport.py (GLImport.execute): Likewise.
17222 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17224         doc: the gnulib snapshots are not maintained
17225         * doc/gnulib-intro.texi (Steady Development): Don't mention them.
17227 2018-10-07  Akim Demaille  <akim@lrde.epita.fr>
17229         timevar: add to lib_SOURCES
17230         * modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.
17232 2018-10-07  Bruno Haible  <bruno@clisp.org>
17234         dirent: Update documentation.
17235         * doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.
17237 2018-10-05  Bruno Haible  <bruno@clisp.org>
17239         strpbrk: Make it possible to namespace the defined symbol.
17240         * lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.
17242 2018-10-05  Bruno Haible  <bruno@clisp.org>
17244         strcspn: Make it possible to namespace the defined symbol.
17245         * lib/strcspn.c (strcspn): Don't undefine outside of glibc.
17247 2018-10-05  Bruno Haible  <bruno@clisp.org>
17249         raise: Make it possible to namespace the defined symbol.
17250         * lib/raise.c (raise): Undefine only after the replacement function has
17251         been defined.
17252         (raise): Renamed from rpl_raise.
17253         (raise_nothrow): Move to the end of the compilation unit.
17255 2018-10-05  Bruno Haible  <bruno@clisp.org>
17257         memcmp: Make it possible to namespace the defined symbol.
17258         * lib/memcmp.c (memcmp): Don't undefine outside of glibc.
17260 2018-10-05  Bruno Haible  <bruno@clisp.org>
17262         explicit_bzero: Make it possible to namespace the defined symbol.
17263         * lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
17264         glibc.
17266 2018-10-05  Bruno Haible  <bruno@clisp.org>
17268         mkdir-p: Depend on 'mkdir'.
17269         * modules/mkdir-p (Depends-on): Add 'mkdir'.
17271 2018-10-05  Bruno Haible  <bruno@clisp.org>
17273         tempname: Depend on 'mkdir'.
17274         Reported by Maarten Bosmans <mkbosmans@gmail.com>
17275         at <https://savannah.gnu.org/bugs/?33379>.
17276         * modules/tempname (Depends-on): Add 'mkdir'.
17278 2018-10-05  Akim Demaille  <akim@lrde.epita.fr>
17280         timevar: rely on gnulib modules for time portability.
17281         * modules/timevar (Depends-on): Add sys_time, sys_times, and times.
17282         * m4/timevar.m4: Don't check for clock_t and struct tms,
17283         guaranteed by gnulib.
17284         * lib/timevar.h: Use extern "C" protection.
17285         Include <stdio.h> for FILE.
17286         * lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
17287         they are guaranteed by gnulib.
17288         Remove uses of clock as (now useless) fallback.
17290 2018-10-04  Bruno Haible  <bruno@clisp.org>
17292         sh-filename: New module.
17293         * m4/sh-filename.m4: New file.
17294         * modules/sh-filename: New file.
17295         * lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
17296         "/bin/sh".
17297         * tests/test-posix_spawn1.c (main): Likewise.
17298         * tests/test-posix_spawn2.c (main): Likewise.
17299         * lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
17300         is_envjavac_gcj43): Likewise.
17301         * lib/javaexec.c (execute_java_class): Likewise.
17302         * modules/posix_spawn-internal (Depends-on): Add sh-filename.
17303         * modules/posix_spawnp-tests (Depends-on): Likewise.
17304         * modules/javacomp (Depends-on): Likewise.
17305         * modules/javaexec (Depends-on): Likewise.
17307 2018-10-04  Bruno Haible  <bruno@clisp.org>
17309         spawn-pipe tests: Avoid test failure on native Windows.
17310         * tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
17311         that fd 2 is closed.
17313 2018-10-04  Bruno Haible  <bruno@clisp.org>
17315         fcntl: Make it possible to namespace the defined symbol.
17316         * lib/fcntl.c (fcntl): Undefine only after the replacement function has
17317         been defined.
17318         (fcntl): Renamed from rpl_fcntl.
17319         (rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
17320         from fcntl.
17321         (klibc_fcntl): Move to the end of the compilation unit.
17323 2018-10-02  Bruno Haible  <bruno@clisp.org>
17325         vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
17326         * tests/test-vasnprintf.c (test_function): Change the test added on
17327         2018-09-23 to check only the 18 most significant digits.
17329         vasnprintf tests: Avoid test failure on Cygwin.
17330         * tests/test-vasnprintf.c (test_function): Change the test added on
17331         2018-09-23 to check only the 42 most significant digits.
17333 2018-10-01  Bruno Haible  <bruno@clisp.org>
17335         mkostemp, mkostemps: Update documentation.
17336         * doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
17337         * doc/glibc-functions/mkostemps.texi: Likewise.
17339 2018-10-01  Tom Tromey  <tom@tromey.com>
17341         mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
17342         * lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
17343         on OS X.
17345 2018-09-30  Pádraig Brady  <P@draigBrady.com>
17347         hmac-*: refactor to remove repetitive code
17348         * lib/hmac.c: A new parameterized single implementation.
17349         * lib/hmac-md5.c: Define parameters and include implementation.
17350         * lib/hmac-sha1.c: Likewise.
17351         * lib/hmac-sha256.c: Likewise.
17352         * lib/hmac-sha512.c: Likewise.
17353         * modules/crypto/hmac-md5: Reference the new implementation file.
17354         * modules/crypto/hmac-sha1: Likewise.
17355         * modules/crypto/hmac-sha256: Likewise.
17356         * modules/crypto/hmac-sha512: Likewise.
17357         * tests/test-hmac-md5.c: Refactor common code to a single function.
17358         * tests/test-hmac-sha1.c: Likewise.
17359         * tests/test-hmac-sha256.c: Likewise.
17360         * tests/test-hmac-sha512.c: Likewise.
17362 2018-09-30  Zhang Qing  <zhangqingl@126.com>
17364         hmac-sha512: fix hash for keys > blocksize (128 bytes)
17365         * lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
17366         key length to that output by sha512, not the blocksize.
17367         Otherwise uninitialized data from the stack
17368         is used when computing the hash.
17369         * tests/test-hmac-sha512.c: Add a shortened key test case.
17370         Reported at https://github.com/coreutils/gnulib/pull/5
17372 2018-09-30  Bruno Haible  <bruno@clisp.org>
17374         vasnprintf: Avoid warnings from GCC's -Wsign-compare.
17375         Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
17376         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
17377         * lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
17378         'unsigned int' before comparison with an unsigned value.
17380 2018-09-30  Bruno Haible  <bruno@clisp.org>
17382         grantpt: Remove unnecessary dependency.
17383         * modules/grantpt (Depends-on): Remove 'builtin-expect'.
17385 2018-09-30  Bruno Haible  <bruno@clisp.org>
17387         timevar: Small tweaks.
17388         * lib/timevar.h: Fix comments. Add parameter names to function
17389         declarations.
17390         * lib/timevar.c: Include timevar.h immediately after config.h.
17391         * lib/timevar.def: Fix comments.
17392         * modules/timevar (Maintainer): List Akim Demaille.
17394 2018-09-30  Bruno Haible  <bruno@clisp.org>
17396         timevar: Include documentation in gnulib manual.
17397         * doc/timevar.texi: Change node and section name to 'Profiling of
17398         program phases'.
17399         In the code snippets, tweak the #includes and use GNU coding style.
17400         * doc/gnulib.texi: Include timevar.texi.
17402 2018-09-27  Akim Demaille  <akim@lrde.epita.fr>
17404         timevar: import from Bison.
17405         * m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
17406         New files.
17407         * lib/timevar.def: New file.
17408         * doc/timevar.texi: New file.
17410 2018-09-26  Bruno Haible  <bruno@clisp.org>
17412         javacomp-script, javacomp: Add preliminary support for Java 12..17.
17413         * m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
17414         * lib/javacomp.c (default_target_version): Likewise.
17416 2018-09-26  Bruno Haible  <bruno@clisp.org>
17418         javacomp-script, javacomp: Add support for Java 11.
17419         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
17420         target-version 11.
17421         * lib/javaversion.h: Update comments.
17422         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
17423         source_version_index, get_goodcode_snippet, get_failcode_snippet,
17424         TARGET_VERSION_BOUND, target_version_index,
17425         corresponding_classfile_version): Accept source_version 11 and
17426         target_version 11.
17427         * lib/javacomp.h: Update comments accordingly.
17429 2018-09-23  Bruno Haible  <bruno@clisp.org>
17431         vasnprintf: Fix heap memory overrun bug.
17432         Reported by Ben Pfaff <blp@cs.stanford.edu> in
17433         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
17434         * lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
17435         memory.
17436         * tests/test-vasnprintf.c (test_function): Add another test.
17438 2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>
17440         maint: mktime.c now shared with glibc
17441         * config/srclist.txt: intprops.h, timegm.c and mktime.c
17442         are now the same in Gnulib and glibc.
17444         mktime: fix _LIBC typo
17445         * lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").
17447 2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17449         dfa: optimization for state merge
17450         * lib/dfa.c (merge2): New function.
17451         (merge_nfa_state): Use it.
17453 2018-09-18  Jim Meyering  <meyering@fb.com>
17455         dfa: trivial comment fix: s/is/if/
17456         * lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.
17458 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17460         dfa: use more-informative function name
17461         * lib/dfa.c (maybe_disable_superset_dfa):
17462         Rename from dfautf8noss.  Use change.
17464         dfa: tweak allocation performance
17465         * lib/dfa.c (merge_nfa_state, dfaoptimize):
17466         Prefer ptrdiff_t for indexes some more.
17467         Use char for flags, as it’s wide enough.
17468         Allocate queue and flags together, with one malloc call.
17469         No need to use xnmalloc since the multiplication and
17470         addition cannot overflow (it’s already been checked by
17471         earlier allocation).  Prefer memset to open-coding.
17473         dfa: prune states as we go
17474         * lib/dfa.c (prune): Remove.
17475         dfa: reorder enum for efficiency
17476         (merge_nfa_state): Prune as we go instead of at the end.
17477         Prefer ptrdiff_t for indexes, as this helps the compiler a bit.
17479         * lib/dfa.c (END): Now -1 again.  Reorder other elements
17480         of the enumeration to make it easier for GCC to generate
17481         efficient code by using fewer comparisons to check for
17482         ranges of values.
17483         (atom): Take advantage of the reordering.
17485 2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
17487         dfa: optimize alternation in NFA
17488         Even when similar states exist in alternation, the DFA treats them
17489         as separate items, which may complicate the transition in NFA and
17490         cause slowdown.  This change assembles the states into one.  For
17491         example, ab|ac is changed into a(b|c).  This change speeds-up
17492         matching for many branched patterns.  For example, grep speeds up
17493         more than 30× in:
17495           seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
17496           time -p env LC_ALL=C grep -vf in in
17498         * lib/dfa.c (prune): New function.
17499         (merge_nfa_state): New function.  It merges similar NFA states.
17500         (dfaoptimize): New function.  It seeks merged and removed nodes.
17501         (dfaanalyze): Call new function.
17502         (dfautf8noss): Change name from dfaoptimize because of addition of new
17503         function.
17504         (dfacomp): Update caller.
17506         dfa: simplify initial state
17507         Simplifying the initial state enables easier optimization of the NFA.
17508         * lib/dfa.c (enum token): Add new element BEG.
17509         (prtok): Adjust due to adding element BEG.
17510         (dfaparse): Put BEG at a head of tokens.
17511         (state_index): Adjust due to adding element BEG.
17512         (dfaanalyze): Concatenate BEG to other tokens, and simplify to
17513         build initial state.
17514         (dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.
17516 2018-09-18  Bruno Haible  <bruno@clisp.org>
17518         file-has-acl: Fix test failure on Cygwin 2.9.
17519         * m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
17520         * lib/acl-internal.h: Likewise.
17521         (HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
17522         * lib/acl-internal.c: Update comments regarding Cygwin.
17523         * lib/acl_entries.c: Likewise.
17524         * lib/file-has-acl.c: Likewise.
17525         (file_has_acl): For Cygwin, use a different way to determine whether
17526         the "default" ACL of a directory is nontrivial.
17527         * lib/get-permissions.c: Update comments regarding Cygwin.
17528         * lib/set-permissions.c: Likewise.
17530 2018-09-18  Bruno Haible  <bruno@clisp.org>
17532         stat-time tests: Fix test failure on Cygwin.
17533         * tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.
17535 2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>
17537         doc: OS X 10.11 lacked ns time functions
17538         According to <https://github.com/zeromq/libzmq/issues/2175>,
17539         nanosecond-resolution timestamp functions were introduced
17540         in macOS 10.12, so document the last version (OS X 10.11)
17541         where they were absent.
17543         gettime: nanotime never existed
17544         Problem reported by Bruno Haible in:
17545         https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
17546         * lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
17547         * m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.
17549 2018-09-18  Bruno Haible  <bruno@clisp.org>
17551         doc: Update statement about target platforms.
17552         Reported by Simon Sobisch.
17553         * doc/gnulib-intro.texi (Target Platforms): Update. Mention
17554         restrictions on MSVC versions.
17556 2018-09-18  Bruno Haible  <bruno@clisp.org>
17558         posix_spawn tests: Fix link error on 64-bit Cygwin.
17559         * tests/test-posix_spawn1.c (environ): Remove declaration.
17560         * tests/test-posix_spawn2.c (environ): Likewise.
17561         * tests/test-posix_spawn3.c (environ): Likewise.
17562         * tests/test-posix_spawn4.c (environ): Likewise.
17563         * modules/posix_spawn-tests (Depends-on): Add 'environ'.
17564         * modules/posix_spawnp-tests (Depends-on): Likewise.
17566 2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>
17568         timespec: new function current_timespec
17569         * lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
17570         and don’t worry about it failing on a CLOCK_REALTIME arg.
17571         POSIX requires it to succeed and I don’t know of any
17572         counterexamples where the fallbacks would work.
17573         (current_timespec): New function, taken from Emacs.  It is more
17574         convenient than gettime, and can help register allocation.
17575         * lib/timespec.h: Include arg-nonnull.h.
17576         (current_timespec): New declaration.
17577         (gettime, settime): Declare args to be nonnull.
17578         * modules/timespec (Depends-on): Add snippet/arg-nonnull.
17580 2018-09-16  Bruno Haible  <bruno@clisp.org>
17582         setlocale: Improve locale handling on macOS 10.12 or newer.
17583         * lib/setlocale.c: Include header files for CoreFoundation. Declare
17584         gl_locale_name_canonicalize.
17585         (libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
17586         and LC_MESSAGES.
17587         * m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.
17589 2018-09-16  Bruno Haible  <bruno@clisp.org>
17591         Update list of locale names with scripts on macOS.
17592         * lib/localename.c (gl_locale_name_canonicalize): Update tables to
17593         match Mac OS X 10.13 and recent glibc.
17595 2018-09-16  Bruno Haible  <bruno@clisp.org>
17597         gettext: Use newer macOS APIs when possible.
17598         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
17599         CFLocaleCopyPreferredLanguages.
17601 2018-09-16  Bruno Haible  <bruno@clisp.org>
17603         localename: Revisit macOS specific code.
17604         * lib/localename.c (gl_locale_name_default): Reduce code duplication.
17605         Fix comments about Mac OS X versions.
17607 2018-09-15  Bruno Haible  <bruno@clisp.org>
17609         setlocale: Improve support for locales not supported by libc.
17610         Reported by Dapeng Gao <peter@dpgao.cc> at
17611         <https://savannah.gnu.org/bugs/?54479>.
17612         * gettext-runtime/intl/setlocale.c: Include <stdio.h>.
17613         (libintl_setlocale): Use a more error-tolerant strategy when the locale
17614         to be set is not supported by libc: Emit warnings instead of failing.
17616 2018-09-15  Bruno Haible  <bruno@clisp.org>
17618         strstr, strcasestr: Add workaround against glibc-2.28 bug.
17619         Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
17620         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
17621         gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
17622         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
17623         gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
17624         * doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
17625         * doc/glibc-functions/strcasestr.texi: Likewise.
17627 2018-09-14  Bruno Haible  <bruno@clisp.org>
17629         doc: Fix bottom of top-level page.
17630         Reported by Akim Demaille <akim.demaille@gmail.com> in
17631         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
17632         * doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
17633         mode.
17634         * doc/gnulib.texi (Legacy Function Substitutes): Update menu
17635         accordingly.
17637 2018-09-12  Bruno Haible  <bruno@clisp.org>
17639         Add test case from a recent glibc bug.
17640         * tests/test-strstr.c (main): Add test of long needle.
17641         * tests/test-strcasestr.c (main): Likewise.
17642         * tests/test-c-strstr.c (main): Likewise.
17643         * tests/test-c-strcasestr.c (main): Likewise.
17644         * tests/test-memmem.c (main): Likewise.
17646 2018-09-12  Bruno Haible  <bruno@clisp.org>
17648         Apply Eric Blake's improvements from 2011-02-25 to more tests.
17649         * tests/test-c-strstr.c (main): Add the same tests here as well.
17651 2018-09-12  Bruno Haible  <bruno@clisp.org>
17653         Apply Jim Meyering's fix from 2015-01-11 to more tests.
17654         * tests/test-memmem.c (main): Free haystack.
17655         * tests/test-strcasestr.c (main): Likewise.
17656         * tests/test-c-strcasestr.c (main): Likewise.
17658 2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17660         xstrtol: fix missing-TYPE_SIGNED typo
17661         * lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.
17663 2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17665         timespec: fix resolution confusion
17666         In normal usage, clock resolution is given in seconds, but the
17667         code was mistakenly using inverse seconds and calling it
17668         “resolution”.  Fix this, partly by renaming two identifiers.
17669         The old names will be kept for a bit, to ease transition.
17670         * lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
17671         New constants, replacing TIMESPEC_RESOLUTION and
17672         LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
17673         All uses changed.
17675 2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17677         mktime: simplify in prep for glibc merge
17678         * lib/mktime.c, lib/timegm.c [_LIBC]:
17679         Include mktime-internal.h (a small file just for glibc)
17680         instead of using a typedef.
17682 2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>
17684         intprops: minor clarification of code
17685         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
17686         Use _GL_INT_CONVERT rather than reinventing it.
17688 2018-09-07  Bruno Haible  <bruno@clisp.org>
17690         Fix a comment.
17691         * tests/test-posix_spawn3.c (parent_main): Fix typo in comment.
17693 2018-09-07  Bruno Haible  <bruno@clisp.org>
17695         posix_spawn_file_actions_addchdir: Add tests.
17696         * tests/test-posix_spawn_file_actions_addchdir.c: New file.
17697         * tests/test-posix_spawn4.c: New file.
17698         * modules/posix_spawn_file_actions_addchdir-tests: New file.
17700 2018-09-07  Bruno Haible  <bruno@clisp.org>
17702         posix_spawn_file_actions_addchdir: New module.
17703         Suggested by Eric Blake in
17704         <https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
17705         * lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
17706         * lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
17707         union member 'chdir_action'.
17708         * lib/spawn_faction_addchdir.c: New file.
17709         * lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
17710         * lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
17711         HAVE_WORKING_POSIX_SPAWN.
17712         * lib/spawn_faction_adddup2.c: Likewise.
17713         * lib/spawn_faction_addopen.c: Likewise.
17714         * m4/posix_spawn_faction_addchdir.m4: New file.
17715         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
17716         'posix_spawn_file_actions_addchdir' is present and whether
17717         posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
17718         instead of HAVE_WORKING_POSIX_SPAWN.
17719         * m4/spawn_h.m4 (gl_SPAWN_H): Test whether
17720         posix_spawn_file_actions_addchdir is declared.
17721         (gl_SPAWN_H_DEFAULTS): Initialize
17722         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17723         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17724         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17725         * modules/spawn (Makefile.am): Substitute
17726         GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17727         HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
17728         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
17729         * modules/posix_spawn_file_actions_addchdir: New file.
17730         * modules/posix_spawn_file_actions_addclose (Depends-on,
17731         configure.ac): Test also REPLACE_POSIX_SPAWN.
17732         * modules/posix_spawn_file_actions_adddup2 (Depends-on,
17733         configure.ac): Likewise.
17734         * modules/posix_spawn_file_actions_addopen (Depends-on,
17735         configure.ac): Likewise.
17736         * tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
17737         signature.
17738         * doc/posix-functions/posix_spawn.texi: Mention the new module.
17739         * doc/posix-functions/posix_spawnp.texi: Likewise.
17741 2018-09-06  Bruno Haible  <bruno@clisp.org>
17743         stddef: Override max_align_t on NetBSD 8.0/x86.
17744         * m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
17745         the value of __alignof__ (max_align_t).
17746         * doc/posix-headers/stddef.texi: Mention the issue.
17748 2018-09-06  Bruno Haible  <bruno@clisp.org>
17750         fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
17751         * lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
17752         system fcntl.
17753         * doc/posix-functions/fcntl.texi: Document the issue.
17755 2018-09-06  Bruno Haible  <bruno@clisp.org>
17757         count-trailing-zeros tests: Rely on limits-h module.
17758         * tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
17759         definition.
17760         * modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.
17762 2018-09-06  Bruno Haible  <bruno@clisp.org>
17764         count-leading-zeros tests: Rely on limits-h module.
17765         * tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
17766         definition.
17767         * modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.
17769 2018-09-06  Bruno Haible  <bruno@clisp.org>
17771         count-one-bits tests: Rely on limits-h module.
17772         * tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
17773         * modules/count-one-bits-tests (Depends-on): Add 'limits-h'.
17775 2018-09-06  Bruno Haible  <bruno@clisp.org>
17777         xstrtoll: Rely on limits-h module.
17778         * lib/xstrtol.c: Don't include intprops.h.
17779         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17780         * modules/xstrtol (Depends-on): Remove 'intprops'.
17781         * modules/xstrtoll (Depends-on): Add 'limits-h'.
17783 2018-09-06  Bruno Haible  <bruno@clisp.org>
17785         strtoll, strtoull: Rely on limits-h module.
17786         * lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
17787         (ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
17788         * modules/strtoll (Depends-on): Add limits-h.
17789         * modules/strtoull (Depends-on): Likewise.
17791 2018-09-06  Bruno Haible  <bruno@clisp.org>
17793         intprops tests: Fix compilation error with pre-C99 compiler.
17794         * tests/test-intprops.c (verify_stmt): New macro.
17795         (VERIFY, main): Use it.
17797 2018-09-06  Bruno Haible  <bruno@clisp.org>
17799         limits-h: Provide numerical limits macros.
17800         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
17801         IRIX and for GCC.
17802         (WORD_BIT, LONG_BIT): Define.
17803         * m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
17804         <limits.h> does not define LLONG_MAX or WORD_BIT.
17805         * tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
17806         TYPE_MAXIMUM): New macros, from intprops.h.
17807         Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
17808         * doc/posix-headers/limits.texi: Document what the 'limits-h' module
17809         provides.
17811 2018-09-05  Bruno Haible  <bruno@clisp.org>
17813         fcntl: Don't access nonexistent optional argument.
17814         Reported by Frank Busse <f.busse@imperial.ac.uk> in
17815         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
17816         * lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
17817         don't consume an argument. For actions that take an 'int' argument,
17818         consume an 'int' argument.
17820 2018-09-05  Eric Blake  <eblake@redhat.com>
17822         doc: mention environ pitfall
17823         * doc/posix-functions/environ.texi (environ): Assigning NULL to
17824         environ is a glibc extension.
17826 2018-09-03  Bruno Haible  <bruno@clisp.org>
17828         gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
17829         Reported by Antoine Luong <antoine.luong@c-s.fr> in
17830         <https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
17831         * gnulib-tool (func_import): For the tests, set a dotfirst flag.
17832         (func_emit_lib_Makefile_am): Consider the dotfirst flag.
17833         (func_emit_tests_Makefile_am): Don't consider the dotfirst flag.
17835 2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>
17837         mktime: fix unlikely race+overflow bug
17838         Problem reported by Alexandre Oliva in:
17839         https://sourceware.org/bugzilla/show_bug.cgi?id=16346
17840         * lib/mktime.c (__mktime_internal): Access *OFFSET only once,
17841         to avoid an unlikely race if the compiler delays a load and
17842         if this cascades into a signed integer overflow.
17844 2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>
17846         mktime, timegm: simplify glibc time64_t
17847         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
17848         Now long int, not time_t, since long int is the longstanding type
17849         for this in glibc and there is no need to change it even if time_t
17850         becomes 64 bits - even int would do, though this would be a change
17851         to the glibc generated code.  When this change is merged into
17852         glibc, it should simplify the time_t vs time64_t situation.
17854         mktime, timegm: simplify merge to glibc
17855         Move code around to make a merge to glibc easier to audit.
17856         This should not change behavior.
17857         * lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
17858         (NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
17859         which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
17860         simplify later conditionals; default the others to zero.  In uses
17861         of these conditionals, explicitly spell out how _LIBC affects
17862         things, so it’s easier to review from a glibc viewpoint.
17863         (my_tzset, __tzset) [!_LIBC]: New function and macro, to better
17864         compartmentalize tzset issues.  Move system-dependent tzsettish
17865         code here from mktime.
17866         (mktime): Move tzsettish code to my_tzset, and move
17867         localtime_offset to within mktime so that it doesn’t
17868         need a separate ifdef.
17870 2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>
17872         intprops: avoid evaluation of some expressions
17873         This makes EXPR_SIGNED (e) easier to use, as it no longer
17874         evaluates the expression E.  Formerly, E was required to be free
17875         of side effects.
17876         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
17877         (EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
17878         (_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.
17880 2018-08-23  Bruno Haible  <bruno@clisp.org>
17882         getcwd: Add cross-compilation guesses.
17883         Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
17884         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
17885         Based on a patch by Paul Eggert.
17886         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
17887         guesses for all GNU systems.
17889 2018-08-19  Bruno Haible  <bruno@clisp.org>
17891         glob-h: Formalize side effects from other modules.
17892         * m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
17893         * m4/glob.m4 (gl_GLOB): Invoke it.
17895         fnmatch-h: Formalize side effects from other modules.
17896         * m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
17897         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.
17899         limits-h: Formalize side effects from other modules.
17900         * m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
17901         * m4/stdint.m4 (gl_STDINT_H): Invoke it.
17903 2018-08-19  Bruno Haible  <bruno@clisp.org>
17905         getpass: Move declaration to <unistd.h>.
17906         * lib/unistd.in.h (getpass): New declaration.
17907         * lib/getpass.h: Replace with a stub that just includes <unistd.h>.
17908         * m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
17909         Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
17910         (gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
17911         On glibc systems, don't set REPLACE_GETPASS to 1.
17912         * modules/getpass (Depends-on): Add 'unistd'.
17913         (configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
17914         (Include): Specify <unistd.h> instead of "getpass.h".
17915         * modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
17916         (configure.ac): Sync with the configure.ac section of modules/getpass.
17917         (Include): Specify <unistd.h> instead of "getpass.h".
17918         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
17919         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
17920         REPLACE_GETPASS.
17921         * modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
17922         REPLACE_GETPASS.
17923         * tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
17924         * doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
17925         and musl.
17926         * NEWS: Mention the change.
17928 2018-08-19  Bruno Haible  <bruno@clisp.org>
17930         glob: Fix over-optimization due to attribute __nonnull__.
17931         * lib/glob.c (_GL_ARG_NONNULL): Define to empty.
17933 2018-08-19  Bruno Haible  <bruno@clisp.org>
17935         glob: Fix another compilation error when glob.h is not replaced.
17936         Reported by Reuben Thomas <rrt@sc3d.org> in
17937         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
17938         * m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
17939         * m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.
17941 2018-08-18  Bruno Haible  <bruno@clisp.org>
17943         fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
17944         Reported by Reuben Thomas <rrt@sc3d.org> in
17945         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
17946         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
17947         in config.h.
17949 2018-08-18  Bruno Haible  <bruno@clisp.org>
17951         Avoid -Wcast-function-type warnings from casts after GetProcAddress.
17952         Reported by Andy Moreton <andrewjmoreton@gmail.com> in
17953         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
17954         Solution proposed by Eli Zaretskii.
17955         * lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
17956         * lib/gettimeofday.c (GetProcAddress): Likewise.
17957         * lib/link.c (GetProcAddress): Likewise.
17958         * lib/physmem.c (GetProcAddress): Likewise.
17959         * lib/poll.c (GetProcAddress): Likewise.
17960         * lib/select.c (GetProcAddress): Likewise.
17961         * lib/stat-w32.c (GetProcAddress): Likewise.
17963 2018-08-18  Bruno Haible  <bruno@clisp.org>
17965         glob: Fix another compilation error when glob.h is not replaced.
17966         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
17967         * lib/globfree.c: Include <libc-config.h>.
17969 2018-08-18  Bruno Haible  <bruno@clisp.org>
17971         glob: Fix compilation error when glob.h is not replaced.
17972         Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
17973         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
17974         * lib/glob_pattern_p.c: Include <libc-config.h>.
17975         * modules/glob (Depends-on): Add libc-config.
17977 2018-08-18  Bruno Haible  <bruno@clisp.org>
17979         scratch_buffer: Add tests.
17980         * tests/test-scratch-buffer.c: New file.
17981         * modules/scratch_buffer-tests: New file.
17983 2018-08-18  Bruno Haible  <bruno@clisp.org>
17985         scratch_buffer: Fix include file.
17986         Reported by Reuben Thomas <rrt@sc3d.org> in
17987         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
17988         * lib/scratch_buffer.h: Include <libc-config.h> first. Add
17989         double-inclusion guard.
17991 2018-08-18  Bruno Haible  <bruno@clisp.org>
17993         glob-h: Revert Paul Eggert's revert.
17994         * m4/glob_h.m4: Revert to previous state.
17995         * modules/glob-h: Likewise.
17997 2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>
17999         glob-h: always build glob.h
18000         This works around a problem reported by Reuben Thomas in:
18001         http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
18002         This workaround always builds glob.h, even on platforms that
18003         do not need it; perhaps this could be improved someday.
18004         * m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
18005         is always created now.
18006         * modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.
18008 2018-08-13  Bruno Haible  <bruno@clisp.org>
18010         monetary: Simplify m4 code.
18011         * m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
18012         (gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.
18014 2018-08-13  Bruno Haible  <bruno@clisp.org>
18016         fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
18017         Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
18018         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
18019         and by Paul J. Lucas <paul@lucasmail.org> in
18020         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
18021         * m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.
18023 2018-08-11  Bruno Haible  <bruno@clisp.org>
18025         setlocale: Trivial simplification.
18026         * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.
18028 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
18030         verify: port 'assume' to traditional tools
18031         * lib/verify.h (assume): Port better to Oracle Studio 12.6
18032         and other tools that use /*NOTREACHED*/ comments.
18034 2018-08-10  Bruno Haible  <bruno@clisp.org>
18036         fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
18037         * modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
18038         * lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
18039         'fnmatch-gnu' is in use.
18041 2018-08-07  Bruno Haible  <bruno@clisp.org>
18043         glob-h: Add tests.
18044         * tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
18045         * tests/test-glob.c: Reorder #includes. Remove tests that are moved to
18046         tests/test-glob-h.c.
18047         * modules/glob-h-tests: New file.
18048         * tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
18049         conditions.
18050         * modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
18051         * modules/glob-tests (Depends-on): Remove glob-c++-tests.
18053 2018-08-07  Bruno Haible  <bruno@clisp.org>
18055         glob-h: New module.
18056         * lib/glob.in.h: Use nearly the usual gnulib idioms for header file
18057         replacements.
18058         * lib/glob.c: Include <config.h>.
18059         * m4/glob_h.m4: New file.
18060         * m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
18061         glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18062         REPLACE_GLOB_PATTERN_P as appropriate.
18063         (gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
18064         AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
18065         * modules/glob-h: New file.
18066         * modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
18067         (Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
18068         lstat, sys_stat. Change conditions.
18069         (configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
18070         REPLACE_GLOB_PATTERN_P. Set module indicator.
18071         (Makefile.am): Remove code that is moved to glob-h.
18072         * doc/posix-headers/glob.texi: Mention the 'glob-h' module.
18073         * modules/posixcheck (Depends-on): Add glob-h.
18075 2018-08-06  Bruno Haible  <bruno@clisp.org>
18077         Force generation of substitute .h file when C++ support is enabled.
18078         * m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
18079         * modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
18080         * m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
18081         FNMATCH_H to non-empty.
18082         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
18083         ICONV_H to non-empty.
18084         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
18085         MONETARY_H to non-empty.
18086         * m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
18087         non-empty.
18089 2018-08-06  Bruno Haible  <bruno@clisp.org>
18091         fnmatch-h: Fix test compilation error on mingw (regression from today).
18092         * lib/fnmatch.in.h: Fix conditions.
18094 2018-08-06  Bruno Haible  <bruno@clisp.org>
18096         sys_resource: Relicense under LGPLv2+.
18097         John Malmberg's approval is in
18098         <https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
18099         * modules/sys_resource (License): Change to LGPLv2+.
18101 2018-08-06  Bruno Haible  <bruno@clisp.org>
18103         fnmatch-h: Add tests.
18104         * tests/test-fnmatch-h.c: New file.
18105         * modules/fnmatch-h-tests: New file.
18106         * tests/test-fnmatch-h-c++.cc: New file.
18107         * modules/fnmatch-h-c++-tests: New file.
18109 2018-08-06  Bruno Haible  <bruno@clisp.org>
18111         fnmatch-h: New module.
18112         * lib/fnmatch.in.h: Use the usual gnulib idioms for header file
18113         replacements.
18114         (FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
18115         (fnmatch): Use the usual gnulib idiom for function declarations. Enable
18116         'posixcheck' warning.
18117         * m4/fnmatch_h.m4: New file.
18118         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
18119         code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
18120         bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
18121         as appropriate.
18122         * modules/fnmatch-h: New file.
18123         * modules/fnmatch (Files): Remove lib/fnmatch.in.h.
18124         (Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
18125         conditions.
18126         (configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
18127         indicator.
18128         (Makefile.am): Remove code that is moved to fnmatch-h.
18129         * modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
18130         REPLACE_FNMATCH.
18131         * doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
18132         * modules/posixcheck (Depends-on): Add fnmatch-h.
18134 2018-08-06  Bruno Haible  <bruno@clisp.org>
18136         Enable more C++ tests.
18137         * modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
18138         * modules/monetary-tests (Depends-on): Add monetary-c++-tests.
18139         * modules/strings-tests (Depends-on): Add strings-c++-tests.
18140         * modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
18141         * modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.
18143 2018-08-06  Bruno Haible  <bruno@clisp.org>
18145         getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
18146         * modules/getopt-posix (Makefile.am): Add Makefile dependency for
18147         getopt.h.
18148         * modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.
18150 2018-08-05  Bruno Haible  <bruno@clisp.org>
18152         utime-h: Generate header file when module 'posixcheck' is in use.
18153         * m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
18154         UTIME_H to non-empty.
18156 2018-08-05  Bruno Haible  <bruno@clisp.org>
18158         monetary: Generate header file when module 'posixcheck' is in use.
18159         * m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
18160         use, set MONETARY_H to non-empty.
18162 2018-08-05  Bruno Haible  <bruno@clisp.org>
18164         iconv-h: Generate header file when module 'posixcheck' is in use.
18165         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
18166         set ICONV_H to non-empty.
18168 2018-08-05  Bruno Haible  <bruno@clisp.org>
18170         Optimize the "checking whether ... is declared without a macro" checks.
18171         Suggested by Paul Eggert in
18172         <https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
18173         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
18174         Gnulib module 'posixcheck' is not in use.
18176 2018-08-05  Bruno Haible  <bruno@clisp.org>
18178         iconv-h: Enable 'posixcheck' warnings.
18179         * m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
18180         iconv_open.
18181         * lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.
18183 2018-08-05  Bruno Haible  <bruno@clisp.org>
18185         Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
18186         * m4/extern-inline.m4: Add more comments.
18187         * lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
18188         * lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
18189         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.
18191 2018-08-04  Bruno Haible  <bruno@clisp.org>
18193         New module 'posixcheck'.
18194         * modules/posixcheck: New file.
18195         * m4/posixcheck.m4: New file.
18196         * doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
18197         (Which modules?): Reference it.
18199 2018-08-01  Assaf Gordon  <assafgordon@gmail.com>
18201         dfa: fix memory leak
18202         * lib/dfa.c (dfafree): Add missing free() on dfa->superset.
18204 2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>
18206         ieee754-h: new module
18207         It looks like Emacs can use this for some NaN processing.
18208         Emacs uses it only on double NaNs so it should be safe.
18209         * MODULES.html.sh (func_all_modules): Add ieee754-h.
18210         * config/srclist.txt: Mention ieee754.h in a comment.
18211         * doc/glibc-headers/ieee754.texi (ieee754.h):
18212         Gnulib now has a substitute that should work
18213         except for long double and for non-IEEE platforms.
18214         * lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
18215         * modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.
18217 2018-07-27  Bruno Haible  <bruno@clisp.org>
18219         iswcntrl: Mention minor problem on macOS.
18220         * doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.
18222 2018-07-26  Colin Watson  <cjwatson@debian.org>
18224         bootstrap, gnulib-tool: fix translations rsync
18225         Previously, we created files such as $pobase/Makefile.in.in and then the
18226         subsequent rsync would immediately delete them.
18227         * build-aux/bootstrap (po_download_command_format): Avoid deleting
18228         non-.po files in target directory when rsyncing translations.
18229         * gnulib-tool (func_import): Likewise.
18230         * pygnulib/GLImport.py (GLImport.execute): Likewise.
18232 2018-07-25  Jim Meyering  <meyering@fb.com>
18234         bootstrap: reinstate definition fo gnulib_mk.
18235         That variable is used at least by cppi.
18236         * build-aux/bootstrap (gnulib_mk): Restore definition.
18237         This reverts the deletion from v0.1-1844-gc66dba9ba.
18239 2018-07-23  Bruno Haible  <bruno@clisp.org>
18241         doc: For module names, use texinfo markup @code{} or @samp{}.
18242         * doc/alloca.texi: Mark gnulib module names with @code.
18243         * doc/alloca-opt.texi: Likewise.
18244         * doc/quote.texi: Likewise.
18245         * doc/posix-functions/freopen.texi: Likewise.
18246         * doc/posix-functions/open.texi: Likewise.
18247         * doc/posix-functions/readlink.texi: Likewise.
18248         * doc/posix-functions/readlinkat.texi: Likewise.
18249         * doc/posix-functions/stdout.texi: Likewise.
18250         * doc/posix-functions/stderr.texi: Likewise.
18251         * doc/posix-functions/unlink.texi: Likewise.
18252         * doc/posix-functions/unlinkat.texi: Likewise.
18253         * doc/posix-functions/utime.texi: Likewise.
18254         * doc/posix-functions/utimensat.texi: Likewise.
18255         * doc/posix-functions/utimes.texi: Likewise.
18256         * doc/posix-headers/stdint.texi: Likewise.
18257         * doc/glibc-functions/futimesat.texi: Likewise.
18258         * doc/glibc-functions/lutimes.texi: Likewise.
18259         * doc/glibc-functions/memmem.texi: Likewise.
18261 2018-07-23  Werner LEMBERG  <wl@gnu.org>
18263         doc: Avoid some overfull lines in the TeX output.
18264         * doc/glibc-functions/futimesat.texi: Replace a long @code with a
18265         @example.
18266         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
18267         newline before the long URL.
18268         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
18269         * doc/relocatable-maint.texi: Use @smallexample instead of @example.
18270         Add line breaks in code snippets.
18272 2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
18274         hard-locale: simplify by removing hard-locale.m4
18275         * m4/hard-locale.m4: Remove.
18276         * modules/hard-locale (Files): Remove m4/hard-locale.m4.
18277         (configure.ac): Do not call gl_HARD_LOCALE.
18279         gnulib-tool: limit line length for git send-email
18280         * gnulib-tool (func_import): Break actioncmd log line
18281         into multiple lines.
18283 2018-07-16  Bruno Haible  <bruno@clisp.org>
18285         ffs: Ensure declaration on mingw.
18286         Reported by Daniel P. Berrangé <berrange@redhat.com>
18287         in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
18288         * m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
18289         also declared.
18291 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
18293         regex-tests: add dependency
18294         * modules/regex-tests (Depends-on): Add gettext-h.
18295         This is needed given the recent changes to regex,
18296         which no longer depends on gettext-h.
18298 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
18300         regex: now in sync with glibc
18301         * config/srclist.txt: Gnulib and glibc regex code
18302         are synchronized again.
18304 2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>
18306         renameatu: rename from renameat2
18307         It's looking like Glibc will add a renameat2 function
18308         that is incompatible with Gnulib renameat2; see:
18309         https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
18310         To help avoid future confusion, rename renameat2 to something else.
18311         Use the name 'renameatu', as the Gnulib function is close to the
18312         Glibc function.  Perhaps someday there will also be a renameat2
18313         Gnulib module, which mimicks the future glibc renameat2, but that
18314         can wait as nobody seems to need such a module now.
18315         * NEWS: Mention this.
18316         * lib/renameatu.c: Rename from lib/renameat2.c.
18317         * lib/renameatu.h: Rename from lib/renameat2.h.
18318         * modules/renameatu: Rename from modules/renameat2.
18319         * modules/renameatu-tests: Rename from modules/renameat2-tests.
18320         All uses of "renameat2" in identifiers or file name
18321         changed to "renameatu", except for two instances in
18322         lib/renameatu.c that deal with the Linux kernel's
18323         renameat2 syscall.
18325 2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
18327         gnulib-tool: minor tweaks for --gnu-make
18328         * gnulib-tool: Do not allow --gnu-make in test modes,
18329         since they all require automake.
18330         (func_emit_lib_Makefile_am): Don’t emit automake comment
18331         if --gnu-make.
18333         regex: work around conditional-dependencies glitch
18334         * modules/regex (Depends-on): Add langinfo.
18335         Without this change, I had problems building an experimental
18336         version of GNU Emacs.  The symptom of the bug was a message
18337         ‘./configure: line 12726: test: =: unary operator expected’.
18338         This was due to a line in gl_FUNC_NL_LANGINFO that invokes
18339         ‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
18340         was unset.  Although gl_FUNC_NL_LANGINFO has
18341         ‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
18342         HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
18343         --conditional-dependencies sometimes arranges for the
18344         gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
18345         code.  Since the regex code includes <langinfo.h> it should be
18346         depending on the langinfo module anyway, and this happens to work
18347         around the bug, so install that as a workaround for now.  To
18348         reproduce the original problem, run the following shell script on
18349         the version of Gnulib just before this patch was installed.
18350                 rm -fr foo
18351                 mkdir foo
18352                 cat >foo/configure.ac <<'EOF'
18353                 AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
18354                 gl_EARLY
18355                 gl_INIT
18356                 AC_OUTPUT
18357                 EOF
18358                 ./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
18359                 ./gnulib-tool --copy build-aux/install-sh foo/install-sh
18360                 ./gnulib-tool --copy build-aux/config.sub foo/config.sub
18361                 ./gnulib-tool --copy build-aux/config.guess foo/config.guess
18362                 cd foo
18363                 aclocal -I m4
18364                 autoconf
18365                 ./configure --with-included-regex
18367 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18369         wchar: fix bug when checking for ‘inline’
18370         I discovered this when looking into using the regex module
18371         with Emacs.
18372         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
18373         2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
18374         conftest1.c and conftest2.c but these files were not created.
18375         As far as I can see, this check never worked and nobody reported
18376         it until now, which is a bit worrisome.
18378 2018-06-30  Jim Meyering  <meyering@fb.com>
18380         bootstrap: s/--option val/--option=val/
18381         * build-aux/bootstrap (gnulib_tool_options): Change the
18382         spelling of "--option val" pairs to "--option=val", for
18383         aesthetics, and also so that this file no longer triggers
18384         a common help2man syntax-check warning when copied into
18385         projects like grep, gzip, etc.
18387 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
18389         manywarnings: omit -Wswitch-default
18390         This should make things more consistent, as we already ignore
18391         -Wswitch-enum.  Problem reported by Reuben Thomas; see:
18392         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
18393         * build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
18394         Add -Wswitch-default.
18395         * m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
18396         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
18397         Remove -Wswitch-default.
18399         regex: revert most trimming
18400         Problems reported by Bruno Haible in:
18401         https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
18402         * modules/regex (Depends-on): Add lock, memcmp, memmove,
18403         and wctype back in.  lock because regex users shouldn’t
18404         need to know that regex needs locking, and the rest because
18405         gnulib-tool should ordinarily ignore them anyway.
18407 2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>
18409         regex: trim module dependencies
18410         * modules/regex (Depends-on): Remove gettext-h and lock,
18411         since the regex code should work OK without these modules,
18412         and Emacs uses it that way.  Also remove memcmp, memmove,
18413         and wctype, as these modules are obsolete and should not be
18414         needed any more.
18416 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
18418         regex: glibc does not use intprops.h
18419         Maybe we can talk glibc into using intprops.h someday, but
18420         now doesn’t seem to be a good time.
18421         * lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
18422         * lib/regex_internal.h [_LIBC]: Do not include intprops.h.
18423         (TYPE_SIGNED, INT_ADD_WRAPV): New macros.
18425 2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>
18427         regex: port to recently proposed glibc regex merge
18428         This patch is inspired by Adhemerval Zanella's recent proposal
18429         https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
18430         to merge glibc and Gnulib regex.  It aims to simplify the merge on
18431         the glibc side, without keeping Gnulib portable.
18432         * lib/regex.h: Fix a problem with glibc installed-header checking,
18433         as follows:
18434         (_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
18435         (_Restrict_arr_): Prefer __restrict_arr if defined,
18436         otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
18437         * lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
18438         (build_wcs_upper_buffer, build_upper_buffer)
18439         (re_string_translate_buffer, re_string_context_at):
18440         Move decls here from lib/regex_internal.h, for glibc internal tests.
18441         (build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
18442         glibc BZ #18496.
18443         * lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
18444         -Wunused-value.
18445         (bitset_set, bitset_clear, bitset_contain, bitset_empty)
18446         (bitset_set_all, bitset_copy, bitset_not, bitset_merge)
18447         (bitset_mask): Now static inline, and without any __attribute__
18448         ((unused)) decoration, for glibc internal tests.
18450 2018-06-25  Bruno Haible  <bruno@clisp.org>
18452         threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
18453         Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
18454         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
18455         * m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
18456         --as-needed/--no-as-needed and --push-state/--pop-state. When defining
18457         USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
18458         USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
18459         / -lthread / -lpth does not get optimized away by a preceding
18460         --as-needed option.
18462 2018-06-25  Bruno Haible  <bruno@clisp.org>
18464         Continue to use spaces for indentation, not tabs.
18465         * MODULES.html.sh: Untabify.
18466         * doc/regex.texi: Likewise.
18467         * lib/acl-internal.c: Likewise.
18468         * lib/dfa.c: Likewise.
18469         * lib/exclude.c: Likewise.
18470         * lib/exclude.h: Likewise.
18471         * lib/get-permissions.c: Likewise.
18472         * lib/gettimeofday.c: Likewise.
18473         * lib/parse-datetime.y: Likewise.
18474         * lib/pselect.c: Likewise.
18475         * lib/set-permissions.c: Likewise.
18476         * lib/time.in.h: Likewise.
18477         * m4/canonicalize.m4: Likewise.
18478         * m4/gc.m4: Likewise.
18479         * m4/gnulib-common.m4: Likewise.
18480         * m4/pthread_sigmask.m4: Likewise.
18481         * m4/vararrays.m4: Likewise.
18482         * tests/test-digest.h: Likewise.
18483         * tests/test-fcntl-h.c: Likewise.
18484         * tests/test-timespec.c: Likewise.
18485         * tests/uniwbrk/test-uc-wordbreaks.c: Likewise.
18487 2018-06-25  Bruno Haible  <bruno@clisp.org>
18489         manywarnings: Don't enable -Wjump-misses-init warnings by default.
18490         * build-aux/gcc-warning.spec: Add -Wjump-misses-init.
18491         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
18492         -Wjump-misses-init.
18494 2018-06-25  Jim Meyering  <meyering@fb.com>
18496         acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
18497         * lib/acl-internal.h (free_permission_context): Remove that
18498         attribute directive.  Otherwise, it would provoke this from GCC 9:
18499         lib/acl-internal.h:300:3: error: 'const' attribute on function \
18500           returning 'void' [-Werror=attributes]
18502 2018-06-24  Jim Meyering  <meyering@fb.com>
18504         parse-datetime: accommodate gcc-4.8.5
18505         Bruno Haible reported the build failure in
18506         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
18507         * lib/parse-datetime.y (parse_datetime2): Remove leading "static"
18508         on declaration of new local.
18510 2018-06-24  Bruno Haible  <bruno@clisp.org>
18512         af_alg: Fail in continuable manner on Linux/powerpc64le.
18513         Reported by Assaf Gordon <assafgordon@gmail.com>
18514         in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
18515         * lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
18516         byte send() as the first round.
18518 2018-06-24  Bruno Haible  <bruno@clisp.org>
18520         af_alg: Fix state of stream after sendfile() succeeds.
18521         * lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
18522         the stream is correctly positioned afterwards.
18523         * modules/crypto/af_alg (Depends-on): Add fflush.
18524         * tests/test-digest.h (test_digest_on_files): Verify that after the
18525         operation the stream is positioned at end of file.
18527 2018-06-24  Jim Meyering  <meyering@fb.com>
18529         canon-host: take GCC9's advice rather than ignoring warning
18530         Pádraig Brady suggested not to ignore this GCC9 advice.
18531         * lib/canon-host.c: Undo preceding change.
18532         * lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.
18534         parse-datetime.y: avoid spurious GCC 9 warning
18535         * lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
18536         a function local prior to the first "goto fail".  The prior use would
18537         evoke this:
18538         parse-datetime.y: In function 'parse_datetime2':
18539         parse-datetime.y:1791:19: error: jump skips variable initialization \
18540           [-Werror=jump-misses-init]
18541         parse-datetime.y:2385:2: note: label 'fail' defined here
18542         parse-datetime.y:188:43: note: '({anonymous})' declared here
18543         parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'
18545         canon-host.c: avoid spurious GCC 9 warning
18546         * lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.
18548         manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
18549         * build-aux/gcc-warning.spec: Add them here, each with an explanation.
18550         * m4/manywarnings.m4: Remove them.
18551         Otherwise, building coreutils, I would see this:
18552         cc1: error: deprecated command line option '-Wchkp' [-Werror]
18553         cc1: error: -Wabi won't warn about anything [-Werror=abi]
18554         cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
18555           which is also used by default
18556         cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7
18558 2018-06-24  Bruno Haible  <bruno@clisp.org>
18560         af_alg tests: Add another test.
18561         * tests/test-digest.h (test_digest_on_files): Also check a large file
18562         with a skipped header.
18563         * tests/test-md5.c: Include macros.h.
18564         * tests/test-sha1.c: Likewise.
18565         * tests/test-sha256.c: Likewise.
18566         * tests/test-sha512.c: Likewise.
18567         * modules/crypto/md5-tests (Files): Add tests/macros.h.
18568         * modules/crypto/sha1-tests (Files): Likewise.
18569         * modules/crypto/sha256-tests (Files): Likewise.
18570         * modules/crypto/sha512-tests (Files): Likewise.
18572 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18574         maint: clarify comments about sticky EOF
18575         * lib/af_alg.c: Be more direct that we can't
18576         assume stickiness of EOF for portability reasons.
18577         * lib/md5.c: Clarify that this isn't just a glibc issue.
18578         * lib/sha1.c: Likewise.
18579         * lib/sha256.c: Likewise.
18580         * lib/sha512.c: Likewise.
18582 2018-06-24  Bruno Haible  <bruno@clisp.org>
18584         af_alg: Comment and style improvements.
18585         * lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
18586         (afalg_buffer, afalg_stream): Improve comments.
18588 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18590         af_alg: disable kernel hash functions by default
18591         All the kernel routines were seen to be significantly slower
18592         with these relatively recent components on an i3-2310M system:
18593           kernel-4.10.6-200.fc25.x86_64
18594           openssl-1.0.2m-1.fc25.x86_64
18595         sha1 was nearly twice as slow in the kernel for example.
18596         Further considerations why this should not be the default, at:
18597         https://lists.gnu.org/r/coreutils/2018-06/msg00034.html
18599         * m4/af_alg.m4: Require --with-linux-crypto to enable.
18600         * m4/gl-openssl.m4: Tweak accordingly.
18602 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18604         af_alg: avoid hangs when reading from streams
18605         * lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
18606         and thus avoid doing a fread() when feof() is set.
18607         * lib/md5.c: Ensure feof() is called before fread().
18608         * lib/sha1.c: Likewise.
18609         * lib/sha256.c: Likewise.
18610         * lib/sha512.c: Likewise.
18612 2018-06-24  Pádraig Brady  <P@draigBrady.com>
18614         af_alg: fix error handling when hash not returned
18615         * lib/af_alg.c (afalg_stream): Handle the case where we've
18616         successfully written data to the kernel in the read/write loop,
18617         but the kernel doesn't respond with the hash.
18619 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
18621         libc-config: merge from glibc
18622         * lib/cdefs.h (__inline, __restrict):
18623         Copy from current glibc.  This fixes glibc bug 17721,
18624         which Gnulib had already fixed in a different way.
18625         (__nonnull): Lessen the distance from glibc by using the
18626         glibc definition inside an ‘#ifndef __nonnull’.
18627         (__attribute_nonstring__): New macro, copied from
18628         current glibc.
18629         * lib/libc-config.h (__attribute_nonstring__): New undef.
18630         (__restrict): Remove; workaround no longer needed.
18631         Keep the __inline workaround, though, as it uses HAVE___INLINE to
18632         support more compilers than the glibc __inline can.
18634 2018-06-24  Bruno Haible  <bruno@clisp.org>
18636         mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
18637         * lib/mbrtowc.c (enc_t): New enum type.
18638         (locale_enc, locale_enc_cached): New functions.
18639         (mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
18640         * lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
18641         (wcwidth): Eliminate static variables. Use is_locale_utf8_cached
18642         instead.
18643         * m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
18644         * m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
18645         * modules/wcwidth (configure.ac): Invoke it.
18647 2018-06-24  Bruno Haible  <bruno@clisp.org>
18649         wchar-single: Fix test failure in wcwidth tests.
18650         * tests/test-wcwidth.c (main): If the wchar-single module is present,
18651         skip the tests in the C locale.
18653 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18655         crypto: mention --without-linux-crypto in --with-openssl --help
18656         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
18657         routines take precedence in --with-openssl help output.
18659 2018-06-23  Pádraig Brady  <P@draigBrady.com>
18661         wchar-single: a new module to enable optimizations in wchar replacements
18662         * lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
18663         GNULIB_WCHAR_SINGLE is enabled.
18664         * lib/wcwidth.c (wcwidth): Likewise.
18666 2018-06-23  Bruno Haible  <bruno@clisp.org>
18668         libc-config: Fix conflict with FreeBSD include files.
18669         * lib/cdefs.h (__nonnull): Remove definition.
18670         * lib/libc-config.h (__nonnull): Remove undefinition.
18672 2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>
18674         random_r: do not crash if state is unaligned
18675         Problem reported by Bruce Korb in:
18676         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
18677         I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
18678         with 'cc -O2 -xmemalign=8s'.
18679         * lib/random_r.c: Include string.h, for memcpy.
18680         (get_int32, set_int32): New functions.
18681         (__srandom_r, __initstate_r, __setstate_r, __random_r):
18682         Use them to avoid assumption that state pointer is aligned.
18683         (__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
18684         * tests/test-random_r.c (test_failed): New function.
18685         (main): Use it, to test for alignment bugs.
18687         random_r: omit unnecessary include
18688         * lib/random_r.c: Do not include limits.h.
18690         random, random_r: merge from glibc
18691         * lib/random.c, lib/random_r.c:
18692         Include libc-config.h if !_LIBC, not config.h unilaterally.
18693         * lib/random.c:
18694         Do not include stdint.h or time.h; not needed.
18695         Include libc-lock.h if _LIBC, and define substitute macros otherwise.
18696         (unsafe_state): Rename from generator.  All uses changed.
18697         Use C99-style initializers.
18698         (__random, __srandom, __initstate, __setstate): Rename from
18699         non-underscored version, but define it to non-underscored version
18700         on Gnulib.  Add a lock.
18701         * lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
18702         Likewise.
18703         Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
18704         (weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
18705         (__srandom_r): Use int32_t instead of long int where int32_t will do.
18706         (__random_r): Use uint32 to fix glibc bug 17343.
18707         * modules/random, modules/random_r (Depends-on): Add libc-config.
18708         Depend on stdint only if $HAVE_RANDOM = 0.
18710 2018-06-19  Jim Meyering  <meyering@fb.com>
18712         README-release: also run any check-very-expensive tests
18713         * top/README-release: Adjust instructions so they run the
18714         check-very-expensive tests when there is such a target.
18716 2018-06-18  Bruno Haible  <bruno@clisp.org>
18718         pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
18719         * m4/pthread_rwlock_rdlock.m4: Add comment.
18720         * doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
18721         are reader-preferring in glibc.
18722         * doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
18723         * doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
18725 2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>
18727         crypto: use byteswap
18728         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
18729         * lib/sm3.c: Include <byteswap.h>.
18730         (SWAP): Use its macros rather than reinventing the wheel.
18731         * modules/crypto/md4, modules/crypto/md5-buffer:
18732         * modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
18733         * modules/crypto/sha512-buffer, modules/crypto/sm3:
18734         (Depends-on): Add byteswap.
18736 2018-06-17  Pádraig Brady  <P@draigBrady.com>
18738         gendocs.sh: fix support for legacy --texi2html
18739         * build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
18740         to the default makeinfo invocation.
18741         Reported by Bruce Korb
18743 2018-06-17  Bruno Haible  <bruno@clisp.org>
18745         gettext po infrastructure: Update from current gettext git.
18746         Reported by Akim Demaille <akim@lrde.epita.fr>.
18747         * build-aux/po/Makefile.in.in: Update from current gettext git.
18748         * build-aux/po/remove-potcdate.sin: Likewise.
18749         * config/srclist.txt: Temporarily disable sync for these files.
18751 2018-06-17  Bruno Haible  <bruno@clisp.org>
18753         getloadavg: Return 0 on Windows without Cygwin.
18754         * lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.
18756 2018-06-17  Paul Smith  <psmith@gnu.org>
18758         getloadavg: Allow building on Windows without Cygwin
18759         * lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
18760         * m4/getloadavg.m4: Check for unistd.h.
18762 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
18764         Port crypto/af_alg to GCC 4.8.4
18765         Problem reported by Peter Simons in:
18766         https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
18767         * modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.
18769 2018-05-27  Colin Watson  <cjwatson@debian.org>
18771         bootstrap: document source fetching in --help
18772         * build-aux/bootstrap (usage): Document how Gnulib sources are fetched.
18774 2018-04-09  Colin Watson  <cjwatson@debian.org>
18776         bootstrap: allow non-submodule control of gnulib
18777         * build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
18778         bootstrap.conf when fetching gnulib using "git clone" or via
18779         GNULIB_SRCDIR.
18781 2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18783         crypto: omit stream ops Emacs doesn’t need
18784         * lib/md5.c (md5_stream):
18785         * lib/sha1.c (sha1_stream):
18786         * lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
18787         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
18788         Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
18789         defined.  Emacs needs this, as it does not use the stream
18790         operations and doesn’t need all the af_alg stuff we’ve recently
18791         added.  Perhaps a similar change is needed to the other crypto
18792         modules, but this patch changes only those needed for Emacs.
18793         * modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
18794         * modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
18795         New modules, used by Emacs.
18796         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
18797         * modules/crypto/sha512: Rewrite to depend on the new modules.
18799 2018-05-20  Pádraig Brady  <P@draigBrady.com>
18801         fts: avoid a memory leak edge case
18802         * lib/fts.c (fts_open): Set an appropriate fts_level
18803         so that an immediate fts_close() will free the allocation.
18804         * tests/test-fts.c (fts_dealloc): Add a test case which
18805         will trigger under valgrind or address sanitizer.
18806         Fixes https://bugs.gnu.org/31439
18808 2018-05-20  Bruno Haible  <bruno@clisp.org>
18810         wcwidth tests: Fix link error.
18811         * modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
18812         $(LIBUNISTRING).
18814 2018-05-20  Bruno Haible  <bruno@clisp.org>
18816         regex: Fix "error: possibly undefined macro: gl_GLIBC21".
18817         * modules/regex (Files): Add m4/glibc21.m4.
18819 2018-05-20  Bruno Haible  <bruno@clisp.org>
18821         localcharset: Optimize.
18822         * lib/localcharset.c (alias_table): Comment out no-op mappings for
18823         platforms where these don't matter. This reduces the table size,
18824         which in turn reduces the lookup time.
18826 2018-05-19  Bruno Haible  <bruno@clisp.org>
18828         localcharset: Map the locale encodings found in newer OSes.
18829         * lib/localcharset.c (alias_table): Add mapping for locale encodings
18830         found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
18831         IRIX 6.5, Minix 3.3.
18832         * lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.
18834 2018-05-19  Bruno Haible  <bruno@clisp.org>
18836         localcharset: Move mapping tables into the code. Use a binary search.
18837         * lib/localcharset.h: Document the GNU canonical names for character
18838         encodings here.
18839         * lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
18840         relocatable.h, configmake.h.
18841         (O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
18842         macros.
18843         (charset_aliases): Remove variable.
18844         (get_charset_aliases): Remove function.
18845         (struct table_entry): New type.
18846         (alias_table, locale_table): New constants.
18847         (locale_charset): Use the alias_table or locale_table to get the
18848         canonicalized encoding name.
18849         * lib/config.charset: Remove file.
18850         * lib/ref-add.sin: Remove file.
18851         * lib/ref-del.sin: Remove file.
18852         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
18853         AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
18854         * modules/localcharset (Notice): Remove.
18855         (Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
18856         glibc21.m4.
18857         (Depends-on): Remove configmake.
18858         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
18859         (Makefile.am): Simplify.
18860         * build-aux/prefix-gnulib-mk: Remove special code for the removed files.
18862 2018-05-19  Bruno Haible  <bruno@clisp.org>
18864         localcharset: Add a manual test.
18865         * tests/test-localcharset.c: New file.
18866         * modules/localcharset-tests: New file.
18868 2018-05-19  Bruno Haible  <bruno@clisp.org>
18870         localcharset: Remove support for obsolete platforms.
18871         * lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
18872         Mac OS X 10.2. Comment out dubious entry for Solaris.
18874 2018-05-19  Jim Meyering  <meyering@fb.com>
18876         gnupload: adjust comment
18877         * build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
18878         more likely we'll remove the just-added code in a year or two.
18880 2018-05-19  Bruno Haible  <bruno@clisp.org>
18882         gnupload: Fix "gpg-agent is not available in this session" error.
18883         * build-aux/gnupload (GPG): Pick the right GNUPG executable to use.
18885 2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>
18887         crypto/af_alg: fix --help
18888         * m4/af_alg.m4: Avoid spurious newline in --help output.
18890 2018-05-13  Bruno Haible  <bruno@clisp.org>
18892         nl_langinfo: Fix compilation error on Android.
18893         * lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
18894         INT_CURR_SYMBOL, etc. only if these items are defined.
18896 2018-05-13  Bruno Haible  <bruno@clisp.org>
18898         truncate: Fix compilation error on Android.
18899         * m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
18900         declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
18901         * lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
18902         HAVE_TRUNCATE.
18903         * modules/truncate: Likewise.
18904         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
18905         not HAVE_TRUNCATE.
18906         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
18907         HAVE_TRUNCATE.
18908         * doc/posix-functions/truncate.texi: Mention the issue.
18910 2018-05-13  Bruno Haible  <bruno@clisp.org>
18912         pthread: Fix compilation error on Android.
18913         * lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
18914         recursive inclusion of this file.
18916 2018-05-13  Bruno Haible  <bruno@clisp.org>
18918         posix_spawn: Fix compilation error on Android.
18919         * lib/spawn.in.h (posix_spawnattr_t): Consider also the case
18920         HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
18921         (posix_spawn_file_actions_t): Consider also the case
18922         HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.
18924 2018-05-13  Bruno Haible  <bruno@clisp.org>
18926         tsearch: Move from K&R C to ANSI C.
18927         * lib/tsearch.c (tfind): Convert definition to ANSI C.
18929 2018-05-13  Bruno Haible  <bruno@clisp.org>
18931         tsearch: Fix compilation error on Android.
18932         * lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
18933         is 0.
18934         (GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
18935         * lib/tsearch.c (tsearch, tfind, tdelete): Define only if
18936         GNULIB_defined_tsearch is true.
18937         (twalk): Define only if GNULIB_defined_twalk is true.
18938         * modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
18939         is 0.
18940         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
18941         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
18942         * modules/search (Makefile.am): Substitute HAVE_TWALK.
18944 2018-05-13  Bruno Haible  <bruno@clisp.org>
18946         imaxdiv: Fix compilation error on Android.
18947         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
18948         is not defined.
18949         * lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
18950         HAVE_DECL_IMAXDIV, is 0.
18951         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
18952         * modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.
18954 2018-05-13  Bruno Haible  <bruno@clisp.org>
18956         Support selective inclusion mechanism of recent mingw.org header files.
18957         Reported by Eli Zaretskii <eliz@gnu.org>.
18958         * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
18959         __need_ssize_t, or __need_time_t is defined, just include the system's
18960         <sys/types.h>.
18961         * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
18962         include the system's <locale.h>.
18964 2018-05-13  Bruno Haible  <bruno@clisp.org>
18966         Avoid compilation error due to 'mmap' on Android.
18967         * lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
18968         * lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
18969         * tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
18970         Undefine on Android.
18972 2018-05-13  Bruno Haible  <bruno@clisp.org>
18974         Add cross-compilation guesses for Linux systems without glibc.
18975         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
18976         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
18977         * m4/link.m4 (gl_FUNC_LINK): Likewise.
18978         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18979         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
18980         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
18981         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
18982         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
18983         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
18984         * m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
18985         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
18986         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
18987         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
18988         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18989         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18990         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
18991         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18992         * m4/utimens.m4 (gl_UTIMENS): Likewise.
18994 2018-05-13  Bruno Haible  <bruno@clisp.org>
18996         getpagesize: Fix compilation error on Android.
18997         * m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
18998         (gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
18999         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
19000         AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
19001         HAVE_GETPAGESIZE accordingly.
19002         * modules/getcwd (Files): Add m4/getpagesize.m4.
19004 2018-05-13  Bruno Haible  <bruno@clisp.org>
19006         tcgetsid: Fix compilation error on Android.
19007         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
19008         AC_CHECK_FUNC.
19010 2018-05-13  Bruno Haible  <bruno@clisp.org>
19012         getpass: Fix configure test for Android.
19013         * m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
19014         AC_CHECK_FUNC.
19016 2018-05-13  Bruno Haible  <bruno@clisp.org>
19018         ffs: Fix compilation error on Android.
19019         * m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.
19021 2018-05-13  Bruno Haible  <bruno@clisp.org>
19023         mkfifo: Fix compilation error on Android.
19024         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
19025         AC_CHECK_FUNC.
19027 2018-05-13  Bruno Haible  <bruno@clisp.org>
19029         c-strtod: Fix configure test for Android.
19030         * m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
19031         AC_CHECK_FUNC.
19033 2018-05-13  Bruno Haible  <bruno@clisp.org>
19035         random: Fix compilation error on Android.
19036         * m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
19037         AC_CHECK_FUNC.
19039 2018-05-13  Bruno Haible  <bruno@clisp.org>
19041         grantpt: Fix compilation error on Android.
19042         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
19043         AC_CHECK_FUNC.
19045 2018-05-13  Bruno Haible  <bruno@clisp.org>
19047         stdioext: Fix compilation errors with newer Android headers.
19048         * lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
19049         (__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
19050         fallbacks for Android.
19051         * lib/fpending.c: Update comments.
19052         * lib/fpurge.c: Likewise.
19053         * lib/freadable.h: Likewise.
19054         * lib/freadable.c: Likewise.
19055         * lib/freadahead.c: Likewise.
19056         * lib/freading.h: Likewise.
19057         * lib/freadptr.c: Likewise.
19058         * lib/fseterr.c: Likewise.
19059         * lib/fwritable.h: Likewise.
19060         * lib/fwritable.c: Likewise.
19061         * lib/fwriting.h: Likewise.
19062         * lib/fwriting.c: Likewise.
19064 2018-05-13  Bruno Haible  <bruno@clisp.org>
19066         doc: Add info about Android versions 2.0 to 8.1.
19067         * doc/**/*.texi: Add info about functions in all released versions of
19068         Bionic.
19070 2018-05-12  Bruno Haible  <bruno@clisp.org>
19072         fseeko: On mingw, don't use the hidden function _fseeki64.
19073         Reported by Eli Zaretskii <eliz@gnu.org>.
19074         * m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
19075         * lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.
19077 2018-05-12  Bruno Haible  <bruno@clisp.org>
19079         glob: Choose 'dirent_type' in a way that works better on mingw.
19080         Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
19081         * lib/glob.c (dirent_type): Define as uint_fast32_t.
19083 2018-05-12  Bruno Haible  <bruno@clisp.org>
19085         execute, spawn-pipe: Avoid warning about redefining 'close'.
19086         Reported by Eli Zaretskii <eliz@gnu.org>.
19087         * lib/execute.c: Undefine 'close' before redefining it.
19088         * lib/spawn-pipe.c: Likewise.
19090 2018-05-12  Bruno Haible  <bruno@clisp.org>
19092         nanosleep: Avoid test failure on mingw when it has nanosleep.
19093         Reported by Eli Zaretskii <eliz@gnu.org>.
19094         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
19095         If it does not exist, use a simpler test program that does not call
19096         alarm().
19098 2018-05-10  Bruno Haible  <bruno@clisp.org>
19100         lock, cond, thread, tls: Use a different symbol as libpthread witness.
19101         Reported by Devin Hussey <husseydevin@gmail.com>.
19102         Based on a patch by Paul Eggert.
19103         * lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
19104         as witness of libpthread.
19105         * lib/glthread/cond.h (pthread_in_use): Likewise.
19106         * lib/glthread/thread.h (pthread_in_use): Likewise.
19107         * lib/glthread/tls.h (pthread_in_use): Likewise.
19109 2018-05-10  Bruno Haible  <bruno@clisp.org>
19111         cond tests: Fix compilation error on Solaris.
19112         * tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
19113         macro.
19115 2018-05-10  Bruno Haible  <bruno@clisp.org>
19117         doc: Add partial info about Android 4.3.
19118         * doc/*-functions/*.texi: Add info about functions that were added
19119         to Bionic between Android 4.3 and Android 9.0.
19121 2018-05-10  Bruno Haible  <bruno@clisp.org>
19123         doc: Add info about Android 9.0.
19124         * doc/**/*.texi: Add info about functions and headers in Bionic from
19125         Android 9.0.
19127 2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>
19129         af_alg: fix my typo in afalg_buffer
19130         * lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
19131         (afalg_stream): Simplify and avoid the need for a runtime test
19132         at the end.
19134         af_alg: recover better from crypto failures
19135         * lib/af_alg.c (afalg_stream): Recover from crypto failures if the
19136         input stream is seekable, by repositioning the stream back to
19137         where it was, possibly by just calling sendfile with an offset
19138         arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
19139         cases, which lets our callers try again with user-mode code.
19140         * modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
19141         instead of on fflush and lseek.
19143         af_alg: distiguish I/O errors better
19144         * lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
19145         not -EIO, if it’s OK for the caller to try again with user-mode code.
19146         (afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
19147         some other error number) if fflush fails, as the caller should not
19148         try again that case.
19150         af_alg: avoid gotos
19151         * lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
19152         gotos, as they were a source of unreliability and made the code a
19153         bit harder to follow.
19155         af_alg: don’t leak file descriptors into children
19156         * lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
19157         This code should be compiled only on recent GNU/Linux platforms
19158         so we shouldn’t have to also depend on the accept4 module.
19160         af_alg: coalesce socket creation
19161         * lib/af_alg.c (alg_socket): New function.
19162         (afalg_buffer, afalg_stream): Use it.  This avoids some
19163         code duplication and gotos.
19165         af_alg: fix file descriptor leak
19166         * lib/af_alg.c (afalg_stream): Close leak.
19168         af_alg: Pacify --enable-gcc-warnings on GCC 8
19169         * lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
19170         and checking to pacify gcc -Wjump-misses-init on GCC 8.
19172 2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19174         af_alg: Pacify --enable-gcc-warnings
19175         Problem reported by Assaf Gordon in:
19176         https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
19177         * lib/af_alg.c (afalg_buffer): Move local decls to pacify
19178         gcc -Wjump-misses-init.
19179         * lib/sha512.c (shaxxx_stream): Now static.
19181 2018-05-06  Bruno Haible  <bruno@clisp.org>
19183         af_alg: Add ability to use Linux kernel crypto API on data in memory.
19184         * lib/af_alg.h (afalg_buffer): New declaration.
19185         * lib/af_alg.c (afalg_buffer): New function.
19187 2018-05-06  Bruno Haible  <bruno@clisp.org>
19189         af_alg: Avoid warnings.
19190         * lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
19191         * m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.
19193 2018-05-06  Bruno Haible  <bruno@clisp.org>
19195         crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
19196         * tests/bench-digest.h: New file.
19197         * tests/bench-md5.c: New file.
19198         * tests/bench-sha1.c: New file.
19199         * tests/bench-sha224.c: New file.
19200         * tests/bench-sha256.c: New file.
19201         * tests/bench-sha384.c: New file.
19202         * tests/bench-sha512.c: New file.
19203         * modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
19204         tests/bench-digest.h.
19205         (Depends-on): Add getrusage, gettimeofday.
19206         (Makefile.am): Add variables to build bench-md5.
19207         * modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
19208         tests/bench-digest.h.
19209         (Depends-on): Add getrusage, gettimeofday.
19210         (Makefile.am): Add variables to build bench-sha1.
19211         * modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
19212         tests/bench-sha256.c, tests/bench-digest.h.
19213         (Depends-on): Add getrusage, gettimeofday.
19214         (Makefile.am): Add variables to build bench-sha224, bench-sha256.
19215         * modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
19216         tests/bench-sha512.c, tests/bench-digest.h.
19217         (Depends-on): Add getrusage, gettimeofday.
19218         (Makefile.am): Add variables to build bench-sha384, bench-sha512.
19220 2018-05-06  Bruno Haible  <bruno@clisp.org>
19222         af_alg: Fix a resource leak.
19223         * lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
19224         New local variable 'result'.
19226 2018-05-06  Bruno Haible  <bruno@clisp.org>
19228         af_alg: Fix bug with streams that are not at position 0.
19229         * lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
19230         assume that the stream is positioned at position 0.
19231         * lib/af_alg.h (afalg_stream): Mention restriction regarding the state
19232         of the stream.
19233         * lib/md5.h (md5_stream): Likewise.
19234         * lib/sha1.h (sha1_stream): Likewise.
19235         * lib/sha256.h (sha256_stream, sha224_stream): Likewise.
19236         * lib/sha512.h (sha512_stream, sha384_stream): Likewise.
19237         * modules/crypto/af_alg (Depends-on): Add fflush, lseek.
19239         crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
19240         * tests/test-digest.h (test_digest_on_files): Add a test with a FILE
19241         stream that is not positioned at the beginning.
19243 2018-05-06  Bruno Haible  <bruno@clisp.org>
19245         af_alg: Add configure option to enable/disable use of Linux crypto API.
19246         Suggested by Assaf Gordon <assafgordon@gmail.com>.
19247         * m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
19248         USE_LINUX_CRYPTO_API.
19249         * lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
19250         * lib/af_alg.c: Likewise.
19252 2018-05-06  Bruno Haible  <bruno@clisp.org>
19254         Followup to 'af_alg: New module.'.
19255         * modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
19256         * modules/crypto/sha1 (Depends-on): Likewise.
19257         * modules/crypto/sha256 (Depends-on): Likewise.
19258         * modules/crypto/sha512 (Depends-on): Likewise.
19260 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19262         crypto/{md5,sha1,sha256,sha512}: simplify
19263         * lib/md5.c (md5_stream):
19264         * lib/sha1.c (sha1_stream):
19265         * lib/sha256.c (shaxxx_stream):
19266         Simplify, partly by assuming C99.
19267         * lib/sha256.c (shaxxx_stream):
19268         New function, which implements both sha256 and sha224.
19269         Simplify, partly by assuming C99.
19270         (sha256_stream, sha224_stream):
19271         Use it to avoid code duplication, removing a FIXME.
19272         * lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
19273         Likewise.
19275         af_alg: Improve comments.
19276         * lib/af_alg.h: Use imperatives and tighten up wording.
19278 2018-05-05  Bruno Haible  <bruno@clisp.org>
19280         af_alg: Improve comments.
19281         * lib/af_alg.c (afalg_stream): Improve comment about kernel bug.
19283 2018-05-05  Bruno Haible  <bruno@clisp.org>
19285         af_alg: New module.
19286         * lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
19287         * lib/af_alg.c: Include "af_alg.h" before the other header files.
19288         * lib/md5.c: Include "af_alg.h" unconditionally.
19289         (md5_stream): Invoke afalg_stream unconditionally.
19290         * lib/sha1.c: Include "af_alg.h" unconditionally.
19291         (sha1_stream): Invoke afalg_stream unconditionally.
19292         * lib/sha256.c: Include "af_alg.h" unconditionally.
19293         (sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
19294         * lib/sha512.c: Include "af_alg.h" unconditionally.
19295         (sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
19296         * m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
19297         (gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
19298         * modules/crypto/af_alg: New file.
19299         * modules/crypto/md5 (Files): Remove files that are now in the
19300         'crypto/af_alg' module.
19301         (Depends-on): Add crypto/af_alg.
19302         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19303         (Makefile.am): Don't mention af_alg.c here.
19304         * modules/crypto/sha1 (Files): Remove files that are now in the
19305         'crypto/af_alg' module.
19306         (Depends-on): Add crypto/af_alg.
19307         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19308         (Makefile.am): Don't mention af_alg.c here.
19309         * modules/crypto/sha256 (Files): Remove files that are now in the
19310         'crypto/af_alg' module.
19311         (Depends-on): Add crypto/af_alg.
19312         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19313         (Makefile.am): Don't mention af_alg.c here.
19314         * modules/crypto/sha512 (Files): Remove files that are now in the
19315         'crypto/af_alg' module.
19316         (Depends-on): Add crypto/af_alg.
19317         (configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
19318         (Makefile.am): Don't mention af_alg.c here.
19320 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19322         crypto tests: pacify GCC
19323         * tests/test-digest.h (test_digest_on_files):
19324         Don’t assume digest size fits in int (!).
19326         af_alg: minor style improvements
19327         * lib/af_alg.c (afalg_stream): Prefer C99 style
19328         decl-after-statement, since we’re already assuming C99.  Clarify
19329         by strengthening the bind test and omit unnecessary assignment.
19331 2018-05-05  Bruno Haible  <bruno@clisp.org>
19333         af_alg: Fix bug on empty files.
19334         * lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
19335         stream is empty.
19337 2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19339         sys-limits.h: new file for crypto and safe I/O
19340         * lib/af_alg.c: Include sys-limits.h.
19341         (MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
19342         (afalg_stream): Also reject negative sizes for sendfile; they
19343         should not happen and the code is a bit cleaner and faster this way.
19344         * lib/safe-read.c: Include sys-limits.h.
19345         (BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
19346         * lib/sys-limits.h: New file, with values and commentary derived
19347         from the old safe-read.c and from GNU Emacs sysdep.c.
19348         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
19349         * modules/crypto/sha512, modules/safe-read, modules/safe-write:
19350         Add lib/sys-limits.h to Files section.
19352 2018-05-05  Bruno Haible  <bruno@clisp.org>
19354         af_alg: Improve function signature.
19355         * lib/af_alg.h (afalg_stream): Swap second and third argument.
19356         * lib/af_alg.c (afalg_stream): Likewise.
19357         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.
19359 2018-05-05  Bruno Haible  <bruno@clisp.org>
19361         crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
19362         * modules/crypto/md5 (Depends-on): Add 'sys_stat'.
19363         * modules/crypto/sha1 (Depends-on): Likewise.
19364         * modules/crypto/sha256 (Depends-on): Likewise.
19365         * modules/crypto/sha512 (Depends-on): Likewise.
19367 2018-05-05  Bruno Haible  <bruno@clisp.org>
19369         crypto/{md5,sha1,sha256,sha512}: Fix module description.
19370         * modules/crypto/md5 (Depends-on): Add 'sys_socket'.
19371         * modules/crypto/sha1 (Depends-on): Likewise.
19372         * modules/crypto/sha256 (Depends-on): Likewise.
19373         * modules/crypto/sha512 (Depends-on): Likewise.
19375 2018-05-05  Bruno Haible  <bruno@clisp.org>
19377         af_alg: Add documentation.
19378         * lib/af_alg.h: Add comments.
19380 2018-05-05  Bruno Haible  <bruno@clisp.org>
19382         sha512: Add tests.
19383         * tests/test-sha512.c: New file.
19384         * modules/crypto/sha512-tests: New file.
19386 2018-05-05  Bruno Haible  <bruno@clisp.org>
19388         sha256: Add tests.
19389         * tests/test-sha256.c: New file.
19390         * modules/crypto/sha256-tests: New file.
19392 2018-05-05  Bruno Haible  <bruno@clisp.org>
19394         sha1 tests: Add test for sha1_stream.
19395         * tests/test-sha1.c: Include test-digest.h.
19396         (main): Invoke test_digest_on_files on 'sha1_stream'.
19397         * modules/crypto/sha1-tests (Files): Add tests/test-digest.h.
19399 2018-05-05  Bruno Haible  <bruno@clisp.org>
19401         md5 tests: Add test for md5_stream.
19402         * tests/test-digest.h: New file.
19403         * tests/test-md5.c: Include test-digest.h.
19404         (main): Invoke test_digest_on_files on 'md5_stream'.
19405         * modules/crypto/md5-tests (Files): Add tests/test-digest.h.
19407 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19409         md5sum: Use AF_ALG when available.
19410         * lib/md5.c: Include af_alg.h.
19411         (md5_stream): Use afalg_stream when available.
19412         * modules/crypto/md5 (Files): Add the af_alg files.
19413         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19414         (Makefile.am): Add af_alg.c.
19416 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19418         sha512sum: Use AF_ALG when available.
19419         * lib/sha512.c: Include af_alg.h.
19420         (sha512_stream, sha384_stream): Use afalg_stream when available.
19421         * modules/crypto/sha512 (Files): Add the af_alg files.
19422         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19423         (Makefile.am): Add af_alg.c.
19425 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19427         sha256sum: Use AF_ALG when available.
19428         * lib/sha256.c: Include af_alg.h.
19429         (sha256_stream, sha224_stream): Use afalg_stream when available.
19430         * modules/crypto/sha256 (Files): Add the af_alg files.
19431         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19432         (Makefile.am): Add af_alg.c.
19434 2018-04-28  Matteo Croce  <mcroce@redhat.com>
19436         sha1sum: Use AF_ALG when available.
19437         * lib/af_alg.h: New file.
19438         * lib/af_alg.c: New file.
19439         * lib/sha1.c: Include af_alg.h.
19440         (sha1_stream): Use afalg_stream when available.
19441         * m4/linux-if-alg.m4: New file.
19442         * modules/crypto/sha1 (Files): Add the new files.
19443         (configure.ac): Invoke gl_LINUX_IF_ALG_H.
19444         (Makefile.am): Add af_alg.c.
19446 2018-05-05  Bruno Haible  <bruno@clisp.org>
19448         all: Replace more http URLs by https URLs.
19449         * lib/localename.c: Use https: URL.
19450         * lib/timespec.h: Likewise.
19452 2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>
19454         maint: port more modules to GCC 8
19455         * lib/dirname.h (base_name):
19456         * lib/exclude.h (new_exclude):
19457         * lib/xstrndup.h (xstrndup):
19458         Add malloc attribute.
19459         * lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
19460         * lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
19461         This pacifies GCC 8.
19462         * m4/gnulib-common.m4 (gl_COMMON_BODY):
19463         Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.
19465 2018-05-03  Bruno Haible  <bruno@clisp.org>
19467         Simplify code. Drop support for Borland C++ on Windows.
19468         Reported by Gisle Vanem <gisle.vanem@gmail.com>.
19469         * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
19470         'defined _WIN32'.
19471         * lib/canonicalize-lgpl.c: Likewise.
19472         * lib/classpath.c: Likewise.
19473         * lib/clean-temp.c: Likewise.
19474         * lib/csharpexec.c: Likewise.
19475         * lib/ctime.c: Likewise.
19476         * lib/dosname.h: Likewise.
19477         * lib/dup2.c: Likewise.
19478         * lib/errno.in.h: Likewise.
19479         * lib/error.c: Likewise.
19480         * lib/euidaccess.c: Likewise.
19481         * lib/execute.c: Likewise.
19482         * lib/fcntl.in.h: Likewise.
19483         * lib/fcntl.c: Likewise.
19484         * lib/filename.h: Likewise.
19485         * lib/findprog.c: Likewise.
19486         * lib/flock.c: Likewise.
19487         * lib/fopen.c: Likewise.
19488         * lib/freopen.c: Likewise.
19489         * lib/fstat.c: Likewise.
19490         * lib/fsync.c: Likewise.
19491         * lib/gc-gnulib.c: Likewise.
19492         * lib/get-rusage-data.c: Likewise.
19493         * lib/getaddrinfo.c: Likewise.
19494         * lib/getdelim.c: Likewise.
19495         * lib/getdtablesize.c: Likewise.
19496         * lib/gethostname.c: Likewise.
19497         * lib/getlogin.c: Likewise.
19498         * lib/getlogin_r.c: Likewise.
19499         * lib/getopt.c: Likewise.
19500         * lib/getpagesize.c: Likewise.
19501         * lib/getpass.c: Likewise.
19502         * lib/getrusage.c: Likewise.
19503         * lib/gettimeofday.c: Likewise.
19504         * lib/glob.c: Likewise.
19505         * lib/inttypes.in.h: Likewise.
19506         * lib/isapipe.c: Likewise.
19507         * lib/javaexec.c: Likewise.
19508         * lib/link.c: Likewise.
19509         * lib/localcharset.c: Likewise.
19510         * lib/localename.h: Likewise.
19511         * lib/localename.c: Likewise.
19512         * lib/localtime.c: Likewise.
19513         * lib/lseek.c: Likewise.
19514         * lib/mbsinit.c: Likewise.
19515         * lib/mkdir.c: Likewise.
19516         * lib/msvc-nothrow.h: Likewise.
19517         * lib/nanosleep.c: Likewise.
19518         * lib/nl_langinfo.c: Likewise.
19519         * lib/nonblocking.c: Likewise.
19520         * lib/nproc.c: Likewise.
19521         * lib/open.c: Likewise.
19522         * lib/openpty.c: Likewise.
19523         * lib/pathmax.h: Likewise.
19524         * lib/pipe-filter-aux.c: Likewise.
19525         * lib/pipe-filter-gi.c: Likewise.
19526         * lib/pipe-filter-ii.c: Likewise.
19527         * lib/pipe.c: Likewise.
19528         * lib/pipe2.c: Likewise.
19529         * lib/poll.c: Likewise.
19530         * lib/popen.c: Likewise.
19531         * lib/posix_openpt.c: Likewise.
19532         * lib/printf-parse.c: Likewise.
19533         * lib/progreloc.c: Likewise.
19534         * lib/putenv.c: Likewise.
19535         * lib/read.c: Likewise.
19536         * lib/relocatable.c: Likewise.
19537         * lib/rename.c: Likewise.
19538         * lib/same-inode.h: Likewise.
19539         * lib/secure_getenv.c: Likewise.
19540         * lib/select.c: Likewise.
19541         * lib/sethostname.c: Likewise.
19542         * lib/setlocale.c: Likewise.
19543         * lib/sigaction.c: Likewise.
19544         * lib/sigprocmask.c: Likewise.
19545         * lib/sleep.c: Likewise.
19546         * lib/spawn-pipe.h: Likewise.
19547         * lib/spawn-pipe.c: Likewise.
19548         * lib/spawni.c: Likewise.
19549         * lib/stat-time.h: Likewise.
19550         * lib/stat-w32.c: Likewise.
19551         * lib/stat.c: Likewise.
19552         * lib/stdio.in.h: Likewise.
19553         * lib/stdio-impl.h: Likewise.
19554         * lib/stdio-read.c: Likewise.
19555         * lib/stdio-write.c: Likewise.
19556         * lib/stdlib.in.h: Likewise.
19557         * lib/strerror_r.c: Likewise.
19558         * lib/strftime-fixes.c: Likewise.
19559         * lib/sys_stat.in.h: Likewise.
19560         * lib/sys_types.in.h: Likewise.
19561         * lib/sys_wait.in.h : Likewise.
19562         * lib/system-quote.h: Likewise.
19563         * lib/system-quote.c: Likewise.
19564         * lib/tmpdir.c: Likewise.
19565         * lib/tzset.c: Likewise.
19566         * lib/uname.c: Likewise.
19567         * lib/unistd.in.h: Likewise.
19568         * lib/utime.in.h: Likewise.
19569         * lib/utime.c: Likewise.
19570         * lib/utimecmp.c: Likewise.
19571         * lib/utimens.c: Likewise.
19572         * lib/vasnprintf.c: Likewise.
19573         * lib/vma-iter.h: Likewise.
19574         * lib/vma-iter.c: Likewise.
19575         * lib/wait-process.c: Likewise.
19576         * lib/wcsftime.c: Likewise.
19577         * lib/wctype.in.h: Likewise.
19578         * lib/write.c: Likewise.
19579         * tests/nap.h: Likewise.
19580         * tests/test-cloexec.c: Likewise.
19581         * tests/test-dup-safer.c: Likewise.
19582         * tests/test-dup2.c: Likewise.
19583         * tests/test-dup3.c: Likewise.
19584         * tests/test-fcntl.c: Likewise.
19585         * tests/test-get-rusage-data.c: Likewise.
19586         * tests/test-getaddrinfo.c: Likewise.
19587         * tests/test-getlogin.h: Likewise.
19588         * tests/test-isatty.c: Likewise.
19589         * tests/test-localename.c: Likewise.
19590         * tests/test-mbrtowc-w32.c: Likewise.
19591         * tests/test-nonblocking.c: Likewise.
19592         * tests/test-nonblocking-pipe-main.c: Likewise.
19593         * tests/test-nonblocking-socket-main.c: Likewise.
19594         * tests/test-nonblocking-socket.h: Likewise.
19595         * tests/test-pipe.c: Likewise.
19596         * tests/test-pipe2.c: Likewise.
19597         * tests/test-poll.c: Likewise.
19598         * tests/test-pthread_sigmask1.c: Likewise.
19599         * tests/test-select.h: Likewise.
19600         * tests/test-sethostname2.c: Likewise.
19601         * tests/test-sigprocmask.c: Likewise.
19602         * tests/test-spawn-pipe-child.c: Likewise.
19603         * tests/test-stat-time.c: Likewise.
19604         * tests/test-system-quote-main.c: Likewise.
19605         * tests/test-utimens-common.h: Likewise.
19606         * tests/test-wcrtomb-w32.c: Likewise.
19607         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
19608         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
19609         * m4/javacomp.m4 (gt_JAVACOMP): Likewise.
19610         * m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
19611         * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
19612         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
19613         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
19614         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
19615         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
19616         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
19617         * m4/nocrash.m4 (GL_NOCRASH): Likewise.
19618         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
19619         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
19620         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
19621         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
19622         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19624 2018-05-02  Bruno Haible  <bruno@clisp.org>
19626         localename: Fix test failures on mingw.
19627         * lib/localename.c (gl_locale_name_thread): Remove code specific to
19628         native Windows.
19629         (gl_locale_name_posix): Move code specific to native Windows here.
19630         * tests/test-localename.c (test_locale_name, test_locale_name_posix):
19631         Accept result without charset suffix, as it appears on mingw.
19633 2018-04-28  Paul Smith  <psmith@gnu.org>
19635         bootstrap: Avoid gnulib operations if not needed
19636         * build-aux/bootstrap: Remove unused variable gnulib_mk.
19637         Set $gnulib_extra_files early so it can be overridden in .conf.
19638         Remove redundant --import flag from $gnulib_tool_options.
19639         Set $use_gnulib to false if no gnulib modules or files are needed.
19640         If $use_gnulib is false, don't do anything related to gnulib.
19641         A lot of this is just whitespace (indentation) changes.
19643 2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>
19645         manywarnings: port to GCC 8.0
19646         * build-aux/gcc-warning.spec: Add -Wcatch-value,
19647         -Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
19648         fact that the GCC help message now mentions operands for
19649         -Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
19650         -Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
19651         -Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
19652         and -Wunused-const-variable.
19653         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
19654         -Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
19655         -Wmissing-attributes, -Wmultistatement-macros,
19656         -Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
19657         -Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.
19659 2018-04-24  Bruno Haible  <bruno@clisp.org>
19661         sys_socket: Make SO_REUSEPORT available across platforms.
19662         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19663         * lib/sys_socket.in.h (SO_REUSEPORT): New macro.
19664         * doc/posix-headers/sys_socket.texi: Mention the issue.
19665         * tests/test-poll.c (SO_REUSEPORT): Remove.
19666         * tests/test-select.h: Include <sys/socket.h>.
19667         (SO_REUSEPORT): Remove.
19668         * modules/select-tests (Depends-on): Add 'sys_socket'.
19670 2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)
19672         localcharset: short-circuit the search for an alias on a Mac
19673         * lib/localcharset.c (get_charset_aliases): Add a tautological
19674         UTF-8 entry to speed up the search for this case.
19675         Most machines default to a UTF-8 locale nowadays, so begin the
19676         list of aliases with a dummy UTF-8 entry so it will be found
19677         immediately and a time-consuming search through the rest of
19678         the list is avoided.
19680 2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>
19682         fts: add comment
19683         * lib/fts.c (fts_build): Explain why ==, not >.
19684         See remark by Bernhard Voelker in:
19685         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html
19687         fts: fix bug in find across filesystems
19688         This fixes a bug I introduced last summer.
19689         Problem reported by Kamil Dudka in:
19690         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
19691         * lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
19692         (leaf_optimization):
19693         New arg for file descriptor.  All callers changed.
19694         (fts_build): Check for whether inodes should be sorted
19695         before closing the directory.
19697 2018-04-07  Bruno Haible  <bruno@clisp.org>
19699         unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
19700         Reported by Genki Sky <sky@genki.is>.
19701         * modules/unicase/u8-prefix-context (configure.ac): Require libunistring
19702         version 0.9.10 or newer.
19703         * modules/unicase/u8-suffix-context (configure.ac): Likewise.
19704         * modules/unicase/u16-prefix-context (configure.ac): Likewise.
19705         * modules/unicase/u16-suffix-context (configure.ac): Likewise.
19706         * modules/unicase/u32-prefix-context (configure.ac): Likewise.
19707         * modules/unicase/u32-suffix-context (configure.ac): Likewise.
19709 2018-04-07  Bruno Haible  <bruno@clisp.org>
19711         execute: Update comment.
19712         * lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.
19714 2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>
19716         fts: treat CIFS like NFS
19717         Problem reported by Kamil Dudka in:
19718         https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
19719         * lib/fts.c (S_MAGIC_CIFS): New macro.
19720         (dirent_inode_sort_may_be_useful, leaf_optimization):
19721         Treat CIFS like NFS.
19723 2018-03-28  Bruno Haible  <bruno@clisp.org>
19725         c-stack: Fix possible build failure on some platforms.
19726         * lib/c-stack.c (die): Define whenever this function is referenced.
19728 2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>
19730         time_rz: fix workaround for Mac OS X 10.6 infloop
19731         Problems reported by Charles A. Roelli (Bug#27736#117).
19732         * m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
19733         Also, discard output, which clutters the 'configure' log.
19735 2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>
19737         havelib: port to Solaris 10 /bin/sh
19738         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
19739         instead of '! test EXPR'.
19741 2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>
19743         time_rz: work around Mac OS X 10.6 infloop
19744         * doc/posix-functions/localtime.texi:
19745         * doc/posix-functions/localtime_r.texi: Mention the bug.
19746         * lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
19747         better to fix localtime and localtime_r instead, but that would be
19748         more work and is not needed to fix the Emacs problem.
19749         * m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.
19751 2018-03-24  Jim Meyering  <meyering@fb.com>
19753         test-version-etc.sh: don't use diff directly: use init.sh's compare
19754         We'd rather not sacrifice readable "diff -u" output even for
19755         "diff -c" output (not supported by busybox) or for even less
19756         readable ed-style "diff" output.  So use init.sh's compare function
19757         * tests/test-version-etc.sh: Source init.sh and add "." to path.
19758         Remove "./" from invocation of test-version-etc, so we use path.
19759         And s/diff/compare/.
19760         * modules/version-etc-tests (Depends-on): Add test-framework-sh,
19761         to get init.sh.
19762         Prompted by Eric Blake's comments in
19763         https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html
19765 2018-03-24  Bruno Haible  <bruno@clisp.org>
19767         javacomp-script, javacomp: Add support for Java 10.
19768         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
19769         target-version 10.
19770         * lib/javaversion.h: Update comments.
19771         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19772         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19773         TARGET_VERSION_BOUND, target_version_index,
19774         corresponding_classfile_version): Accept source_version 10 and
19775         target_version 10.
19776         * lib/javacomp.h: Update comments accordingly.
19778 2018-03-24  Bruno Haible  <bruno@clisp.org>
19780         javacomp-script, javacomp: Update comments.
19781         * m4/javacomp.m4: Update comments regarding gcj.
19782         * lib/javacomp.h: Likewise.
19784 2018-03-24  Bruno Haible  <bruno@clisp.org>
19786         javacomp-script, javacomp: Fix support for Java 7, 8, 9.
19787         * lib/javaversion.h: Update comments.
19788         * lib/javacomp.h: Likewise.
19789         * lib/javacomp.c (default_target_version, source_version_index,
19790         get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
19791         "1.9".
19792         (TARGET_VERSION_BOUND): Bump to 9.
19793         (target_version_index, corresponding_classfile_version): Recognize "9"
19794         instead of "1.9".
19795         (get_source_version_for_javac): New function.
19796         (is_envjavac_nongcj_usable, is_javac_usable): Add
19797         source_version_for_javac argument.
19798         (compile_java_class): Determine and pass source_version_for_javac.
19799         * m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
19800         $JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
19801         appropriate.
19803 2018-03-23  Jim Meyering  <meyering@fb.com>
19805         test-version-etc.sh: port to diff without -c
19806         * tests/test-version-etc.sh: Don't use diff's -c option.
19807         This caused spurious test failure on Alpine Linux, which
19808         uses busybox's diff. Reported by Assaf Gordon in
19809         https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html
19811 2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>
19813         c-stack: port to recent GCC build
19814         Problem reported by The Fireplace (Bug#30913).
19815         * lib/c-stack.c (die): Define only if used.
19817 2018-03-20  Bruno Haible  <bruno@clisp.org>
19819         euidaccess: Port to native Windows.
19820         * lib/euidaccess.c (euidaccess): On native Windows, just use _access().
19821         * posix-modules (exclude_for_mingw): Remove 'euidaccess'.
19823 2018-03-19  Bruno Haible  <bruno@clisp.org>
19825         javacomp: Add support for Java 7, 8, 9.
19826         * lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
19827         source_version_index, get_goodcode_snippet, get_failcode_snippet,
19828         corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
19829         and target_version 1,7, 1.8, 1.9.
19830         * lib/javacomp.h: Update comments accordingly.
19832 2018-03-19  Bruno Haible  <bruno@clisp.org>
19834         javacomp-script: Add support for Java 9.
19835         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
19836         target-version 1.9.
19838 2018-03-16  Bruno Haible  <bruno@clisp.org>
19840         glob: Don't compile replacements on recent glibc systems.
19841         * lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
19842         REPLACE_GLOB is 0, include the system's <glob.h> and use
19843         _GL_CXXALIAS_SYS.
19844         * m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
19845         _GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
19846         inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
19847         * modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
19848         Remove snippet/warn-on-use.
19849         (configure.ac): Test REPLACE_GLOB instead of GLOB_H.
19850         (Makefile.am): Create glob.h always. Update list of substitutions in
19851         glob.h. Don't depend on $(WARN_ON_USE_H).
19853 2018-03-16  Bruno Haible  <bruno@clisp.org>
19855         glob: Fix link error on native Windows.
19856         * modules/glob (Depends-on): Add 'lstat'.
19858 2018-03-15  Bruno Haible  <bruno@clisp.org>
19860         glob: Fix compilation error in C++ mode.
19861         * lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.
19863 2018-03-15  Bruno Haible  <bruno@clisp.org>
19865         host-cpu-c-abi: Support for RISC-V CPU.
19866         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
19867         riscv32 and riscv64 ABIs.
19868         References:
19869         https://github.com/riscv/riscv-toolchain-conventions
19870         https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
19871         https://gnu-mcu-eclipse.github.io/toolchain/riscv/
19873 2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>
19875         fflush: be more paranoid about libio.h change
19876         Suggested by Eli Zaretskii in:
19877         https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
19878         * lib/fbufmode.c (fbufmode):
19879         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19880         (disable_seek_optimization, rpl_fflush):
19881         * lib/fpending.c (__fpending):
19882         * lib/fpurge.c (fpurge):
19883         * lib/freadable.c (freadable):
19884         * lib/freadahead.c (freadahead):
19885         * lib/freading.c (freading):
19886         * lib/freadptr.c (freadptr):
19887         * lib/freadseek.c (freadptrinc):
19888         * lib/fseeko.c (fseeko):
19889         * lib/fseterr.c (fseterr):
19890         * lib/fwritable.c (fwritable):
19891         * lib/fwriting.c (fwriting):
19892         Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.
19894 2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>
19896         maint: write-file-hooks -> before-save-hook
19897         write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
19898         it's time to use the recommended replacement.
19899         Problem reported by Glenn Morris in:
19900         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
19901         * build-aux/announce-gen, build-aux/bootstrap:
19902         * build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
19903         * build-aux/git-version-gen, build-aux/gitlog-to-changelog:
19904         * build-aux/gnu-web-doc-update, build-aux/gnupload:
19905         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
19906         * build-aux/update-copyright, build-aux/useless-if-before-free:
19907         * build-aux/vc-list-files:
19908         Update hook usage for files where Gnulib is the canonical source.
19910 2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>
19912         binary-io: pacify gcc -Wunused-parameter
19913         Problem reported by Reuben Thomas in:
19914         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
19915         * lib/binary-io.h (__gl_setmode, __gl_setmode_check):
19916         Use _GL_UNUSED where appropriate.
19918         fflush: adjust to glibc 2.28 libio.h removal
19919         Problem reported by Daniel P. Berrangé in:
19920         https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
19921         * lib/fbufmode.c (fbufmode):
19922         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
19923         (disable_seek_optimization, rpl_fflush):
19924         * lib/fpending.c (__fpending):
19925         * lib/fpurge.c (fpurge):
19926         * lib/freadable.c (freadable):
19927         * lib/freadahead.c (freadahead):
19928         * lib/freading.c (freading):
19929         * lib/freadptr.c (freadptr):
19930         * lib/freadseek.c (freadptrinc):
19931         * lib/fseeko.c (fseeko):
19932         * lib/fseterr.c (fseterr):
19933         * lib/fwritable.c (fwritable):
19934         * lib/fwriting.c (fwriting):
19935         Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
19936         * lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
19937         Define if not already defined.
19939 2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>
19941         environ: fix link error on 32-bit Cygwin
19942         Problem reported for GNU Emacs by Ken Brown in:
19943         https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
19944         * lib/unistd.in.h (environ) [__i386__]: Do not redeclare.
19946 2018-02-24  Bruno Haible  <bruno@clisp.org>
19948         mbrtowc tests: Fix regression on glibc.
19949         Reported by Bernhard Voelker.
19950         * tests/test-mbrtowc.c (main): Fix expected value of wc.
19952 2018-02-24  Bruno Haible  <bruno@clisp.org>
19954         striconveha, uniconv/*: Avoid test failures on musl libc.
19955         * tests/iconvsupport.c: New file.
19956         * tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
19957         does not support the ISO-2022-JP-2 encoding.
19958         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
19959         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
19960         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
19961         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
19962         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
19963         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
19964         * modules/striconveha-tests (Files): Add tests/iconvsupport.c.
19965         (Makefile.am): Link test-striconveha with iconvsupport.o.
19966         * modules/uniconv/u8-conv-from-enc-tests (Files): Add
19967         tests/iconvsupport.c.
19968         (Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
19969         * modules/uniconv/u8-strconv-from-enc-tests (Files): Add
19970         tests/iconvsupport.c.
19971         (Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
19972         * modules/uniconv/u16-conv-from-enc-tests (Files): Add
19973         tests/iconvsupport.c.
19974         (Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
19975         * modules/uniconv/u16-strconv-from-enc-tests (Files): Add
19976         tests/iconvsupport.c.
19977         (Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
19978         * modules/uniconv/u32-conv-from-enc-tests (Files): Add
19979         tests/iconvsupport.c.
19980         (Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
19981         * modules/uniconv/u32-strconv-from-enc-tests (Files): Add
19982         tests/iconvsupport.c.
19983         (Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.
19985 2018-02-24  Bruno Haible  <bruno@clisp.org>
19987         localename: Add support for musl libc.
19988         * m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
19989         * lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
19990         on Linux platforms which define NL_LOCALE_NAME.
19992 2018-02-24  Bruno Haible  <bruno@clisp.org>
19994         mbrtowc tests: Don't make assumptions about the charset the C locale.
19995         * tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
19996         particular mapping in the C locale.
19998 2018-02-24  Bruno Haible  <bruno@clisp.org>
20000         ptsname_r: Don't expect that this function sets errno.
20001         * tests/test-ptsname_r.c (test_errors): Don't test errno after return
20002         from ptsname_r().
20003         * doc/glibc-functions/ptsname_r.texi: Mention the issue.
20005 2018-02-23  Bruno Haible  <bruno@clisp.org>
20007         xmalloca: pacify gcc -Wbad-function-cast
20008         * lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.
20010 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
20012         nl_langinfo: pacify gcc -Wunused-function
20013         * lib/nl_langinfo.c (ctype_codeset): Do not define if
20014         REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
20015         this case.  Without this change, I got a diagnostic when building
20016         coreutils on Fedora 27 with gcc 7.3.1 20180130.
20018         same: pacify gcc -Wunused-variable
20019         * lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
20020         Omit unused variable.
20022         malloca: pacify gcc -Wbad-function-cast
20023         * lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
20024         diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
20025         To pacify GCC, I had to cast alloca’s result to some type other
20026         than void * before casting that to uintptr_t.
20028 2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>
20030         utimecmp: new function utimecmpat
20031         * lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
20032         Do not include utimens.h.
20033         (utimecmpat): New function, generalizing utimecmp.
20034         (utimecmp): Now a thin layer around utimecmpat.
20035         * modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
20036         utimensat instead of on lstat and utimens.
20038         same: new function same_nameat
20039         * lib/same.c: Include fcntl.h.
20040         * lib/same.c (same_nameat): New function, generalizing same_name.
20041         (same_name): Now a thin layer around same_nameat.
20042         * m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
20043         * modules/same (Depends-on): Depend on fstatat, openat.
20045 2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)
20047         warnings: Add support for Objective C.
20048         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
20049         macro.
20051 2018-02-17  Bruno Haible  <bruno@clisp.org>
20053         lock: Fix test-once1 crash on FreeBSD11.
20054         * lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
20055         'pthread_create', not 'pthread_cancel'.
20057 2018-02-17  Bruno Haible  <bruno@clisp.org>
20059         lock: Add test of gl_once.
20060         * tests/test-once.c: New file.
20061         * modules/lock-tests (Files): Add it.
20062         (Makefile.am): Build and test programs 'test-once1' and 'test-once2'.
20064 2018-02-17  Bruno Haible  <bruno@clisp.org>
20066         thread: Fix compilation error on IRIX.
20067         * lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
20068         needed; include it outside the C++ extern "C" {} block.
20069         * doc/posix-headers/pthread.texi: Mention the problem with
20070         pthread_atfork on IRIX.
20072 2018-02-04  Bruno Haible  <bruno@clisp.org>
20074         nl_langinfo: Override the system's nl_langinfo() when needed.
20075         Reported by Jim Meyering.
20076         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
20077         also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.
20079 2018-02-04  Bruno Haible  <bruno@clisp.org>
20081         signal-h, monetary, strings: Fix build failure in some cases.
20082         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20083         * modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
20084         as delimiter in sed command, not '|'.
20085         * modules/monetary (Makefile.am): Likewise.
20086         * modules/strings (Makefile.am): Likewise.
20088 2018-02-03  Jim Meyering  <meyering@fb.com>
20090         maint.mk: exempt "/proc/filesystems" from "file system" syntax check
20091         * top/maint.mk (sc_file_system): Don't complain about
20092         "/proc/filesystems".
20094 2018-02-03  Bruno Haible  <bruno@clisp.org>
20096         stdlib: Fix compilation error on OpenIndiana.
20097         * lib/stdlib.in.h: Before including <sys/loadavg.h>, include
20098         <sys/time.h>.
20099         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
20100         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
20102 2018-02-03  Bruno Haible  <bruno@clisp.org>
20104         host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
20105         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
20106         and use $EGREP instead of 'grep -E'.
20107         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
20108         'grep -E'.
20110 2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>
20112         malloca: Add a compile-time verification.
20113         * lib/malloca.c (small_t): Verify that it is wide enough.
20114         * modules/malloca (Depends-on): Add verify.
20116 2018-02-02  Bruno Haible  <bruno@clisp.org>
20118         malloca: Add an argument check.
20119         Suggested by Paul Eggert.
20120         * lib/malloca.c (freea): Check against an invalid argument.
20122 2018-02-02  Bruno Haible  <bruno@clisp.org>
20124         localename: Add support for OpenIndiana.
20125         * lib/localename.c (gl_locale_name_thread_unsafe): Add code for
20126         Solaris 11 variants with uselocale() but without getlocalename_l().
20128 2018-02-02  Bruno Haible  <bruno@clisp.org>
20130         malloca, xmalloca: Make multithread-safe.
20131         Reported by Florian Weimer <fweimer@redhat.com>.
20132         Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
20133         * lib/malloca.h (malloca): In the stack allocation case, return a
20134         pointer that is a multiple of 2 * sa_alignment_max.
20135         (sa_increment): Remove enum item.
20136         * lib/xmalloca.h (xmalloca): In the stack allocation case, return
20137         a pointer that is a multiple of 2 * sa_alignment_max.
20138         * lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
20139         (MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
20140         HASH_TABLE_SIZE, mmalloca_results): Remove.
20141         (small_t): New type.
20142         (mmalloca, free): Rewritten.
20143         * lib/malloca.valgrind: Remove file.
20144         * modules/malloca (Files): Remove it.
20145         (Depends-on): Remove verify.
20147 2018-01-31  Bruno Haible  <bruno@clisp.org>
20149         environ: Fix link error on 64-bit Cygwin.
20150         * lib/unistd.in.h (environ): On Cygwin, redeclare with the
20151         __declspec(dllimport) attribute.
20152         * doc/posix-functions/environ.texi: Mention the Cygwin problem.
20154 2018-01-30  Bruno Haible  <bruno@clisp.org>
20156         get-rusage-data: Add support for Minix 3.
20157         * lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.
20159 2018-01-30  Bruno Haible  <bruno@clisp.org>
20161         vma-iter: Add support for Minix 3.
20162         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
20163         * lib/vma-iter.c: On Minix, read /proc/<pid>/map.
20165 2018-01-27  Bruno Haible  <bruno@clisp.org>
20167         Fix malfunction of socket functions on HP-UX in 64-bit mode.
20168         * m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
20169         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
20170         _HPUX_ALT_XOPEN_SOCKET_API.
20171         * modules/accept (Depends-on): Add 'extensions'.
20172         * modules/getpeername (Depends-on): Likewise.
20173         * modules/getsockname (Depends-on): Likewise.
20174         * modules/getsockopt (Depends-on): Likewise.
20175         * modules/recvfrom (Depends-on): Likewise.
20176         * doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
20177         * doc/posix-functions/getpeername.texi: Likewise.
20178         * doc/posix-functions/getsockname.texi: Likewise.
20179         * doc/posix-functions/getsockopt.texi: Likewise.
20180         * doc/posix-functions/recvfrom.texi: Likewise.
20182 2018-01-27  Bruno Haible  <bruno@clisp.org>
20184         getsockname tests: More tests.
20185         * tests/test-getsockname.c (open_server_socket): New function, mostly
20186         copied from test-poll.c.
20187         (main): Check that getsockname fills in addr.
20188         * modules/getsockname-tests (Depends-on): Add the necessary
20189         dependencies.
20190         (test_getsockname_LDADD): Link with $(INET_PTON_LIB).
20192 2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>
20194         manywarnings: fix maintainer comment
20195         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
20196         it does not mistakenly think that ‘-1)’ is an option.
20198 2018-01-26  Bruno Haible  <bruno@clisp.org>
20200         langinfo: Fix last commit.
20201         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20202         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.
20204 2018-01-24  Bruno Haible  <bruno@clisp.org>
20206         langinfo, nl_langinfo: Add support for alternative month names.
20207         * m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
20208         * lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
20209         * lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
20210         * tests/test-nl_langinfo.c (main): Test ALTMON_*.
20211         * doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
20212         * doc/posix-functions/nl_langinfo.texi: Likewise.
20214 2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>
20216         Merge strftime.c changes from glibc
20217         This incorporates:
20218         2017-11-14 [BZ #10871] Implement alternative month names
20219         2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
20220         2017-06-20 Use locale_t, not __locale_t, throughout glibc
20221         * lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
20222         (LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
20223         Use locale_t, not __locale_t.
20224         (a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
20225         (__strftime_internal): Add support for alternate months.
20227 2018-01-23  Bruno Haible  <bruno@clisp.org>
20229         doc: Mention another prerequisite for using Gnulib.
20230         Reported at <https://stackoverflow.com/questions/48378214/>.
20231         * doc/gnulib-tool.texi (Initial import): Mention requirement to use
20232         AC_CONFIG_HEADERS.
20234 2018-01-22  Mathieu Lirzin  <mthl@gnu.org>
20236         build: GuixSD doesn't have /bin/bash
20237         * Makefile (SHELL): Search 'bash' in the PATH environment variable.
20239 2018-01-21  Bruno Haible  <bruno@clisp.org>
20241         Avoid test failures on Microsoft Windows Subsystem for Linux.
20242         * tests/test-fcntl.c (main): Allow a different errno.
20243         * tests/test-rename.h (test_rename): Likewise.
20244         * tests/test-renameat.c (main): Likewise.
20245         * tests/test-renameat2.c (main): Likewise.
20247 2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>
20249         filenamecat: make base a suffix of result
20250         * lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
20251         (mfile_name_concat): Always make BASE a suffix of the result, as
20252         cp expects this.  To implement this, separate with '.' instead of
20253         '/' in some rare cases.  Clarify spec to say ./BASE not BASE.
20254         * tests/test-filenamecat.c (main): Adjust tests to match
20255         current behavior.  Check that BASE_IN_RESULT points to
20256         a copy of BASE and is a suffix of the resultk, and that DIR
20257         is a prefix of the result that is no longer than the prefix
20258         indicated by BASE_IN_RESULT.
20260 2018-01-04  Mathieu Lirzin  <mthl@gnu.org>
20262         update-copyright: Handle use of ©
20263         * build-aux/update-copyright ($circle_c_re): Update regex to
20264         handle use of © in headers.
20266 2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>
20268         Fix -Wundef warning in user-included header lib/cdefs.h.
20269         * lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.
20271 2018-01-04  Bruno Haible  <bruno@clisp.org>
20273         pthread_sigmask: Avoid compilation error on mingw.
20274         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20275         * lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
20276         macro.
20278 2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>
20280         test-framework-sh: ‘ps -ef’, not ‘ps ef’
20281         * tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
20282         Suggested by Bob Proulx (Bug#29968).
20283         * build-aux/mktempd (rand_bytes): Make it like tests/init.sh.
20285 2018-01-02  Eric Blake  <eblake@redhat.com>
20287         stat-time: silence -Wunused-parameter regression
20288         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
20289         Prefer attribute over cast-to-void.
20290         (stat_time_normalize): Mark st as potentially unused.
20292 2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>
20294         test-framework-sh: avoid netstat
20295         Problem reported by Kristýna Streitová (Bug#29947).
20296         * tests/init.sh (rand_bytes_): Stop using netstat, as it's
20297         deprecated on SuSE and it's not that important anyway.
20299 2018-01-01  Jim Meyering  <meyering@fb.com>
20301         update-copyright: add code to handle more special cases
20302         After running "make update-copyright" this year, five files
20303         required additional manual changes.  Automate those adjustments
20304         for next year.
20305         * Makefile (_year_and_prev): Define.
20306         (update-copyright): Add perl commands to induce this year's post-
20307         update-copyright adjustments.
20309 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
20311         version-etc: new year
20312         * build-aux/gendocs.sh (version):
20313         * doc/gendocs_template:
20314         * doc/gendocs_template_min:
20315         * doc/gnulib.texi:
20316         * lib/version-etc.c (COPYRIGHT_YEAR):
20317         Update copyright dates by hand in templates and the like.
20319         maint: fix 'make update-copyright'
20320         * Makefile (update-copyright): Adjust to 2016-11-23 change
20321         to config/srclist-update, which changed the format of srclist.txt.
20323 2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>
20325         chdir-safer: remove this module
20326         * MODULES.html.sh (func_all_modules): Remove chdir-safer.
20327         * NEWS: Document removal.
20328         * lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
20329         * modules/chdir-safer: Remove these files.
20331 2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>
20333         Add cross-compilation results for GNU/Hurd.
20334         * m4/calloc.m4: Add GNU/Hurd guess.
20335         * m4/cbrtl.m4: Likewise.
20336         * m4/ceil.m4: Likewise.
20337         * m4/ceilf.m4: Likewise.
20338         * m4/ceill.m4: Likewise.
20339         * m4/chown.m4: Likewise.
20340         * m4/duplocale.m4: Likewise.
20341         * m4/exp2l.m4: Likewise.
20342         * m4/expm1.m4: Likewise.
20343         * m4/fchdir.m4: Likewise.
20344         * m4/floor.m4: Likewise.
20345         * m4/floorf.m4: Likewise.
20346         * m4/fmod.m4: Likewise.
20347         * m4/fmodf.m4: Likewise.
20348         * m4/fmodl.m4: Likewise.
20349         * m4/getcwd.m4: Likewise.
20350         * m4/getgroups.m4: Likewise.
20351         * m4/gettimeofday.m4: Likewise.
20352         * m4/hypot.m4: Likewise.
20353         * m4/hypotf.m4: Likewise.
20354         * m4/hypotl.m4: Likewise.
20355         * m4/link-follow.m4: Likewise.
20356         * m4/link.m4: Likewise.
20357         * m4/linkat.m4: Likewise.
20358         * m4/log.m4: Likewise.
20359         * m4/log10.m4: Likewise.
20360         * m4/log10f.m4: Likewise.
20361         * m4/log1p.m4: Likewise.
20362         * m4/log1pf.m4: Likewise.
20363         * m4/log1pl.m4: Likewise.
20364         * m4/log2.m4: Likewise.
20365         * m4/log2f.m4: Likewise.
20366         * m4/logf.m4: Likewise.
20367         * m4/lstat.m4: Likewise.
20368         * m4/malloc.m4: Likewise.
20369         * m4/mbrlen.m4: Likewise.
20370         * m4/mbrtowc.m4: Likewise.
20371         * m4/mkdir.m4: Likewise.
20372         * m4/mkfifo.m4: Likewise.
20373         * m4/mknod.m4: Likewise.
20374         * m4/mkstemp.m4: Likewise.
20375         * m4/modf.m4: Likewise.
20376         * m4/modff.m4: Likewise.
20377         * m4/modfl.m4: Likewise.
20378         * m4/printf.m4: Likewise.
20379         * m4/pselect.m4: Likewise.
20380         * m4/ptsname.m4: Likewise.
20381         * m4/putenv.m4: Likewise.
20382         * m4/readlink.m4: Likewise.
20383         * m4/realloc.m4: Likewise.
20384         * m4/remainder.m4: Likewise.
20385         * m4/remainderf.m4: Likewise.
20386         * m4/remainderl.m4: Likewise.
20387         * m4/rmdir.m4: Likewise.
20388         * m4/round.m4: Likewise.
20389         * m4/roundf.m4: Likewise.
20390         * m4/roundl.m4: Likewise.
20391         * m4/select.m4: Likewise.
20392         * m4/setenv.m4: Likewise.
20393         * m4/signbit.m4: Likewise.
20394         * m4/sleep.m4: Likewise.
20395         * m4/stat.m4: Likewise.
20396         * m4/strerror.m4: Likewise.
20397         * m4/strtok_r.m4: Likewise.
20398         * m4/symlink.m4: Likewise.
20399         * m4/symlinkat.m4: Likewise.
20400         * m4/trunc.m4: Likewise.
20401         * m4/truncf.m4: Likewise.
20402         * m4/truncl.m4: Likewise.
20403         * m4/tzset.m4: Likewise.
20404         * m4/ungetc.m4: Likewise.
20405         * m4/usleep.m4: Likewise.
20406         * m4/wcwidth.m4: Likewise.
20408 2017-12-28  Bruno Haible  <bruno@clisp.org>
20410         gnulib-tool: Make --conditional-dependencies work better.
20411         Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
20412         * gnulib-tool (Options): Don't reject the combination of
20413         --conditional-dependencies with --with-tests.
20414         (func_emit_autoconf_snippets): Add argument referenceable_modules.
20415         Don't reference $modules.
20416         (func_import, func_create_testdir): Pass it.
20418 2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>
20420         regex: use re_malloc etc. consistently
20421         Problem and original patch reported by Arnold Robbins in:
20422         https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
20423         * lib/regcomp.c (re_comp):
20424         * lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
20425         Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.
20427 2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
20428             Paul Eggert  <eggert@cs.ucla.edu>
20430         glob: Silence warning about void pointer arithmetic.
20431         * lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
20432         arithmetic.
20434 2017-12-15  Bruno Haible  <bruno@clisp.org>
20436         spawn-pipe: Silence a clang warning.
20437         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
20438         * lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
20439         in this file.
20441 2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>
20443         explicit_bzero: port to macOS + Clang 9.0.0
20444         Problem reported by Marcus Johnson (Bug#29658).
20445         * lib/explicit_bzero.c (explicit_bzero) [__clang__]:
20446         Don’t use asm.
20448 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20450         doc: Improve explanation of supporting relocatable libraries.
20451         * doc/relocatable-maint.texi (Supporting Relocation): Explain
20452         properly how to build the relocatable module for
20453         libraries. (Method and example code from Bruno Haible.)
20455 2017-12-11  Reuben Thomas  <rrt@sc3d.org>
20457         doc: Use better texinfo tags in a few cases.
20458         * doc/gnulib.texi (Extending Gnulib): Use @option or @command
20459         instead of @samp in a few places.
20461 2017-12-11  Bruno Haible  <bruno@clisp.org>
20463         unistr/base: Update comment.
20464         * lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.
20466 2017-12-10  Pádraig Brady  <P@draigBrady.com>
20468         test-faccessat.c: unlink temp file to avoid subsequent test failure
20469         * tests/test-faccessat.c: Remove the file to avoid failure
20470         to open the file on subsequent runs due to being created
20471         with no permissions.
20473 2017-12-10  Bruno Haible  <bruno@clisp.org>
20475         doc: New sect. "Modifying the build rules of a Gnulib import directory".
20476         * doc/gnulib-tool.texi (Modified build rules): New node.
20478 2017-12-10  Bruno Haible  <bruno@clisp.org>
20480         doc: Tweak wording.
20481         * doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
20482         "binaries".
20484 2017-12-05  Sam Steingold  <sds@gnu.org>
20485             Bruno Haible  <bruno@clisp.org>
20487         no-c++: Avoid "egrep: repetition-operator operand invalid" error.
20488         * m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
20489         AC_EGREP_CPP pattern.
20491 2017-12-03  Bruno Haible  <bruno@clisp.org>
20493         all: Replace more http URLs by https URLs.
20494         * lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
20495         * lib/unigbrk/u-grapheme-breaks.h: Likewise.
20496         * lib/unigbrk/uc-grapheme-breaks.c: Likewise.
20497         * tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.
20499 2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20501         Port better to CentOS 5
20502         Problems reported by Tom G. Christensen in:
20503         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
20504         * doc/glibc-functions/strverscmp.texi (strverscmp):
20505         Document strverscmp bug with glibc 2.9 and earlier.
20506         * doc/posix-functions/tzset.texi (tzset):
20507         Document that TZ with angle brackets is POSIX-2001 and later.
20508         * tests/test-nstrftime.c: Include unistd.h.
20509         (TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
20510         (TZ): Use it to skip tests with angle brackets in TZ,
20511         for older systems.
20513         stat: add missing module dependencies
20514         * modules/lstat, modules/stat, modules/utimensat (Depends-on):
20515         Add stat-time.
20517 2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>
20519         stat: fix compilation failure on macOS Sierra
20520         Reported by Marius Schamschula <mschamschula@gmail.com> in:
20521         https://savannah.gnu.org/bugs/?52546
20522         * lib/stat.c: Add missing include of stat-time.h.
20524 2017-11-28  Jim Meyering  <meyering@fb.com>
20526         test-faccessat.c: correct BASE definition to avoid parallel test failure
20527         * tests/test-faccessat.c (BASE): Define using this file's name, not
20528         that of test-lstat.c.  Using the latter caused this test to fail
20529         sometimes when run concurrently with test-lstat.
20531 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20533         unicase: fix VPATH build
20534         * modules/unicase/special-casing (Makefile.am): Ensure that the
20535         base directory is created when generating
20536         unicase/special-casing.h.
20538 2017-11-27  Daiki Ueno  <ueno@gnu.org>
20540         libunistring: update to Unicode 9.0.0
20541         * lib/gen-uni-tables.c (fill_properties): Recognize
20542         Sentence_Terminal and Prepended_Concatenation_Mark.
20543         (is_property_default_ignorable_code_point): Exclude U+08E2.
20544         (fill_arabicshaping): Allow missing whitespace when parsing;
20545         recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
20546         (output_blocks): Increase the element size of the level1 table to
20547         accommodate more blocks.
20548         (get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
20549         Update each class according to the standard.
20550         (get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
20551         E_Base_GAZ characters.
20552         (output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
20553         Glue_After_Zwj, and E_Base_GAZ characters.
20554         * lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
20555         (UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
20556         enum value.
20557         * lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
20558         value.
20559         * lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
20560         LBP_ZWJ, LBP_EB, and LBP_EM.
20561         * lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
20562         enum value.
20563         * lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
20564         * lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
20565         declaration.
20566         * lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
20567         (uniwbrk_table): Implement WB14.
20568         * tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
20569         Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
20570         * modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
20571         uc-is-grapheme-break.
20572         * modules/unigbrk/uc-grapheme-breaks: New module.
20573         * modules/unigbrk/uc-grapheme-breaks-tests: New module.
20574         * lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
20575         enum value.
20576         (uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
20577         * lib/unigbrk/u-grapheme-breaks.h: New file.
20578         * lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
20579         u-grapheme-breaks.h instead of uc_is_grapheme_break.
20580         * lib/unigbrk/uc-grapheme-breaks.c: New file.
20581         * lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
20582         29.
20583         * tests/unigbrk/test-uc-gbrk-prop.c
20584         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20585         GBP_GAZ, and GBP_EBG.
20586         * tests/unigbrk/test-uc-grapheme-breaks.c: New test.
20587         * tests/unigbrk/test-uc-is-grapheme-break.c
20588         (graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
20589         GBP_GAZ, and GBP_EBG.
20590         (main): Skip unsupported rules involving 3 or more characters,
20591         namely GB10, GB12, and GB13.
20592         * lib/uniwidth/width.c (nonspacing_table_data): Update.
20593         * all generated files under lib/uni* and tests/uni*: Regenerate.
20594         * all the affected modules: Bump version.
20596 2017-11-26  Bruno Haible  <bruno@clisp.org>
20598         strfmon_l: Fix compilation error with glibc 2.5.
20599         Reported by Tom G. Christensen <tgc@jupiterrise.com>
20600         in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
20601         * lib/monetary.in.h: Include also <locale.h>.
20603 2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>
20605         posixtm: remove PDS_LEADING_YEAR
20606         This changes the API slightly, in a hopefully-innocuous way.
20607         Without this change the code had undefined behavior when a
20608         caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
20609         Problem reported by Pádraig Brady in:
20610         https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
20611         * NEWS: Mention this.
20612         * lib/posixtm.c (posix_time_parse): Treat the absence of
20613         PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
20614         * lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
20615         present, but define it as zero, for compatibility with existing
20616         source code).  All other PDS_* values moved up.
20617         * tests/test-posixtm.c (LY): New macro.
20618         (T): Use it.  Do not expect a particular numeric encoding
20619         for PDS_CENTURY etc.
20621 2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>
20623         stat: work around Solaris bug with tv_nsec < 0
20624         * doc/posix-functions/fstat.texi (fstat):
20625         * doc/posix-functions/fstatat.texi (fstatat):
20626         * doc/posix-functions/lstat.texi (lstat):
20627         * doc/posix-functions/stat.texi (stat):
20628         Mention Solaris 11 bug.
20629         * lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
20630         * lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
20631         * lib/lstat.c (rpl_lstat):
20632         * lib/stat.c (rpl_stat):
20633         Normalize resulting timestamps.
20634         * lib/fstatat.c (normal_fstatat): New function.
20635         (rpl_fstatat): Use it.
20636         * lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
20637         (stat_time_normalize): New function.
20638         * m4/fstat.m4 (gl_FUNC_FSTAT):
20639         * m4/fstatat.m4 (gl_FUNC_FSTATAT):
20640         * m4/lstat.m4 (gl_FUNC_LSTAT):
20641         * m4/stat.m4 (gl_FUNC_STAT):
20642         Replace on Solaris.
20643         * modules/fstat (Depends-on):
20644         * modules/fstatat (Depends-on):
20645         Add stat-time.
20646         * modules/stat-time (Depends-on): Add errno, intprops.
20648 2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>
20650         regex: merge from glibc
20651         * lib/regcomp.c (init_word_char): Add comments.
20653 2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>
20655         regex: merge from glibc
20656         * lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
20657         * lib/regex_internal.h (internal_function): Remove.
20658         All uses removed.
20660 2017-11-20  Bruno Haible  <bruno@clisp.org>
20662         crypto/gc-sm3: Fix buffer overrun.
20663         * lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
20664         Reported by Coverity.
20666 2017-11-12  Jim Meyering  <meyering@fb.com>
20668         maint: shorten https://lists.gnu.org/archive/html/... links
20669         Each /archive/html/ part can be replace with /r/.
20670         Run this to induce the change:
20671         git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
20672         * ChangeLog: Perform that substitution.
20673         * Makefile: Likewise.
20674         * STATUS-libposix: Likewise.
20675         * build-aux/bootstrap: Likewise.
20676         * doc/maintain.texi: Likewise.
20677         * gnulib-tool: Likewise.
20678         * lib/allocator.h: Likewise.
20679         * lib/argp-ba.c: Likewise.
20680         * lib/argp-pv.c: Likewise.
20681         * lib/canon-host.c: Likewise.
20682         * lib/canonicalize-lgpl.c: Likewise.
20683         * lib/float.in.h: Likewise.
20684         * lib/fstat.c: Likewise.
20685         * lib/getdelim.c: Likewise.
20686         * lib/getprogname.c: Likewise.
20687         * lib/glthread/thread.h: Likewise.
20688         * lib/intprops.h: Likewise.
20689         * lib/mbsrtowcs-state.c: Likewise.
20690         * lib/safe-read.c: Likewise.
20691         * lib/signal.in.h: Likewise.
20692         * lib/stat.c: Likewise.
20693         * lib/stdbool.in.h: Likewise.
20694         * lib/stdio-impl.h: Likewise.
20695         * lib/stdio.in.h: Likewise.
20696         * lib/sysexits.in.h: Likewise.
20697         * lib/timespec.h: Likewise.
20698         * lib/wcsrtombs-state.c: Likewise.
20699         * m4/alloca.m4: Likewise.
20700         * m4/extern-inline.m4: Likewise.
20701         * m4/fstatat.m4: Likewise.
20702         * m4/gnulib-common.m4: Likewise.
20703         * m4/lib-ignore.m4: Likewise.
20704         * m4/printf.m4: Likewise.
20705         * m4/regex.m4: Likewise.
20706         * m4/stat-size.m4: Likewise.
20707         * m4/std-gnu11.m4: Likewise.
20708         * m4/stdbool.m4: Likewise.
20709         * m4/sys_types_h.m4: Likewise.
20710         * m4/threadlib.m4: Likewise.
20711         * m4/vararrays.m4: Likewise.
20712         * pygnulib/GLImport.py: Likewise.
20713         * tests/test-exp.h: Likewise.
20714         * tests/test-exp2.h: Likewise.
20715         * tests/test-expm1.h: Likewise.
20716         * tests/test-fflush2.c: Likewise.
20717         * tests/test-getopt_long.h: Likewise.
20718         * tests/test-intprops.c: Likewise.
20719         * tests/test-log.h: Likewise.
20720         * tests/test-log10.h: Likewise.
20721         * tests/test-log1p.h: Likewise.
20722         * tests/test-log2.h: Likewise.
20723         * tests/test-printf-posix.h: Likewise.
20724         * tests/test-regex.c: Likewise.
20725         * tests/test-snprintf-posix.h: Likewise.
20726         * tests/test-sprintf-posix.h: Likewise.
20727         * tests/test-stdalign.c: Likewise.
20728         * tests/test-stdbool.c: Likewise.
20729         * tests/test-vasnprintf-posix.c: Likewise.
20730         * tests/test-vasprintf-posix.c: Likewise.
20731         * top/maint.mk: Likewise.
20733 2017-11-12  Bruno Haible  <bruno@clisp.org>
20735         faccessat: Make the last change more robust.
20736         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
20737         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".
20739 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
20741         faccessat: port to macOS (Bug#29231)
20742         macOS faccessat has the same bug that lstat does: if the file
20743         name ends in '/' it ignores the trailing slash.
20744         Problem reported for Emacs by Vincent Zhang.
20745         * doc/posix-functions/faccessat.texi (faccessat): Document this.
20746         * lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
20747         around the initial includes.  Include errno.h, string.h, sys/stat.h.
20748         (orig_faccessat) [HAVE_FACCESSAT]: New function.
20749         Include "unistd.h" after defining it.
20750         (rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
20751         * lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
20752         Handle in the usual way.
20753         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
20754         lstat dereferences symlinks, since faccessat is likely to
20755         have the same problem.
20756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
20757         * modules/faccessat (Depends-on): Add fstatat.
20758         Depend if REPLACE_FACCESSAT is 1, too.
20759         (configure.ac): Link if REPLACE_FACCESSAT is 1.
20760         * modules/faccessat-tests (Depends-on): Add symlink.
20761         * modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
20762         * tests/test-faccessat.c (main): Test for the bug.
20764 2017-11-11  Bruno Haible  <bruno@clisp.org>
20766         getprogname: Fix compilation error on IRIX.
20767         * lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
20768         'namesize'.
20770 2017-11-11  Bruno Haible  <bruno@clisp.org>
20772         year2038: Tweak last patch.
20773         * m4/year2038.m4 (gl_YEAR2038): Correct indentation.
20775 2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>
20777         year2038: be more insistent about 64-bit time_t
20778         Applications requiring access to arbitrary files should not be
20779         built with 32-bit time_t on hosts that have 64-bit timestamps,
20780         as this can lead to real trouble at runtime.
20781         * m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
20782         Check on all systems, not just MinGW.  Use a heuristic involving
20783         TIME_T_32_BIT_OK, cross_compiling, and the touch command to
20784         output a failure or just a warning, to make it more likely that
20785         builders will select 64-bit time_t.
20787 2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>
20789         havelib: fix typo in previous change
20790         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.
20792         Don’t use AC_EGREP_CPP if affected by CFLAGS
20793         * m4/float_h.m4 (gl_FLOAT_H):
20794         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
20795         * m4/lib-ld.m4 (AC_LIB_PROG_LD):
20796         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
20797         * m4/year2038.m4 (gl_YEAR2038):
20798         Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
20799         likely to be affected by the choice of CFLAGS, since CFLAGS are
20800         not used by AC_EGREP_CPP.  Without this patch, ‘./configure
20801         CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.
20803         fstatat: pacify GCC on unusual platform
20804         * lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
20805         Omit, as it’s unused in this case.
20807 2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>
20809         timespec: prefer ‘assume’ to ‘assure’
20810         This avoids some runtime tests.  The rest of the module makes
20811         similar assumptions and there is little point to testing here.
20812         * lib/timespec.h: Include verify.h instead of assure.h.
20813         (timespec_cmp): Use ‘assume’, not ‘assure’.
20814         Also, remove an unnecessary cast to ‘int’, as lots of other
20815         code in this module now causes -Wconversion to complain, and
20816         this is a problem with -Wconversion not with the code.
20818         * modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.
20820         Port recent gnulib-tool change to Dash
20821         * gnulib-tool (func_create_testdir): Don't assume that the shell
20822         retokenizes after expanding "$@" inside the call to
20823         func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.
20825 2017-10-27  Jim Meyering  <meyering@fb.com>
20827         timespec.h: use "assure" to avoid a spurious warning
20828         * lib/timespec.h: Include "assure.h" and use it to help
20829         gcc7's -Wstrict-overflow avoid a false positive warning
20830         for a use in coreutils' ls.c.  Suggested by Paul Eggert in
20831         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
20832         * modules/timespec (Depends-on): Add assure.
20834 2017-10-29  Bruno Haible  <bruno@clisp.org>
20836         Avoid several test failures with traditional locales on Haiku.
20837         * m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
20838         * m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
20839         * m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
20840         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
20841         LOCALE_ZH_CN=none.
20843 2017-10-29  Bruno Haible  <bruno@clisp.org>
20845         strerror_r-posix: Fix behaviour and test failure on Haiku.
20846         * lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
20847         are positive. Work around return value 0 instead of ERANGE on Haiku.
20848         For unknown error numbers, use a format string consistent with perror().
20849         * doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
20850         * tests/test-strerror_r.c (main): Don't assume that valid error numbers
20851         are positive.
20853 2017-10-29  Bruno Haible  <bruno@clisp.org>
20855         get-rusage-data: Avoid crash on Haiku.
20856         * lib/get-rusage-data.c: Avoid the setlimit-based implementation.
20858 2017-10-29  Bruno Haible  <bruno@clisp.org>
20860         get-rusage-as: Avoid crash on Haiku.
20861         * lib/get-rusage-as.c: Avoid the setlimit-based implementation.
20863 2017-10-29  Bruno Haible  <bruno@clisp.org>
20865         ilogbl: Ensure replacement on Haiku.
20866         * m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
20867         REPLACE_ILOGBL if ilogbl does not work.
20868         (gl_FUNC_ILOGBL_WORKS): New macro.
20869         * lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
20870         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
20871         * modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
20872         * modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
20873         * doc/posix-functions/ilogbl.texi: Mention the Haiku problem.
20875 2017-10-29  Bruno Haible  <bruno@clisp.org>
20877         expl: Ensure replacement on Haiku.
20878         * m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
20879         zero.
20880         * doc/posix-functions/expl.texi: Mention the Haiku problem.
20882 2017-10-29  Bruno Haible  <bruno@clisp.org>
20884         math: Fix test failure on Haiku.
20885         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
20886         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
20887         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
20888         * doc/posix-headers/math.texi: Mention the Haiku problem.
20890 2017-10-29  Bruno Haible  <bruno@clisp.org>
20892         gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
20893         * gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
20894         bug reported at <https://savannah.gnu.org/support/index.php?109406>.
20896 2017-10-29  Bruno Haible  <bruno@clisp.org>
20898         crypto/*: Verify that the header file is self-contained.
20899         * tests/test-gc-*.c: Include the module's header file immediately after
20900         <config.h>.
20901         * tests/test-hmac-*.c: Likewise.
20902         * tests/test-arcfour.c: Likewise.
20903         * tests/test-arctwo.c: Likewise.
20904         * tests/test-des.c: Likewise.
20905         * tests/test-md2.c: Likewise.
20906         * tests/test-md4.c: Likewise.
20907         * tests/test-md5.c: Likewise.
20908         * tests/test-rijndael.c: Likewise.
20909         * tests/test-sha1.c: Likewise.
20910         * tests/test-sm3.c: Likewise.
20912 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20913             Bruno Haible  <bruno@clisp.org>
20915         crypto/gc: fix build failure with -Werror=suggest-attribute=const
20916         * lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.
20918 2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20920         New module: crypto/gc-sm3
20921         * lib/gc.h: Declare SM3-related stuffs.
20922         * lib/gc-gnulib.c: Support sm3 in internal functions.
20923         * lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
20924         * m4/gc-sm3.m4: m4 file for gc-sm3 module.
20925         * modules/crypto/gc-sm3: Define gc-sm3 module.
20926         * tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
20927         * modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
20928         * MODULES.html.sh: List gc-sm3 module.
20930 2017-10-29  Bruno Haible  <bruno@clisp.org>
20932         random, random_r: Mention different prototypes on Haiku.
20933         * doc/posix-functions/random.texi: Mention different prototype on Haiku.
20934         * doc/glibc-functions/random_r.texi: Likewise.
20935         * doc/glibc-functions/initstate_r.texi: Likewise.
20936         * doc/glibc-functions/setstate_r.texi: Likewise.
20938 2017-10-28  Bruno Haible  <bruno@clisp.org>
20940         posix_spawn: Avoid spurious message in configure output.
20941         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
20942         'cmp' command.
20944 2017-10-28  Bruno Haible  <bruno@clisp.org>
20946         inet_ntop, inet_pton: Determine needed library correctly on Haiku.
20947         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
20948         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
20950 2017-10-28  Bruno Haible  <bruno@clisp.org>
20952         ioctl: Override non-POSIX declaration on Haiku.
20953         * m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
20954         * lib/sys_ioctl.in.h: Add comment about Haiku.
20955         * doc/posix-functions/ioctl.texi: Mention Haiku problem.
20956         * doc/glibc-headers/sys_ioctl.texi: Likewise.
20958 2017-10-28  Bruno Haible  <bruno@clisp.org>
20960         crypto/sm3: Add overview documentation to the .h file.
20961         * lib/sm3.h: Add comments.
20963 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20965         New module: crypto/sm3
20966         This new module can be used to compute SM3 message digest of files or
20967         memory blocks according to the specification GM/T 004-2012
20968         Cryptographic Hash Algorithm SM3, published by State Cryptography
20969         Administration, China.
20970         The official SM3 cryptographic hash algorithm specification is
20971         available at
20972         http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
20973         * lib/sm3.h: Declare the APIs of sm3 module.
20974         * lib/sm3.c: Implement SM3 hash algorithm.
20975         * m4/sm3.m4: m4 file for sm3 module.
20976         * modules/crypto/sm3: Define sm3 module.
20977         * tests/test-sm3.c: Implement SM3 test case.
20978         * modules/crypto/sm3-tests: Define sm3 test module.
20979         * MODULES.html.sh: List sm3 module.
20981 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20983         gc-libgcrypt: fix undefined enum type in switch statement
20984         Resolve the following build failure:
20985         lib/gc-libgcrypt.c: In function 'gc_hash_open':
20986         lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
20987         'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
20988              case 0:
20989              ^~~~
20990         * lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
20991         * lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.
20993 2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>
20995         gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
20996         Resolve the following build failure:
20997         lib/gc-libgcrypt.c: In function 'gc_hash_read':
20998         lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
20999         in signedness [-Werror=pointer-sign]
21000             digest = gcry_md_read (ctx->gch, 0);
21001                    ^
21002         * lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.
21004 2017-10-26  Bruno Haible  <bruno@clisp.org>
21006         havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
21007         * m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
21008         set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.
21010 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
21012         glob: fix another heap buffer overflow
21013         Problem reported by Tim Rühsen in:
21014         https://sourceware.org/bugzilla/show_bug.cgi?id=22332
21015         * lib/glob.c (glob): Avoid buffer overrun when unescaping.
21017 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
21019         quotearg: pacify compiler re unsigned
21020         * lib/quotearg.c (quotearg_n_options):
21021         Rewrite to avoid diagnostic from overly-picky compiler.
21022         Problem reported by Sami Kerola in:
21023         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html
21025         glob: fix heap buffer overflow
21026         * lib/glob.c (glob): Fix off-by-one error introduced into
21027         glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
21028         dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
21029         https://sourceware.org/bugzilla/show_bug.cgi?id=22320
21030         Fix suggested by Bruno Haible.
21032 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
21034         glob: pacify fuzzer for mempcpy
21035         Problem reported by Tim Rühsen in:
21036         https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
21037         * lib/glob.c (glob): Do not pass NULL to mempcpy.
21039 2017-10-12  Bruno Haible  <bruno@clisp.org>
21041         doc: Fix syntax error (regression from 2017-10-03).
21042         * doc/posix-functions/strncpy.texi: Fix syntax error.
21044 2017-10-12  Bruno Haible  <bruno@clisp.org>
21046         doc: Update for Solaris 11.3.
21047         * doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
21048         mention Solaris 11.3.
21049         * m4/log2.m4: Fix comments.
21050         * m4/log2f.m4: Likewise.
21051         * m4/printf.m4: Update comments.
21052         * m4/rename.m4: Likewise.
21053         * m4/strncat.m4: Likewise.
21055         all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".
21057 2017-10-10  Bruno Haible  <bruno@clisp.org>
21059         doc: Improve doc about ioctl.
21060         * doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
21061         prototype.
21063 2017-10-09  Bruno Haible  <bruno@clisp.org>
21065         wcwidth: Don't use obsolete syntax of 'test'.
21066         Reported by Eric Blake.
21067         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
21068         invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".
21070 2017-10-09  Bruno Haible  <bruno@clisp.org>
21072         getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
21073         Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
21074         and Daniel P. Berrange <berrange@redhat.com>.
21075         * lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
21076         on glibc systems. The getopt-pfx-core.h file declares exactly what
21077         unistd.h needs, nothing more.
21079 2017-10-08  Bruno Haible  <bruno@clisp.org>
21081         vma-iter: Improve support for FreeBSD.
21082         * lib/vma-iter.c (vma_iterate_proc): New function, extracted from
21083         vma_iterate.
21084         (vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.
21086 2017-10-08  Bruno Haible  <bruno@clisp.org>
21088         vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
21089         * lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.
21091 2017-10-07  KO Myung-Hun  <komh@chollian.net>
21093         test-framework-sh: Fix 'invalid path dir' error.
21094         On OS/2, a path separator is ';' not ':'. And ':' is used as a
21095         separator between a drive letter and directory parts.
21096         As a result, an absolute path such as x:/path/to/dir on OS/2 is
21097         treated as an invalid path dir.
21098         * tests/init.sh (PATH_SEPARATOR): Set at startup.
21099         (path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
21100         instead of hard coded ':'.
21102 2017-10-07  Bruno Haible  <bruno@clisp.org>
21104         vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
21105         * lib/vma-iter.c (MIN_LEFTOVER): New macro.
21106         (STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
21107         (rof_open): On Linux, do multiple read() calls and make sure
21108         MIN_LEFTOVER bytes are left when read() returns.
21110 2017-10-07  Bruno Haible  <bruno@clisp.org>
21112         vma-iter: Improve support for GNU/Hurd.
21113         * lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
21114         API, not the /proc file system.
21116 2017-10-07  Bruno Haible  <bruno@clisp.org>
21118         test-framework-sh: Don't require bash on Windows and OS/2.
21119         Reported by KO Myung-Hun.
21120         * tests/test-init.sh: Use 'shopt' only when running in bash.
21122 2017-10-06  KO Myung-Hun  <komh@chollian.net>
21124         wcwidth: check a macro version of wcwidth () as well
21125         * lib/wchar.in.h: Revert commit from 2016-01-14.
21126         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.
21128 2017-10-06  Bruno Haible  <bruno@clisp.org>
21130         getopt-posix: Clarify copyright header.
21131         * lib/getopt.in.h: Don't state that gnulib is under LGPL.
21132         * lib/getopt-pfx-core.h: Likewise.
21133         * lib/getopt-pfx-ext.h: Likewise.
21134         * lib/getopt-cdefs.in.h: Likewise.
21136 2017-10-03  Bruno Haible  <bruno@clisp.org>
21138         Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
21139         * modules/host-cpu-c-abi (configure.ac): Require, don't invoke
21140         gl_HOST_CPU_C_ABI.
21142 2017-10-03  Bruno Haible  <bruno@clisp.org>
21144         doc: warn about misuse of strncpy and wcsncpy.
21145         * doc/posix-functions/strcpy.texi: Describe requirements on prior
21146         memory allocation.
21147         * doc/posix-functions/wcscpy.texi: Likewise.
21148         * doc/posix-functions/strncpy.texi: Describe what this function is not
21149         useful for.
21150         * doc/posix-functions/wcsncpy.texi: Likewise.
21152 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
21154         fsuage: fix typo in previous change
21155         * lib/fsusage.c: Remove stray include of full-read.h.
21156         Problem reported by Sam Steingold for macOS (Bug#28669).
21158 2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>
21160         fsusage: remove SVR2 support
21161         SVR2 was obsolete by 1986 and is no longer supported by anybody,
21162         and its code was getting in the way of use of this module by
21163         Emacs, which has its own ‘read’ function anyway.
21164         * lib/fsusage.c: Do not include sys/filsys.h.
21165         (get_fs_usage): Remove SVR2-specific code.
21166         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
21167         Do not test for sys/filsys.h or set STAT_READ_FILSYS.
21168         * modules/fsusage (Depends-on): Do not depend on full-read.
21170         Simplify autoupdate of licenses
21171         * config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
21172         place.
21174 2017-10-01  Bruno Haible  <bruno@clisp.org>
21176         vma-iter: Add support for GNU/Hurd.
21177         * lib/vma-iter.c: Treat GNU/Hurd like Linux.
21178         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21180 2017-09-30  Bruno Haible  <bruno@clisp.org>
21182         vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
21183         * modules/vma-iter: Don't test for sys/procfs.h, as this test would
21184         fail when module 'largefile' is in use.
21185         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
21186         * lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
21187         Don't test HAVE_SYS_PROCFS_H.
21189 2017-09-30  Bruno Haible  <bruno@clisp.org>
21191         havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
21192         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
21193         When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
21194         * modules/havelib (Depends-on): Add host-cpu-c-abi.
21196 2017-09-30  Bruno Haible  <bruno@clisp.org>
21198         uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
21199         * lib/uniname/uniname.c (unicode_name_character): Add braces around
21200         scope of local variables.
21202 2017-09-28  Bruno Haible  <bruno@clisp.org>
21204         string: code style
21205         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
21206         substitutable variables.
21207         * modules/string (Makefile.am): Likewise.
21209 2017-09-26  Bruno Haible  <bruno@clisp.org>
21211         uniname/uniname-tests: Tighten code.
21212         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
21213         local variables into one.
21215 2017-09-26  Bruno Haible  <bruno@clisp.org>
21217         vma-iter: Improvements for Linux and BSD platforms.
21218         - Add support for DragonFly BSD.
21219         - Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
21220         * lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
21221         Read the entire file into memory in a single system call.
21222         (vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
21223         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.
21225 2017-09-26  Bruno Haible  <bruno@clisp.org>
21227         vma-iter: Provide the protection flags on FreeBSD.
21228         * lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
21229         skip three fields between the addresses and the protection flags.
21231 2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>
21233         glob: remove bogus extern decl
21234         * lib/glob.c (__glob_pattern_type): Remove now-spurious
21235         extern declaration.  Problem reported by Adhemerval Zanella in:
21236         https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html
21238 2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>
21240         uniname/uniname-tests: integer overflow fix
21241         * tests/uniname/test-uninames.c (fill_names, fill_aliases):
21242         Check for integer overflow.
21244         duplocale-tests: fix unlikely crash
21245         * tests/test-duplocale.c (get_locale_dependent_values):
21246         Don’t crash with absurdly long month names.
21248         maint: fix overflow checking in nap.h
21249         * modules/chown-tests:
21250         * modules/fchownat-tests, modules/fdutimensat-tests:
21251         * modules/futimens-tests, modules/lchown-tests:
21252         * modules/stat-time-tests, modules/utime-tests:
21253         * modules/utimens-tests, modules/utimensat-tests:
21254         Depend on intprops.
21255         * tests/nap.h: Include intprops.h.
21256         (diff_timespec): Handle overflow properly.
21258         sys_types: update URL
21259         * m4/sys_types_h.m4: Use https: URL.
21261         parse-datetime: fix dependency
21262         * modules/parse-datetime (Depends-on): Depend
21263         on nstrftime, not strftime.
21265         parse-datetime, posixtm: avoid uninit access
21266         * lib/parse-datetime.y (parse_datetime2):
21267         * lib/posixtm.c (posixtime):
21268         Do not access uninitialized storage, even though the resulting
21269         value is never used.
21271 2017-09-25  Bruno Haible  <bruno@clisp.org>
21273         vma-iter: Improvements for BSD platforms.
21274         - Add support for GNU/kFreeBSD.
21275         - Make it work on FreeBSD and NetBSD even when /proc is not mounted.
21276         - Speed up on OpenBSD.
21277         * lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
21278         (vma_iterate_bsd): New function.
21279         (vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
21280         first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
21281         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
21282         * modules/vma-iter (configure.ac): Require AC_C_INLINE.
21284 2017-09-23  Bruno Haible  <bruno@clisp.org>
21286         strfmon_l: New module.
21287         * modules/strfmon_l: New file.
21288         * lib/strfmon_l.c: New file.
21289         * m4/strfmon_l.m4: New file.
21290         * doc/posix-functions/strfmon_l.texi: Mention the new module.
21291         * modules/strfmon_l-tests: New file.
21292         * tests/test-strfmon_l.c: New file.
21294         monetary: New module.
21295         * modules/monetary: New file.
21296         * lib/monetary.in.h: New file.
21297         * m4/monetary_h.m4: New file.
21298         * doc/posix-headers/monetary.texi: Mention the new module.
21299         * modules/monetary-tests: New file.
21300         * tests/test-monetary.c: New file.
21301         * modules/monetary-c++-tests: New file.
21302         * tests/test-monetary-c++.cc: New file.
21303         * modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.
21305 2017-09-23  Bruno Haible  <bruno@clisp.org>
21307         duplocale tests: Fix test crash on Linux/x86.
21308         * tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
21309         locale from the current thread before freeing it.
21311 2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>
21313         mktime: port to OpenVMS
21314         Problem reported by John E. Malmberg in:
21315         https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
21316         * m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.
21318 2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>
21320         manywarnings: port to GCC on 64-bit MS-Windows
21321         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
21322         LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
21323         https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html
21325 2017-09-13  Bruno Haible  <bruno@clisp.org>
21327         all: Replace many more http URLs by https URLs. Update stale URLs.
21328         * users.txt: Remove mention of 'newts'.
21329         * lib/localename.c: Update comment about LANG_SOTHO.
21331 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
21333         all: Replace many http URLs by https URLs.
21335 2017-09-12  Bruno Haible  <bruno@clisp.org>
21337         doc: Prefer https URLs where possible.
21338         * doc/**/*.texi: Use https URLs instead of http URLs where possible.
21339         * doc/ld-output-def.texi: Remove unavailable URL.
21341 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
21343         maintainer-makefile: FTP -> HTTPS
21344         * top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
21345         of FTP, which is planned to be decommissioned on 2017-11-01.
21347 2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
21349         libc-config: Fix __GNUC_PREREQ macro.
21350         * lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
21351         __GNUC_MINOR.
21353 2017-09-09  Bruno Haible  <bruno@clisp.org>
21355         gnulib-tool: Simplify commit from 2015-08-20.
21356         * gnulib-tool (func_add_or_update): Remove local variable
21357         is_binary_file.
21359 2017-09-08  Bruno Haible  <bruno@clisp.org>
21361         stddef: Avoid conflict with system-defined max_align_t.
21362         The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
21363         Reported by Werner Lemberg <wl@gnu.org> in
21364         <https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
21365         * lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
21366         (max_align_t): Define as a macro.
21367         (GNULIB_defined_max_align_t): New macro. Guards against multiple
21368         definitions of rpl_max_align_t in different copies of gnulib-generated
21369         <stddef.h>.
21371 2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>
21373         libc-config: port to MSVC
21374         Problems reported by Gisle Vanem in:
21375         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
21376         * lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
21377         (libc_hidden_proto): Stick to Standard C syntax for varargs macro.
21378         * m4/__inline.m4: New file.
21379         * modules/libc-config (Files): Add it.
21380         (Depends-on): Use it.
21382         glob: Use enum for __glob_pattern_type result
21383         From a patch proposed by Adhemerval Zanella in:
21384         https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
21385         * lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
21386         (GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
21387         * lib/glob_internal.h (__glob_pattern_type):
21388         * lib/glob.c (glob):
21389         * lib/glob_pattern_p.c (__glob_pattern_p):
21390         Use them.
21392         glob: fix for use in glibc
21393         Problem reported by Adhemerval Zanella in:
21394         https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
21395         * lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
21396         Do not redefine if _LIBC.
21398 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21400         glob: fix bugs with long login names
21401         Problem reported by Adhemerval Zanella in:
21402         https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
21403         * lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
21404         (glob): Use the same scratch buffer for both getlogin_r and
21405         getpwnam_r.  Don’t require preallocation of the login name.  This
21406         simplifies storage allocation, and corrects the handling of
21407         long login names.
21409 2017-09-02  Bruno Haible  <bruno@clisp.org>
21411         dirent: Update doc.
21412         * doc/posix-headers/dirent.texi: More concrete list of platforms.
21414 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21416         glob: fix getpwnam_r errno typo
21417         * lib/glob.c (glob): Fix longstanding misuse of errno after
21418         getpwnam_r, which returns an error number rather than setting
21419         errno.
21421         glob: fix typo in recent change
21422         * lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
21423         Fix recently-introduced typo.
21425 2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>
21427         glob: don't save and restore errno unnecessarily
21428         * lib/glob.c (glob): Don't save and restore errno
21429         merely because we have getpwnam_r.
21431         glob: don't assume getpwnam_r
21432         * lib/glob.c (glob): Port recent patches to platforms
21433         lacking getpwnam_r.
21435         scratch_buffer: don’t use private glibc API
21436         Suggested by Florian Weimer in:
21437         http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
21438         * lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
21439         * lib/scratch_buffer_grow.c: Rename to
21440         lib/malloc/scratch_buffer_grow.c.
21441         * lib/scratch_buffer_grow_preserve.c: Rename to
21442         lib/malloc/scratch_buffer_grow_preserve.c.
21443         * lib/scratch_buffer_set_array_size.c: Rename to
21444         lib/malloc/scratch_buffer_set_array_size.c.
21445         * lib/scratch_buffer.h: New file.
21446         * modules/scratch_buffer (Files, Makefile.am):
21447         Adjust to source-file renaming.
21449 2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>
21451         glob: use scratch_buffer instead of extend_alloca
21452         Much of the lib/glob.c part of this patch comes from a glibc patch
21453         proposed by Adhemerval Zanella in:
21454         https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
21455         * lib/glob.c: Do not include <config.h>, since <libc-config.h>,
21456         included via glob.h, does this for us now.
21457         (__set_errno): Remove, as libc-config does this for us now.
21458         Include <scratch_buffer.h>.
21459         (GETPW_R_SIZE_MAX): Remove.
21460         (glob): Use struct scratch_buffer instead of extend_alloca.
21461         * lib/glob.in.h: Include libc-config.h rather than
21462         including <sys/cdefs.h> conditionally.
21463         (__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
21464         (__glibc_unlikely, __restrict, weak_alias):
21465         Remove, as libc-config does this for us now.
21466         * m4/glob.m4 (gl_PREREQ_GLOB):
21467         Remove sys/cdefs.h tests; no longer needed.
21468         * modules/glob (Depends-on): Add libc-config, scratch_buffer.
21469         (glob.h): Do not replace HAVE_SYS_CDEFS_H.
21471         scratch_buffer: new module
21472         * lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
21473         * lib/scratch_buffer_grow_preserve.c:
21474         * lib/scratch_buffer_set_array_size.c:
21475         New files, copied from glibc with very minor changes that can be
21476         copied back.
21477         * modules/scratch_buffer: New file.
21479         libc-config: new module
21480         * MODULES.html.sh: Add libc-config.
21481         * lib/cdefs.h: New file, copied from the GNU C Library with very
21482         minor changes that can be copied back.
21483         * lib/libc-config.h, modules/libc-config: New files.
21485 2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>
21487         glob: match dangling symlinks
21488         This fixes a bug I inadvertently introduced to Gnulib when I
21489         merged glibc glob back into gnulib on 2007-10-16.  This fix is
21490         inspired by a patch proposed for glibc by Adhemerval Zanella in:
21491         https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
21492         * doc/posix-functions/glob.texi: Update list of affected platforms.
21493         * lib/glob.c (__lstat64): New macro.
21494         (is_dir): New function.
21495         (glob, glob_in_dir): Match symlinks even if they are dangling.
21496         (link_stat, link_exists_p): Remove.  All uses removed.
21497         * lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
21498         * m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
21499         * modules/glob-tests (Depends-on): Add symlink.
21500         * tests/test-glob.c: Include errno.h, unistd.h.
21501         (BASE): New macro.
21502         (main): Test dangling symlinks, if symlinks are supported.
21504         glob, backupfile: inode 0 is a valid inode number
21505         * doc/posix-functions/readdir.texi (readdir):
21506         * doc/posix-headers/dirent.texi (dirent.h):
21507         Document more readdir portability issues.
21508         * lib/backupfile.c (REAL_DIR_ENTRY): Remove.
21509         (numbered_backup): Don’t treat inode 0 any differently from
21510         other inode values.
21511         * lib/glob.c (struct readdir_result): Remove skip_entry member.
21512         (readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
21513         All uses removed.
21514         * modules/glob (Depends-on): Remove d-ino.
21516         glob: simplify symlink detection
21517         * lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
21518         uint8_t, as C99 does not require uint8_t.
21519         (struct readdir_result): Use it.  Do not define skip_entry unless
21520         it is needed; this saves a byte on platforms lacking d_ino.
21521         (readdir_result_type, readdir_result_skip_entry):
21522         New functions, replacing ...
21523         (readdir_result_might_be_symlink, readdir_result_might_be_dir):
21524         ... these functions, which were removed.  This makes the callers
21525         easier to read.  All callers changed.
21526         (D_INO_TO_RESULT): Now empty if there is no d_ino.
21528 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21530         fts-tests: tag as a longrunning-test so not included by default
21531         * modules/fts-tests: This test takes about 20s on current systems,
21532         and uses about 285M of space on ext4.
21534 2017-08-30  Pádraig Brady  <P@draigBrady.com>
21536         renameat2: fix compilation on alpine linux
21537         * m4/renameat.m4: Check for <linux/fs.h> presence.
21538         * lib/renameat2.h: Only include <linux/fs.h> if present.
21539         Reported by Assaf Gordon on Alpine Linux.
21541 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21543         glob: try to port recent changes to MS-Windows
21544         Problem reported by Bruno Haible in:
21545         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
21546         * lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
21547         * lib/glob.in.h (__glob_pattern_p): ... to here.
21549 2017-08-24  Eric Blake  <eblake@redhat.com>
21551         warnings: fix compilation with old autoconf
21552         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
21553         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
21554         AC_DEFUN.
21555         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
21556         (gl_MANYWARN_ALL_GCC(C++)): Likewise.
21558 2017-08-24  Bruno Haible  <bruno@clisp.org>
21560         glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
21561         * modules/glob (Depends-on): Add c99.
21563 2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>
21565         glob: fix typo that broke platforms lacking d_ino
21566         This typo also hurt performance on GNU/Linux and similar hosts.
21567         * lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
21568         in previous change.
21570 2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>
21572         glob: merge from glibc with Zanella glob changes
21573         Merge glob from glibc, with changes for glob proposed
21574         by Adhemerval Zanella in the thread starting here:
21575         https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
21576         plus some fixes for this merge.
21577         * lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
21578         New files, ported from glibc.
21579         * lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
21580         with __restrict.
21581         (__size_t): Remove.  All uses replaced by size_t.
21582         (size_t): Define by defining __need_size_t and including <stddef.h>.
21583         This should work even in non-glibc platforms, where any name
21584         pollution is OK.
21585         Use __USE_MISC instead of __USE_BSD || __USE_GNU.
21586         (struct stat64): Don’t worry about __GLOB_GNULIB.
21587         (glob, globfree, glob_pattern_p): Remove macros for
21588         __USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
21589         case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
21590         but set errno.
21591         * lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
21592         removed since the glibc behavior works on null pointers.
21593         Do not include stdio.h; old SunOS is irrelevant now.
21594         Do not worry about GLOB_ONLY_P as we now mimic glibc here.
21595         Include glob_internal.h.
21596         (D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
21597         ((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
21598         worked only coincidentally.
21599         (attribute_hidden, __attribute_noinline__, __glibc_unlikely):
21600         Remove macros; now done in glob.in.h.
21601         (size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
21602         (glob): Properly initialize glob structure with
21603         GLOB_BRACE|GLOB_DOOFFS (bug 20707).
21604         Remove old code using SHELL since Bash no longer
21605         uses this.
21606         (glob, prefix_array): Separate MS code better.
21607         (glob, glob_in_dir): Use C99 decls before statements when glibc
21608         does.
21609         (glob_in_dir): Remove old Amiga and VMS code.
21610         (globfree, __glob_pattern_type, __glob_pattern_p): Move to
21611         separate files.
21612         * lib/glob.in.h (attribute_hidden, __attribute_noinline__)
21613         (__glibc_unlikely):
21614         Move here from glob.c.
21615         (__restrict): New macro here, replacing the _Restrict_ in glob.c.
21616         (weak_alias): New macro.
21617         (__size_t): Remove.  All uses replaced by size_t.
21618         * modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
21619         * modules/glob (Files): Add +lib/glob_internal.h,
21620         lib/glob_pattern_p.c, lib/globfree.c.
21621         (Depends-on): Remove snippet/arg-nonnull.
21623 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
21625         glob: port to clang's Undefined Sanitizer
21626         Problem reported by Tim Rühsen in:
21627         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
21628         * lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
21629         (glob_in_dir): Do not rely on undefined behavior in accessing
21630         struct members beyond their bounds.  Use a flexible array member
21631         instead.
21633 2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>
21635         vc-list-files: port to Solaris 10
21636         * build-aux/vc-list-files: Don't assume test -e works.
21638 2017-08-21  Karl Berry  <karl@freefriends.org>
21640         * doc/posix-functions/srandom.texi (srandom): typo }.
21642 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
21644         git-version-gen: port to Solaris 10
21645         Problem reported by Dagobert Michelsen in:
21646         http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
21647         * build-aux/git-version-gen (v_from_git):
21648         Use expr instead of shell substitution.
21650 2017-08-19  Bruno Haible  <bruno@clisp.org>
21652         host-cpu-c-abi: Improve detection of MIPS ABI.
21653         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
21654         _MIPS_SIM.
21656 2017-08-17  Bruno Haible  <bruno@clisp.org>
21658         hypot tests: Fix test failure on FreeBSD 11.0/x86.
21659         * tests/test-hypot.h (test_function): Declare z as 'volatile'.
21661 2017-08-17  Bruno Haible  <bruno@clisp.org>
21663         float: Fix LDBL_MIN value on FreeBSD/x86.
21664         * lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.
21666 2017-08-17  Bruno Haible  <bruno@clisp.org>
21668         random: Fix test compilation failure on Cygwin 1.5.25.
21669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
21670         HAVE_DECL_SETSTATE.
21671         * m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
21672         declared.
21673         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
21674         HAVE_DECL_SETSTATE.
21675         * lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
21676         (setstate): Declare also if HAVE_DECL_SETSTATE is 0.
21677         * doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
21678         * doc/posix-functions/random.texi: Likewise.
21679         * doc/posix-functions/setstate.texi: Likewise.
21680         * doc/posix-functions/srandom.texi: Likewise.
21682 2017-08-16  Bruno Haible  <bruno@clisp.org>
21684         stdnoreturn: Fix test compilation failure on Cygwin.
21685         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
21686         <stdnoreturn.h> replacement.
21687         * lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
21688         * doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.
21690 2017-08-16  Bruno Haible  <bruno@clisp.org>
21692         thread: Fix conflict with pthread_sigmask module.
21693         * lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
21694         it's defined as a macro.
21695         * modules/thread (Depends-on): Add pthread_sigmask.
21697 2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>
21699         rename: port better to NetBSD
21700         * doc/posix-functions/rename.texi (rename): NetBSD 7
21701         does not have the link-count bug.
21702         * m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
21703         broken merely because rename ("a", "b") removes "a" when the two
21704         names are hard links to the same file.
21706 2017-08-16  Bruno Haible  <bruno@clisp.org>
21708         iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
21709         * modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
21710         the target file names with '$(srcdir)/'.
21711         * modules/unicase/locale-language (Makefile.am): Likewise.
21712         * modules/unicase/special-casing (Makefile.am): Likewise.
21713         * modules/unictype/bidiclass-byname (Makefile.am): Likewise.
21714         * modules/unictype/category-byname (Makefile.am): Likewise.
21715         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
21716         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
21717         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
21718         * modules/unictype/property-byname (Makefile.am): Likewise.
21719         * modules/unictype/scripts (Makefile.am): Likewise.
21720         * modules/uninorm/composition (Makefile.am): Likewise.
21722 2017-08-16  Bruno Haible  <bruno@clisp.org>
21724         nonblocking-socket tests: Fix failure on OpenBSD 6.0.
21725         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
21726         value for OpenBSD.
21728 2017-08-16  Bruno Haible  <bruno@clisp.org>
21730         rename, renameat: Update doc regarding NetBSD.
21731         * doc/posix-functions/rename.texi: Clarify that when using
21732         -D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
21733         * doc/posix-functions/renameat.texi: Be more precise about NetBSD
21734         version.
21736 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
21738         renameat2: port better to macOS
21739         * lib/renameat2.c (renameat2): Use renameatx_np if available.
21741         futimens: don’t assume struct timespec layout
21742         * m4/futimens.m4 (gl_FUNC_FUTIMENS):
21743         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
21744         * tests/test-fdutimensat.c (main):
21745         * tests/test-futimens.h (test_futimens):
21746         * tests/test-lutimens.h (test_lutimens):
21747         * tests/test-utimens.h (test_utimens):
21748         * tests/test-utimensat.c (main):
21749         Don’t assume that struct timespec is a two-member structure in
21750         tv_sec, tv_nsec order.  Although this is true on all platforms we
21751         know about, POSIX does not guarantee it.
21753         rename: document+test NetBSD rename
21754         Test failure reported by Bruno Haible in:
21755         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
21756         This is an area where NetBSD is better-behaved than POSIX,
21757         so allow the NetBSD behavior in tests.
21758         * doc/posix-functions/rename.texi:
21759         * doc/posix-functions/renameat.texi: Document NetBSD behavior.
21760         * tests/test-rename.h (test_rename): Allow NetBSD behavior.
21762 2017-08-15  Bruno Haible  <bruno@clisp.org>
21764         renameat: Ensure declaration in <stdio.h> on NetBSD.
21765         * lib/stdio.in.h: Include <unistd,h> also on NetBSD.
21766         * doc/posix-functions/renameat.texi: Mention this problem.
21768 2017-08-15  Bruno Haible  <bruno@clisp.org>
21770         duplocale: Work around NetBSD 7.0 bug.
21771         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
21772         * lib/duplocale.c: Add comment about NetBSD problem.
21773         * doc/posix-functions/duplocale.texi: Mention the NetBSD problem.
21775 2017-08-15  Bruno Haible  <bruno@clisp.org>
21777         duplocale tests: Verify use with *_l functions.
21778         * modules/duplocale-tests (configure.ac): Test for uselocale and
21779         some *_l functions.
21780         * tests/test-duplocale.c (test_with_uselocale): New function, extracted
21781         from main.
21782         (get_locale_dependent_values_from, test_with_locale_parameter): New
21783         functions.
21784         (main): Test both test_with_uselocale and test_with_locale_parameter.
21786 2017-08-15  Bruno Haible  <bruno@clisp.org>
21788         extensions: Enable NetBSD specific extensions.
21789         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.
21791 2017-08-14  Bruno Haible  <bruno@clisp.org>
21793         open, openat: Update doc about O_CLOEXEC.
21794         * doc/posix-functions/open.texi: More concrete list of platforms.
21795         * doc/posix-functions/openat.texi: Likewise.
21797 2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>
21799         open: support O_CLOEXEC
21800         * NEWS, doc/posix-functions/open.texi:
21801         * doc/posix-functions/openat.texi: Document this.
21802         * lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
21803         (GNULIB_defined_O_CLOEXEC): New symbol.
21804         * lib/open.c: Include cloexec.h.
21805         (open): Support O_CLOEXEC.
21806         * lib/openat.c: Include cloexec.h.
21807         (rpl_openat): Support O_CLOEXEC.
21808         * lib/popen-safer.c: Do not include cloexec.h.
21809         (open_noinherit): Remove.
21810         (popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
21811         * lib/save-cwd.c: Do not include cloexec.h.
21812         (save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
21813         * m4/open-cloexec.m4: New file.
21814         * m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
21815         Replace 'open' if O_CLOEXEC is not present.
21816         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
21817         Replace 'openat' if O_CLOEXEC is not present.
21818         * modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
21819         * modules/open (Files): Add m4/open-cloexec.m4.
21820         (Depends-on): Depend on cloexec if replacing 'open'.
21821         * modules/openat (Files): Add m4/open-cloexec.m4.
21822         (Depends-on): Depend on cloexec if replacing openat.
21823         * modules/popen-safer (Depends-on): Remove cloexec.
21824         * modules/save-cwd (Depends-on): Remove cloexec, and add
21825         fd-safer-flag and 'open'.
21827 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
21829         reallocarray: minor fixes
21830         * doc/glibc-functions/reallocarray.texi: Update version numbers.
21831         * m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
21832         * modules/reallocarray (License): Change from GPL to LGPL.
21833         * tests/test-reallocarray.c (main): Fix ENOMEM typo.
21834         Indent properly and don't use tabs.
21836 2017-08-13  Darshit Shah  <darnir@gnu.org>
21838         reallocarray: New module
21839         reallocarray is a new function in glibc 2.26 to safely allocate an array
21840         of memory locations with integer overflow protection.
21841         * MODULES.html.sh: Add reallocarray.
21842         * doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
21843         * lib/reallocarray.c: New file to implement module reallocarray.
21844         * lib/stdlib.in.h: Add function declarations for reallocarray.
21845         * m4/reallocarray.m4: New file.
21846         * m4/stdlib_h.m4: Declare reallocarray.
21847         * modules/reallocarray: New file.
21848         * modules/reallocarray-test: New file.
21849         * modules/stdlib: Coerce stdlib.h to export reallocarray.
21850         * tests/test-reallocarray.c: New test.
21852 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
21854         dirent-safer: fix cloexec race
21855         * lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
21856         (opendir_safer): Use F_DUPFD_CLOEXEC.
21857         * modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
21858         * tests/test-dirent-safer.c: Do not include unistd-safer.h,
21859         as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
21860         instead of dup_safer.
21862         fts: fix cloexec races
21863         * lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
21864         (opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
21865         (fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
21866         (fd_ring_check): Set cloexec flag on new file descriptors.
21867         (fts_build, fd_ring_check): While we’re at it, make sure the
21868         resulting file descriptor is not 0, 1, or 2, since that is easy.
21870 2017-08-11  Bruno Haible  <bruno@clisp.org>
21872         fts tests: Fix link error.
21873         Reported by Tom G. Christensen in
21874         https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
21875         * modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.
21877 2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>
21879         fts: port recent changes to CentOS 6
21880         Problem reported by Tom G. Christensen in:
21881         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
21882         * lib/fts.c (fsword): New type.
21883         (struct dev_type, filesystem_type): Use it.
21884         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
21885         Also, check for f_type only if fstatfs and sys/vfs.h work.
21887 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
21889         tempname: do not depend on secure_getenv
21890         Excess dependency noted by Eli Zaretskii (Bug#28023#17).
21891         * lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
21892         * modules/tempname (Depends-on): Remove secure_getenv.
21894 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
21896         extensions: add _OPENBSD_SOURCE
21897         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.
21899 2017-08-06  Reuben Thomas  <rrt@sc3d.org>
21900             Bruno Haible  <bruno@clisp.org>
21902         manywarnings: Add support for C++.
21903         * build-aux/g++-warning.spec: New file.
21904         * m4/manywarnings-c++.m4: New file.
21905         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
21906         redirects to manywarnings-c++.m4.
21907         * modules/manywarnings (Files): Add m4/manywarnings-c++.m4.
21909 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
21911         git-version-gen: another fix for tags with "-"
21912         * build-aux/git-version-gen: Improve fix for tags containing "-".
21913         Suggested by Markus Armbruster in:
21914         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html
21916 2017-08-06  Bruno Haible  <bruno@clisp.org>
21918         warnings, manywarnings: Add support for multiple languages, not just C.
21919         * warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
21920         gl_UNKNOWN_WARNINGS_ARE_ERRORS.
21921         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
21922         (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
21923         (gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
21924         gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
21925         (gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
21926         of the current language. If C++ is the current language, modify
21927         WARN_CXXFLAGS instead of WARN_CFLAGS.
21928         * manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
21929         gl_MANYWARN_ALL_GCC.
21930         (gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).
21932 2017-08-06  Markus Armbruster  <armbru@pond.sub.org>
21934         git-version-gen: Fix for tags containing '-'
21936         Really old versions of git-describe (before v1.5.0, Feb 2007)
21937         don't have the number of commits in their long format output,
21938         i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
21939         "v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
21940         recognizes both patterns, and normalizes the old format to the new one.
21942         Unfortunately, this normalization code gets confused when the tag
21943         contains '-'.  Reproducer:
21945             $ git-tag -m test v0.2-rc1
21946             $ build-aux/git-version-gen .tarball-version; echo
21947             build-aux/git-version-gen: WARNING: git rev-list failed
21948             UNKNOWN
21950         We take exact tag "v0.2-rc1" for the old format, extract the presumed
21951         tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
21952         commits since tha tag.  Fails, because tag "v0.2" does not exist.
21954         * git-version-gen: We could perhaps drop support for versions from
21955         more than a decade ago.  But tightening the pattern match is easy
21956         enough, so do that.  Still breaks when you use version tags ending in
21957         something matching -g????, but you arguably get what you deserve then.
21959 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
21961         valgrind-tests: use ls, and cache
21962         * m4/valgrind-tests.m4: Test ls, not bash.
21963         Problem reported by Reuben Thomas.
21964         Also, cache the result so that it can be overridden.
21966 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
21968         manywarnings: port to 64-bit GCC builds of Emacs
21969         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
21970         object size rather than hardwiring 2147483647.  This is needed to
21971         build GNU Emacs, which has one conditional (and used
21972         only-in-theory) call to malloc with a literal greater than
21973         2147483647.
21975 2017-08-04  Bruno Haible  <bruno@clisp.org>
21977         Relax the license of some modules with no runtime code.
21978         * modules/std-gnu11 (License): Set to 'unlimited'.
21979         * modules/c99 (License): Likewise.
21980         Reported by Reuben Thomas <rrt@sc3d.org>.
21981         * modules/d-ino (License): Set to 'LGPL'.
21982         * modules/host-os (License): Likewise.
21983         * modules/longlong (License): Likewise.
21985 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
21987         renameat2: port to RHEL 7 + NFS
21988         * lib/renameat2.c (renameat2) [SYS_renameat2]:
21989         Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
21990         http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
21992 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
21994         renameat2: port to non-renameat platforms
21995         Problem reported for MSVC-2015 by Gisle Vanem in:
21996         http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
21997         * lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
21998         (renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.
22000 2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>
22002         manywarnings: port to 32-bit GCC bug
22003         Problem reported by Pino Toscano in:
22004         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
22005         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
22006         not 2**63 - 1, to work around the following GCC bug:
22007         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650
22009 2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>
22011         backupfile: new function to validate backup suffix
22012         * lib/backupfile.c (set_simple_backup_suffix): New function.
22013         (backupfile_internal): Use it.
22015         canonicalize: fix EOVERFLOW commentary
22016         Problem reported by Bruno Haible in:
22017         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
22018         * lib/canonicalize.c (canonicalize_filename_mode):
22019         * lib/canonicalize-lgpl.c (__realpath): Fix comments.
22021         Don't interpret EOVERFLOW to mean nonexistence
22022         * lib/fts.c (fts_stat): If lstat fails, report its errno, which
22023         may be EOVERFLOW; this is likely more useful than reporting the
22024         stat errno.
22025         * lib/glob.c (link_stat): Rename from link_exists2_p and
22026         return -1/0 instead of 0/1.  Caller changed.
22027         * lib/glob.c (link_exists_p):
22028         * lib/renameat2.c (rename_noreplace, renameat2):
22029         * lib/tempname.c (try_nocreate):
22030         If errno == EOVERFLOW then the directory entry exists, so do not
22031         act as if it does not exist.
22033         backup-rename: new module
22034         It is like backupfile, except it avoids some race conditions,
22035         and it does not output to stderr or exit.
22036         * MODULES.html.sh: Add backup-rename.
22037         * lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
22038         * modules/backup-rename: New files.
22039         * lib/backupfile.c: Turn this into an internals file, which
22040         contains code common to backupfile and backup_rename.  Include
22041         backupfile-internal.h instead of backupfile.h.  Do not include
22042         argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
22043         renameat2.h and fcntl.h.
22044         (BACKUP_NOMEM): New constant.
22045         (numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
22046         on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
22047         (backupfile_internal): Rename from find_backup_file_name.
22048         Support new arg RENAME.
22049         (backup_args, backup_types, get_version, xget_version):
22050         Move to lib/backup-find.c.
22051         * lib/backupfile.h (backup_file_rename): New decl.
22052         * modules/backupfile (Files): Add lib/backup-internal.h,
22053         lib/backup-find.c.
22054         (Depends-on): Add dirfd, fcntl, renameat2.
22055         (lib_SOURCES): Add backup-find.c.
22057         renameat2: port better to older Solaris
22058         * lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
22059         Add goto to use a label, to silence picky compilers.
22061         fts-tests: port to gcc -Wwrite-strings
22062         * tests/test-fts.c (base, base_d): New static vars.
22063         (argv, remove_tree, main): Use them.
22065 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22067         relocatable-lib{,-lgpl}: improve documentation
22068         * doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
22069         Various other updates.
22071 2017-07-30  Reuben Thomas  <rrt@sc3d.org>
22072             Bruno Haible  <bruno@clisp.org>
22074         relocatable-lib{,-lgpl}: add Valgrind suppressions
22075         * lib/relocatable.valgrind: New file.
22076         * modules/relocatable-lib (Files): Add relocatable.valgrind.
22077         * modules/relocatable-lib-lgpl: Likewise.
22079 2017-07-26  Reuben Thomas  <rrt@sc3d.org>
22081         relocatable: Make the license on the sources the GPL.
22082         * lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
22083         LGPL, which was a special case so that the relocatable source files
22084         could be used without gnulib-tool, to GPL. They can still be used under
22085         the LGPL, using the --lgpl option to gnulib-tool.
22087 2017-07-30  Bruno Haible  <bruno@clisp.org>
22089         host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
22090         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
22091         from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
22092         __ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
22093         Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).
22095 2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>
22097         faccessat: document AT_SYMLINK_NOFOLLOW issue
22098         * doc/posix-functions/faccessat.texi: Modernize platform list.
22099         Document AT_SYMLINK_NOFOLLOW limitation.
22101         renameat2: port to Solaris 10
22102         * lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
22103         with AT_SYMLINK_NOFOLLOW (which is not portable).
22104         (renameat): Undef before using, to avoid endless recursion when
22105         the replacement renameat calls renameat2 which calls the
22106         replacement renameat.
22107         (renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
22108         * modules/renameat2 (Depends-on): Remove faccessat.
22109         * modules/renameat-tests (test_renameat_LDADD):
22110         * modules/renameat2-tests (test_renameat2_LDADD):
22111         Remove $(LIB_EACCESS).
22113         renameat2: new module
22114         Although the Linux syscall renameat2 is not in glibc (yet?), it is
22115         useful to have access to its RENAME_NOREPLACE flag.
22116         * MODULES.html.sh (func_all_modules): Add renameat2.
22117         * lib/renameat2.c, lib/renameat2.h, modules/renameat2:
22118         * modules/renameat2-tests, tests/test-renameat2.c: New files.
22119         * lib/renameat.c (renameat): Move most of the implementation
22120         to renameat2, and just call renameat2.
22121         * modules/renameat (Files): Remove lib/at-func2.c.
22122         (Depends-on): Depend only on renameat2.
22123         (Include): Remove <fcntl.h>.
22124         * modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
22125         since renameat (via renameat2) might use faccessat.
22127 2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)
22129         vc-list-files: Adjust the script to support git worktrees
22130         * build-aux/vc-list-files: Require existence, not directory.
22132 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22134         doc: bring MODULES.html.sh up to date
22135         Somehow a few months ago we stopped updating MODULES.html.sh.
22136         I don’t recall explicitly deciding this, so I updated it now.
22137         Alternatively I suppose we could remove it.
22138         * MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
22139         localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
22140         truncate, utime, utime-h, windows-stat-inodes,
22141         windows-stat-override, windows-stat-timespec, year2038.  Sort.
22143 2017-07-26  Jim Meyering  <meyering@fb.com>
22145         fprintftime: fix build-break caused by recent renaming
22146         * lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
22147         "strftime.c".
22148         * modules/fprintftime: Depend directly on nstrftime.
22150 2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>
22152         regex: work with GCC7's -Werror=implicit-fallthrough=
22153         * lib/regex_internal.h (FALLTHROUGH): New macro.
22154         * lib/regcomp.c (peek_token_bracket, parse_expression):
22155         * lib/regexec.c (check_node_accept): Use it.
22157 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
22159         fts: simplify fts_build
22160         * lib/fts.c (fts_build): Simplify, and be lazier about
22161         calling leaf_optimization.
22163         fts: three levels of leaf optimization
22164         * lib/fts.c (enum leaf_optimization): New type with three values.
22165         (S_MAGIC_AFS): New macro.  Sort them.
22166         (leaf_optimization): Rename from leaf_optimization_applies, and
22167         return enum leaf_optimization instead of bool.  All uses changed.
22168         Add cases for unknown type and for AFS.
22169         (fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.
22171         fts: cache dirent_inode_sort_may_be_useful too
22172         * lib/fts.c (struct dev_type): New struct.
22173         (DEV_TYPE_HT_INITIAL_SIZE): New constant.
22174         (dev_type_hash, dev_type_compare, filesystem_type): New functions.
22175         (dirent_inode_sort_may_be_useful, leaf_optimization_applies):
22176         Now takes FTSENT const *, not int.  All uses changed.  Use
22177         filesystem_type to cache.
22178         (link_count_optimize_ok): Remove.  Caller changed to use
22179         leaf_optimization_applies, which now uses shared cache.
22181         fts: introduce MIN_DIR_NLINK
22182         * lib/fts.c (MIN_DIR_NLINK): New constant.
22183         Use it instead of 2, whenever we are talking about link counts.
22185         fts: nlink_t signedness fixups
22186         * lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
22187         so that root need not be a special case later.
22188         (fts_read): Remove now-redundant test for fts_level.
22189         Do not assume that nlink_t is signed.
22190         (fts_build): Remove useless decrement of nlinks.
22191         (fts_stat): Avoid unlikely signed integer overflow later, if
22192         nlink_t is signed.
22194         fts-tests: new module
22195         * modules/fts-tests, tests/test-fts.c: New files.
22197 2017-07-23  Bruno Haible  <bruno@clisp.org>
22199         Rename module 'strftime' to 'nstrftime'.
22200         * m4/nstrftime.m4: Renamed from m4/strftime.m4.
22201         * lib/nstrftime.c: Renamed from lib/strftime.c.
22202         * modules/nstrftime: Renamed from modules/strftime.
22203         (Files, Makefile.am): Update.
22204         * tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
22205         Fix comment.
22206         * modules/nstrftime-tests: Renamed from modules/strftime-tests.
22207         (Files, Makefile.am): Update.
22208         * modules/strftime: New file, an obsolete indirection.
22209         * doc/posix-functions/strftime.texi: Update reference.
22210         * config/srclist.txt: Update info.
22211         * NEWS: Mention the change.
22213 2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>
22215         malloca: Silence a warning from clang's memory sanitizer.
22216         * lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
22217         (freea): Use it.
22219 2017-07-18  Bruno Haible  <bruno@clisp.org>
22221         host-cpu-c-abi: Fix detection of MIPS ABI.
22222         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
22223         ABI, not the CPU instruction set.
22225 2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>
22227         explicit_bzero: new module
22228         The explicit_bzero function has been added to glibc.
22229         This module is intended to supports its use in GNU programs.
22230         * doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
22231         * m4/explicit_bzero.m4, modules/explicit_bzero:
22232         New files.
22233         * doc/gnulib.texi (Glibc string.h): Link to new doc.
22234         * lib/string.in.h (explicit_bzero): Declare.
22235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
22236         * modules/string (string.h): Substitute its vars.
22238 2017-07-16  Bruno Haible  <bruno@clisp.org>
22240         threadlib: Support static linking.
22241         * m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
22242         set gl_cv_have_weak to 'no'.
22244 2017-07-16  Bruno Haible  <bruno@clisp.org>
22246         unicase/locale-language: Fix link dependencies.
22247         * modules/unicase/locale-language (Link): New section.
22248         * modules/unicase/locale-language-tests (Makefile.am): Link
22249         test-locale-language program with $(LIBTHREAD).
22251 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22253         sys_socket: Add support for OpenVMS.
22254         * lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
22255         * doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.
22257 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22259         sys_resource: Add support for OpenVMS.
22260         * lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
22261         * doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.
22263 2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
22264             Bruno Haible  <bruno@clisp.org>
22266         math: Add support for OpenVMS.
22267         * lib/math.in.h [__VMS]: Include <fp.h>.
22268         * doc/posix-headers/math.texi: Mention OpenVMS issues.
22270 2017-07-15  Bruno Haible  <bruno@clisp.org>
22272         getdtablesize: Add minimal support for OpenVMS.
22273         Reported by John E. Malmberg <wb8tyw@qsl.net>.
22274         * modules/getdtablesize (Description): Fix.
22275         * lib/getdtablesize.c: Fix comment.
22276         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
22277         getdtablesize() function, even though the test fails.
22278         * doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
22279         limitation on OpenVMS.
22281 2017-07-13  Bruno Haible  <bruno@clisp.org>
22283         Revisit cross-compilation guesses.
22284         * m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.
22286 2017-07-13  Bruno Haible  <bruno@clisp.org>
22288         Improve cross-compilation guesses for native Windows.
22289         * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
22290         Windows.
22291         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
22292         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
22293         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22294         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
22295         * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
22296         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
22297         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
22298         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
22299         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22300         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
22301         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22302         * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
22303         * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
22304         * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
22305         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
22306         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
22307         * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
22308         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
22309         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22310         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
22311         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
22312         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
22313         * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
22314         * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
22315         * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
22316         * m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
22317         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
22318         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
22319         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22320         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
22321         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22322         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
22323         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
22324         * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
22325         * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
22326         * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
22327         * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
22328         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22329         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22330         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22331         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22332         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22333         * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
22334         * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
22335         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
22336         * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
22337         * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
22338         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
22339         * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
22340         * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
22341         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
22342         * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
22343         * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
22344         * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
22345         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
22346         * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
22347         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
22348         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22349         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
22350         * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
22351         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22352         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
22353         * m4/modf.m4 (gl_FUNC_MODF): Likewise.
22354         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
22355         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
22356         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
22357         * m4/perror.m4 (gl_FUNC_PERROR): Likewise.
22358         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22359         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
22360         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
22361         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
22362         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
22363         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
22364         * m4/regex.m4 (gl_REGEX): Likewise.
22365         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
22366         * m4/remainderf.m4 (gl_FUNC_REMAINDERF,
22367         gl_FUNC_REMAINDERF_WORKS): Likewise.
22368         * m4/remainderl.m4 (gl_FUNC_REMAINDERL,
22369         gl_FUNC_REMAINDERL_WORKS): Likewise.
22370         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22371         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22372         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22373         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
22374         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22375         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
22376         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
22377         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
22378         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
22379         * m4/stdint.m4 (gl_STDINT_H): Likewise.
22380         * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
22381         * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
22382         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22383         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22384         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
22385         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
22386         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
22387         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
22388         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22389         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22390         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22391         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22392         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22393         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22394         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22395         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22396         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22397         Likewise.
22398         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22399         * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
22400         Windows. Enable also on Autoconf 2.70.
22401         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22402         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22403         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
22404         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
22405         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
22406         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
22407         for native Windows.
22408         (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
22409         gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
22411 2017-07-13  Bruno Haible  <bruno@clisp.org>
22413         Improve cross-compilation guesses for native Windows.
22414         * m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
22415         Windows.
22416         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
22417         memchr.m4.
22418         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
22420 2017-07-13  Bruno Haible  <bruno@clisp.org>
22422         Improve cross-compilation guesses for native Windows.
22423         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
22424         native Windows.
22425         (gl_FUNC_FFLUSH): Update accordingly.
22426         * m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
22427         * m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22429 2017-07-11  Bruno Haible  <bruno@clisp.org>
22431         More systematic m4 quoting and indentation.
22432         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
22433         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
22434         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
22435         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22436         * m4/host-os.m4 (gl_HOST_OS): Likewise.
22437         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
22438         gl_WINSIZE_IN_PTEM): Likewise.
22439         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
22440         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
22441         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22442         * m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
22443         Correct indentation.
22444         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
22445         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
22446         * m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
22447         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22448         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
22449         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22451 2017-07-10  Bruno Haible  <bruno@clisp.org>
22453         round, roundf: Avoid compiler warning in configure test.
22454         * m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
22455         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
22457 2017-07-10  Bruno Haible  <bruno@clisp.org>
22459         getlogin tests: Avoid #ifdefs when sharing code between modules.
22460         * modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
22461         * modules/getlogin-tests (Files): Likewise. Remove
22462         tests/test-getlogin_r.c.
22463         * tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
22464         * tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
22465         * tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
22466         getlogin().
22468 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
22470         getlogin: don’t assume one name per uid
22471         Problem reported by Wolfgang F. Muthmann (Bug#27640).
22472         * modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
22473         (ttyname): Remove test.
22474         * modules/getlogin_r-tests (ttyname): Remove test.
22475         * tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
22476         with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
22477         * tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
22478         getlogin rather than getlogin_r.  This avoids code duplication.
22479         (main): Use isatty and fstat rather than ttyname and stat.
22480         Use getpwnam instead of getpwuid, to be portable to test platforms
22481         that have multiple login names for the same uid.
22483 2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
22484             Bruno Haible  <bruno@clisp.org>
22486         glob: Fix more memory leaks.
22487         * lib/glob.c (glob): Use 'goto out' in order to free dirname before
22488         returning.
22489         Reported by Tim Rühsen.
22491 2017-07-10  Bruno Haible  <bruno@clisp.org>
22493         Make sure $host and $host_os are defined when used.
22494         * m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
22495         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
22496         * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
22497         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22498         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
22499         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
22500         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
22501         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
22502         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22503         * m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
22504         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
22505         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
22506         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
22507         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
22508         m4_ifdef block.
22510 2017-07-09  Bruno Haible  <bruno@clisp.org>
22512         *printf: Fix cross-compilation guess for Solaris.
22513         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
22514         2010-12-21.
22516 2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
22517             Bruno Haible  <bruno@clisp.org>
22519         vasnprintf: port to macOS 10.13
22520         Problem reported by comex in:
22521         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
22522         * lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.
22524 2017-07-06  Bruno Haible  <bruno@clisp.org>
22526         imaxdiv tests: Fix logic.
22527         * tests/test-imaxdiv.c (main): Use == instead of =.
22528         Reported by Coverity.
22530 2017-07-06  Bruno Haible  <bruno@clisp.org>
22532         uninorm/filter: Fix use-after-free bug.
22533         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
22534         sortbuf == filter->sortbuf invariant.
22535         Reported by Coverity.
22537 2017-07-06  Bruno Haible  <bruno@clisp.org>
22539         glob: Fix more memory leaks.
22540         * lib/glob.c (glob): Free dirname before returning.
22541         Reported by Coverity and Tim Rühsen.
22543 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
22545         parse-datetime: fix uninit var bug
22546         Reported by Bruno Haible in:
22547         http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
22548         * lib/parse-datetime.y (parse_datetime2): Do not use
22549         uninitialized.
22551 2017-07-05  Bruno Haible  <bruno@clisp.org>
22553         doc: Update for MSVC 14.
22554         * doc/posix-headers/*.texi: Add info about MSVC 14.
22555         * doc/posix-functions/*.texi: Likewise.
22556         * doc/pastposix-functions/*.texi: Likewise.
22557         * doc/glibc-headers/*.texi: Likewise.
22558         * doc/glibc-functions/*.texi: Likewise.
22560 2017-07-05  Bruno Haible  <bruno@clisp.org>
22562         sched: Fix build failure on native Windows (regression from 2017-06-19).
22563         * m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.
22565 2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>
22567         stdioext: Port to OpenVMS.
22568         * lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
22569         * lib/fpending.c (fpending): Remove non-working VMS specific code.
22570         * lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
22571         * lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
22572         * lib/fpurge.c (fpurge): Likewise.
22573         * lib/freadable.c (freadable): Likewise.
22574         * lib/freadahead.c (freadahead): Likewise.
22575         * lib/freading.c (freading): Likewise.
22576         * lib/freadptr.c (freadptr): Likewise.
22577         * lib/freadseek.c (freadseek): Likewise.
22578         * lib/fseeko.c (fseeko): Likewise.
22579         * lib/fseterr.c (fseterr): Likewise.
22580         * lib/fwritable.c (fwriteable): Likewise.
22581         * lib/fwriting.c (fwriting): Likewise.
22583 2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>
22585         glob: Declare variables at the very start of their scope.
22586         * lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
22587         its separate scope, so the functions will compile on Haiku.
22589 2017-07-01  Bruno Haible  <bruno@clisp.org>
22591         logbl: Work around a glibc bug on PowerPC64LE.
22592         * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
22593         numbers.
22594         * doc/posix-functions/logbl.texi: Update.
22596 2017-06-29  Bruno Haible  <bruno@clisp.org>
22598         stat, fstat: Compile stat-w32.c only on platforms that need it.
22599         Suggested by Paul Eggert.
22600         * modules/stat (configure.ac): Request stat-w32.o only on native
22601         Windows.
22602         * modules/fstat (configure.ac): Likewise.
22604 2017-06-25  Bruno Haible  <bruno@clisp.org>
22606         stat: Improve last change.
22607         * lib/stat-w32.c: Revert last change. Use generic idiom instead.
22609 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
22611         stat: port to xlc 12.01
22612         * lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
22613         12.01 complains "Compilation unit is empty."
22615 2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>
22617         xalloc-oversized: port to icc
22618         * lib/xalloc-oversized.h (xalloc_oversized): Do not use
22619         __builtin_mul_overflow if ICC is defined, as this results in
22620         "undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
22621         20170213.
22623 2017-06-19  Bruno Haible  <bruno@clisp.org>
22625         classpath: Avoid including config.h twice, as it produces warnings.
22626         Reported by John E. Malmberg <wb8tyw@gmail.com>.
22627         * lib/classpath.h: Conditionalize the include of config.h.
22629 2017-06-19  Bruno Haible  <bruno@clisp.org>
22630             John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)
22632         sched: Fix compilation failure on OpenVMS.
22633         * m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
22634         test whether <pthread.h> exists and defines struct sched_param.
22635         * lib/sched.in.h: On OpenVMS, include <pthread.h>.
22637 2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>
22639         diffseq: port to GCC 7 with --enable-gcc-warnings
22640         * lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
22641         heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
22642         not complain about big_snake being defined but not used.
22644 2017-06-15  Bruno Haible  <bruno@clisp.org>
22646         gettext-h: Update theoretical condition for use of variable size arrays.
22647         Reported by Paul Eggert.
22648         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
22649         to include the theoretical condition for availability of variable size
22650         arrays, if we could trust the value of __STDC_VERSION__.
22652 2017-06-12  Bruno Haible  <bruno@clisp.org>
22654         Relicense some modules under LGPLv2+.
22655         Daiki Ueno's approval is in
22656         https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
22657         * modules/uniwidth/base (License): Change to LGPLv2+.
22658         * modules/uniwidth/width (License): Likewise.
22660 2017-06-11  Bruno Haible  <bruno@clisp.org>
22662         localename: Fix test failure on DragonFly BSD.
22663         * lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
22664         like FreeBSD.
22666 2017-06-11  Bruno Haible  <bruno@clisp.org>
22668         float: Fix 'float' and 'isinf' failures on DragonFly BSD.
22669         * m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
22670         * lib/float.in.h: Likewise.
22671         * m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.
22673 2017-06-11  Bruno Haible  <bruno@clisp.org>
22675         gnulib-tool: Clean up after autotools.
22676         * gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
22677         useless directory left over by the Autotools.
22679 2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>
22681         getopt-posix: port to glibc 2.25.90
22682         Problem reported by Daniel P. Berrange in:
22683         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
22684         * lib/getopt-pfx-core.h (_GETOPT_CORE_H):
22685         * lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
22686         #undef if __GETOPT_PREFIX is defined.
22688 2017-06-11  Bruno Haible  <bruno@clisp.org>
22690         strtod-obsolete: Fix license.
22691         * modules/strtod-obsolete (License): Change to LGPL.
22693 2017-06-10  Jim Meyering  <meyering@fb.com>
22695         maint: update to work with GCC7's -Werror=implicit-fallthrough=
22696         * lib/savewd.c (FALLTHROUGH): Define.
22697         (savewd_save, savewd_restore): Use this, rather than a comment,
22698         whenever one switch case falls through into the next.
22700 2017-06-08  Bruno Haible  <bruno@clisp.org>
22702         host-cpu-c-abi: Support for aarch64 ILP32 ABI.
22703         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
22704         ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
22705         case.
22707 2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>
22709         doc: remove robots, add prereqs
22710         * doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
22711         builds.  Simon's robot site does not seem to be up, so remove
22712         mentions of it for now.
22714 2017-06-08  Bruno Haible  <bruno@clisp.org>
22716         gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
22717         * gnulib-tool (func_symlink_target): New function, extracted from
22718         func_symlink.
22719         (func_symlink, func_symlink_if_changed): Use it.
22721 2017-06-08  Bruno Haible  <bruno@clisp.org>
22723         gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
22724         * gnulib-tool (func_ln_s): Determine cp_src correctly.
22726 2017-06-07  Bruno Haible  <bruno@clisp.org>
22728         canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
22729         Reported by John E. Malmberg <wb8tyw@gmail.com> in
22730         <https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
22731         * lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
22732         override, pass 2 arguments to getcwd, not 3.
22734 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
22736         same-inode: port better to VMS 8.2 and later
22737         Problem reported by John E. Malmberg in:
22738         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
22739         * lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
22740         Use the usual POSIX definition.
22741         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.
22743 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
22745         error: fix POSIX violation for va_end
22746         Problem reported by Bruno Haible in:
22747         http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
22748         * lib/error.c (error_tail): Do not call va_end here.
22749         (error, error_at_line): Call it here instead.
22751 2017-05-28  Bruno Haible  <bruno@clisp.org>
22753         c-strtod: Make it usable in C++ mode.
22754         * lib/c-strtod.h: Add 'extern "C"' marker for C++.
22756 2017-05-25  Jim Meyering  <meyering@fb.com>
22758         quotearg: fix compilation failure due to FALLTHROUGH misuse
22759         * lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
22760         macro back to /* fall through */ comment.  The macro can apply only
22761         to a following case statement.  Reported by Assaf Gordon.
22763 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
22765         intprops: port to recent icc
22766         Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
22767         but does not support __builtin_add_overflow etc.
22768         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
22769         Define to 0.
22771 2017-05-23  Karl Berry  <karl@freefriends.org>
22773         * config/srclist.txt (iconv.m4): sync broken, comment out
22774         until (hopefully) the next gettext release.
22776 2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>
22778         Remove repeated words in comments.
22780 2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
22782         fallthrough: reinstate a FALLTHROUGH instance in quotearg
22783         quotearg.c: Reinstate this instance which is significant
22784         when the if branch is not taken.
22786 2017-05-21  Bruno Haible  <bruno@clisp.org>
22788         gnulib-tool: Add options to create hard links.
22789         * gnulib-tool (func_usage): Document options --hardlink,
22790         --local-hardlink, --more-hardlinks.
22791         (func_symlink): Renamed from func_ln.
22792         (func_symlink_if_changed): Renamed from func_ln_if_changed.
22793         (func_hardlink): New function.
22794         (copymode, lcopymode): New variables.
22795         (symbolic, lsymbolic): Remove variables.
22796         (Options): Implement options --hardlink, --local-hardlink,
22797         --more-hardlinks.
22798         (func_should_link): Renamed from func_should_symlink. Set copyaction.
22799         (func_add_file, func_update_file): Update invocation of
22800         func_should_link. Invoke func_hardlink when appropriate.
22801         (func_import): Update comments.
22802         (func_create_testdir): Update invocation of func_should_link. Invoke
22803         func_hardlink when appropriate.
22804         Finally, invoke 'git update-index --refresh' to mitigate the effects of
22805         the hard links on git.
22807 2017-05-20  Bruno Haible  <bruno@clisp.org>
22809         argp: Simplify bit manipulation.
22810         * lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
22811         on a signed integer type.
22813 2017-05-20  Bruno Haible  <bruno@clisp.org>
22815         Avoid wrong configure results with gcc -fsanitize=address.
22816         This completes the work done on 2016-02-06 on this topic.
22817         * m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
22818         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
22819         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22820         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22821         * m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
22822         returning.
22823         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
22824         * m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
22825         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
22826         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
22827         * m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
22828         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
22829         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
22830         free allocated memory before returning.
22831         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22832         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
22833         objects before returning.
22834         * m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
22835         returning.
22837 2017-05-20  Bruno Haible  <bruno@clisp.org>
22839         gnulib-tool: Don't create hard links between gnulib and its testdirs.
22840         * gnulib-tool (func_create_testdir): Don't invoke 'ln'.
22842 2017-05-20  Bruno Haible  <bruno@clisp.org>
22844         argp, tsearch tests: Fix file list.
22845         * modules/argp-tests (Files): Add tests/macros.h.
22846         * modules/tsearch-tests (Files): Likewise.
22848 2017-05-20  Bruno Haible  <bruno@clisp.org>
22850         getopt-posix tests: Remove redundant include.
22851         * tests/test-getopt.h: Don't include "macros.h". It's already included
22852         by tests/test-getopt-main.h.
22854 2017-05-19  Jim Meyering  <meyering@fb.com>
22856         dfa: two small simplifications
22857         * lib/dfa.c (build_state): Avoid repeating longer expressions.
22859 2017-05-18  Jim Meyering  <meyering@fb.com>
22861         fallthrough: update for GCC 7/8
22862         * lib/quotearg.c (FALLTHROUGH): New macro.
22863         Use it whenever one switch case falls through into the next,
22864         replacing "/* Fall through */" comments.  This exposed one
22865         instance of an unwarranted "fall through" comment: unwarranted
22866         because it preceded a "goto" label not a case statement.
22867         * lib/freopen-safer.c (freopen_safer): Likewise.
22868         * lib/fts.c (leaf_optimization_applies): Likewise.
22869         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
22870         * tests/test-getopt_long.h (getopt_long_loop): Likewise.
22871         * tests/test-tsearch.c (mangle_tree): Likewise.  Also include
22872         tests/macros.h for the definition.
22873         * tests/test-argp.c (group1_parser): Likewise.
22874         * tests/test-getopt.h (getopt_loop): Likewise.
22876 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22878         argp: fix shift bug
22879         * lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
22880         behavior on shift overflow, caught by gcc -fsanitize=undefined.
22882         argp: fix pointer-subtraction bug
22883         * lib/argp-help.c (hol_append): Don’t subtract pointers to
22884         different arrays, as this can run afoul of -fcheck-pointer-bounds.
22885         See the thread containing Bruno Haible’s report in:
22886         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html
22888 2017-05-19  Bruno Haible  <bruno@clisp.org>
22890         printf-posix tests: Avoid test failure with "gcc --coverage".
22891         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22892         * tests/test-printf-posix2.c (main): Test a width of 10000000 rather
22893         than 5000000.
22894         * tests/test-fprintf-posix2.c (main): Likewise.
22896 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
22898         closeout: don’t close stderr when sanitizing
22899         * NEWS: Document this.
22900         * lib/closeout.c (__has_feature): New macro, if not already defined.
22901         (SANITIZE_ADDRESS): New constant.
22902         (close_stdout): Don’t close stderr if sanitizing addresses.
22904 2017-05-19  Bruno Haible  <bruno@clisp.org>
22906         get-rusage-data tests: Avoid failure on Linux/glibc.
22907         * tests/test-get-rusage-data.c (main): Don't expect a strict increase
22908         on glibc systems.
22910 2017-05-18  Bruno Haible  <bruno@clisp.org>
22912         localename: Include necessary header files on Cygwin.
22913         * lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
22914         where NL_LOCALE_NAME is defined.
22916 2017-05-18  Bruno Haible  <bruno@clisp.org>
22918         gettext: Update macros from gettext git.
22919         * m4/intldir.m4: Require Autoconf >= 2.60.
22920         * m4/progtest.m4: Fix typos in copyright notice.
22922 2017-05-18  Bruno Haible  <bruno@clisp.org>
22924         copy-file tests: Fix link error (regression from 2017-05-01).
22925         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22926         * modules/copy-file-tests (Makefile.am): Link test-copy-file with
22927         $(LIB_CLOCK_GETTIME).
22929 2017-05-18  Bruno Haible  <bruno@clisp.org>
22931         unicase/special-casing: Fix incompatibility with gperf-3.0.4
22932         (regression from 2017-02-13).
22933         * lib/unicase/special-casing.in.h: Renamed from
22934         lib/unicase/special-casing.h.
22935         * modules/unicase/special-casing (Files): Add
22936         lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
22937         (Makefile.am): Add rule for generating unicase/special-casing.h.
22938         Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
22939         * lib/unicase/special-casing.c: Include "unicase/special-casing.h",
22940         not "special-casing.h".
22941         * lib/unicase/u*.c: Likewise.
22943 2017-05-17  Bruno Haible  <bruno@clisp.org>
22945         README: Don't ask people to read a TeXinfo file.
22946         Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
22947         * README: Tell people how to read the HTML formatted manual.
22949 2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>
22951         parse-datetime: Fix memleak
22952         * lib/parse-datetime.y (parse_datetime2): Cleanup on
22953         localtime_rz() failure.
22955 2017-05-16  Bruno Haible  <bruno@clisp.org>
22957         javacomp: Fix handle leak.
22958         Found by Coverity.
22959         * lib/javacomp.c (get_classfile_version): Close fd before returning.
22961 2017-05-16  Bruno Haible  <bruno@clisp.org>
22963         relocate: Make it easier to reclaim allocated memory.
22964         * lib/relocatable.h (relocate2): New declaration/macro.
22965         * lib/relocatable.c (relocate2): New function.
22966         * doc/relocatable-maint.texi (Supporting Relocation): Mention the
22967         relocate2 function.
22968         * lib/localcharset.c (relocate2): Define fallback.
22969         (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
22970         allocated memory.
22971         * lib/javaversion.c (relocate2): Define fallback.
22972         (javaexec_version): Invoke relocate2 instead of relocate. Free the
22973         allocated memory.
22975 2017-05-16  Bruno Haible  <bruno@clisp.org>
22977         relocate: Simplify EMX specific code.
22978         * lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
22979         ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
22981 2017-05-16  Bruno Haible  <bruno@clisp.org>
22983         sigpipe tests: Fix file list.
22984         * modules/sigpipe-tests (Files): Add tests/macros.h.
22986 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
22988         manywarnings: update for GCC 7
22989         * build-aux/gcc-warning.spec:
22990         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
22991         Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
22992         requires a non-comment fallthrough attribute.  This is a bit
22993         cleaner than the comment versions.
22994         * lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
22995         * lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
22996         Use it whenever one switch case falls through into the next.
22997         * lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
22998         Use FALLTHROUGH macro.
23000 2017-05-15  Bruno Haible  <bruno@clisp.org>
23002         gnulib-tool: Fix generated code when libtests contains module 'alloca'.
23003         * gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
23004         @ALLOCA@, not @LTALLOCA@.
23006 2017-05-15  Bruno Haible  <bruno@clisp.org>
23008         sys_select: Avoid "was expanded before it was required" warning.
23009         * modules/sys_select (configure.ac): Require, not invoke,
23010         gl_HEADER_SYS_SELECT.
23012 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
23014         gnulib-tool: improve GNU Make debugging
23015         * gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
23016         Report autoconf diagnostics when it fails, in the output makefile.
23018 2017-05-14  Bruno Haible  <bruno@clisp.org>
23020         stat-time tests: Improve comment.
23021         * tests/test-stat-time.c: Add hyperlink, from Paul Eggert.
23023 2017-05-14  Bruno Haible  <bruno@clisp.org>
23025         same-inode: Adapt for windows-stat-inodes.
23026         * lib/same-inode.h: Include <sys/types.h>.
23027         (SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
23028         * modules/same-inode (Depends-on): Add sys_types.
23030 2017-05-14  Bruno Haible  <bruno@clisp.org>
23032         windows-stat-inodes: New module.
23033         * m4/windows-stat-inodes.m4: New file.
23034         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
23035         * modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
23036         * lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
23037         (_GL_WINDOWS_STAT_INODES): New macro.
23038         * lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
23039         (GetFileInformationByHandleExFunc): New variable.
23040         (initialize): Initialize it.
23041         (_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
23042         st_ino appropriately.
23043         * lib/stat.c (rpl_stat): Use the directory entry based approach only as
23044         a fallback, because it does not provide st_dev and st_ino values.
23045         * modules/fstat (Depends-on): Add 'verify'.
23046         * modules/windows-stat-inodes: New file.
23047         * doc/windows-stat-inodes.texi: New file.
23048         * doc/gnulib.texi: Include it.
23049         * doc/posix-headers/sys_stat.texi: Mention the new module.
23051 2017-05-14  Bruno Haible  <bruno@clisp.org>
23053         stat-time tests: Workaround for native Windows.
23054         * tests/test-stat-time.c: Include <stdio.h>, <time.h>.
23055         (filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
23056         New variables.
23057         (initialize_filenames): New function.
23058         (main): Invoke it.
23059         (cleanup, prepare_test): Update.
23061 2017-05-14  Bruno Haible  <bruno@clisp.org>
23063         stat-time: Adapt for windows-stat-timespec.
23064         * lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
23065         entire st_ctim field.
23067 2017-05-13  Jim Meyering  <meyering@fb.com>
23069         maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
23070         * top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
23071         file that uses the assume macro, claiming that verify.h is unused.
23073 2017-05-13  Bruno Haible  <bruno@clisp.org>
23075         Use symbolic values for _WIN32_WINNT.
23076         * lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
23077         * lib/sethostname.c (_WIN32_WINNT): Likewise.
23079 2017-05-13  Bruno Haible  <bruno@clisp.org>
23081         year2038: New module.
23082         * m4/year2038.m4: New file.
23083         * modules/year2038: New file.
23084         * doc/year2038.texi: New file.
23085         * doc/gnulib.texi: Include it.
23087 2017-05-13  Bruno Haible  <bruno@clisp.org>
23089         largefile: Simplify.
23090         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
23091         of _GL_WINDOWS_64_BIT_ST_SIZE.
23093 2017-05-13  Bruno Haible  <bruno@clisp.org>
23095         largefile: Improve and document.
23096         * m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
23097         the mingw headers already define 'stat' appropriately.
23098         * modules/largefile (Description): Clarify.
23099         * doc/largefile.texi: New file.
23100         * doc/gnulib.texi: Include it.
23101         * doc/posix-headers/sys_types.texi: Update.
23103 2017-05-13  Bruno Haible  <bruno@clisp.org>
23105         truncate: New module.
23106         * lib/unistd.in.h (truncate): New declaration.
23107         * lib/truncate.c: New file.
23108         * m4/truncate.m4: New file.
23109         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
23110         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
23111         REPLACE_TRUNCATE.
23112         * modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
23113         HAVE_TRUNCATE, REPLACE_TRUNCATE.
23114         * modules/truncate: New file.
23115         * tests/test-unistd-c++.cc (truncate): Test signature.
23116         * doc/posix-functions/truncate.texi: Mention the new module.
23118         * tests/test-truncate.c: New file.
23119         * modules/truncate-tests: New file.
23121 2017-05-13  Bruno Haible  <bruno@clisp.org>
23123         windows-stat-timespec: New module.
23124         * modules/windows-stat-timespec: New file.
23125         * m4/windows-stat-timespec.m4: New file.
23126         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
23127         * modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
23128         * lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
23129         fields st_atim, st_mtim, st_ctim.
23130         (st_atime, st_mtime, st_ctime): Define as macros.
23131         (_GL_WINDOWS_STAT_TIMESPEC): New macro.
23132         * lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
23133         [_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
23134         * lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
23135         [_GL_WINDOWS_STAT_TIMESPEC]: New function.
23136         (_gl_convert_FILETIME_to_POSIX): Adjust coding style.
23137         (_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23138         FILETIME to 'struct timespec', not 'time_t'.
23139         * lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
23140         FILETIME to 'struct timespec', not 'time_t'.
23141         * lib/stat-time.h (STAT_TIMESPEC): Define also if
23142         _GL_WINDOWS_STAT_TIMESPEC.
23143         * doc/windows-stat-timespec.texi: New file.
23144         * doc/gnulib.texi: Include it.
23146 2017-05-13  Bruno Haible  <bruno@clisp.org>
23148         windows-stat-override: New module.
23149         * lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
23150         definition. Define GNULIB_defined_struct_stat.
23151         (fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
23152         link error if this symbol is used and the corresponding module is not
23153         in use.
23154         (_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
23155         GNULIB_OVERRIDES_STRUCT_STAT.
23156         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
23157         GNULIB_OVERRIDES_STRUCT_STAT.
23158         * modules/sys_stat (Makefile.am): Substitute
23159         GNULIB_OVERRIDES_STRUCT_STAT.
23160         * modules/windows-stat-override: New file.
23162 2017-05-13  Bruno Haible  <bruno@clisp.org>
23164         fstat: Fix module dependency conditions.
23165         * modules/fstat (Depends-on): Fix typo.
23167 2017-05-13  Bruno Haible  <bruno@clisp.org>
23169         stat, fstat: Complete removal of old native Windows code.
23170         * lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
23171         * lib/fstat.c: Likewise.
23172         * lib/stat-w32.c: Likewise.
23174 2017-05-13  Bruno Haible  <bruno@clisp.org>
23176         stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
23177         * lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.
23179 2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>
23181         getopt-posix: port to mingw
23182         * lib/getopt.c (flockfile, funlockfile): Define on mingw.
23183         Problem reported by Daniel P. Berrage in:
23184         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html
23186 2017-05-11  Bruno Haible  <bruno@clisp.org>
23188         gettimeofday: Increase precision on mingw.
23189         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
23190         Set REPLACE_GETTIMEOFDAY to 1 on mingw.
23191         * lib/gettimeofday.c (gettimeofday): On native Windows, use the
23192         GetSystemTimePreciseAsFileTime based implementation always.
23193         * doc/posix-functions/gettimeofday.texi: Mention precision problem on
23194         mingw.
23196 2017-05-11  Bruno Haible  <bruno@clisp.org>
23198         poll: Fix confusion between SOCKETs and FDs on native Windows.
23199         Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
23200         * lib/poll.c [WINDOWS_NATIVE]: Undefine select.
23202 2017-05-11  Bruno Haible  <bruno@clisp.org>
23204         doc: Clarify doc about socket functions on native Windows.
23205         This reworks doc that was added on 2008-09-29.
23206         * doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
23207         clearer wording.
23208         * doc/posix-functions/accept.texi: Use clearer wording.
23209         * doc/posix-functions/bind.texi: Likewise.
23210         * doc/posix-functions/connect.texi: Likewise.
23211         * doc/posix-functions/getpeername.texi: Likewise.
23212         * doc/posix-functions/getsockname.texi: Likewise.
23213         * doc/posix-functions/getsockopt.texi: Likewise.
23214         * doc/posix-functions/ioctl.texi: Likewise.
23215         * doc/posix-functions/listen.texi: Likewise.
23216         * doc/posix-functions/recv.texi: Likewise.
23217         * doc/posix-functions/recvfrom.texi: Likewise.
23218         * doc/posix-functions/send.texi: Likewise.
23219         * doc/posix-functions/sendto.texi: Likewise.
23220         * doc/posix-functions/setsockopt.texi: Likewise.
23221         * doc/posix-functions/shutdown.texi: Likewise.
23222         * doc/posix-functions/socket.texi: Likewise.
23224 2017-05-10  Bruno Haible  <bruno@clisp.org>
23226         poll: Fix link error on native Windows.
23227         * lib/poll.c [WINDOWS_NATIVE]: Undefine recv.
23229 2017-05-10  Bruno Haible  <bruno@clisp.org>
23231         time: Fix missing initialization of HAVE_TIMEZONE_T.
23232         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
23233         here...
23234         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
23235         * m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
23236         gl_HEADER_SYS_TIME_H_DEFAULTS.
23237         * modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
23238         (configure.ac): Remove useless quoting.
23240 2017-05-10  Bruno Haible  <bruno@clisp.org>
23242         Implement a way to opt out from MSVC support, part 2.
23243         * modules/msvc-inval (Include): Document recommended idiom.
23244         * modules/msvc-nothrow (Include): Likewise.
23246         Implement a way to opt out from MSVC support.
23247         This is useful for Emacs.
23248         * modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
23249         * lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
23250         * lib/error.c: Likewise.
23251         * lib/fcntl.c: Likewise.
23252         * lib/flock.c: Likewise.
23253         * lib/fstat.c: Likewise.
23254         * lib/fsync.c: Likewise.
23255         * lib/ioctl.c: Likewise.
23256         * lib/isapipe.c: Likewise.
23257         * lib/lseek.c: Likewise.
23258         * lib/nonblocking.c: Likewise.
23259         * lib/poll.c: Likewise.
23260         * lib/select.c: Likewise.
23261         * lib/sockets.h: Likewise.
23262         * lib/sockets.c: Likewise.
23263         * lib/stdio-read.c: Likewise.
23264         * lib/stdio-write.c: Likewise.
23265         * lib/utimens.c: Likewise.
23266         * lib/w32sock.h: Likewise.
23267         * lib/w32spawn.h: Likewise.
23268         * tests/test-cloexec.c: Likewise.
23269         * tests/test-dup-safer.c: Likewise.
23270         * tests/test-dup2.c: Likewise.
23271         * tests/test-dup3.c: Likewise.
23272         * tests/test-fcntl.c: Likewise.
23273         * tests/test-pipe.c: Likewise.
23274         * tests/test-pipe2.c: Likewise.
23275         * lib/ftruncate.c: Likewise.
23276         (chsize_nothrow): Renamed from chsize.
23277         * lib/msvc-nothrow.c: Don't include msvc-inval.h if
23278         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23279         * lib/close.c: Likewise.
23280         * lib/dup.c: Likewise.
23281         * lib/fclose.c: Likewise.
23282         * lib/raise.c: Likewise.
23283         * tests/test-fgetc.c: Likewise.
23284         * tests/test-fputc.c: Likewise.
23285         * tests/test-fread.c: Likewise.
23286         * tests/test-fwrite.c: Likewise.
23287         * lib/getdtablesize.c: Likewise.
23288         (_setmaxstdio_nothrow): Renamed from _setmaxstdio.
23289         * lib/isatty.c: Don't include msvc-inval.h if
23290         HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
23291         Include <io.h> as an alternative to msvc-nothrow.h.
23292         * lib/read.c: Likewise.
23293         * lib/write.c: Likewise.
23294         * lib/dup2.c: Likewise.
23295         (dup2_nothrow): New function.
23296         (ms_windows_dup2): Use it.
23297         * m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
23298         HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
23299         * m4/dup.m4 (gl_FUNC_DUP): Likewise.
23300         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
23301         * m4/raise.m4 (gl_FUNC_RAISE): Likewise.
23302         * m4/read.m4 (gl_FUNC_READ): Likewise.
23303         * m4/write.m4 (gl_FUNC_WRITE): Likewise.
23304         * doc/windows-without-msvc.texi: New file.
23305         * doc/gnulib.texi (Native Windows Support without MSVC Support): New
23306         section.
23308 2017-05-10  Bruno Haible  <bruno@clisp.org>
23310         wait-process: Adjust native Windows support.
23311         * lib/wait-process.c: Use the usual condition for recognizing a native
23312         Windows platform.
23314 2017-05-10  Bruno Haible  <bruno@clisp.org>
23316         doc: New chapter "Native Windows Support".
23317         * doc/gnulib.texi (Native Windows Support): New chapter.
23318         * doc/windows-libtool.texi: Small wording changes.
23319         * doc/windows-sockets.texi: Small wording and formatting changes.
23321 2017-05-10  Bruno Haible  <bruno@clisp.org>
23323         doc: Move section "Library version handling".
23324         * doc/gnulib.texi: Move section "Library version handling"
23325         from chapter "Miscellaneous Notes" to chapter "Particular Modules".
23327 2017-05-10  Bruno Haible  <bruno@clisp.org>
23329         doc: Move section "Running self-tests under valgrind".
23330         * doc/gnulib.texi: Move section "Running self-tests under valgrind"
23331         from chapter "Particular Modules" to chapter "Miscellaneous Notes".
23333 2017-05-10  Bruno Haible  <bruno@clisp.org>
23335         doc: New chapter "Build Infrastructure Modules".
23336         * doc/gnulib.texi (Build Infrastructure Modules): New chapter.
23338 2017-05-10  Bruno Haible  <bruno@clisp.org>
23340         Prepare for reordering sections in the manual.
23341         * doc/gnulib.texi: Move several sections to separate files. Include
23342         these files.
23343         * doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
23344         * doc/obsolete.texi: Likewise.
23345         * doc/extra-tests.texi: Likewise.
23346         * doc/transversal.texi: Likewise.
23347         * doc/namespace.texi: Likewise.
23348         * doc/check-version.texi: Likewise.
23349         * doc/windows-sockets.texi: Likewise.
23350         * doc/windows-libtool.texi: Likewise.
23351         * doc/licenses-texi.texi: Likewise.
23352         * doc/build-automation.texi: Likewise.
23353         * doc/c-locale.texi: Likewise.
23355 2017-05-10  Bruno Haible  <bruno@clisp.org>
23357         Fix instructions how to update manual on www.gnu.org.
23358         * doc/README: Add -I option, so that texi2dvi finds texinfo.tex.
23360 2017-05-09  Bruno Haible  <bruno@clisp.org>
23362         tzset: Expand comment about TZ problem on native Windows.
23363         * lib/tzset.c (tzset): Elaborate comment, based on explanations by
23364         Paul Eggert.
23365         * lib/ctime.c (rpl_ctime): Likewise.
23366         * lib/localtime.c (rpl_localtime): Likewise.
23367         * lib/mktime.c (mktime): Likewise.
23368         * lib/strftime-fixes.c (rpl_strftime): Likewise.
23369         * lib/wcsftime.c (rpl_wcsftime): Likewise.
23371 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
23373         intprops: don’t depend on ‘verify’
23374         Problem reported by Ævar Arnfjörð Bjarmason in:
23375         http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
23376         * lib/intprops.h: Do not include verify.h, and move compile-time
23377         checks from here ...
23378         * tests/test-intprops.c (main): ... to here, if they’re not here
23379         already.  Check widths of other standard integer types.
23380         * modules/intprops (Depends-on): Remove ‘verify’.
23382 2017-05-07  Bruno Haible  <bruno@clisp.org>
23384         utimens: On native Windows, support 100ns resolution also if fd < 0.
23385         * lib/utime.in.h: Include <time.h>.
23386         (_gl_utimens_windows): New declaration.
23387         * lib/utime.c (_gl_utimens_windows): New function, based on utime.
23388         (utime): Invoke it.
23389         * lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
23390         instead of utime.
23391         * modules/utime (Depends-on): Add 'time'.
23393 2017-05-07  Bruno Haible  <bruno@clisp.org>
23395         utimens: Improve error code on native Windows.
23396         * lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
23397         error code EACCES, not EINVAL.
23399 2017-05-07  Bruno Haible  <bruno@clisp.org>
23401         utime: Handle more Windows error codes.
23402         * lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
23403         Based on explanations by Billy O'Neal.
23405 2017-05-05  Bruno Haible  <bruno@clisp.org>
23407         crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
23408         * lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
23409         union.
23410         (rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
23411         (rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
23412         value of cipher->IV.
23414 2017-05-05  Bruno Haible  <bruno@clisp.org>
23416         wctype-h-c++-tests: Update.
23417         * tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.
23419 2017-05-05  Bruno Haible  <bruno@clisp.org>
23421         wchar-c++-tests: Update.
23422         * tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.
23424 2017-05-05  Bruno Haible  <bruno@clisp.org>
23426         utime-h-c++-tests: New module.
23427         * tests/test-utime-h-c++.cc: New file.
23428         (utime): Declare, missing since 2017-04-30.
23429         * modules/utime-h-c++-tests: New file.
23431 2017-05-05  Bruno Haible  <bruno@clisp.org>
23433         unistd-c++-tests: Update.
23434         * tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
23435         (read): Declare, missing since 2011-04-15.
23436         (sethostname): Declare, missing since 2011-12-03.
23438 2017-05-05  Bruno Haible  <bruno@clisp.org>
23440         time-c++-tests: Update.
23441         * tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
23442         (localtime, gmtime): Declare, missing since 2017-04-30.
23443         (ctime): Declare, missing since 2017-04-30.
23444         (strftime): Declare, missing since 2017-04-30.
23445         (tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
23446         2015-07-24.
23448 2017-05-05  Bruno Haible  <bruno@clisp.org>
23450         sys_resource-c++-tests: New module.
23451         * tests/test-sys_resource-c++.cc: New file.
23452         (getrusage): Declare, missing since 2012-04-13.
23453         * modules/sys_resource-c++-tests: New file.
23455 2017-05-05  Bruno Haible  <bruno@clisp.org>
23457         strings-c++-tests: New module.
23458         * tests/test-strings-c++.cc: New file.
23459         (ffs): Declare, missing since 2011-07-12.
23460         * modules/strings-c++-tests: New file.
23462 2017-05-05  Bruno Haible  <bruno@clisp.org>
23464         string-c++-tests: Update.
23465         * tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
23466         (ffsll): Declare, missing since 2011-07-15.
23468 2017-05-05  Bruno Haible  <bruno@clisp.org>
23470         stdlib-c++-tests: Update.
23471         * tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
23472         2011-10-18.
23473         (ptsname_r): Declare, missing since 2011-11-07.
23474         (qsort_r): Declare, missing since 2014-08-29.
23475         (random, srandom, initstate, setstate): Declare, missing since
23476         2012-01-14.
23477         (secure_getenv): Declare, missing since 2013-02-05.
23479 2017-05-05  Bruno Haible  <bruno@clisp.org>
23481         stdio-c++-tests: Update.
23482         * tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.
23484 2017-05-05  Bruno Haible  <bruno@clisp.org>
23486         signal-h-c++-tests: Update.
23487         * tests/test-signal-h-c++.cc (raise): Remove redundant declaration.
23489 2017-05-05  Bruno Haible  <bruno@clisp.org>
23491         math-c++-tests: Update.
23492         * tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
23493         (fma): Declare, missing since 2011-10-17.
23494         (fmal): Declare, missing since 2011-10-17.
23496 2017-05-05  Bruno Haible  <bruno@clisp.org>
23498         locale-c++-tests: Update.
23499         * tests/test-locale-c++.cc (localeconv): Declare, missing since
23500         2012-03-25.
23502 2017-05-05  Bruno Haible  <bruno@clisp.org>
23504         inttypes-c++-tests: New module.
23505         * tests/test-inttypes-c++.cc: New file.
23506         (strtoimax): Declare, missing since 2012-01-05.
23507         (strtoumax): Declare, missing since 2012-01-05.
23508         * modules/inttypes-c++-tests: New file.
23510 2017-05-05  Bruno Haible  <bruno@clisp.org>
23512         dirent-c++-tests: Update.
23513         * tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
23514         (rewinddir): Declare, missing since 2011-09-13.
23515         (dirfd): Declare, missing since 2010-03-08.
23517 2017-05-04  Bruno Haible  <bruno@clisp.org>
23519         argp: Fix mistake in 2017-04-23 commit.
23520         * lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
23521         assume that strerror_r returns 'int', not 'char *'.
23523 2017-05-04  Reuben Thomas  <rrt@sc3d.org>
23525         argp: Fix typo.
23526         * lib/argp-help.c (argp_doc): Fix spelling mistake in comment.
23528 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
23530         utimens: port to Emacs + MS-Windows
23531         Skip the new MS-Windows-specific code if Emacs.
23532         * lib/utimens.c [EMACS_CONFIGUATION]:
23533         Avoid new MS-Windows-specific code.
23534         (USE_SETFILETIME): New macro.
23535         (fdutimens): Use it.
23537 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
23539         tzset: update doc for TZ problems on MS-Windows
23540         * doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
23541         * doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
23542         * doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
23543         * doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
23544         * doc/posix-functions/wcsftime.texi:
23545         Mention some issues with TZ under MS-Windows.
23547 2017-05-01  Bruno Haible  <bruno@clisp.org>
23549         copy-file: Fix build error on mingw.
23550         * modules/copy-file (Depends-on): Add 'close'.
23552 2017-05-01  Bruno Haible  <bruno@clisp.org>
23554         tzset: Work around TZ problem on native Windows.
23555         * m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
23556         Windows, set REPLACE_TZSET to 1.
23557         * lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
23558         invoke '_tzset' instead of 'tzset'.
23559         * doc/posix-functions/tzset.texi: Mention the native Windows workaround.
23561         * modules/time_rz (Depends-on): Add tzset.
23562         * lib/time_rz.c (tzset): Remove fallback definition.
23563         * m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.
23565 2017-05-01  Bruno Haible  <bruno@clisp.org>
23567         mktime: Fix dependencies.
23568         * modules/mktime (Depends-on): Add 'time'.
23570 2017-05-01  Bruno Haible  <bruno@clisp.org>
23572         New module 'localtime-buffer', split off from module 'gettimeofday'.
23573         * lib/localtime-buffer.h: New file.
23574         * lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
23575         * lib/time.in.h (tzset): New declaration.
23576         (localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
23577         * lib/tzset.c: New file, extracted from lib/gettimeofday.c.
23578         * lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
23579         moved to lib/localtime-buffer.c or lib/tzset.c.
23580         * m4/localtime-buffer.m4: New file.
23581         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
23582         HAVE_TZSET, REPLACE_TZSET.
23583         * m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
23584         here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
23585         gl_LOCALTIME_BUFFER_NEEDED.
23586         (gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
23587         since 2007-01-18.
23588         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
23589         tzset.
23590         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
23591         Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
23592         gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
23593         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
23594         * modules/localtime-buffer: New file.
23595         * modules/time (Depends-on): Remove 'gettimeofday'.
23596         (Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
23597         REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
23598         * modules/tzset (Description): Enable hyperlink to POSIX spec.
23599         (Files): Add lib/tzset.c.
23600         (Depends-on): Remove gettimeofday. Add localtime-buffer, time.
23601         (configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
23602         gl_TIME_MODULE_INDICATOR.
23603         * modules/gettimeofday (Depends-on): Add localtime-buffer.
23605 2017-05-01  Bruno Haible  <bruno@clisp.org>
23607         copy-file: Preserve sub-second time stamps.
23608         * lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
23609         (qcopy_file_preserving): Use 'struct timespec' and utimens() to
23610         transport the time stamps from the original file to the destination
23611         file.
23612         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
23613         * modules/copy-file (Depends-on): Add stat-time, utimns instead of
23614         utime-h.
23616 2017-05-01  Bruno Haible  <bruno@clisp.org>
23618         wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
23619         * lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
23620         also on MSVC.
23621         Reported by Eli Zaretskii <eliz@gnu.org>.
23623 2017-05-01  Bruno Haible  <bruno@clisp.org>
23625         wchar: Fix compilation error with the original mingw.org mingw.
23626         * lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23627         <stddef.h> instead.
23628         * m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
23629         gl_WCTYPE_H.
23630         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
23631         gl_TYPE_WINT_T_PREREQ instead.
23632         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
23633         * modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
23634         Reported by Eli Zaretskii <eliz@gnu.org>.
23636 2017-04-30  Bruno Haible  <bruno@clisp.org>
23638         utimecmp: Add support for native Windows.
23639         * lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.
23641 2017-04-30  Bruno Haible  <bruno@clisp.org>
23643         utimens: Add support for native Windows.
23644         * lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
23645         (fdutimens): Provide a native Windows implementation, like utime.c with
23646         added tv_nsec support.
23647         * modules/utimens (Depends-on): Add msvc-nothrow, utime.
23648         Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.
23650 2017-04-30  Bruno Haible  <bruno@clisp.org>
23652         wcsftime: New module.
23653         * lib/wchar.in.h (wcsftime): New declaration.
23654         * lib/wcsftime.c: New file.
23655         * m4/wcsftime.m4: New file.
23656         * m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
23657         (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
23658         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23659         * modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
23660         HAVE_WCSFTIME, REPLACE_WCSFTIME.
23661         * modules/wcsftime: New file.
23662         * doc/posix-functions/wcsftime.texi: Mention the new module.
23664 2017-04-30  Bruno Haible  <bruno@clisp.org>
23666         strftime-fixes: New module.
23667         * lib/time.in.h (strftime): New declaration.
23668         * lib/strftime-fixes.c: New file.
23669         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
23670         (gl_FUNC_STRFTIME): Remove macro.
23671         * m4/strftime-fixes.m4: New file.
23672         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
23673         REPLACE_STRFTIME.
23674         * modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
23675         REPLACE_STRFTIME.
23676         * modules/strftime-fixes: New file.
23677         * doc/posix-functions/strftime.texi: Mention the new module.
23679 2017-04-30  Bruno Haible  <bruno@clisp.org>
23681         mktime: Work around TZ problem on native Windows.
23682         * lib/mktime.c: Add #ifs to make the algorithmic workaround independent
23683         from the native Windows workaround.
23684         * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
23685         gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
23686         'guessing no'.
23687         (gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
23688         Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
23689         NEED_MKTIME_WINDOWS.
23690         (gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
23691         gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
23692         NEED_MKTIME_INTERNAL.
23693         * m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
23694         gl_FUNC_MKTIME. Cope with 'guessing yes' value.
23695         * modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
23696         not REPLACE_MKTIME.
23697         * doc/posix-functions/mktime.texi: Mention the native Windows
23698         workaround.
23700 2017-04-30  Bruno Haible  <bruno@clisp.org>
23702         localtime: New module.
23703         * lib/time.in.h (localtime): Declare also if requested by module
23704         'localtime'.
23705         * lib/localtime.c: New file.
23706         * m4/localtime.m4: New file.
23707         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
23708         * modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
23709         * modules/localtime: New file.
23710         * doc/posix-functions/localtime.texi: Mention the new module.
23712 2017-04-30  Bruno Haible  <bruno@clisp.org>
23714         ctime: New module.
23715         * lib/time.in.h (ctime): New declaration.
23716         * lib/ctime.c: New file.
23717         * m4/ctime.m4: New file.
23718         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
23719         REPLACE_CTIME.
23720         * modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
23721         * modules/ctime: New file.
23722         * doc/posix-functions/ctime.texi: Mention the new module.
23724 2017-04-30  Bruno Haible  <bruno@clisp.org>
23726         gettimeofday: Provide higher resolution on native Windows.
23727         * lib/gettimeofday.c: Don't include <sys/timeb.h>.
23728         (GetSystemTimePreciseAsFileTimeFuncType): New variable.
23729         (initialize): Initialize it.
23730         (gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
23731         'struct timeval'. Don't use _ftime().
23732         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
23733         <sys/timeb.h> and _ftime.
23735 2017-04-30  Bruno Haible  <bruno@clisp.org>
23737         Document the problem with the Cygwin environment variable TZ.
23738         * doc/posix-functions/tzset.texi: Add note about TZ.
23739         * doc/posix-functions/ctime.texi: Likewise.
23740         * doc/posix-functions/localtime.texi: Likewise.
23741         * doc/posix-functions/mktime.texi: Likewise.
23742         * doc/posix-functions/strftime.texi: Likewise.
23743         * doc/posix-functions/wcsftime.texi: Likewise.
23744         * doc/pastposix-functions/ftime.texi: Likewise.
23746 2017-04-30  Bruno Haible  <bruno@clisp.org>
23748         utime-tests: New module.
23749         * tests/test-utime.c: New file, based on tests/test-utimens.h.
23750         * tests/test-utimens-common.h: Include <sys/stat.h>.
23751         * modules/utime-tests: New file.
23753 2017-04-29  Bruno Haible  <bruno@clisp.org>
23755         utime: New module.
23756         * lib/utime.in.h: Add comment for snippets.
23757         (utime): New declaration.
23758         * lib/utime.c: New file.
23759         * m4/utime.m4: New file.
23760         * m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
23761         (gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
23762         REPLACE_UTIME.
23763         * modules/utime-h (Depends-on): Add snippets.
23764         (Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
23765         Insert snippets.
23766         * modules/utime: New file.
23767         * doc/posix-functions/utime.texi: Mention the new module.
23769 2017-04-29  Bruno Haible  <bruno@clisp.org>
23771         utime-h: Modernize handling of 'struct utimbuf'.
23772         * lib/utime.in.h: Include next <utime.h> if it exists.
23773         (utimbuf): Define to _utimbuf on native Windows.
23774         * m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
23775         Set UTIME_H on native Windows.
23776         (gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
23777         * modules/utime-h (Depends-on): Add include_next.
23778         (Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
23779         PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.
23781         * lib/utimens.c (utimbuf): Remove fallback definition.
23782         * m4/utimens.m4 (gl_UTIMENS): Don't require
23783         gl_CHECK_TYPE_STRUCT_UTIMBUF.
23784         * m4/utimbuf.m4: Remove file.
23785         * modules/utimens (Files): Remove m4/utimbuf.m4.
23787 2017-04-29  Bruno Haible  <bruno@clisp.org>
23789         Make use of module 'utime-h'.
23790         * modules/copy-file (Depends-on): Add utime-h.
23791         * lib/copy-file.c: Assume that <utime.h> exists.
23792         * m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.
23794         * modules/utimens (Depends-on): Add utime-h.
23795         * lib/utimens.c: Assume that <utime.h> exists.
23797 2017-04-29  Bruno Haible  <bruno@clisp.org>
23799         utime-h: New module.
23800         * m4/utime_h.m4: New file.
23801         * lib/utime.in.h: New file.
23802         * modules/utime-h: New file.
23803         * doc/posix-headers/utime.texi: Mention the new module.
23805         * tests/test-utime-h.c: New file.
23806         * modules/utime-h-tests: New file.
23808 2017-04-30  Bruno Haible  <bruno@clisp.org>
23810         Fix a few typos.
23811         * m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
23812         * m4/stat.m4 (gl_FUNC_STAT): Fix comment.
23813         * doc/posix-functions/fstat.texi: Fix a plural typo.
23814         * doc/posix-functions/stat.texi: Likewise.
23815         * m4/include_next.m4: Update comments.
23817 2017-04-29  Bruno Haible  <bruno@clisp.org>
23819         error: Fix mistake in 2017-04-23 commit.
23820         * lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
23821         assume that strerror_r returns 'int', not 'char *'.
23823 2017-04-29  Bruno Haible  <bruno@clisp.org>
23825         stat: Fix time_t values and other problems on native Windows platforms.
23826         * doc/posix-functions/stat.texi: Mention the problem with the Microsoft
23827         implementations of stat().
23828         * lib/stat.c: Include filename.h instead of dosname.h. Include
23829         malloca.h, stat-w32.h.
23830         (is_unc_root): New function.
23831         (rpl_stat): New implementation for native Windows. Remove
23832         REPLACE_FUNC_STAT_DIR code.
23833         * m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
23834         Don't define REPLACE_FUNC_STAT_DIR.
23835         (gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
23836         * modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23837         (Depends-on): Remove dosname. Add filename, malloca.
23838         (configure.ac): Also compile lib/stat-w32.c.
23840 2017-04-29  Bruno Haible  <bruno@clisp.org>
23842         fstat: Fix time_t values on native Windows platforms.
23843         * doc/posix-functions/fstat.texi: Mention the problem with st_*time.
23844         * lib/stat-w32.h: New file.
23845         * lib/stat-w32.c: New file.
23846         * lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
23847         stat-w32.h instead.
23848         (fstat_nothrow): Remove function.
23849         (rpl_fstat): Implement by means of _gl_fstat_by_handle.
23850         * m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
23851         always.
23852         (gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
23853         * modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
23854         (Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
23855         (configure.ac): Also compile lib/stat-w32.c.
23857 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
23859         getopt: port to Solaris 10 with circa-1997 glibc getopt.h
23860         Problem reported by Assaf Gordon and Gavin Smith in:
23861         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
23862         * lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
23863         #define this, too.
23865 2017-04-29  Bruno Haible  <bruno@clisp.org>
23867         strerror_r-posix: Fixes for MSVC 14.
23868         * lib/strerror_r.c: Include <stdarg.h>.
23869         (strerror_r): Provide error messages for errno values 100...140.
23870         * doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.
23872 2017-04-28  Bruno Haible  <bruno@clisp.org>
23874         noreturn: New module.
23875         * lib/noreturn.h: New file.
23876         * modules/noreturn: New file.
23877         * tests/test-noreturn.c: New file.
23878         * modules/noreturn-tests: New file.
23879         * tests/test-noreturn-c++.cc: New file.
23880         * modules/noreturn-c++-tests: New file.
23882 2017-04-27  Bruno Haible  <bruno@clisp.org>
23884         wctype-h: Fix compilation error with the original mingw.org mingw.
23885         * m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
23886         HAVE_CRTDEFS_H.
23887         * modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
23888         * lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
23889         <stddef.h> instead.
23890         Reported and proposed by Eli Zaretskii <eliz@gnu.org>.
23892 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23894         nap.h: Fix compilation on non windows platforms
23895         * tests/nap.h: Move misplaced endif.
23897 2017-04-26  Pádraig Brady  <P@draigBrady.com>
23898         and Paul Eggert  <eggert@cs.ucla.edu>
23900         time_rz: fix heap buffer overflow vulnerability
23901         Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
23902         * lib/time_rz.c (save_abbr): Rearrange the calculation determining
23903         whether there is enough buffer space available, thus avoiding
23904         the problematic promotion of signed to unsigned causing an invalid
23905         comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
23906         the start of the buffer.
23907         * tests/test-parse-datetime.c (main): Add a test case written by
23908         Paul Eggert, which overwrites enough of the heap so that
23909         standard glibc will fail with "free(): invalid pointer"
23910         without the patch applied.
23912 2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>
23914         xalloc: add missing integer overflow check
23915         * lib/xalloc.h (x2nrealloc): Also check for multiplication
23916         overflow when P is null.
23918 2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>
23920         parse-datetime: make it standalone
23921         * lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
23922         (_GL_ATTRIBUTE_FORMAT): New macro.
23923         These are needed to get './gnulib-tool --test parse-datetime' to work.
23925 2017-04-23  Bruno Haible  <bruno@clisp.org>
23927         nap.h: Port to native Windows.
23928         * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
23929         use nap_fd instead. On native Windows, close and reopen nap_fd.
23930         (nap_works): Don't compare the ctimes, because on native Windows, these
23931         are the creation times.
23932         (nap): Update.
23934 2017-04-23  Bruno Haible  <bruno@clisp.org>
23936         nap.h: Fix logic.
23937         * tests/nap.h (nap): Avoid signed integer overflow in loop.
23939 2017-04-23  Bruno Haible  <bruno@clisp.org>
23941         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
23942         * modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
23943         * lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
23944         HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
23945         * lib/argp-help.c (__argp_failure): Likewise.
23947 2017-04-23  Bruno Haible  <bruno@clisp.org>
23949         strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
23950         * m4/strerror_r.m4: Revert changes since 2016-10-16.
23951         * lib/strerror_r.c: Likewise.
23953 2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>
23955         Target a C99 subset, not a C89 subset
23956         For many years Gnulib has targeted C89 and has resisted using C99
23957         features, as some Gnulib-using programs still wanted to target
23958         C89.  As this no longer seems to be the case, relax the porting
23959         requirements to allow some C99 features.  This is merely a change
23960         to the documentation, to give other Gnulib developers a chance to
23961         weigh in on the topic.
23962         * doc/extern-inline.texi (extern inline):
23963         * doc/gnulib-readme.texi (Portability guidelines):
23964         * doc/gnulib-tool.texi (Initial import):
23965         * doc/gnulib.texi (Header files):
23966         Modernize to talk about C99 and C11 instead of C89 and C99.
23967         * doc/gnulib-readme.texi (Portability guidelines):
23968         Now a section, not merely a subsection, so that it
23969         can be split up.  Modernize a bit.
23970         (C language versions, C99 features assumed)
23971         (C99 features avoided):
23972         New sections.
23974 2017-04-23  Bruno Haible  <bruno@clisp.org>
23976         doc: New section "Modules that modify the way other modules work".
23977         * doc/gnulib.texi (Modules that modify the way other modules work): New
23978         section.
23980 2017-04-23  Bruno Haible  <bruno@clisp.org>
23982         stat-time: Update comments.
23983         * lib/stat-time.h: Fix reference regarding st_ctime on Windows.
23984         * tests/test-utimens-common.h: Add reference regarding st_ctime on
23985         Windows.
23987 2017-04-01  Bruno Haible  <bruno@clisp.org>
23989         glob: Fix more memory leaks.
23990         * lib/glob.c (glob): Free allocated memory before returning.
23991         Reported by Coverity via Tim Rühsen.
23993 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
23995         poll: improve fast check for out-of-range NFD
23996         * lib/poll.c: Do not include intprops.h.
23997         (poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
23998         * modules/poll (Depends-on): Remove intprops.
24000         ftoastr: cite a newer paper
24001         * lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
24002         instead of Loitsch 2010.
24004 2017-04-22  Bruno Haible  <bruno@clisp.org>
24006         poll: Enable argument check also in the Windows implementation.
24007         * lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
24008         Reported by Paul Eggert.
24010 2017-04-22  Bruno Haible  <bruno@clisp.org>
24012         getlogin_r: Work around bug in Mac OS X 10.12.
24013         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
24014         bug.
24015         * lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
24016         given size minus 1, call getlogin_r a second time, on a larger buffer.
24017         * modules/getlogin_r (Depends-on): Add malloca.
24018         * doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.
24020 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24022         parse-datetime: fix %z and prefer signed int
24023         %z problem reported by Pádraig Brady in:
24024         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
24025         While fixing it, I decided to prefer signed ints to size_t, as
24026         they are less error-prone (e.g., ubsan catches overflow).
24027         * lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
24028         (parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
24029         counts, since signed integers make for better debugging.
24030         (date): Don’t assume %z works in printf formats.
24031         (debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
24032         sizes of buffers known to be small, e.g., because we’re using snprintf.
24033         (parse_datetime2): Simplify call to debug_mktime_not_ok.
24035 2017-04-22  Bruno Haible  <bruno@clisp.org>
24037         *printf: Work around rounding bug on Mac OS X.
24038         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
24039         * doc/posix-functions/*printf.texi: Mention the rounding bugs of
24040         Mac OS X and FreeBSD.
24041         * doc/glibc-functions/*printf.texi: Likewise.
24043 2017-04-22  Bruno Haible  <bruno@clisp.org>
24045         vasnprintf tests: Avoid warnings.
24046         * tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
24047         test_vasnprintf, test_asnprintf): Don't define if there's nothing to
24048         test.
24050 2017-04-22  Bruno Haible  <bruno@clisp.org>
24052         sys_file tests: Avoid warning.
24053         * tests/test-sys_file.c (main): Add a default clause to the switch
24054         statement.
24056 2017-04-22  Bruno Haible  <bruno@clisp.org>
24058         sethostname: Update doc.
24059         * doc/glibc-functions/sethostname.texi: Mention differing prototype on
24060         Mac OS X.
24062 2017-04-22  Bruno Haible  <bruno@clisp.org>
24064         quotearg tests: Avoid warnings.
24065         * tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
24066         false.
24068 2017-04-22  Bruno Haible  <bruno@clisp.org>
24070         poll: Enable argument check.
24071         * lib/poll.c: Include intprops.h.
24072         (poll): Check value of nfd correctly.
24073         * modules/poll (Depends-on): Add intprops.
24075 2017-04-22  Bruno Haible  <bruno@clisp.org>
24077         get-rusage-data: Avoid warnings on Mac OS X.
24078         * lib/get-rusage-data.c: On Mac OS X, don't define
24079         get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
24080         (get_rusage_data) [Mac OS X]: Just return 0.
24082 2017-04-22  Bruno Haible  <bruno@clisp.org>
24084         xbinary-io: Fix build error.
24085         * modules/xbinary-io (Depends-on): Add gettext-h.
24086         * lib/xbinary-io.c: Include gettext.h and define _().
24087         Reported by Gisle Vanem <gisle.vanem@gmail.com> in
24088         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.
24090 2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>
24092         parse-datetime: overflow and debug cleanups
24093         This long patch was triggered by this bug report from Ruediger Meier:
24094         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
24095         I fixed the bug he noted, then found some others nearby, and then
24096         still others.  Oh my goodness, there were a lot of bugs.  I cleaned
24097         up some of the code to follow GNU standards while I was at it.
24098         * lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
24099         use c_isdigit.
24100         (EPOCH_YEAR): Remove; unused.
24101         (TM_YEAR_BASE): Now an enum rather than a macro.
24102         (HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
24103         time zone offset, since timezones now are in terms of seconds and
24104         not minutes.
24105         (long_time_t): Remove.  All uses replaced by time_t or intmax_t as
24106         appropriate.  Verify that intmax_t is wide enough.
24107         (time_overflow, time_zone_str): New functions, used to deal
24108         more reliably with overflow.
24109         (dbg_printf): Add printf attribute, to help catch integer width errors.
24110         (textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
24111         (%union, to_hour, yylex, parse_datetime2):
24112         Use intmax_t instead of long int and/or long_time_t.
24113         All uses changed.
24114         (DBGBUFSIZE): Move earlier.
24115         (relative_time, set_hhmmss, parser_control):
24116         Just use int for nanoseconds and for time zones; that’s wide enough.
24117         (parser_control): Use bool for members like year_seen that can
24118         be booleans instead of counters.  All uses changed.
24119         Remove debug_default_input_timezone; no longer needed.
24120         All uses removed.
24121         (apply_relative_time): Return a bool overflow flag.
24122         All uses changed to check for overflow.
24123         (apply_relative_time, zone, date, relunit, relunit_snumber)
24124         (signed_seconds, unsigned_seconds, yylex, parse_datetime2):
24125         Check for integer overflow portably.
24126         (str_days): Use just int for N, as it’s wide enough.
24127         Prefer 2D char arrays to arrays of char * when it looks like
24128         2D is a win on typical platforms.
24129         Prefer snprintf to strncpy/strncat, for simplicity;
24130         all buffers are smaller than INT_MAX so this is safe.
24131         (TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
24132         (debug_print_current_time): Don’t assume tv_nsec is of type long,
24133         as this is not true on x32.  Output "." before any nanoseconds.
24134         (debug_print_current_time, parse_datetime2):
24135         Output local zones using a more-consistent format.
24136         (debug_print_current_time, date, parse_datetime2):
24137         (main) [TEST]:
24138         Don’t assume time_t is the same width as long.
24139         (print_rel_part): New function, replacing ...
24140         (PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
24141         (debug_print_relative_time): Use bool for boolean.
24142         (local_zone): dsts_seen now counts only tDST instances.
24143         (date): Fix printf of size_t to use %z.  Do not assume numeric
24144         tokens have negative values merely because the context suggests
24145         a syntax with "-" separating tokens.
24146         (time_zone_hhmm): Return bool success indicator, which checks for
24147         overflow.  Store result into PC->time_zone instead.  All callers
24148         changed.
24149         (tm_year_str): New function.  Return a bool success indicator and
24150         store the result into a buffer.  All callers changed.  Output the
24151         numerically correct string even if adding 1900 to the year would
24152         overflow.
24153         (to_tm_year): New function, replacing the old to_year.  All
24154         callers changed.
24155         (tm_diff): Sync with glibc.
24156         (lookup_word): Use to_uchar instead of doing it by hand.
24157         (TZBUFSIZE): Now local to the only function that needs it.
24158         (debug_strfdatetime): Simplify now that time zones are int seconds.
24159         (debug_strfdate): Work even if tm_year + 1900 would overflow.
24160         (get_effective_timezone): Remove.  All uses removed.
24161         (parse_datetime2): Use fprintf in pieces instead of snprintfing
24162         to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
24163         localtime succeeds.  Use tm_gmtoff if available.  Simplify how
24164         ‘goto fail;’ works in conjunction with the ‘ok’ flag.
24165         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
24166         TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
24167         * modules/parse-datetime (Depends-on): Add inttypes.
24169 2017-04-21  Bruno Haible  <bruno@clisp.org>
24171         gettext-h: Avoid -Wundef warning.
24172         * lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
24173         Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
24174         <https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.
24176 2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>
24178         error: Avoid "function declaration isn't a prototype" warning.
24179         * lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.
24181 2017-04-21  Bruno Haible  <bruno@clisp.org>
24183         vasnprintf: Fix for MSVC 14.
24184         * lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
24185         Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
24186         of !HAVE_SNPRINTF_RETVAL_C99.
24188 2017-04-21  Bruno Haible  <bruno@clisp.org>
24190         mbrtowc tests: Fix test failures on MSVC 14.
24191         * tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
24192         behaviour for invalid input.
24194 2017-04-21  Bruno Haible  <bruno@clisp.org>
24196         mbsinit: Fix for MSVC 14.
24197         * lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
24198         implementation that is in sync with mbrtowc.c. On other platforms, use
24199         an adequate ad-hoc implementation.
24201 2017-04-21  Bruno Haible  <bruno@clisp.org>
24203         Fix test-mbrtowc5.sh failure on native Windows.
24204         * lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
24205         "C".
24207 2017-04-21  Bruno Haible  <bruno@clisp.org>
24209         Avoid accidental use of native Windows APIs on Cygwin.
24210         * lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
24211         * lib/localcharset.c (WINDOWS_NATIVE): Likewise.
24212         * lib/localename.c (WINDOWS_NATIVE): Likewise.
24214 2017-04-20  Bruno Haible  <bruno@clisp.org>
24216         Remove red warnings from the generated MODULES.html.
24217         * modules/fcntl (Description): Disambiguate function references.
24218         * modules/getcwd-lgpl (Description): Likewise.
24219         * modules/hostent (Description): Likewise.
24220         * modules/servent (Description): Likewise.
24221         * modules/tempname (Description): Likewise.
24223 2017-04-20  Bruno Haible  <bruno@clisp.org>
24225         verify tests: Fix spurious failure with parallel make.
24226         * gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
24227         EXTRA_PROGRAMS.
24228         * tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
24229         * tests/test-verify-try.c: New file.
24230         * modules/verify-tests (Files): Add it.
24231         (EXTRA_PROGRAMS): Add test-verify-try.
24232         (MOSTLYCLEANFILES): Update accordingly.
24233         Reported by Adam James Stewart <ajstewart@anl.gov>.
24235 2017-04-18  Bruno Haible  <bruno@clisp.org>
24237         vma-iter: Fix compilation error on Solaris 7.
24238         * lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
24239         like on IRIX, OSF/1.
24240         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24242 2017-04-18  Bruno Haible  <bruno@clisp.org>
24244         vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
24245         * modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
24246         included.
24247         * lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
24248         <sys/procfs.h>.
24249         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
24250         <sys/procfs.h> cannot be included.
24251         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24253 2017-04-18  Bruno Haible  <bruno@clisp.org>
24255         getopt-gnu: Add comments.
24256         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
24257         * modules/getopt-gnu (configure.ac): Likewise.
24259 2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>
24261         regex: port better to Solaris 10
24262         Solaris 10 <locale.h> includes <libintl.h>, which #defines
24263         gettext, and this causes a double #define.
24264         Problem reported by Gavin Smith in:
24265         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
24266         * lib/regex_internal.h (gettext): #undef before #defining.
24268 2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24270         intprops: improve comments
24271         * lib/intprops.h: Improve and shorten commentary.
24272         For the record, if we ever run into a pedantic compiler that
24273         behaves differently from GCC when converting an out-of-range value
24274         to a signed integer, we can work around the problem with something
24275         like the following code, where UCT is the signed counterpart of T
24276         (UCT is sometimes narrower than UT) and all callers are changed
24277         accordingly:
24278         #if __SUNPRO_C <= 0x5120
24279         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24280            ((t) ((ut) (a) op (ut) (b)))
24281         #else
24282         # define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
24283            (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
24284             ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
24285                + TYPE_MINIMUM (t)) \
24286             : (t) (uct) ((ut) (a) op (ut) (b)))
24287         #endif
24289 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
24291         intprops: try to avoid tickling similar bugs
24292         * lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
24293         needs to be the same width as T; it can be wider.
24294         Change callers so that UT is at least as wide as unsigned int,
24295         as I suspect that this is less likely to run into compiler bugs.
24297         intprops: port to Oracle Studio 12.3 x86
24298         Problem reported by Gavin Smith in:
24299         http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
24300         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
24301         Convert unsigned to signed via the usual rather than the standard way,
24302         to avoid a compiler bug in Oracle Studio 12.3 x86.
24304 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
24306         getopt: prefer - to _ in new file names
24307         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
24308         * lib/getopt-core.h: Rename from lib/getopt_core.h.
24309         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
24310         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
24311         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
24312         All uses changed.
24314         getopt: port recent getopt changes to macOS
24315         Problem reported by Harald Maier (Bug#26398).
24316         The macOS C compiler uses __nonnull for its own purposes and that
24317         clashes with glibc's __nonnull.
24318         * lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
24319         * lib/getopt_cdefs.in.h (__nonnull): Remove.
24320         * lib/getopt_core.h (getopt):
24321         * lib/getopt_ext.h (getopt_long, getopt_long_only):
24322         Use _GL_ARG_NONNULL, not __nonnull.
24323         * lib/unistd.in.h: Move snippet hooks to before where the getopt
24324         .h files are included, so that _GL_ARG_NONNULL is defined in time.
24325         * modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
24326         (getopt.h): Interpolate _GL_ARG_NONNULL snippet.
24328 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
24330         getopt-gnu: omit some duplicate code
24331         * m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
24332         gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
24333         gnulib-tool already does this.
24334         * modules/getopt-gnu (configure.ac): Omit code duplicated from
24335         getopt-posix, which we depend on.
24337         getopt-posix: use angle-bracket include
24338         * lib/getopt1.c: Include <config.h>, not "config.h".
24340 2017-04-06  Zack Weinberg  <zackw@panix.com>
24342         getopt: annotate files with relationship to glibc
24344         As the final act in this patchset, adjust the message at the top of
24345         each file to indicate which files are synced with glibc.  (This has
24346         already been done for most of the headers.)
24348         * lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
24349         Mention in top-of-file boilerplate that these files are shared
24350         between glibc and gnulib.
24353         getopt: split up getopt.in.h and eliminate __need_getopt
24355         Over in glibc, all of the __need macros are being phased out in favor
24356         of small headers that declare only the necessary components, as this
24357         is much simpler and less prone to bugs.  As getopt is shared with
24358         glibc, gnulib needs to do the same for __need_getopt.
24360         __need_getopt is misnamed; what it really means is "we want only the
24361         getopt features specified in POSIX, not the GNU extensions".  glibc
24362         placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
24363         these files can be shared verbatim with gnulib.  The portability
24364         wrapper, on the other hand, they have renounced altogether; glibc's
24365         getopt.h will no longer be shared with gnulib at all.  In exchange,
24366         certain glibc-specific quirks (having to do with __posix_getopt) no
24367         longer need appear in gnulib's headers at all.
24369         This patch merges getopt_core.h and getopt_ext.h from glibc, and
24370         splits up the current gnulib-side portability wrapper into three
24371         additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
24372         __GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
24373         handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
24374         unistd.in.h just use them.  All new files are clearly marked with
24375         whether they are shared with glibc.
24377         * lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
24378         * lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
24379         with glibc, and ...
24380         * lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
24381         * lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
24382         * lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
24383         instead of defining __need_getopt and including the full getopt.h.
24385         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
24386         Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
24387         * modules/getopt-posix (Files): Add new headers and sort list.
24388         (Depends-on): No longer need snippet/arg-nonnull.
24389         (Makefile.am): Generate getopt_cdefs.h.
24392         getopt: better handling of ambiguous options
24394         glibc's getopt uses alloca to construct a linked list of possibilities
24395         for an "ambiguous" long option.  In gnulib, malloc should be used
24396         instead.  Providing for both cases complicates things a fair bit.
24398         This patch rewrites ambiguous-option handling to use a boolean vector
24399         instead of a linked list.  There is then only one allocation that
24400         might need freeing; in glibc it can honor __libc_use_alloca as usual,
24401         and in gnulib we define __libc_use_alloca to always be false, so we
24402         don't need ifdefs in the middle of the function.  This should also be
24403         slightly more efficient in the normal case of long options being fully
24404         spelled out -- I think most people aren't even aware they _can_
24405         sometimes abbreviate long options.
24407         One interesting consequence is that the list of possibilities is now
24408         printed in exactly the order they appear in the list of long options,
24409         instead of the first possibility being shuffled to the end.
24411         (The patch looks bigger than it really is because there's a fair bit
24412         of reindentation and code rearrangement.)
24414         * lib/getopt.c: When used standalone, define __libc_use_alloca
24415         as always false and alloca to abort if called.
24416         (process_long_option): Rewrite handling of ambiguous long options
24417         to use a single boolean vector, not a linked list; use
24418         __libc_use_alloca to decide whether to allocate this using alloca.
24421         getopt: refactor long-option handling
24423         There were two copies of the bulk of the code to handle long options.
24424         Now there is only one.
24426         This change temporarily removes the logic to avoid using alloca when
24427         standalone; the next patch in the series will restore it.
24429         * lib/getopt.c (process_long_option): New function split out
24430         from _getopt_internal_r.
24431         (_getopt_internal_r): Replace both copies of the long-option
24432         processing code with calls to process_long_option.
24435         getopt: tidy up _getopt_initialize a bit
24437         _getopt_data.__posixly_correct is completely redundant to
24438         _getopt_data.__ordering, and some work that logically belongs in
24439         _getopt_initialize was being done by _getopt_internal_r, making the
24440         code harder to understand.
24442         As a side effect, getenv will no longer be called if the first
24443         character of the options string is '+' or '-', which is probably a
24444         Good Thing.  (Perhaps we should have a flag character that
24445         specifically asks for the permutation behavior?)
24447         * lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
24448         * lib/getopt.c (_getopt_internal_r): Move some initialization code...
24449         (_getopt_initialize): ...here. Don't set d->__posixly_correct.
24452         getopt: merge from glibc: repetition reduction
24454         The definitions of the entry point functions 'getopt' and
24455         '__posix_getopt' can be made substantially less repetitive with a
24456         helper macro.
24458         While I was merging the const-correctness changes from gnulib into
24459         glibc I noticed there are still some unnecessary casts in
24460         _getopt_internal_r.
24462         * lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
24463         a macro.  Consistently cast 'argv' to 'char **' when calling
24464         _getopt_internal.
24465         (_getopt_internal_r): Remove unnecessary casts when calling exchange.
24468         getopt: clean up error reporting
24470         getopt can print a whole bunch of error messages, and when used
24471         standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
24472         cancellation point and getopt isn't, and also applying fprintf to a
24473         stream in wide-character mode is not allowed.  So every single error
24474         reporting case has an #ifdef _LIBC block in which it calls internal
24475         libc functions instead.  The counterpart patch series in glibc makes
24476         it possible to simplify all of that down to a set of #defines at the
24477         top of the file; core code is written as if it is safe to just call
24478         fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
24479         call any *other* stdio functions.)
24481         * lib/getopt.c: When _LIBC is defined, define fprintf to
24482         __fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
24483         to _IO_funlockfile.  When neither _LIBC nor
24484         _POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
24485         funlockfile as no-ops.
24486         (_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
24487         standalone error-printing code can now be used for libc as well.
24488         Add an flockfile/funlockfile pair around one case where the error
24489         message is printed in several chunks.  Don't use fputc.
24492         getopt: fix fencepost error in ambiguous-W-option handling
24494         getopt_long contains an undocumented (AFAICT) feature in which, if you
24495         put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
24496         treated as equivalent to '--foo'.  This is implemented with a partial
24497         second copy of the code for handling long options, and that code
24498         increments optind one too many times when recovering from an ambiguous
24499         abbreviated option, which can cause the main loop to walk past the end
24500         of argv and crash.
24502         I discovered this while writing a test case that tries to exercise all
24503         of getopt's error reporting paths; I wouldn't be surprised to learn
24504         that this feature is never used by real applications.
24506         * lib/getopt.c (_getopt_internal_r): Don't increment
24507         d->optind a second time when reporting ambiguous -W options.
24510         getopt: clean up getopt.c and getopt1.c file headers
24512         In getopt.c, there is no need to include wchar.h at all, and it is
24513         safe nowadays to assume that stdlib.h does declare getenv (several
24514         other gnulib modules make this assumption).
24516         In getopt1.c, the #ifdef _LIBC block at the top can be simplified
24517         by using "" inclusions consistently, and there is no actual need to
24518         include stdlib.h (except in the #ifdef TEST block, where it should be
24519         unconditional), nor to provide a backup definition of NULL at all.
24521         * lib/getopt1.c: Simplify #ifdeffage at top of file.
24522         Move inclusion of stdlib.h to #ifdef TEST block and make
24523         unconditional.  Do not define NULL.
24524         * lib/getopt.c: Don't include wchar.h. No need to declare getenv.
24525         * m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
24526         * modules/getopt-gnu, modules/getopt-posix: Don't call
24527         gl_PREREQ_GETENV.
24530         getopt: harmonize comments with glibc
24532         The comments explaining how the behavior of 'getopt' varies depending
24533         on whether it's the standalone version and whether there are special
24534         characters at the beginning of the options string were inconsistent
24535         between gnulib and glibc, and also out of sync with the code.
24537         * lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.
24540         getopt: remove USE_NONOPTION_FLAGS
24542         getopt includes code to parse an environment variable named
24543         _XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
24544         in decimal); but all of it has been #ifdefed out since 2001, with no
24545         official way to turn it back on.
24547         According to commentary in glibc's config.h.in, bash version 2.0
24548         set this environment variable to indicate argv elements that were
24549         the result of glob expansion and therefore should not be treated
24550         as options, but the feature was "disabled later" because "it
24551         caused problems".  According to bash's CHANGES file, "later" was
24552         release 2.01; it gives no more detail about what the problems
24553         were.
24555         Version 2.0 of bash was released on the last day of 1996, and version
24556         2.01 in June of 1997.  Twenty years later, I think it is safe to
24557         assume that this environment variable isn't coming back.
24559         * lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
24560         * lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
24561         __libc_argc and __libc_argv externs, which were only used by
24562         #ifdef USE_NONOPTION_FLAGS blocks.
24565         getopt: tabify, in preparation for merge with glibc
24567         glibc sticks to the GNU default of indenting with a mix of
24568         8-column tabs and spaces; make the gnulib copy match.
24570         getopt.h is not included because it is *not* going to be merged in its
24571         present form.
24573         * getopt.c, getopt1.c, getopt_int.h: Tabify.
24575 2017-04-02  Bruno Haible  <bruno@clisp.org>
24577         relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
24578         * modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
24579         like it was done in modules/relocatable-lib on 2011-05-21 and in
24580         modules/relocatable-prog on 2011-08-15.
24581         Reported by Reuben Thomas <rrt@sc3d.org>.
24583 2017-03-31  Bruno Haible  <bruno@clisp.org>
24585         glob: Fix invalid free() call.
24586         * lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
24587         static storage to home_dir.
24588         Reported by Coverity via Tim Rühsen.
24590 2017-03-31  Bruno Haible  <bruno@clisp.org>
24592         glob: Fix memory leaks.
24593         * lib/glob.c (glob): Free allocated memory before returning.
24594         Reported by Coverity via Tim Rühsen.
24596 2017-03-31  Bruno Haible  <bruno@clisp.org>
24598         md5, sha1, sha256, sha512: Add comments regarding correctness.
24599         * lib/md5.h (buflen): Add comments regarding range.
24600         * lib/sha1.h (buflen): Likewise.
24601         * lib/sha256.h (buflen): Likewise.
24602         * lib/sha512.h (buflen): Likewise.
24603         * lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
24604         * lib/sha1.c (sha1_process_bytes): Likewise.
24605         * lib/sha256.c (sha256_process_bytes): Likewise.
24606         * lib/sha512.c (sha512_process_bytes): Likewise.
24607         Reported by Coverity via Tim Rühsen.
24609 2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>
24611         getopt: merge from glibc
24612         This does not change anything substantial; it merely simplifies
24613         hypothetical merges back to glibc.
24614         * lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
24615         Change copyright notice to match what is in glibc.
24616         * lib/getopt.c: Reorder includes to match glibc.  Remove uses of
24617         USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
24618         __open_memstream rather than open_memstream and __glibc_likely
24619         instead of __builtin_expect.
24620         * lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.
24622 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
24624         dfa: make [0-9] faster in non-C locales
24625         Problem reported by John P. Linderman (Bug#26193).
24626         * lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
24627         If both ends of the range are ASCII digits, do not worry about
24628         multi-character collating sequences and the like.  Be consistent
24629         about using isalpha as a precondition for setbit_case_fold_c.
24631 2017-03-19  Bruno Haible  <bruno@clisp.org>
24633         lock: Fix compilation error with HP-UX IA64 cc.
24634         * lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
24635         weak on non-glibc platforms.
24637 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24639         stdalign: tweak version# and test for HP-UX IA64
24640         Problems reported by Bruno Haible in:
24641         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
24642         * lib/stdalign.in.h (_Alignas):
24643         * m4/stdalign.m4 (gl_STDALIGN_H):
24644         Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
24645         used octal (as that is how they document it), but it is decimal in
24646         practice now and the ancient implementations no longer matter.
24647         * tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.
24649 2017-03-19  Bruno Haible  <bruno@clisp.org>
24651         vma-iter: Add support for Solaris.
24652         * lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
24653         approach.
24654         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
24655         * lib/get-rusage-as.c: Update comment about Solaris.
24656         * lib/get-rusage-data.c: Likewise.
24658 2017-03-19  Bruno Haible  <bruno@clisp.org>
24660         vma-iter: Prefer HP-UX specific API on HP-UX.
24661         * lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
24662         * lib/vma-iter.h: Update.
24663         Just in case HP-UX ever implements mquery().
24665 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24667         stdalign: restore previous behavior for HP-UX IA64
24668         See Bruno Haible's email in:
24669         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24670         which cites p 150 of a manual saying that 'aligned' works on Itanium.
24671         * lib/stdalign.in.h (_Alignas):
24672         Assume the '061200' applies to Itanium, not to PA-RISC.
24673         * m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.
24675 2017-03-17  Bruno Haible  <bruno@clisp.org>
24677         stat-time, timespec: Support use of the header files in C++ mode.
24678         * lib/stat-time.h: Add "C" linkage declaration.
24679         * lib/timespec.h: Likewise.
24681 2017-03-17  Bruno Haible  <bruno@clisp.org>
24683         stdalign: Make it work with HP-UX cc.
24684         * lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
24685         * m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
24686         for HP-UX cc.
24688 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24690         flexmember: try to detect HP-UX 11.31 cc bug
24691         Problem reported by Bruno Haible in:
24692         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
24693         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
24694         Attempt to detect bug in HP-UX 11.31 cc.
24696 2017-03-16  Bruno Haible  <bruno@clisp.org>
24698         stdint: Fix test compilation failure with HP-UX 11 cc.
24699         * lib/stdint.in.h (_STDINT_MIN): Remove macro.
24700         (_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
24701         (PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
24702         _STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.
24704 2017-03-14  Bruno Haible  <bruno@clisp.org>
24706         gnulib-tool: Don't produce a tests directory with only snippet .h files.
24707         * gnulib-tool (func_modules_transitive_closure_separately): If
24708         testsrelated_modules ends up with no "real" modules, aside from
24709         modules with applicability 'all', set it to empty.
24711 2017-03-14  Bruno Haible  <bruno@clisp.org>
24713         vma-iter: Add support for HP-UX.
24714         * modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
24715         * lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
24716         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
24717         * lib/get-rusage-as.c: Update comment about HP-UX.
24718         * lib/get-rusage-data.c: Likewise.
24719         (get_rusage_data): Use get_rusage_data_via_setrlimit.
24721 2017-03-14  Bruno Haible  <bruno@clisp.org>
24723         limits-h: Make it work with HP-UX cc.
24724         * lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
24725         defined.
24727 2017-03-14  Bruno Haible  <bruno@clisp.org>
24729         Fix test failures on DragonFlyBSD.
24730         * tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
24731         * tests/test-select.h (test_bad_fd): Likewise.
24732         * tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.
24734 2017-03-14  Bruno Haible  <bruno@clisp.org>
24736         freadahead: Silence warning on DragonFlyBSD.
24737         * lib/freadahead.c (__sreadahead): Declare ourselves.
24739 2017-03-14  Bruno Haible  <bruno@clisp.org>
24741         vma-iter: Add comment about AIX.
24742         * lib/vma-iter.c: Add comment about why this module is not implemented
24743         on AIX.
24745 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24747         snippets: move unadjusted snippet sources to lib
24748         Problem reported by Michal Privoznik in:
24749         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
24750         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
24751         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
24752         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
24753         * lib/unused-parameter.h: Rename from
24754         build-aux/snippet/unused-parameter.h.
24755         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
24756         * modules/snippet/_Noreturn (Files:, _NORETURN_H):
24757         * modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
24758         * modules/snippet/c++defs (Files:, CXXDEFS_H):
24759         * modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
24760         * modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
24761         Adjust to file renamings.
24763 2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
24765         gnulib-tool: don't automatically distribute files from top/
24766         * gnulib-tool (func_get_automake_snippet_unconditional): To be able to
24767         not distribute top/README-release by default, don't distribute files
24768         from top/ unconditionally.
24769         * modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
24770         * modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.
24772 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24774         gnulib-tool: fix typo in comment output
24775         * gnulib-tool (func_import): Fix typo with previous change.
24777         snippets: work around GNU Make 3.82 VPATH
24778         When using 'gnulib-tool --gnu-make' on Emacs, and building
24779         the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
24780         an out-of-source (VPATH) build failed because the sans-copyright
24781         snippet file was not built before the file that used it.
24782         Presumably this is some sort of VPATH thing.  Work around the
24783         problem by using the original snippet, i.e., don’t bother to
24784         remove its copyright notice.
24785         * modules/snippet/_Noreturn, modules/snippet/link-warning:
24786         Don’t assume Automake in comments.  Omit long-incorrect comment.
24787         * modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
24788         (MOSTLYCLEANFILES):
24789         * modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
24790         (MOSTLYCLEANFILES):
24791         * modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
24792         (MOSTLYCLEANFILES):
24793         * modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
24794         (MOSTLYCLEANFILES):
24795         Remove.
24796         * modules/snippet/arg-nonnull (ARG_NONNULL_H):
24797         * modules/snippet/c++defs (CXXDEFS_H):
24798         * modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
24799         * modules/snippet/warn-on-use (WARN_ON_USE_H):
24800         Don’t bother to remove the copyright notice; just use the
24801         original snippet as-is.
24803 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
24805         gnulib-tool: minor --gnu-make fixups
24806         * gnulib-tool (func_emit_lib_Makefile_am):
24807         Remove useless code that was a blind alley during implementation.
24808         Problem reported by Thien-Thi Nguyen in:
24809         http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
24810         (func_import): Note the "--gnu-make" option in the output comment.
24812 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24814         gnulib-tool: new option --gnu-make
24815         This is for applications like GNU Emacs that use GNU Make
24816         features instead of Automake.
24817         * doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
24818         * doc/gnulib.texi (Unit test modules, Build robot for gnulib):
24819         Do not assume Automake.
24820         * gnulib-tool (func_determine_path_separator)
24821         (func_modules_transitive_closure, func_update_file)
24822         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
24823         (func_import): Add support for --gnu-make.
24825 2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>
24827         gnulib-common.m4: avoid aclocal.m4 bloat
24828         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
24829         Hide AM_PROG_AR from aclocal, so that aclocal does not
24830         install irrelevant macro definitions into aclocal.m4.
24832 2017-03-10  Bruno Haible  <bruno@clisp.org>
24834         vma-iter: Let callers know about error.
24835         * lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
24836         * lib/vma-iter.c (vma_iterate): Return -1 in case of error.
24838 2017-03-05  Bruno Haible  <bruno@clisp.org>
24840         Fix value of LD for 64-bit compilers on AIX.
24841         * m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
24842         ("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.
24844 2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>
24846         dtotimespec: simplify
24847         * lib/dtotimespec.c (dtotimespec): Simplify.
24849 2017-03-04  Bruno Haible  <bruno@clisp.org>
24851         test-calloc-gnu: Reenable test also for GCC 7.
24852         * tests/test-calloc-gnu.c (eight): New function.
24853         (main): Don't skip test; use eight() instead.
24855 2017-03-04  Jim Meyering  <meyering@fb.com>
24857         test-calloc-gnu: port to GCC7
24858         * tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
24859         that attempts to calloc more than SIZE_MAX bytes, because GCC7
24860         and newer would detect that at compilation time.
24862 2017-03-04  Bruno Haible  <bruno@clisp.org>
24864         tests: Avoid compiler warning about uses of null_ptr.
24865         * tests/null-ptr.h: New file.
24866         * tests/test-canonicalize.c: Include null-ptr.h.
24867         (null_ptr): Remove function.
24868         * tests/test-canonicalize-lgpl.c: Likewise.
24869         * tests/test-memmem.c: Likewise.
24870         * tests/test-ptsname_r.c: Likewise.
24871         * modules/canonicalize-tests (Files): Add tests/null-ptr.h.
24872         * modules/canonicalize-lgpl-tests: Likewise.
24873         * modules/memmem-tests: Likewise.
24874         * modules/ptsname_r-tests: Likewise.
24875         Reported by Jim Meyering.
24877 2017-03-03  Bruno Haible  <bruno@clisp.org>
24879         doc: Mention Mac OS X deficiencies regarding semaphores.
24880         * doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
24881         * doc/posix-functions/sem_destroy.texi: Likewise.
24882         * doc/posix-functions/sem_getvalue.texi: Likewise.
24884 2017-03-03  Bruno Haible  <bruno@clisp.org>
24886         lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
24887         Reported by Assaf Gordon <assafgordon@gmail.com> via
24888         Pádraig Brady <P@draigBrady.com>.
24889         * tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
24890         semaphores.
24891         (USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
24892         (atomic_int_semaphore): New macro.
24894 2017-02-28  Bruno Haible  <bruno@clisp.org>
24896         perror tests: Tweak for z/OS.
24897         Reported by Daniel Richard G. <skunk@iskunk.org>.
24898         * tests/test-perror.sh: Don't fail z/OS style perror output.
24900 2017-02-26  Bruno Haible  <bruno@clisp.org>
24902         nproc: Refactor large function.
24903         * lib/nproc.c (num_processors_ignoring_omp): New function, extracted
24904         from num_processors.
24905         (num_processors): In this function, only deal with OMP.
24907 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24909         nproc: adjust handling of OpenMP environment variables
24910         to match the return value from omp_get_num_threads(), i.e.:
24911          - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
24912          - Treat 0 as an invalid value and ignore
24913         Also remove the call to omp_get_num_threads() because
24914         it's ineffective without the omp pragmas in place.
24915         * lib/nproc.c (parse_omp_threads): Return 0 if specified,
24916         so that it can be ignored.
24917         (num_processors): Honor OMP_THREAD_LIMIT even without
24918         OMP_NUM_THREADS being set.  Also fix a typo in the environment
24919         variable being checked, from the previous recent commit.
24921 2017-02-26  Pádraig Brady  <P@draigBrady.com>
24923         nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
24924         * lib/nproc.c (parse_omp_threads): A new function refactored
24925         from num_processors() to support parsing both of the
24926         above environment variables.
24927         (num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
24928         to accurately reflect the current OpenMP nesting level.
24929         Also support the OMP_THREAD_LIMIT environment variable
24930         to limit the max value determined from OMP_NUM_THREADS.
24931         * modules/nproc: Depend on minmax header.
24932         Suggested by Oliver Heimlich.
24934 2017-02-25  Bruno Haible  <bruno@clisp.org>
24936         maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
24937         * m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.
24939 2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>
24941         ftoastr: port to -Wdouble-promotion
24942         Work around -Wdouble-promotion false alarm in recent GCCs.
24943         * lib/ftoastr.c (PROMOTED_FLOAT): New macro.
24944         (ftoastr_snprintf, FTOASTR): Use it.
24946 2017-02-21  Bruno Haible  <bruno@clisp.org>
24948         lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
24949         Reported by Rene Saavedra <rennes@openmailbox.org> in
24950         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
24951         * lib/glthread/lock.h: On glibc systems without
24952         PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
24953         implementation of rwlocks.
24954         * lib/glthread/lock.c: Likewise.
24956 2017-02-20  Bruno Haible  <bruno@clisp.org>
24958         lock tests: Fix build failure on z/OS.
24959         Reported by Daniel Richard G. <skunk@iskunk.org>.
24960         * modules/lock-tests (configure.ac): Test for <semaphore.h>.
24961         * tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
24962         exist.
24964 2017-02-19  Bruno Haible  <bruno@clisp.org>
24966         havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
24967         This helps when CC=clang.
24968         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
24969         of /usr/bin/gcc.
24971         havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
24972         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.
24974 2017-02-19  Bruno Haible  <bruno@clisp.org>
24976         gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
24977         * gnulib_tool (func_create_testdir): Avoid havelib-tests when
24978         --with-tests --single-configure is specified.
24980 2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>
24982         users.txt: Update links, use HTTPS where possible
24983         * users.txt: Updated to HTTPS where possible,
24984         fixed some links to new locations.
24986 2017-02-16  Bruno Haible  <bruno@clisp.org>
24988         xbinary-io: Fix inlining.
24989         * lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.
24991 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
24993         xbinary-io: rename from xsetmode
24994         This patch is taken from suggestions by Bruno Haible in:
24995         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
24996         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
24997         * lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
24998         not ENOTTY, when it is an inappropriate device.
24999         * lib/binary-io.h (SET_BINARY): Resurrect.
25000         * lib/xbinary-io.c: Rename from lib/xsetmode.c.
25001         (xset_binary_mode_error): Rename from xsetmode_error.
25002         * lib/xbinary-io.h: Rename from lib/xsetmode.h.
25003         (xset_binary_mode): Rename from xsetmode.
25004         All uses changed.
25005         * modules/xbinary-io: Rename from modules/xsetmode.
25006         Update file names.
25007         * tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
25008         * NEWS: Update to match revised behavior.
25010 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
25012         tests: Adjust to recent SET_BINARY change
25013         * tests/test-binary-io.c (main):
25014         * tests/test-binary-io.sh: Remove test for SET_BINARY.
25015         * tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
25016         * tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
25017         * tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.
25019         xsetmode: new module
25020         This is to fix a problem noted by Eric Blake.
25021         Code was using xfreopen to change files to binary mode, but this
25022         fails for stdout when in append mode.  Such code should use
25023         xsetmode instead.
25024         * NEWS: Document incompatible changes to binary-io module.
25025         * lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
25026         New function.
25027         * lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
25028         (set_binary_mode): New function, which also checks for tty.
25029         * lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.
25031 2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>
25033         headers: fix begin-end typos
25034         * lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
25035         _GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.
25037         selinux-h: port to PGI 16.10
25038         * lib/se-selinux.in.h: Don't assume that include_next skips over
25039         duplicate -I DIR options.
25041         argp: port to PGI 16.10
25042         * lib/argp-pin.c (dummy): Declare as needed to make file nonempty.
25044 2017-02-13  Darshit Shah  <darnir@gnu.org>
25046         unicase: Update function protoype to match definition.
25047         * lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
25048         uses 'size_t' as the datatype for the 'len' parameter in the functions
25049         it generates. Update the prototype specified here to match the newly
25050         generated function.
25052 2017-02-12  Bruno Haible  <bruno@clisp.org>
25054         times test: Avoid gcc warnings on Linux/x32.
25055         * tests/test-times.c (main): Really cast printf arguments from clock_t
25056         to 'long int'.
25058 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
25060         glob: port better to emscripten
25061         Problem reported by Bruno Haible in:
25062         http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
25063         * lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.
25065 2017-02-11  Bruno Haible  <bruno@clisp.org>
25067         host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
25068         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
25069         For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
25070         both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
25071         define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
25072         compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
25073         Distinguish hppa64 from hppa.
25075 2017-02-10  Bruno Haible  <bruno@clisp.org>
25077         search: Don't assume that tsearch() exists if 'VISIT' is defined.
25078         * m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
25079         * modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
25080         * lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.
25082 2017-02-09  Bruno Haible  <bruno@clisp.org>
25084         doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
25085         * doc/gnulib.texi (Libtool and Windows): Recommend
25086         LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
25087         Reported by Reuben Thomas <rrt@sc3d.org>.
25089 2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>
25091         stddef-tests: port to SIZE_MAX <= INT_MAX
25092         * tests/test-stddef.c: Include <limits.h>, for INT_MAX.
25093         Do not assume that INT_MAX < SIZE_MAX.
25095 2017-02-01  Bruno Haible  <bruno@clisp.org>
25097         lock tests: Fix link error.
25098         * modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
25099         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25101 2017-01-31  Bruno Haible  <bruno@clisp.org>
25103         lock: Fix link error (regression from 2017-01-05).
25104         * lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
25105         pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
25106         pthread_rwlockattr_destroy weak.
25107         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
25109 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25111         Port to PGI 16.10 x86-64
25112         This patch fixes one real bug in gl_anylinked_list2.h, along with
25113         some minor glitches that are not bugs.  It does not silence PGI’s
25114         thousands of bogus warnings when compiling test-intprops.c.
25115         Fortunately, the warnings do not cause a failure.
25116         * lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
25117         Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
25118         My goodness, PGI goes back a long ways - this predates C89!
25119         * lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
25120         For example, ASYNCSAFE (const void *) should expand to
25121         ‘const void *volatile’, not to ‘volatile const void *’.
25122         * lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
25123         * lib/verify.h (verify) [!__GNUC__]:
25124         Use shorter albeit meaningless string to bypass silly compiler limits.
25125         * tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
25126         * tests/nan.h (NaNf, NaNd, NaNl):
25127         Use static functions to avoid misguided compiler diagnostics.
25128         Is there some reason we don’t use static functions on all platforms?
25130 2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>
25132         parse-datetime: handle timezones reentrantly
25133         This API change was prompted by a report by Pádraig Brady in:
25134         https://bug.debian.org/851934#10
25135         To help fix the bug, make parse_datetime2 more reentrant.
25136         * NEWS: Document this incompatible change.
25137         * lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
25138         Add two arguments, the timezone and the timezone name.
25139         All callers changed.  If TZ="..." is specified, use it for
25140         calculating defaults.
25141         * lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
25142         this code should be usable in a library.
25143         (mktime_ok, get_effective_timezone):
25144         Accept timezone arg too.  All callers changed.
25145         (get_tz): Remove.
25146         (get_effective_timezone): Check for failures.
25148 2017-01-20  Eric Blake  <eblake@redhat.com>
25150         localename: port to cygwin 2.6
25151         * lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
25152         Cygwin.
25153         * modules/localename (Depends-on): Add extensions, since
25154         NL_LOCALE_NAME() is not visible without it.
25156 2017-01-17  Pádraig Brady  <P@draigBrady.com>
25158         parse-datetime: fix dependence on AC_PROG_SED
25159         * modules/parse-datetime: Use `sed` directly like all other modules.
25160         Reported by J William Piggott
25162 2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>
25164         intprops: update doc URLs
25165         * doc/intprops.texi (Integer Range Overflow): Update URLs.
25167 2017-01-16  Bruno Haible  <bruno@clisp.org>
25169         host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
25170         * m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
25171         systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
25172         armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
25173         distinguish s390 and s390x.
25174         * modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
25175         * NEWS: Mention the change regarding 'armel'.
25177 2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>
25179         localeinfo: case_folded_counterparts and WEOF
25180         * NEWS: Document this.
25181         * lib/localeinfo.c (case_folded_counterparts):
25182         First arg is now wint_t, not wchar_t.  This generalizes the
25183         function to also work on WEOF, where it returns 0.
25185         dfa: port to gcc -fsanitize=undefined
25186         * lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
25187         as this runs afoul of gcc -fsanitize=undefined.
25189 2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>
25191         strftime: %z is -00 if unknown
25192         * lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
25193         the caller's responsibility to set 'negative_number'.  All uses changed.
25194         (__strftime_internal): Put '-' before a zero UTC offset if the time
25195         zone abbreviation starts with "-", which is the recently-introduced
25196         tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
25197         * tests/test-strftime.c: Test for this.
25199 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25201         dfa: port to older GCC
25202         Problem reported by Assaf Gordon in:
25203         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
25204         * modules/c99: New module.  This merely attempts to use the latest
25205         C version, which should be enough to solve this particular problem.
25206         The idea is to document which Gnulib modules assume C99 or later.
25207         * modules/dfa (Depends-on): Add it.
25209 2017-01-10  Bruno Haible  <bruno@clisp.org>
25211         Update DEPENDENCIES.
25212         * DEPENDENCIES: List only https URLs. Update recommended version for
25213         autoconf, automake, gperf.
25215 2017-01-10  Jim Meyering  <meyering@fb.com>
25217         maint.mk: enforce spelling of "timestamp" (i.e., no space)
25218         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
25219         disallow /\btime\s+stamps?\b/.  Prefer "timestamp".
25221 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
25223         dfa: minor simplification with emptyset
25224         * lib/dfa.c (build_state): Simplify by using emptyset.
25226 2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>
25228         dfa: shrink constraints from 4 bits to 3
25229         * lib/dfa.c (newline_constraint, letter_constraint)
25230         (other_constraint, prev_newline_dependent)
25231         (prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
25232         (ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
25233         (LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
25234         Constraints need only 3 bits, not 4.  Using smaller integers
25235         shrinks the code a bit and makes grep a tad faster on x86-64.
25237         dfa: omit unnecessary ptrdiff_t check
25238         * lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
25239         overflow, since xnmalloc does that now.
25241         dfa: omit unnecessary allocation
25242         * lib/dfa.c (dfaanalyze): Do not allocate follow set, since
25243         an all-zero follow set works just fine.
25245         dfa: omit unused local
25246         * lib/dfa.c (build_state): Fix up recent change.
25248         maint: remove stray .texi files
25249         Although these were superseded by other files like
25250         doc/posix-functions/ctime.texi, the old files were not removed.
25251         * doc/ctime.texi, doc/inet_ntoa.texi: Remove.
25253 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
25255         getprogname: fix port to IRIX
25256         * lib/getprogname.c (getprogname) [__sgi]:
25257         Don't dump core if malloc returns NULL.
25259         dfa: fix reallocation bug when matching newlines
25260         Problem reported for sed by S. Gilles (Bug#25390).
25261         * lib/dfa.c (realloc_trans_if_necessary): Move earlier.
25262         (dfastate): Reallocate before moving any newline transition ...
25263         (build_state): ... instead of reallocating here, where it is too late.
25265 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25267         Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
25268         * lib/sockets.h: Test if WINDOWS_SOCKETS is defined.
25270 2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)
25272         Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
25273         * lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.
25275 2017-01-07  Bruno Haible  <bruno@clisp.org>
25277         stdioext: Port to Minix 3.2 and newer.
25278         * lib/stdio-impl.h: Treat __minix like the newest NetBSD.
25279         * lib/fseeko.c (fseeko): Likewise.
25280         Reported by Nelson Beebe via Paul Eggert.
25282 2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>
25284         getprogname: port to IRIX
25285         * lib/getprogname.c (getprogname): Port to IRIX.
25286         Based on an idea by Bastien Roucariès at:
25287         http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
25288         via code from Bruno Haible at:
25289         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
25291         localename-tests: port to NetBSD 7
25292         Problem reported by Nelson H. F. Beebe.
25293         * tests/test-localename.c:
25294         Test newlocale and uselocale only if both exist.
25296         glob, intprops, xalloc: work around Clang bug
25297         Work around LLVM bug 16404, which is still not fixed.
25298         https://llvm.org/bugs/show_bug.cgi?id=16404
25299         Problem reported by Nelson H. F. Beebe.
25300         * lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
25301         Remove.
25302         * lib/glob.c (size_add_wrapv):
25303         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
25304         * lib/xalloc-oversized.h (xalloc_oversized):
25305         Do not use overflow builtins if Clang.
25307         dfa: fix 'return' typo
25308         Problem reported by Nelson H. F. Beebe.
25309         * lib/dfa.c (merge): Fix typo that Sun compilers rejected.
25311 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25313         parse-datetime: fix generated paths for coverage files
25314         * modules/parse-datetime: Adjust the paths for parse-datetime.y
25315         within parse-datetime.c, so that gcc generates appropriate .gcno
25316         files, allowing lcov to proceed without error.  Previously it
25317         would error trying to find "lib/lib/parse-datetime.y".
25319 2017-01-05  Pádraig Brady  <P@draigBrady.com>
25321         maint.mk: support parallel execution of coverage
25322         * top/maint.mk (coverage): Run dependencies serially,
25323         thus supporting parallel processing of each one,
25324         particularly build-coverage, which builds and runs tests.
25326 2017-01-05  Bruno Haible  <bruno@clisp.org>
25328         lock tests: Prefer semaphore over mutex.
25329         * tests/test-lock.c (USE_SEMAPHORE): New constant.
25330         (struct atomic_int, init_atomic_int, get_atomic_int_value,
25331         set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
25332         Suggested by Torvald Riegel <triegel@redhat.com>.
25334 2017-01-05  Bruno Haible  <bruno@clisp.org>
25336         lock: Provide guarantee to avoid writer starvation for rwlocks.
25337         The rationale is: 1) Read-preferring read-write locks are prone to
25338         writer starvation if the number of reader threads multiplied by the
25339         percentage of time they have the lock held is too high. 2) Write-
25340         preferring read-write locks are the only reliable way to avoid this.
25341         3) There have been reports of 'test-lock' hanging on glibc systems
25342         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
25343         and glibc indeed implements read-preferring rwlocks by default, see
25344         http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
25345         and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
25346         * m4/pthread_rwlock_rdlock.m4: New file.
25347         * m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25348         * lib/glthread/lock.h [USE_POSIX_THREADS]: Test
25349         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25350         of rwlock initialization on glibc systems without
25351         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
25352         of rwlocks altogether on non-glibc systems without
25353         HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
25354         [USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
25355         * lib/glthread/lock.c [USE_POSIX_THREADS]
25356         (glthread_rwlock_init_for_glibc): New function.
25357         [USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
25358         comment.
25359         [USE_PTH_THREADS]: New implementation of rwlocks.
25360         [USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
25361         readers.
25362         * modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
25363         (Depends-on): Add 'extensions'.
25364         * tests/test-rwlock1.c: New file.
25365         * lock-tests (Files): Add it.
25366         (Depends-on): Add usleep.
25367         (Makefile.am): Add test-rwlock1 to the tests.
25369 2017-01-05  Bruno Haible  <bruno@clisp.org>
25371         thread: Fix pth port.
25372         * lib/glthread/thread.h (pth_init): Declare weak.
25373         (glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
25374         gl_thread_exit): Make sure Pth is initialized before invoking any Pth
25375         function.
25377 2017-01-04  Assaf Gordon  <assafgordon@gmail.com>
25379         parse-datetime: fix debug message on lone year number
25380         Input dates such as
25381           date -d "Apr 11 22:59:00 2011"
25382         are parsed as date (Apr 11, with default year 2016), then time, then a
25383         number (2011). Based on the combination of previously seen tokens,
25384         'digits_to_date_time' determines 2011 to be a year value.
25385         This fixes the debug messages to correctly show the updated year.
25386         Before:
25387             $ date --debug -d 'Apr 11 22:59:00 2011'
25388             date: parsed date part: (Y-M-D) 2016-04-11
25389             date: parsed time part: 22:59:00
25390             date: parsed number part: today/this/now
25391         After:
25392             $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
25393             date: parsed date part: (Y-M-D) 2016-04-11
25394             date: parsed time part: 22:59:00
25395             date: parsed number part: year: 2011
25396         * lib/parse-datetime.y (struct parser_control): Add 'year_seen',
25397         'debug_year_seen' member fields.
25398         (digits_to_date_time): Update 'year_seen' as needed.
25399         (debug_print_current_time): Inform about year updates.
25400         (parse_datetime2): Initialize year_seen,debug_year_seen member fields.
25402         parse-datetime: fix local timezone debug messages
25403         "Local timezones" are strings that affect only DST relative to the
25404         default timezone. The debug messages in parse-datetime.y printed
25405         wrong information when encountering local timezones.
25406         Examples:
25407         Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
25408              TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
25409              TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
25410         When the default timezone relates to the zone strings, EET/EEST are
25411         parsed as local timezones (tLOCAL_ZONE), and only change the DST
25412         value (0/1, respectively):
25413              TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
25414              TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
25415         * lib/parse-datetime.y (debug_print_current_time): If local timezone
25416         was seen, inform about DST change, don't print actual timezone.
25417         (debug_strfdatetime): If local timezone was seen, use default timezone
25418         (and adjust as needed) instead of using incorrect timezone.
25419         (parse_datetime2): Use correct time-zone source string, and adjust
25420         default timezone as needed.
25422         parse-datetime: add debug warning about DST changes
25423         Incorrect date arithmetic due to daylight saving time (DST) are a
25424         common (false) bug report in coreutils.
25425         Detect two such cases and print a warning:
25426         1. year/month/day adjustments (performed on 'struct tm'),
25427            where 'mktime' returns a different isdst value.
25428         2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
25429            where the result of 'localtime(3)' on the value will return a
25430            different isdst value.
25431         Note: DST changes could be harmless or unnoticeable.
25432         Examples (with 'TZ=America/New_York'):
25433         Unnoticeable: result is 2016-Dec-14
25434            $ date -d '2016-06-15 EDT + 6 months' +%b
25435            Dec
25436         Unnoticeable: result is 2016-Dec-15 11:00:00
25437            $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
25438            2016-12-15
25439         This is unexpected:
25440            $ date -d '2016-06-01 EDT + 6 months' +%F
25441            2016-11-30
25442         The new debug warnings will show:
25443            $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
25444            ...
25445            date: warning: daylight saving time changed after date adjustment
25446            ...
25447         * lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
25448         print an appropriate warning message.
25450         parse-datetime: add debug warning about date arithmetic
25451         Date arithmetic are done directly on the fields of 'struct tm',
25452         which can result in invalid dates. Normalization with 'mktime(3)'
25453         will then produce a different date - which might cause unexpected
25454         results.
25455         Examples:
25456           '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
25457           '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
25458         Note that date normalization is not inherently wrong and not rejected,
25459         as it has legitimate uses:
25460           '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
25461         If the user asked to adjust months but 'mday' changed,
25462         or user asked to adjust years but 'month' changed - warn about it.
25463             $ ./src/date --debug -d '2016-10-31 - 1 month'
25464             ...
25465             date: warning: when adding relative months/years, \
25466                            it is recommended to specify the 15th of the month
25467             ...
25468             date: warning: month/year adjustment resulted in shifted dates:
25469             date:      adjusted Y M D: 2016 09 31
25470             date:    normalized Y M D: 2010 10 01
25471             ...
25472         * lib/parse-datetime.y (parse_datetime2): Detect such cases and print
25473         a warning message. Improve recommendation of when to use 15 of the
25474         month or noon for date arithmetic.
25476         parse-datetime: fix debug message of relative part after timezone
25477         Relative part (e.g '+8 days') after a timezone string was not
25478         reported (was only reported after a timezone number). Due to the
25479         parser's structure, timezone strings with numbers were handled
25480         separately.
25481         before:
25482              # Timezone number + relative part: OK
25483              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
25484              ...
25485              date: parsed relative part: -8 day(s)
25486              # Timezone string + relative part: missing
25487              $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
25488              [ missing message ]
25489         After: messages are printed in both cases.
25490         * lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.
25492         parse-datetime: fix incorrect debug message on lone number
25493         A lone number is an absolute value, not a relative time part.
25494         before:
25495            $ date --debug -d '20130101'
25496            date: parsed number part: today/this/now
25497         After:
25498            $ ./src/date --debug -d '20130101'
25499            date: parsed number part: (Y-M-D) 2013-01-01
25500         * lib/parse-datetime.y ('item'/'number' tokens): Call
25501         'debug_print_current_time' instead of 'debug_print_relative_time'.
25503 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
25505         doc: modernize for C11 etc.
25506         * doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
25507         for C11, MinGW, etc.  This responds to Paul Smith's question in:
25508         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html
25510         dfa: prefer functions to FETCH_WC macro
25511         * lib/dfa.c (FETCH_WC): Remove, replacing with ...
25512         (fetch_wc, bracket_fetch_wc): ... new functions.  These store the
25513         wint_t result into DFA->lex.wctok instead of to a separate arg.
25514         All callers changed.  Move more local decls closer to where
25515         they're used.
25517         dfa: narrow more local var scopes
25518         * lib/dfa.c: Move more local decls to be more local.
25520         dfa: remove duplicate assignment
25521         Problem reported by Bruno Haible in:
25522         http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
25523         * lib/dfa.c (parse_bracket_exp): Simplify.
25525 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25527         dfa: simplify constraint-dependency checking
25528         * lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
25529         (prev_other_constraint): Remove.
25530         (prev_newline_dependent, prev_letter_dependent):
25531         Simplify, to avoid an unnecessary bitwise AND operation.
25533         dfa: prefer functions and constants to macros
25534         * lib/dfa.c: Prefer constants to macros where either will do.
25535         (streq, isasciidigit, newline_constraint)
25536         (letter_constraint, other_constraint, succeeds_in_context)
25537         (prev_newline_constraint, prev_letter_constraint)
25538         (prev_other_constraint, prev_newline_dependent)
25539         (prev_letter_dependent, accepting, accepts_in_context):
25540         Now static functions instead of function-like macros.
25541         Use lower-case names accordingly.  All uses changed.
25543         dfa: narrow more local var scopes
25544         * lib/dfa.c: Move some more local decls down to nearer where
25545         they're needed.
25547 2016-12-31  Jim Meyering  <meyering@fb.com>
25549         dfa: narrow the scope of many local variables
25550         * lib/dfa.c: Now that we are no longer constrained to c89, move
25551         declarations of many variables (often indices) "down" into the
25552         scope(s) where used or to the point of definition.  This is a
25553         no-semantic-change diff.
25555 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
25557         version-etc: new year
25558         * build-aux/gendocs.sh (version):
25559         * doc/gendocs_template:
25560         * doc/gendocs_template_min:
25561         * doc/gnulib.texi:
25562         * lib/version-etc.c (COPYRIGHT_YEAR):
25563         Update copyright dates by hand in templates and the like.
25564         * all files: Run 'make update-copyright'.
25566 2016-12-31  Eric Blake  <eblake@redhat.com>
25568         do-release-commit-and-tag: avoid shell syntax error
25569         * build-aux/do-release-commit-and-tag (curr_br): $branch can
25570         contain spaces when rebasing.
25572         maint.mk: hoist gnulib_dir definition earlier
25573         * top/maint.mk (gnulib_dir): Move near top of file.
25575 2016-12-31  Jim Meyering  <meyering@fb.com>
25577         maint.mk: do not always evaluate intprops-related shell
25578         * top/maint.mk (_intprops_names): Change := to just "=" to avoid
25579         using gnulib_dir undefined (gnulib_dir is defined later in the
25580         file, which will be fixed separately), and besides, there is no
25581         need to incur the cost of this shell invocation for every single
25582         use of this .mk file.  Reported by Eric Blake in
25583         https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html
25585 2016-12-30  Jim Meyering  <meyering@fb.com>
25587         maint.mk: improve sc_prohibit_intprops_without_use
25588         * top/maint.mk (_intprops_names): Don't hard-code the list of
25589         symbol names.  Instead, derive it on the fly.
25591 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
25593         dfa: shorten sbit, success
25594         * lib/dfa.c (struct regex_syntax.sbit):
25595         (struct dfa.success): Use char, not int, for array elements, since
25596         they are all in the range 0..7.
25598         dfa: simplify multibyte_prop etc.
25599         This follows up on a change made when dfa.c was in grep, namely grep
25600         commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
25601         dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
25602         That earlier simplification allows for some more simplification
25603         and trimming down here.
25604         * lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
25605         (struct lexer_state): New mamber brack.
25606         (struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
25607         since they must be in the range 0..3 now.
25608         Remove members mbcsets, nmbcsets, mbcsets_alloc, since
25609         the brack member now supersedes them.
25610         (parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
25611         (addtok): Use dfa->lex.brack instead of dfa->mbcsets.
25612         (dfaparse): Remove unnecessary initializations of already-0 storage.
25613         (free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
25614         (dfassbuild): No need to clear sup->mbcsets.
25616         dfa: minor performance tweak
25617         * lib/dfa.c (setbit_wc): Test < 0, not == EOF.
25619         dfa: wrap charclass inside a struct
25620         On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
25621         en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
25622         about 5% faster, where list.txt is generated by 'aspell dump
25623         master | head -n 100000 >list.txt'.  See Bug#22239.
25624         * lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
25625         (CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
25626         (equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
25627         Adjust to this, e.g., by using charclass * rather than charclass.
25628         All callers changed as needed.
25629         (copyset): Remove.  All uses changed to simple assignment.
25630         (parse_bracket_exp): Use zeroset instead of memset.
25632 2016-12-30  Jim Meyering  <meyering@fb.com>
25634         maint.mk: update list of intprops.h symbol names
25635         * top/maint.mk (_intprops_names): Regenerate the list of symbol names.
25636         This avoids a false failure of the sc_prohibit_intprops_without_use
25637         rule in grep.
25639 2016-12-29  Eric Blake  <eblake@redhat.com>
25641         getopt: fix parallel test failure
25642         * tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
25643         * tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
25644         * tests/test-getopt-main.h (main): Use different file names
25645         in case test-getopt-gnu and test-getopt-posix run in parallel.
25647 2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25649         xalloc: x2nrealloc check for ptrdiff_t overflow
25650         * lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
25651         * modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.
25653 2016-12-24  Bruno Haible  <bruno@clisp.org>
25655         lock test: Fix performance problem on multi-core machines.
25656         * tests/test-lock.c (USE_VOLATILE): New macro.
25657         (struct atomic_int): New type.
25658         (init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
25659         functions.
25660         (lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
25661         as 'struct atomic_int'.
25662         (lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
25663         reclock_checker_thread, test_recursive_lock): Use the new functions.
25664         Reported by Eric Blake in
25665         https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
25666         and by Pádraig Brady in
25667         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.
25669 2016-12-19  Bruno Haible  <bruno@clisp.org>
25671         vma-iter: Fix endless loop on 64-bit Windows.
25672         * lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
25673         'unsigned long'.
25675 2016-12-19  Bruno Haible  <bruno@clisp.org>
25677         stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
25678         * m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
25679         * m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
25680         Invoke gt_TYPE_WINT_T instead.
25681         (gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
25682         * modules/stdint (Files): Add m4/wint_t.m4.
25683         * modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25684         * modules/wctype-h (Makefile.am): Likewise.
25685         * lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
25686         not only on MSVC.
25687         * lib/wctype.in.h (wint_t): Likewise.
25689 2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>
25691         getopt-posix-tests: fix Makefile typo
25692         * modules/getopt-posix-tests (test_getopt_posix_LDADD):
25693         Fix typo: the last ‘_’ was missing in the name.
25694         I suspect that the typo explains this build failure:
25695         https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
25696         although I can’t reproduce the problem on Solaris 10 sparc.
25698 2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>
25700         dfa: improve worst-case 'replace' performance
25701         See my note in Bug#22357#71.
25702         * lib/dfa.c (insert, delete): Rework to avoid duplicate test.
25703         (merge_constrained): New function, which is like
25704         the old 'merge' function, except with a new argument C2.
25705         Simplify the body by avoiding the need for different sections
25706         of code depending on whether one input is exhausted.
25707         (merge): Use the new function.
25708         (delete): Return the constraint of the deleted position,
25709         not the entire position.  Caller changed.
25710         (replace): Change from O(N*(N + log N)) to O(N log N) algorithm.
25712 2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>
25714         dfa: performance improvement for removal of epsilon closure
25715         See Bug#22357#32.
25716         * lib/dfa.c (delete): Use binary search to find deleted index.
25717         (replace): New function.  It replaces a position with the followed set.
25718         (epsclosure): Replace it with a new algorithm.  Update caller.
25720 2016-12-18  Bruno Haible  <bruno@clisp.org>
25722         Split tests for getopt-posix and getopt-gnu.
25723         * tests/test-getopt-posix.c: New file.
25724         * tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
25725         * tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
25726         stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
25727         GNULIB_TEST_GETOPT_GNU.
25728         * modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
25729         test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
25730         (Makefile.am): Test test-getopt-posix instead of test-getopt.
25731         * modules/getopt-gnu-tests: New file.
25732         * modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.
25734 2016-12-18  Bruno Haible  <bruno@clisp.org>
25736         posix-modules: Add options for specific platforms.
25737         * posix-modules (func_usage): Document options --for-mingw, --for-msvc.
25738         (exclude_for_mingw, exclude_for_msvc, exclude): New variables.
25739         Invoke func_tmpdir. Filter out the excludes.
25741 2016-12-18  Bruno Haible  <bruno@clisp.org>
25743         getopt: Fix link error for users of getopt() in <unistd.h>.
25744         * lib/getopt.in.h (getopt etc.): Do the macro definitions also when
25745         __need_getopt is defined. Undefine all macros before defining them.
25746         * modules/getopt (Include): Clarify that including <unistd.h> is also
25747         OK.
25748         * tests/test-getopt.c: Add comment.
25750 2016-12-17  Bruno Haible  <bruno@clisp.org>
25752         getaddrinfo tests: Avoid compilation error on MSVC.
25753         * tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
25754         getaddrinfo on native Windows.
25756 2016-12-17  Bruno Haible  <bruno@clisp.org>
25758         getlogin, getlogin_r: Fix link errors on MSVC.
25759         * m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
25760         * modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
25761         (Link): New section.
25762         * modules/getlogin_r (Files): Add m4/getlogin.m4.
25763         (configure.ac): Require gl_LIB_GETLOGIN.
25764         (Link): New section.
25765         * NEWS: Mention the new link requirements.
25766         * modules/getlogin-tests (test_getlogin_LDADD): New variable.
25767         * modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.
25769 2016-12-17  Bruno Haible  <bruno@clisp.org>
25771         Un-deprecate the 'progname' module.
25772         * NEWS: Describe the appropriate use-cases of 'progname' versus
25773         'getprogname'. Based on discussion summary at
25774         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html
25776 2016-12-17  Bruno Haible  <bruno@clisp.org>
25778         Reorganize NEWS a bit.
25779         * NEWS: Move some not so important changes away from section
25780         "Important Notes".
25782 2016-12-17  Bruno Haible  <bruno@clisp.org>
25784         tanhf: Avoid redefinition error on MSVC.
25785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
25786         * m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
25787         may be defined as an inline function.
25788         * modules/math (Makefile.am): Substitute REPLACE_TANHF.
25789         * lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.
25791 2016-12-17  Bruno Haible  <bruno@clisp.org>
25793         tanf: Avoid redefinition error on MSVC.
25794         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
25795         * m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
25796         may be defined as an inline function.
25797         * modules/math (Makefile.am): Substitute REPLACE_TANF.
25798         * lib/math.in.h (tanf): Override if REPLACE_TANF is 1.
25800 2016-12-17  Bruno Haible  <bruno@clisp.org>
25802         sqrtf: Avoid redefinition error on MSVC.
25803         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
25804         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
25805         may be defined as an inline function.
25806         * modules/math (Makefile.am): Substitute REPLACE_SQRTF.
25807         * lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.
25809 2016-12-17  Bruno Haible  <bruno@clisp.org>
25811         sinhf: Avoid redefinition error on MSVC.
25812         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
25813         * m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
25814         may be defined as an inline function.
25815         * modules/math (Makefile.am): Substitute REPLACE_SINHF.
25816         * lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.
25818 2016-12-17  Bruno Haible  <bruno@clisp.org>
25820         sinf: Avoid redefinition error on MSVC.
25821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
25822         * m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
25823         may be defined as an inline function.
25824         * modules/math (Makefile.am): Substitute REPLACE_SINF.
25825         * lib/math.in.h (sinf): Override if REPLACE_SINF is 1.
25827 2016-12-17  Bruno Haible  <bruno@clisp.org>
25829         logf: Avoid redefinition error on MSVC.
25830         * m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
25831         may be defined as an inline function.
25833 2016-12-17  Bruno Haible  <bruno@clisp.org>
25835         log10l: Avoid redefinition error on MSVC.
25836         * m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
25837         may be defined as an inline function.
25839 2016-12-17  Bruno Haible  <bruno@clisp.org>
25841         log10f: Avoid redefinition error on MSVC.
25842         * m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
25843         may be defined as an inline function.
25845 2016-12-17  Bruno Haible  <bruno@clisp.org>
25847         hypotl: Avoid redefinition error on MSVC.
25848         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
25849         may be defined as an inline function.
25851 2016-12-17  Bruno Haible  <bruno@clisp.org>
25853         hypotf: Avoid redefinition error on MSVC.
25854         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
25855         may be defined as an inline function.
25857 2016-12-17  Bruno Haible  <bruno@clisp.org>
25859         fmodl: Avoid redefinition error on MSVC.
25860         * m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
25861         may be defined as an inline function.
25863 2016-12-17  Bruno Haible  <bruno@clisp.org>
25865         fmodf: Avoid redefinition error on MSVC.
25866         * m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
25867         may be defined as an inline function.
25869 2016-12-17  Bruno Haible  <bruno@clisp.org>
25871         expf: Avoid redefinition error on MSVC.
25872         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
25873         * m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
25874         may be defined as an inline function.
25875         * modules/math (Makefile.am): Substitute REPLACE_EXPF.
25876         * lib/math.in.h (expf): Override if REPLACE_EXPF is 1.
25878 2016-12-17  Bruno Haible  <bruno@clisp.org>
25880         coshf: Avoid redefinition error on MSVC.
25881         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
25882         * m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
25883         may be defined as an inline function.
25884         * modules/math (Makefile.am): Substitute REPLACE_COSHF.
25885         * lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.
25887 2016-12-17  Bruno Haible  <bruno@clisp.org>
25889         cosf: Avoid redefinition error on MSVC.
25890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
25891         * m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
25892         may be defined as an inline function.
25893         * modules/math (Makefile.am): Substitute REPLACE_COSF.
25894         * lib/math.in.h (cosf): Override if REPLACE_COSF is 1.
25896 2016-12-17  Bruno Haible  <bruno@clisp.org>
25898         atan2f: Avoid redefinition error on MSVC.
25899         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
25900         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
25901         may be defined as an inline function.
25902         * modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
25903         * lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.
25905 2016-12-17  Bruno Haible  <bruno@clisp.org>
25907         atanf: Avoid redefinition error on MSVC.
25908         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
25909         * m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
25910         may be defined as an inline function.
25911         * modules/math (Makefile.am): Substitute REPLACE_ATANF.
25912         * lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.
25914 2016-12-17  Bruno Haible  <bruno@clisp.org>
25916         asinf: Avoid redefinition error on MSVC.
25917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
25918         * m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
25919         may be defined as an inline function.
25920         * modules/math (Makefile.am): Substitute REPLACE_ASINF.
25921         * lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.
25923 2016-12-17  Bruno Haible  <bruno@clisp.org>
25925         acosf: Avoid redefinition error on MSVC.
25926         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
25927         * m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
25928         may be defined as an inline function.
25929         * modules/math (Makefile.am): Substitute REPLACE_ACOSF.
25930         * lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.
25932 2016-12-17  Bruno Haible  <bruno@clisp.org>
25934         Avoid redefinition errors on MSVC.
25935         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
25936         the function may be defined as an inline function.
25937         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
25938         the function may be defined as an inline function.
25940 2016-12-17  Bruno Haible  <bruno@clisp.org>
25942         Avoid redefinition errors on MSVC.
25943         * lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
25944         * lib/unistd.in.h: Include <stdio.h> when necessary.
25946 2016-12-17  Bruno Haible  <bruno@clisp.org>
25948         stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
25949         * m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
25950         * modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
25951         * lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
25952         WINT_MAX.
25954 2016-12-17  Bruno Haible  <bruno@clisp.org>
25956         Avoid autoconf warning.
25957         * modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
25958         * modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.
25960 2016-12-17  Bruno Haible  <bruno@clisp.org>
25962         fpending: Revert workaround against Emacs bug.
25963         * lib/stdio-impl.h [__MINGW32__]: Revert conditional.
25964         The Emacs bug is fixed by Eli Zaretskii in
25965         http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html
25967 2016-12-17  Bruno Haible  <bruno@clisp.org>
25969         getlogin_r tests: Port to mingw.
25970         * tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
25971         regression introduced on 2014-05-19.
25973 2016-12-17  Bruno Haible  <bruno@clisp.org>
25975         getlogin: Port to newer mingw.
25976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
25977         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
25978         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
25979         HAVE_GETLOGIN.
25980         * lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
25981         HAVE_GETLOGIN.
25982         * doc/posix-functions/getlogin.texi: Mention the issue.
25983         * tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
25984         regression introduced on 2014-05-14.
25986 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
25988         builtin-expect: improve port to IBM XL C
25989         Problem reported for z/OS by Daniel Richard G. in:
25990         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
25991         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25992         Test for <builtins.h> directly.
25994         builtin-expect: port to IBM XL C
25995         Problem reported for z/OS by Daniel Richard G. in:
25996         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
25997         * m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
25998         Also allow __builtin_expect defined via a standard include file.
26000         regex: fix dependency
26001         Problem reported by Bruno Haible in:
26002         http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
26003         * modules/regex: Depend on builtin-expect.
26005         builtin-expect: new module
26006         Fix fnmatch to use it.
26007         Problem reported for z/OS by Daniel Richard G.
26008         * lib/fnmatch.c (__builtin_expect):
26009         * lib/glob.c (__builtin_expect):
26010         * lib/grantpt.c (__builtin_expect) [!_LIBC]:
26011         * lib/memmem.c (__builtin_expect) [!_LIBC]:
26012         * lib/scandir.c (__builtin_expect):
26013         * lib/strstr.c (__builtin_expect) [!_LIBC]:
26014         Remove macro; config.h now does this.
26015         * lib/gl_anytreehash_list1.h (add_to_bucket):
26016         * lib/regex_internal.h (BE):
26017         Assume __builtin_expect.
26018         * m4/builtin-expect.m4, modules/builtin-expect: New files.
26019         * modules/avltreehash-list, modules/fnmatch, modules/glob:
26020         * modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
26021         * modules/scandir, modules/strstr-simple:
26022         Depend on builtin-expect.
26024 2016-12-15  Bruno Haible  <bruno@clisp.org>
26026         init.sh: Add possibility to not delete temporary files.
26027         * tests/init.sh (remove_tmp_): If the environment variable KEEP is set
26028         to yes, don't erase the temporary directory.
26030 2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>
26032         regex: fix integer-overflow bug in never-used code
26033         Problem reported by Clément Pit–Claudel in:
26034         http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
26035         * lib/regex_internal.h: Include intprops.h.
26036         * lib/regexec.c (re_search_2_stub): Use it to avoid undefined
26037         behavior on integer overflow.
26038         * modules/regex (Depends-on): Add intprops.
26040         fpending: fix port to MinGW on Emacs
26041         * lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
26042         Problem reported by Eli Zaretskii in:
26043         http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
26044         Is Plan 9 still a valid porting target, anyway?
26046 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
26048         safe-alloc: use xalloc-oversized
26049         * lib/safe-alloc.c: Include xalloc-oversized.h.
26050         (safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
26051         * modules/safe-alloc (Depends-on): Add xalloc-oversized.
26053         xalloc: do not exceed PTRDIFF_MAX
26054         * lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
26055         xalloc_oversized check, since objects larger than PTRDIFF_MAX
26056         bytes have pointer-subtraction problems.
26058         malloca: do not exceed PTRDIFF_MAX
26059         * lib/malloca.h: Include xalloc-oversized.
26060         (nmalloca): Use xalloc_oversized instead of rolling our own.
26061         * modules/malloca (Depends-on):
26062         * modules/relocatable-prog-wrapper (Depends-on):
26063         Add xalloc-oversized.
26065         quotearg: pacify GCC better
26066         * modules/quotearg (Depends-on): Add minmax, stdint.
26067         * lib/quotearg.c: Include minmax.h, stdint.h.
26068         (nslots): Now int, as there seems little point to going to extra
26069         work merely to support the INT_MAX slot, which nobody ever uses.
26070         (quotearg_n_options): Redo size-overflow checks to pacify GCC
26071         and to catch (mostly-theoretical) ptrdiff_t problems too.
26072         This can be done via one comparison.
26074 2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>
26076         xalloc-oversized: check for PTRDIFF_MAX too
26077         This avoids undefined behavior when subtracting pointers to
26078         objects containing more than PTRDIFF_MAX bytes.
26079         * lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
26080         Also return 1 if the result would exceed PTRDIFF_MAX>
26081         * modules/xalloc-oversized (Depends-on):
26082         Add stdint.
26084         dfa: fix glitches in previous commit
26085         Sorry, I don't know how I managed to commit the wrong version.
26086         * lib/dfa.c (MIN): Move up.
26087         (xpalloc): Now static.
26089         dfa: fix some unlikely integer overflows
26090         I found these while reviewing the recent Coverity-related fix.
26091         This patch changes part of dfa.c to prefer ptrdiff_t instead of
26092         size_t for object counts.  Using ptrdiff_t is the style typically
26093         used in Emacs; although it wastes a sign bit as sizes can never be
26094         negative, it makes -fsanitize=undefined more likely to catch
26095         integer overflows in index calculation, and nowadays the upside is
26096         typically more important than the downside.  Although perhaps the
26097         rest of dfa.c should be changed to prefer ptrdiff_t as well (much
26098         of dfa.c already does, since it uses state_num which is signed),
26099         that is a bigger change and is not needed to fix the bugs I found.
26100         * lib/dfa.c: Include stdint.h and intprops.h.
26101         (TOKEN_MAX): New macro.
26102         (position_set, struct mb_char_classes, struct dfa, maybe_realloc)
26103         (charclass_index, parse_bracket_exp, addtok, insert, merge)
26104         (realloc_trans_if_necessary, free_mbdata):
26105         Use ptrdiff_t instead of size_t for object counts related to xpalloc.
26106         This is safe because xpalloc checks that the sizes do not exceed
26107         either SIZE_MAX or PTRDIFF_MAX.
26108         (xpalloc): New function, mostly taken from Emacs.
26109         (maybe_realloc, copy, realloc_trans_if_necessary): Use it.
26110         (maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
26111         (charclass_index): Check for integer overflow in computing
26112         charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
26113         added to it later.
26114         (alloc_position_set): Check for integer overflow.  On typical
26115         platforms this check has zero overhead, since the constant
26116         expression is false.
26117         (realloc_trans_if_necessary):
26118         Remove assertion, which I hope Coverity no longer needs.
26120         * modules/dfa (Depends-on): Add intprops, stdint.
26122 2016-12-12  Jim Meyering  <meyering@fb.com>
26124         dfa: add an assertion to avoid coverity false positive
26125         * lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
26126         warned that "newalloc1 - 2" could overflow.
26128 2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>
26130         dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
26131         * dfa.h (DFA_CASE_FOLD): Remove.
26132         * dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.
26134 2016-12-13  John W. Eaton  <gnu@jweaton.org>
26136         link: fix test to declare use of rename()
26137         * m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
26138         -Werror=implicit-function-declaration
26140 2016-12-12  Bruno Haible  <bruno@clisp.org>
26142         fpending: Port to native Windows with MSVC.
26143         * lib/fpending.c: Include stdio-impl.h.
26144         (__fpending): Include all known implementations. Err out if it's not
26145         ported.
26146         * m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
26147         * modules/fpending (Files): Add lib/stdio-impl.h.
26148         (configure.ac): Don't invoke gl_PREREQ_FPENDING.
26150 2016-12-12  Bruno Haible  <bruno@clisp.org>
26152         stdioext: Port to native Windows with MSVC.
26153         * lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
26154         (struct _gl_real_FILE): New type.
26155         (fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
26156         Windows.
26157         * lib/fbufmode.c (fbufmode): Add code for native Windows.
26158         * lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
26159         other SystemV derived implementations.
26160         * lib/fpurge.c (fpurge): Likewise.
26161         * lib/freadable.c (freadable): Likewise.
26162         * lib/freadahead.c (freadahead): Likewise.
26163         * lib/freading.c (freading): Likewise.
26164         * lib/freadptr.c (freadptr): Likewise.
26165         * lib/freadseek.c (freadptrinc): Likewise.
26166         * lib/fseeko.c (fseeko): Likewise.
26167         * lib/fseterr.c (fseterr): Likewise.
26168         * lib/fwritable.c (fwritable): Likewise.
26169         * lib/fwriting.c (fwriting): Likewise.
26170         Reported by Gisle Vanem <gvanem@yahoo.no>.
26172 2016-12-11  Jim Meyering  <meyering@fb.com>
26174         non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
26175         * m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
26176         to work with most shells, but not with the one provided by many
26177         Solaris 10 systems, so running configure with such a /bin/sh evokes
26178         e.g., "./configure: syntax error at line 33602: `(' unexpected".
26179         Reported by Assaf Gordon in
26180         https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html
26182 2016-12-10  Bruno Haible  <bruno@clisp.org>
26184         threadlib: Optimize out runtime test on Solaris >= 10.
26185         * m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
26186         PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
26187         Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.
26189 2016-12-10  Bruno Haible  <bruno@clisp.org>
26191         stdint: Update doc about Solaris 9.
26192         * doc/posix-headers/stdint.texi: Add info about Solaris 9.
26194 2016-12-09  Bruno Haible  <bruno@clisp.org>
26196         c-ctype tests: Fix link error on Solaris 9.
26197         * modules/c-ctype-tests (Depends-on): Add 'isblank'.
26198         Reported at <https://savannah.gnu.org/bugs/?46827>.
26200 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
26202         dfa: fix performance bug that recomputes trans
26203         * lib/dfa.c (build_state): Fix performance bug introduced in Nov
26204         25 on-demand changes.  The bug caused build_state to reset all
26205         d->trans elements to -2 even when d->trans was already non-null.
26206         Use C99 style decls after statements in this function.
26208         same-inode: port to MinGW
26209         Here st_ino is always 0, so change the definition of SAME_INODE so
26210         that 1 means the two files are the same, 0 with st_ino != 0 means
26211         they differ, and 0 with st_ino == 0 means we don’t know.  Problem
26212         reported by Bruno Haible (Bug#25146).
26213         * doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
26214         * lib/same-inode.h (SAME_INODE): Return 0 on MinGW.
26216 2016-12-04  Bruno Haible  <bruno@clisp.org>
26218         javacomp-script: Support Java 7 and 8.
26219         * m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
26220         target-version 1.7, 1.8.
26222 2016-12-02  Daiki Ueno  <ueno@gnu.org>
26224         * gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
26225         GPLv2" rewriting.
26227 2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>
26229         * gnulib-tool (func_import): Adhere to the license guideline when
26230         rewriting the license text to "LGPLv3+ or GPLv2":
26231         https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages
26233 2016-12-02  Bruno Haible  <bruno@clisp.org>
26235         localcharset: Avoid theoretical buffer overrun.
26236         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
26237         return value from setlocale if it would lead to a buffer overrun.
26239 2016-12-01  Bruno Haible  <bruno@clisp.org>
26241         Relicense some modules under LGPLv2+.
26242         Kevin Cernekee's approval is in
26243         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
26244         * modules/fseterr (License): Change to LGPLv2+.
26245         * modules/mbchar (License): Likewise.
26246         * modules/mbiter (License): Likewise.
26247         * modules/mbsnlen (License): Likewise.
26248         * modules/wcwidth (License): Likewise.
26250 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26252         scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
26253         * lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
26254         OS/2 kLIBC.
26256 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26258         alphasort, scandir: Port to OS/2 kLIBC
26259         * lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
26260         declaration.
26261         * lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.
26263 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26265         relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
26266         * lib/relocatable.c (relocate): Do not touch pathname if it is started
26267         with '/@unixroot'.
26269 2016-12-01  KO Myung-Hun  <komh78@gmail.com>
26271         sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
26272         * lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
26273         OS/2 kLIBC unless TCPV40HDRS is defined.
26275 2016-11-29  Jim Meyering  <meyering@fb.com>
26277         dfa: avoid new infinite loop
26278         This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
26279         * lib/dfa.c (dfastate): When constructing a new state table, we could
26280         initially declare that we had found a match, and later find that
26281         constraints eliminate that possibility, yet continue to use the
26282         now stale "matched" indicator.  That would lead to an infinite loop.
26283         The solution is to update "matched" when necessary.
26284         Introduced by commit v0.1-983-g403adf1.
26286 2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26288         dfa: avoid match middle in multibyte character
26289         * lib/dfa.c (transit_state): If fails in matching single byte characters
26290         on a state including period expression in non-UTF8 multibyte locales,
26291         skip trailing bytes.
26292         (dfa_supported): Revert previous change.
26294 2016-11-27  Jim Meyering  <meyering@fb.com>
26296         dfa: avoid false match in non-UTF8 multibyte locales
26297         * lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
26298         as "not supported" so that callers will resort to using regex-based
26299         matcher.  This will surely hurt performance, but correctness trumps
26300         performance here, and the affected locales are less and less relevant,
26301         these days.  See grep's bug report https://bugs.gnu.org/24975.
26303 2016-11-27  Mike Frysinger  <vapier@gentoo.org>
26305         ptsname_r: leverage AC_HEADER_MAJOR to provide major()
26306         * lib/ptsname_r.c: Include the appropriate headers.
26307         [__sun]: Delete sys/sysmacros.h include.
26308         [_AIX || __osf__]: Likewise.
26309         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.
26311 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26313         md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
26314         * lib/md4.c (md4_process_bytes): The existing define is made internal
26315         in recent versions of glibc, so also use this new public define.
26316         * lib/md5.c (md5_process_bytes): Likewise.
26317         * lib/sha1.c (sha1_process_bytes): Likewise.
26318         * lib/sha256.c (sha256_process_bytes): Likewise.
26319         * lib/sha512.c (sha512_process_bytes): Likewise.
26321 2016-11-27  Pádraig Brady  <P@draigBrady.com>
26323         maint: use a more standard return from mbrtowc test
26324         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
26325         from the test program as this often indicates an
26326         unhandled case in the test program.
26327         (gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
26328         (gl_MBRTOWC_SANITYCHECK): Likewise.
26329         (gl_MBRTOWC_NULL_ARG2): Likewise.
26330         (gl_MBRTOWC_NUL_RETVAL): Likewise.
26332 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
26334         freopen: work around glibc bug with closed fd
26335         Work around glibc bug#15589, where freopen mishandles the case
26336         where stdin etc. are already closed.
26337         * doc/posix-functions/freopen.texi (freopen): Document the bug.
26338         * lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
26339         instead of __need_FILE, as the latter does not work with glibc.
26340         Include <fcntl.h>, for open flags.
26341         (rpl_freopen): Work around glibc bug.
26342         * m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
26343         * modules/freopen (Depends-on): Add fcntl-h.
26344         * tests/test-freopen.c (main): Test for bug.
26346 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26348         fnmatch: fix typo introduced on 2016-08-17
26349         This fixes the port to non-GCC compilers that lack __builtin_expect.
26350         * lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.
26352         dfa: simplify with new function fillset
26353         * lib/dfa.c (fillset): New function.
26354         Use it for clarity when applicable.
26356         dfa: fix glitches with on-demand states
26357         Also, adjust commentary to better match new code.
26358         Some of these glitches predate the recent change.
26359         * lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
26360         only non-initial states.
26361         (dfastate): Rename locals to better match new roles.
26362         Move them into nested scopes if this is easy.
26363         Omit unnecessary calls to zeroset.
26364         Simplify test for whether to throw in the positions of state 0.
26365         Omit C99-ism (decl after statement) since Gawk still wants C89.
26366         (build_state): Omit unnecessary test and assignment.
26367         Fix some confusion that counted transition tables inaccurately
26368         and could cause a memory leak.
26369         (dfaexec_main): Redo to make it clearer to the compiler that
26370         -1 and -2 are the only negative state numbers here.
26372 2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>
26374         dfa: addition of new state on demand
26375         * src/dfa.c (dfastate): Add argument UC, the current input character.
26376         Fill only a group including the character in transition table.
26377         (realloc_trans_if_necessary): Add the dummy state which means that a
26378         transition table is assigned but the next state is not assigned.
26379         (build_state): Return the next state.  All callers updated.
26380         (transit_state_singlebyte): If we get the dummy state,
26381         fill the transition table.
26382         (dfaexec_main): Handle the dummy state.
26383         (free_mbdata, dfafree): Consider the dummy state.
26385 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26387         srclist: sync with released gettext
26388         * config/srclist.txt: Set "release" option to the files under
26389         $GETTEXT.
26391 2016-11-24  Daiki Ueno  <ueno@gnu.org>
26393         srclist: add "release" option
26394         * config/srclist.txt: Change the format so that the first column
26395         of each line points to the top-level directory of the source
26396         archive.
26397         * config/srclist-update: Accept "release" option that checks files
26398         from the most recently tagged revision in the source archive.
26400 2016-11-21  Bruno Haible  <bruno@clisp.org>
26402         snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
26403         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26404         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
26405         _GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
26406         Inline and remove member function 'rpl ()' of the wrapper struct.
26408 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
26410         dfa: fix logic typo
26411         Problem reported by Stephane Chazelas (Bug#24973).
26412         * lib/dfa.c (using_simple_locale): Fix typo that caused some
26413         non-simple locales like fr_FR to be treated as simple.
26415 2016-11-20  Jim Meyering  <meyering@fb.com>
26417         fix test driver leaks: exclude, malloc, realloc
26418         * tests/test-exclude.c (main): Fix trivial leak.
26419         * tests/test-malloc-gnu.c (main): Likewise.
26420         * tests/test-realloc-gnu.c (main): Likewise.
26421         With these changes, grep's tests are now leak free.
26422         I.e., running them with ASAN elicits no failure:
26423           make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
26424             AM_LDFLAGS='-fsanitize=address -static-libasan' check
26426 2016-11-11  Bruno Haible  <bruno@clisp.org>
26428         libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
26429         * modules/libunistring: (License): Change from LGPL to
26430         "LGPLv3+ or GPLv2".
26431         * modules/libunistring-optional: Likewise.
26432         * modules/unicase/*: Likewise.
26433         * modules/uniconv/*: Likewise.
26434         * modules/unictype/*: Likewise.
26435         * modules/unigbrk/*: Likewise.
26436         * modules/unilbrk/*: Likewise.
26437         * modules/uniname/*: Likewise.
26438         * modules/uninorm/*: Likewise.
26439         * modules/unistdio/*: Likewise.
26440         * modules/unistr/*: Likewise.
26441         * modules/uniwbrk/*: Likewise.
26442         * modules/uniwidth/*: Likewise.
26444 2016-11-12  Bruno Haible  <bruno@clisp.org>
26446         Relicense some modules under LGPLv2+.
26447         Paul Eggert's approval is in
26448         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
26449         Eric Blake's approval is in
26450         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
26451         Ludovic Courtès's approval is in
26452         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
26453         * modules/isnand-nolibm (License): Change to LGPLv2+.
26454         * modules/isnanf-nolibm (License): Likewise.
26455         * modules/isnanl-nolibm (License): Likewise.
26457 2016-11-19  Bruno Haible  <bruno@clisp.org>
26459         Relicense some modules under LGPLv2+.
26460         lib/float+.h is already under LGPLv2+ since 2007-07-13, per
26461         modules/vasnprintf.
26462         Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
26463         http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
26464         All other significant changes to the files in lib/ of these modules
26465         are from me.
26466         * modules/memcmp2 (License): Change to LGPLv2+.
26467         * modules/amemxfrm (License): Likewise.
26468         * modules/fpieee (License): Likewise.
26469         * modules/fpucw (License): Likewise.
26470         * modules/frexp-nolibm (License): Likewise.
26471         * modules/frexpl-nolibm (License): Likewise.
26472         * modules/printf-frexp (License): Likewise.
26473         * modules/printf-frexpl (License): Likewise.
26474         * modules/printf-safe (License): Likewise.
26475         * modules/signbit (License): Likewise.
26477 2016-11-17  Bruno Haible  <bruno@clisp.org>
26479         Enable Unicode decoder safety unconditionally.
26480         * lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
26481         * lib/unistr/u8-mblen.c (u8_mblen): Likewise.
26482         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
26483         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
26484         * lib/unistr/u8-prev.c (u8_prev): Likewise.
26485         * lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
26486         * lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
26487         * lib/unistr/u16-mblen.c (u16_mblen): Likewise.
26488         * lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
26489         * lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
26490         * lib/unistr/u16-prev.c (u16_prev): Likewise.
26491         * lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
26492         * lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
26493         * lib/unistr/u32-mblen.c (u32_mblen): Likewise.
26494         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
26495         * lib/unistr/u32-prev.c (u32_prev): Likewise.
26496         * lib/unistr/u32-next.c (u32_next): Likewise.
26497         * lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
26498         * lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
26499         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
26500         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
26501         * tests/unistr/test-u16-prev.c (check_invalid): Enable the
26502         CONFIG_UNICODE_SAFETY tests unconditionally.
26503         * tests/unistr/test-u32-mblen.c (main): Likewise.
26504         * tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
26505         * tests/unistr/test-u32-prev.c (check_invalid): Likewise.
26506         * tests/unistr/test-u32-next.c (main): Likewise.
26507         * tests/unistr/test-u32-strmblen.c (main): Likewise.
26508         * tests/unistr/test-u32-strmbtouc.c (main): Likewise.
26509         * tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
26510         * lib/unistr/u8-check.c (u8_check): Remove old dead code.
26511         * lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
26512         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
26513         * lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
26514         * lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
26515         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
26516         * lib/unistr/u16-check.c (u16_check): Update comment.
26517         * NEWS: Mention the changes that callers should be aware of.
26519 2016-11-19  Bruno Haible  <bruno@clisp.org>
26521         relocatable-prog-wrapper: Fix breakage on Cygwin.
26522         * modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
26523         (Depends-on): Remove intprops.
26524         * lib/relocwrapper.c: Update dependency tree.
26525         (strerror): Undefine.
26526         * build-aux/install-reloc (func_create_wrapper): Do not compile
26527         strerror.c and strerror-override.c. Erase stat.o and lstat.o.
26529 2016-11-19  Bruno Haible  <bruno@clisp.org>
26531         strerror: Make it compile in C++ mode.
26532         * lib/strerror.c (strerror): Ignore the return value of memcpy().
26534 2016-11-15  Pedro Alves  <palves@redhat.com>
26536         sys_time: add gnulib::timeval for C++
26537         * lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
26538         Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
26539         timeval macro.
26541 2016-11-14  Pedro Alves  <palves@redhat.com>
26543         snippet/c++defs: fix real-floating arg functions in C++ mode
26544         Also, define isfinite, isinf, isnan, signbit in the gnulib
26545         namespace instead of in the global namespace.
26546         * build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
26547         (_GL_END_NAMESPACE): New.
26548         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
26549         (isfinite, isinf, isnan, signbit) [__cplusplus &&
26550         GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
26551         instead of in the global namespace.
26552         * tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
26553         signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
26554         of in the global namespace.
26556 2016-11-13  Jim Meyering  <meyering@fb.com>
26558         strftime: don't use __THROW
26559         Each use of __THROW would provoke this from gcc-7-to-be:
26561           lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
26562             on unit local functions [-Wattributes]
26563           static int iso_week_days (int, int) __THROW;
26564           ^~~~~~
26565         * lib/strftime.c (__THROW): Don't define.
26566         Remove each use of __THROW.
26567         * lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
26568         (tm_diff, iso_week_days, __strftime_internal): Likewise.
26570 2016-11-14  Paul Eggert  <eggert@union>
26572         obstack: port to gcc -fcheck-pointer-bounds
26573         Problem found by 'make check' failure on bleeding-edge coreutils
26574         on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
26575         6.2.0-5ubuntu12), configured via "./configure
26576         --enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
26577         -O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
26578         * lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
26579         New macro, copied from fts_.h.
26580         (struct _obstack_chunk.contents): Use it.
26582 2016-11-14  Eric Blake  <eblake@redhat.com>
26584         strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
26585         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
26586         Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().
26588 2016-11-14  Pádraig Brady  <P@draigBrady.com>
26590         strptime: fix compile error in recent change
26591         * lib/strptime.c (__strptime_internal): Fix ported code.
26593 2016-11-11  Bruno Haible  <bruno@clisp.org>
26595         gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
26596         * gnulib-tool (--lgpl): Accept value 3orGPLv2.
26597         (func_import): Extend determination of license_incompatibilities.
26598         (func_create_testdir): Extend table of license compatibility. Handle
26599         also the licenses GPLv3+, GPL, LGPLv3+.
26601 2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>
26603         strftime: tune %q
26604         * lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.
26606         Merge strftime.c changes from glibc
26607         This incorporates:
26608         2007-10-16 [BZ #5184] Add tzset_called argument
26609         2008-06-13 [BZ #6612] pass reference to tzset_called around
26610         2009-10-30 Implement Burmese language locale for Myanmar
26611         2010-01-09 Add support for XPG7 testing
26612         2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
26613         2015-10-20 Convert miscellaneous function definitions to prototype style
26614         * lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
26615         it anyway and this lessens the difference between gnulib and glibc.
26616         (USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
26617         (__THROW): Define if standard headers do not.
26618         (LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
26619         (memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
26620         Declare with __THROW.
26621         (__strftime_internal): Rename from strftime_case_. Add arg for
26622         whether tzset is called.  All uses changed.  Call tzset at most
26623         once.  Allow %OC, for Burmese.
26624         (a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
26625         Don't assume values are in range.
26627 2016-11-12  Eric Blake  <eblake@redhat.com>
26629         strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
26630         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
26631         (gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
26632         different value.
26634 2006-11-12  Pedro Alves  <palves@redhat.com>
26636         Fix gnulib C++ namespace support and std::frexp
26637         * lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
26638         _GL_CXXALIASWARN.
26640 2006-11-12  Pedro Alves  <palves@redhat.com>
26642         GNULIB_NAMESPACE::func need not pull in rpl_func
26643         * build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
26644         (_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
26645         (_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
26646         struct instead of a function pointer.
26648 2016-11-09  Frediano Ziglio  <fziglio@redhat.com>
26650         manywarnings: fix -Wno-missing-field-initializers detection
26651         * m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
26652         to be independent of -Wunused-variable.  I.E. ensure the latter
26653         warning doesn't occur so that detection of the former is accurate.
26655 2016-11-05  Pádraig Brady  <pbrady@fb.com>
26657         strftime,strptime: support %q to represent the quarter
26658         * lib/strftime.c (strftime_case_): Add %q case.
26659         * lib/strptime.c (__strptime_internal): Likewise.
26660         * tests/test-strftime.c (quarter_test): A new test case.
26662 2016-11-03  Eric Blake  <eblake@redhat.com>
26664         bootstrap: Fix get_version() for AIX 5.3
26665         * build-aux/bootstrap (get_version): Factor out sed script, since
26666         indented comments choke AIX 5.3 sed.
26667         Reported-by: Michael Felt <aixtools@gmail.com>
26669 2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>
26671         intprops: port to older XL C
26672         Problem reported by Alexander Samoilov in:
26673         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
26674         http://savannah.nongnu.org/bugs/?49448
26675         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
26676         Define to 1 only for XL C 12.1 or later, since this bug
26677         occurs in XL C for AIX 6.0 but not in 12.1.
26679 2016-11-02  Pádraig Brady  <P@draigBrady.com>
26681         backupfile: initialize default suffix within the implementation
26682         * lib/backupfile.c (find_backup_file_name): Initialize the
26683         global variable here, to simplify usage, and to only call
26684         getenv() when needed.
26686 2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>
26688         futimens: remove FIXME for old Linux kernels
26689         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
26690         this in 2012" FIXME, like that for utimensat.
26692         utimensat: remove FIXME for old Linux kernels
26693         * lib/utimensat.c (rpl_utimensat): Update FIXME comment.
26694         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
26695         this in 2012" FIXME, by assuming the file system bug is absent
26696         unless demonstrated to be present.  We no longer need to worry
26697         about Linux kernel 2.6.32 when building with newer kernels.
26699 2016-10-16  Bruno Haible  <bruno@clisp.org>
26701         qsort_r: Fix macrology for platforms that lack the function.
26702         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
26703         (gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
26704         * modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
26705         * lib/stdlib.in.h (qsort_r): Provide declaration if the function does
26706         not exist.
26707         * m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
26708         the function exists.
26709         * modules/qsort_r: Add comments.
26711 2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>
26713         sys_types: fix Texinfo typos
26714         * doc/glibc-functions/gnu_dev_major.texi:
26715         * doc/glibc-functions/gnu_dev_makedev.texi:
26716         * doc/glibc-functions/gnu_dev_minor.texi: Fix typos.
26718 2016-10-26  John David Anglin  <dave.anglin@bell.net>
26720         getprogname: port to HP-UX
26721         See Bug#24805.
26722         * lib/getprogname.c (getprogname) [__hpux]: Port.
26723         * tests/test-getprogname.c (STREQ) [__hpux]:
26724         Special-case for HP-UX limitations on program name length.
26726 2016-10-20  Bruno Haible  <bruno@clisp.org>
26728         Update doc about target platforms.
26729         * doc/gnulib-intro.texi (Target Platforms): Update list.
26731 2016-10-15  Bruno Haible  <bruno@clisp.org>
26733         opendir, readdir, closedir: Relicense under LGPLv2+.
26734         * modules/opendir (License): Change to LGPLv2+.
26735         * modules/readdir (License): Likewise.
26736         * modules/closedir (License): Likewise.
26738 2016-10-16  Bruno Haible  <bruno@clisp.org>
26740         Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
26741         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
26742         AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
26743         * lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
26744         HAVE_DECL_STRERROR_R.
26746 2016-10-16  Bruno Haible  <bruno@clisp.org>
26748         Make the 'argp' module work without the 'error' module.
26749         * m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.
26751 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
26753         diffseq: restore TOO_EXPENSIVE heuristic
26754         * lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
26755         (Bug#24715).  The simplest solution is to restore the
26756         TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
26757         using a higher threshold to avoid Bug#16848 on smaller files.
26758         * lib/diffseq.h (struct context): Restore member too_expensive.
26759         (struct partition): Restore members lo_minimal, hi_minimal.
26760         (diag, compareseq): Restore arg find_minimal.  All uses changed.
26761         (diag): Restore the TOO_EXPENSIVE heuristic that I added back in
26762         1993 to make 'diff' run faster (but not as well) on large inputs,
26763         but use a threshold of 4096 instead of the old 256.
26764         * lib/fstrcmp.c (strcmp_bounded):
26765         * lib/git-merge-changelog.c (compute_differences):
26766         Adjust to diffseq.h changes.
26768 2016-10-22  Bruno Haible  <bruno@clisp.org>
26770         iconv: Avoid compilation error when bootstrapping GNU libiconv.
26771         * m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
26772         declaration yet, define ICONV_CONST to empty.
26774 2016-10-15  Bruno Haible  <bruno@clisp.org>
26776         Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
26777         * gnulib-tool (func_get_license): Special-case the 'parse-datetime'
26778         module.
26780 2016-10-16  Bruno Haible  <bruno@clisp.org>
26782         system-quote tests: Avoid compiler warning on AIX.
26783         * tests/test-system-quote-child.c (fopen): Redefine like the system's
26784         <stdio.h> does.
26786 2016-10-16  Bruno Haible  <bruno@clisp.org>
26788         Fix some "gcc -Wall" warnings.
26789         * tests/test-ffsl.c (main): Use variable x, not i.
26790         * tests/test-posix_spawn3.c (parent_main): Consider the return value of
26791         freopen.
26792         * tests/test-sethostname1.c (main): Explicitly ignore the return value
26793         of sethostname.
26795 2016-10-16  Bruno Haible  <bruno@clisp.org>
26797         gnulib-tool: Make --create-testdir on all modules work again.
26798         * gnulib-tool (func_create_testdir): Don't include the
26799         non-recursive-gnulib-prefix-hack module.
26801 2016-10-21  Daiki Ueno  <ueno@gnu.org>
26803         libunistring: change the maintainer to 'all'
26804         * modules/gen-uni-tables, modules/libunistring:
26805         * modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
26806         * modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
26807         * modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
26808         * modules/unicase/*, modules/uniconv/*, modules/unictype/*:
26809         * modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
26810         * modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
26811         * modules/uniwidth/*: Change the maintainer to 'all'.
26813 2016-10-16  Bruno Haible  <bruno@clisp.org>
26815         Simplify "configure: checking ..." messages.
26816         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
26817         AC_MSG_NOTICE.
26818         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
26820 2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>
26822         quotearg-tests: pacify gcc -Wall
26823         Problem reported by Bruno Haible in:
26824         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
26825         * tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
26826         * tests/test-quotearg.h: ... from here.
26828 2016-10-20  Pádraig Brady  <P@draigBrady.com>
26830         canonicalize-lgpl: fix for missing SIZE_MAX on older systems
26831         * lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
26832         Needed on Centos <= 4.
26834 2016-10-20  Jim Meyering  <meyering@fb.com>
26836         printf.m4: fix a bug in detecting printf %j support
26837         * m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
26838         uintmax_t is defined in neither stdint.h nor inttypes.h.
26839         Before, this macro might have mistakenly set
26840         gl_cv_func_printf_sizes_c99=yes on such a system.
26841         Spotted by Zev Weiss.
26843 2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>
26845         sched: substitute HAVE_SYS_CDEFS_H too
26846         Problem reported by Tom G. Christensen in:
26847         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
26848         * m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
26849         * modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.
26851 2016-10-19  Pádraig Brady  <P@draigBrady.com>
26853         quotearg: never write beyond the returned length
26854         * lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
26855         scan of the string when we initially encounter a single quote when
26856         shell quoting, so that if we then switch to a more concise quoting method
26857         we will not have written beyond that returned length.
26858         This is significant for sh-quote, which has separate routines
26859         to determine the length and do the actual quoting.
26860         * tests/test-quotearg.h: Reinstate the buffer bounds checking
26861         now that we never write more than the returned length.
26863 2016-10-18  Bruno Haible  <bruno@clisp.org>
26865         getprogname tests: Avoid failure in packages that use libtool.
26866         * tests/test-getprogname.c (main): Strip "lt-" prefix.
26867         Based on a patch by Jim Meyering.
26869 2016-10-16  Bruno Haible  <bruno@clisp.org>
26871         getprogname: Fix test failure on Cygwin. Comments.
26872         * lib/getprogname.h: Add comments.
26873         * lib/getprogname.c: Add comments. Fix #elif indentation.
26874         * tests/test-getprogname.c (main): On Cygwin, expect a result without
26875         ".exe" suffix.
26877 2016-10-16  Bruno Haible  <bruno@clisp.org>
26879         Make sure the libunistring detection rejects older versions with a
26880         known bug.
26881         * modules/unistr/u8-strtok (configure.ac): Bump required version.
26882         * modules/unistr/u16-strtok (configure.ac): Likewise.
26883         * modules/unistr/u32-strtok (configure.ac): Likewise.
26885 2016-10-18  Bruno Haible  <bruno@clisp.org>
26887         sh-quote, system-quote: revert regression of unit test.
26888         * tests/test-sh-quote.c (check_one): Do detect buffer overruns.
26889         * tests/test-system-quote-main.c (check_one): Likewise.
26891 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26893         quotearg: fix stale tests
26894         * tests/test-quotearg.c [locale_results]: Add the missing str7
26895         entries to the expected results.
26896         * tests/test-system-quote-main.c (check_one): Don't enforce that we
26897         don't write beyond the returned length, since that's no longer the
26898         case if we switch to a more concise quoting style.
26899         * tests/test-sh-quote.c (check_one): Likewise.
26900         (main): Adjust for the new more concise quoting style.
26901         Reported by Bruno Haible.
26903 2016-10-16  Jim Meyering  <meyering@fb.com>
26905         non-recursive-gnulib-prefix-hack: fix inconsequential typo
26906         * m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
26907         to "$1".  This macro is always invoked with $1 == lib.
26908         Spotted by Bruno Haible
26910 2016-10-16  Bruno Haible  <bruno@clisp.org>
26912         Fix a test crash.
26913         * tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
26914         fails.
26916 2016-10-16  Pádraig Brady  <P@draigBrady.com>
26918         test-limits-h: suppress -Woverlength-strings
26919         * tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.
26921 2016-10-15  Bruno Haible  <bruno@clisp.org>
26923         gettime, timespec, utimens: Relicense under LGPL.
26924         * modules/gettime (License): Change to LGPL.
26925         * modules/timespec (License): Likewise.
26926         * modules/utimens (License): Likewise.
26928 2016-10-14  Bruno Haible  <bruno@clisp.org>
26929             Pádraig Brady  <P@draigBrady.com>
26931         canonicalize-lgpl: Support the case path_max > INT_MAX.
26932         * lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
26933         Fix overflow check, for platforms where 'size_t' is larger than 'long'.
26935 2016-10-13  Jim Meyering  <meyering@fb.com>
26937         getprogname: IBM z/OS: avoid NULL-dereference
26938         * lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
26939         upon strdup failure.
26941 2016-10-12  Jim Meyering  <meyering@fb.com>
26943         test-stdint: use _GL_VERIFY rather than "verify" for some tests
26944         * tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
26945         and an abbreviated diagnostic rather than verify with the full one,
26946         because the full-length strings would evoke warnings from gcc with
26947         -Woverlength-strings.
26949 2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>
26951         stdint: port SIZE_MAX to glibc s390
26952         Problem reported by Eric Blake in:
26953         http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
26954         * doc/posix-headers/stdint.texi (stdint.h): Document the fix.
26955         * m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
26956         correct type, if possible.
26958 2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>
26960         getprogname: port to IBM z/OS
26961         * lib/getprogname.c (getprogname): Use w_getpsent() to get the name.
26963 2016-10-11  Jim Meyering  <meyering@fb.com>
26965         maint: remove stray space after "." in AC_DEFINE comment.
26966         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
26967         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26969 2016-10-05  Jim Meyering  <meyering@fb.com>
26971         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
26972         * lib/long-options.c (parse_long_options): Add a break statement
26973         to avoid this new warning/failure:
26974         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
26975           --create-testdir --dir=/t/x --with-tests --test long-options
26976         ../../gllib/long-options.c: In function 'parse_long_options':
26977         ../../gllib/long-options.c:66:12: error: this statement may \
26978           fall through [-Werror=implicit-fallthrough]
26979                    (*usage_func) (EXIT_SUCCESS);
26980                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
26982 2016-10-05  Jim Meyering  <meyering@fb.com>
26984         utimecmp: avoid new GCC 7 warning from -Wbool-operation
26985         Testing this module would fail when using GCC 7 like this:
26986         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
26987           --dir=/tmp/x --with-tests --test utimecmp
26988         ../../gllib/utimecmp.c: In function ‘utimecmp’:
26989         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
26990           [-Werror=bool-operation]
26991                          time_t s = src_s & ~ (res == 2 * BILLION);
26992                                             ^
26993         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
26994           [-Werror=bool-operation]
26995                src_s &= ~ (res == 2 * BILLION);
26996                         ^
26997         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
26998         Instead, make it explicit that we intend to apply it to 0 or 1.
27000 2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>
27002         dfa: save memory for states
27003         * src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
27004         states if dfa has a lot of caches.
27006 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
27008         wchar, wctype-h: fix for MinGW 3.22.2
27009         * lib/wchar.in.h [__MINGW32__]: Add one more condition for
27010         special invocation, to fix issues with MinGW 3.22.2 wchar.h
27011         when included from <string.h>.
27012         * lib/wctype.in.h [__MINGW32__]: Add special invocation
27013         convention for MinGW 3.22.2, to solve issues with their
27014         wctype.h when included from <ctype.h>.
27016 2016-10-05  Jim Meyering  <meyering@fb.com>
27018         long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
27019         * lib/long-options.c (parse_long_options): Add a break statement
27020         to avoid this new warning/failure:
27021         $ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
27022           --create-testdir --dir=/t/x --with-tests --test long-options
27023         ../../gllib/long-options.c: In function ‘parse_long_options’:
27024         ../../gllib/long-options.c:66:12: error: this statement may \
27025           fall through [-Werror=implicit-fallthrough]
27026                    (*usage_func) (EXIT_SUCCESS);
27027                    ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
27029         utimecmp: avoid new GCC 7 warning from -Wbool-operation
27030         Testing this module would fail when using GCC 7 like this:
27031         $ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
27032           --dir=/tmp/x --with-tests --test utimecmp
27033         ../../gllib/utimecmp.c: In function ‘utimecmp’:
27034         ../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
27035           [-Werror=bool-operation]
27036                          time_t s = src_s & ~ (res == 2 * BILLION);
27037                                             ^
27038         ../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
27039           [-Werror=bool-operation]
27040                src_s &= ~ (res == 2 * BILLION);
27041                         ^
27042         * lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
27043         Instead, make it explicit that we intend to apply it to 0 or 1.
27045 2016-10-03  Pádraig Brady  <P@draigBrady.com>
27047         quotearg: minimize shell quoting using double quotes
27048         * lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
27049         quote in encountered then use double quotes (c style quoting)
27050         when possible, as it simplifies the quoting.
27051         * tests/test-quotearg-simple.c: Add test cases.
27052         * tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
27053         for the fact we now may write beyond the returned length.
27055 2016-10-02  Jim Meyering  <meyering@fb.com>
27057         vasnprintf.c: avoid spurious warning from GCC 7
27058         The presence of cpp directives renders this "FALLTHROUGH" comment
27059         ineffective, so does not suppress the -Wimplicit-fallthrough warning
27060         from GCC 7 built from git on 2016-10-02.
27061         * lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
27062         directives, so that it takes effect once again.  This is clearly
27063         not a proper change, and I will revert it once this bug is fixed:
27064         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817
27066 2016-10-01  Jim Meyering  <meyering@fb.com>
27068         getprogname: correct the test for a __progname variable
27069         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
27070         and AC_LINK_IFELSE to check for a global __progname.  If found,
27071         define HAVE_VAR___PROGNAME.
27072         * lib/getprogname.c (getprogname): Reflect the new name of the
27073         feature- checked preprocessor symbol:
27074         s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/
27076 2016-09-28  Jim Meyering  <meyering@fb.com>
27078         u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
27079         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
27080         fall-through case with a /* fallthrough */ comment.
27082         dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
27083         * lib/dfa.c (dfassbuild): Mark the end of this case with a
27084         /* fallthrough */ comment.
27086         getprogname: avoid __progname vs program_invocation_short_name pitfall
27087         I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
27088         glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
27089         not with Fedora 24's glibc-2.23.1-10.
27090         * lib/getprogname.c (__progname): Move this declaration down...
27091         (getprogname): ... into the #elif block where used, and make it
27092         explicitly "extern".
27094         getprogname: port to OpenBSD 5.1
27095         * lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
27096         (getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
27097         * modules/getprogname (configure.ac): Move most of this code...
27098         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
27099         increment serial number, and add a test for __progname.
27100         https://bugs.gnu.org/24562
27101         Reported by Nelson H. F. Beebe.
27103 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
27105         sched: port to GCC 6.2.1 on macOS Sierra
27106         Problem reported by Denis Davydov in:
27107         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
27108         * lib/sched.in.h [HAVE_SYS_CDEFS_H]:
27109         Include <sys/cdefs.h> before <sched.h>.
27110         * m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
27111         so that we needn’t worry about the sched.h include bug here.
27112         * m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
27113         and include it before <sched.h> if it exists, when
27114         checking for <sched.h>.
27116         tests/init.sh: port Alpine fix to AIX 7.1
27117         * tests/init.sh (compare_): When attempting to use diff -U3,
27118         prefer diff -u to -U3 to -c to plain diff.  Do not insist on
27119         diff -u not outputting a space after leading '+', as the users
27120         of 'compare' should not be that picky about its output format.
27121         In the AIX 7.1 case, return with diff exit status (or with 2 if
27122         trouble), instead of some random nonzero exit status.
27123         * tests/test-init.sh (test_compare): Remove space after leading
27124         '+', so that AIX 7.1 'diff' passes the test.
27126 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
27128         nl_langinfo: pacify GCC
27129         * lib/nl_langinfo.c (ctype_codeset): Remove unused local.
27130         (rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.
27132         stdint: also set GL_GENERATE_LIMITS_H
27133         Problem reported by Jim Meyering in:
27134         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
27135         * m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.
27137         limits-h, stdint: Don't assume extensions, fix typo
27138         * m4/limits-h.m4 (gl_LIMITS_H):
27139         * m4/stdint.m4 (gl_STDINT_H):
27140         Don't assume AC_USE_SYSTEM_EXTENSIONS.
27141         * m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
27142         reported by Jim Meyering in:
27143         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html
27145 2016-09-21  Jim Meyering  <meyering@fb.com>
27147         getprogname: port to AIX
27148         * lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
27149         and strdup to obtain a short program name string.  Using code from
27150         Bruno Haible and an idea from Bastien ROUCARIÈS, in
27151         https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
27152         Assaf Gordon reported that this new file would fail to compile on
27153         AIX-7.1 32bit.
27155 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
27157         extensions: fix typo in comment
27158         * m4/extensions.m4: Sync from Autoconf master.
27160         stdint: support new _WIDTH macros
27161         * doc/posix-headers/stdint.texi: Document this.
27162         * lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
27163         * m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
27164         support for INTMAX_WIDTH, etc. as well as for support for just C99.
27165         * modules/stdint (Depends-on): Add limits-h.
27166         (Makefile.am): Substitute HAVE_C99_STDINT_H.
27167         * modules/stdint-tests (Depends-on): Add extensions, so that
27168         INTMAX_MAX etc. are defined.
27169         * tests/test-stdint.c: Verify the new macros.
27171         limits-h: new module
27172         This adds ISO/IEC TS 18661-1:2014 support to limits.h.
27173         * MODULES.html.sh: Add limits-h,and move size_max to stdint section.
27174         * doc/posix-headers/limits.texi: Document new module.
27175         * lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
27176         * modules/limit-h-tests, tests/test-limits-h.c: New files.
27178         stdio: don't redefine __USE_MINGW_ANSI_STDIO
27179         * m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
27180         if it is already defined.  Apparently GNU Emacs relies on this.  See:
27181         http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html
27183 2016-09-15  Eric Blake  <eblake@redhat.com>
27185         sys_types: avoid glibc 2.25 warnings about major()
27186         * m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
27187         older autoconf.
27188         * doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
27189         * doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
27190         * doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
27191         * doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.
27193         mountlist: include sysmacros.h for glibc
27194         * m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
27195         AC_HEADER_MAJOR.
27196         * lib/mountlist.c (includes): Use correct headers.
27198 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
27200         extensions: port to more ISO C TSes
27201         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
27202         master, to add support for more recent ISO C TRs and TSes.
27204 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
27206         intprops: new macro TYPE_WIDTH
27207         * lib/intprops.h (TYPE_WIDTH): New macro.
27208         (TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
27209         * lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
27210         * lib/parse-datetime.y (parse_datetime2):
27211         Use it.
27213         extensions: port to recent ISO C TRs
27214         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
27215         Sync from Autoconf master, to add support for recent ISO C TRs.
27216         * m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
27217         since AC_USE_SYSTEM_EXTENSIONS no longer does that as
27218         the MinGW option is not an extension.
27220 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
27222         dfa: port to Solaris 9
27223         Problems reported by Tom G. Christensen in:
27224         http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
27225         * modules/dfa (Depends-on): Add isblank.
27226         * modules/dfa-tests (dfa_match_aux_LDADD):
27227         Rename from test_stat_LDADD, to fix typo.
27228         * tests/dfa-match.sh: Don't require 'timeout'; use it if available.
27230 2016-09-10  Jim Meyering  <meyering@fb.com>
27232         strverscmp: avoid link failure on OS X
27233         * lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
27234         Reported by Assaf Gordon in https://bugs.gnu.org/24256#26
27236 2016-08-16  Jim Meyering  <meyering@fb.com>
27238         dfa: new module, importing grep's DFA matcher
27239         Since grep's DFA matcher is now being used by two gnulib-enabled
27240         projects, grep and sed, it makes sense to version-control its
27241         sources and unit tests in one place: here.
27242         * modules/dfa: New module.
27243         * modules/dfa-tests: New file.
27244         * lib/dfa.c: New file, from grep.
27245         * lib/dfa.h: Likewise.
27246         * lib/localeinfo.c: Likewise.
27247         * lib/localeinfo.h: Likewise.
27248         * tests/dfa-match-aux.c: Likewise.
27249         * tests/dfa-invalid-char-class.sh: Likewise.
27250         * tests/dfa-match.sh: Likewise, with minor changes.
27251         * MODULES.html.sh (Misc): Add "dfa" to this list.
27253 2016-09-09  Jim Meyering  <meyering@fb.com>
27255         getprogname-tests: don't depend on assert-h
27256         * modules/getprogname-tests (Depends-on): Remove assert-h.
27257         It was not needed, and in fact would cause build failure for
27258         coreutils on some systems.  Reported by Assaf Gordon in https:
27259         //lists.gnu.org/r/coreutils/2016-09/msg00016.html
27261 2016-09-07  Jim Meyering  <meyering@fb.com>
27263         getprogname-tests: work also when EXEEXT is nonempty
27264         * modules/getprogname-tests (Makefile.am): Define EXEEXT.
27265         * tests/test-getprogname.c (main): Use it.
27266         Suggested by Gisle Vanem.
27268 2016-09-07  Gisle Vanem  <gvanem@yahoo.no>
27270         getprogname: fix errors in previous change
27271         * lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
27272         s/program_invocation_name/base/
27273         [HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].
27275 2016-09-08  Pádraig Brady  <P@draigBrady.com>
27277         parse-datetime: restrict debug output to input string
27278         * lib/parse-datetime.y (parse_datetime2): If we parse
27279         all of the input but determine it's invalid, ensure
27280         we don't output the now invalid input pointer.
27281         This issue was seen with `date -d 'now +1'`.
27283 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27285         flexmember: new macro FLEXALIGNOF
27286         * lib/flexmember.h: Include <stddef.h>, for offsetof.
27287         (FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
27288         this macro.  Update comments.
27290 2016-09-07  Jim Meyering  <meyering@fb.com>
27292         getprogname: port to systems with __argv (mingw, msvc)
27293         * lib/getprogname.c (getprogname): Include "dirname.h" and use
27294         last_component: more general than open coding it with hard-coded "/".
27295         * lib/getprogname.h (getprogname): Prefer "char const *" consistently.
27296         * modules/getprogname (Depends-on): Add dirname-lgpl.
27297         (configure.ac): Check for __argv in <stdlib.h>.
27298         * modules/getprogname-tests: New file.
27299         * tests/test-getprogname.c: New file.
27300         Suggested by Gisle Vanem in
27301         https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html
27303 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
27305         flexmember: port better to GCC + valgrind
27306         With a char[] flexible array member in a struct with nontrivial
27307         alignment, GCC-generated code can access past the end of the
27308         array, because GCC assumes there are padding bytes to get the
27309         struct aligned.  So the common idiom of malloc (offsetof (struct
27310         s, m), n) does not properly allocate an n-byte trailing member, as
27311         malloc’s argument should be the next multiple of alignof (struct s).
27312         See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
27313         Although C11 apparently permits this GCC optimization (i.e., there
27314         was a bug in Gnulib not in GCC), possibly this is a defect in C11.
27315         See the thread containing:
27316         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
27317         * lib/flexmember.h: New file.
27318         * lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
27319         * lib/localename.c, lib/time_rz.c:
27320         Include flexmember.h.
27321         * lib/fnmatch_loop.c (struct patternlist):
27322         * lib/localename.c (struct hash_node):
27323         Use FLEXIBLE_ARRAY_MEMBER.
27324         * lib/fnmatch_loop.c (EXT):
27325         * lib/fts.c (fts_alloc):
27326         * lib/glob.c (glob_in_dir):
27327         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
27328         * lib/localename.c (gl_lock_define_initialized):
27329         * lib/time_rz.c (tzalloc):
27330         Use FLEXSIZEOF instead of offsetof.
27331         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
27332         Check that the size of the struct can be taken.
27333         * modules/flexmember (Files): Add lib/flexmember.h.
27334         * modules/fnmatch, modules/glob, modules/localename (Depends-on):
27335         Add flexmember.
27337 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
27339         getprogname: port to Solaris 10
27340         * lib/getprogname.c: Include stdlib.h, for getexecname decl.
27341         (getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
27342         * m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.
27344         stdalign: correct mistake in alignof doc
27345         Problem reported by Joseph Myers in:
27346         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
27347         * doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
27348         alignof(S) where S is a structure containing a flexible array
27349         member.  The Gnulib substitute does not support this, but C11 does.
27351 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27353         main.mk: remove sc_program_name, since there is no more need to
27354         use set_program_name in tools (getprogname is enough for most
27355         of the cases).
27356         * cfg.mk (local-checks-to-skip): Remove sc_program_name.
27357         * top/maint.mk (sc_program_name): Remove.
27359 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27361         Port tests away from progname, since modules that need the
27362         program name already depend on getprogname.
27363         * modules/acl-tests (Depends-on): Remove progname.
27364         * modules/argmatch (Depends-on): Likewise.
27365         * modules/argmatch-tests (Depends-on): Likewise.
27366         * modules/argp-tests (Depends-on): Likewise.
27367         * modules/argp-version-etc-tests (Depends-on): Likewise.
27368         * modules/array-list-tests (Depends-on): Likewise.
27369         * modules/array-oset-tests (Depends-on): Likewise.
27370         * modules/avltree-list-tests (Depends-on): Likewise.
27371         * modules/avltree-oset-tests (Depends-on): Likewise.
27372         * modules/avltreehash-list-tests (Depends-on): Likewise.
27373         * modules/carray-list-tests (Depends-on): Likewise.
27374         * modules/copy-file-tests (Depends-on): Likewise.
27375         * modules/exclude-tests (Depends-on): Likewise.
27376         * modules/fchownat-tests (Depends-on): Likewise.
27377         * modules/fdopendir-tests (Depends-on): Likewise.
27378         * modules/filenamecat-tests (Depends-on): Likewise.
27379         * modules/fstatat-tests (Depends-on): Likewise.
27380         * modules/fstrcmp-tests (Depends-on): Likewise.
27381         * modules/linked-list-tests (Depends-on): Likewise.
27382         * modules/linkedhash-list-tests (Depends-on): Likewise.
27383         * modules/mkdirat-tests (Depends-on): Likewise.
27384         * modules/nonblocking-pipe-tests (Depends-on): Likewise.
27385         * modules/nonblocking-socket-tests (Depends-on): Likewise.
27386         * modules/obstack-printf-tests (Depends-on): Likewise.
27387         * modules/openat-tests (Depends-on): Likewise.
27388         * modules/parse-datetime-tests (Depends-on): Likewise.
27389         * modules/pipe-filter-gi-tests (Depends-on): Likewise.
27390         * modules/pipe-filter-ii-tests (Depends-on): Likewise.
27391         * modules/quotearg-simple-tests (Depends-on): Likewise.
27392         * modules/quotearg-tests (Depends-on): Likewise.
27393         * modules/rbtree-list-tests (Depends-on): Likewise.
27394         * modules/rbtree-oset-tests (Depends-on): Likewise.
27395         * modules/rbtreehash-list-tests (Depends-on): Likewise.
27396         * modules/spawn-pipe-tests (Depends-on): Likewise.
27397         * modules/system-quote-tests (Depends-on): Likewise.
27398         * modules/uniname/uniname-tests (Depends-on): Likewise.
27399         * modules/uninorm/nfc-tests (Depends-on): Likewise.
27400         * modules/uninorm/nfd-tests (Depends-on): Likewise.
27401         * modules/uninorm/nfkc-tests (Depends-on): Likewise.
27402         * modules/uninorm/nfkd-tests (Depends-on): Likewise.
27403         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
27404         * modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
27405         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
27406         * modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
27407         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
27408         * modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
27409         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
27410         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
27411         * modules/unlinkat-tests (Depends-on): Likewise.
27412         * modules/version-etc-tests (Depends-on): Likewise.
27413         * modules/xalloc-die-tests (Depends-on): Likewise.
27414         * modules/xmemdup0-tests (Depends-on): Likewise.
27415         * modules/xprintf-posix-tests (Depends-on): Likewise.
27416         * modules/xvasprintf-tests (Depends-on): Likewise.
27417         * tests/test-argmatch.c: Do not include progname.h.
27418         (main) Stop calling set_program_name.
27419         * tests/test-argp-version-etc.c: Likewise.
27420         * tests/test-argp.c: Likewise.
27421         * tests/test-argv-iter.c: Likewise.
27422         * tests/test-array_list.c: Likewise.
27423         * tests/test-array_oset.c: Likewise.
27424         * tests/test-avltree_list.c: Likewise.
27425         * tests/test-avltree_oset.c: Likewise.
27426         * tests/test-avltreehash_list.c: Likewise.
27427         * tests/test-carray_list.c: Likewise.
27428         * tests/test-copy-acl.c: Likewise.
27429         * tests/test-copy-file.c: Likewise.
27430         * tests/test-exclude.c: Likewise.
27431         * tests/test-fchownat.c: Likewise.
27432         * tests/test-fdopendir.c: Likewise.
27433         * tests/test-filenamecat.c: Likewise.
27434         * tests/test-fstatat.c: Likewise.
27435         * tests/test-fstrcmp.c: Likewise.
27436         * tests/test-linked_list.c: Likewise.
27437         * tests/test-linkedhash_list.c: Likewise.
27438         * tests/test-mkdirat.c: Likewise.
27439         * tests/test-nonblocking-pipe-main.c: Likewise.
27440         * tests/test-nonblocking-socket-main.c: Likewise.
27441         * tests/test-obstack-printf.c: Likewise.
27442         * tests/test-openat.c: Likewise.
27443         * tests/test-parse-datetime.c: Likewise.
27444         * tests/test-pipe-filter-gi1.c: Likewise.
27445         * tests/test-pipe-filter-gi2-main.c: Likewise.
27446         * tests/test-pipe-filter-ii1.c: Likewise.
27447         * tests/test-pipe-filter-ii2-main.c: Likewise.
27448         * tests/test-quotearg-simple.c: Likewise.
27449         * tests/test-quotearg.c: Likewise.
27450         * tests/test-rbtree_list.c: Likewise.
27451         * tests/test-rbtree_oset.c: Likewise.
27452         * tests/test-rbtreehash_list.c: Likewise.
27453         * tests/test-sameacls.c: Likewise.
27454         * tests/test-set-mode-acl.c: Likewise.
27455         * tests/test-spawn-pipe-main.c: Likewise.
27456         * tests/test-system-quote-main.c: Likewise.
27457         * tests/test-unlinkat.c: Likewise.
27458         * tests/test-version-etc.c: Likewise.
27459         * tests/test-xalloc-die.c: Likewise.
27460         * tests/test-xfprintf-posix.c: Likewise.
27461         * tests/test-xmemdup0.c: Likewise.
27462         * tests/test-xprintf-posix.c: Likewise.
27463         * tests/test-xvasprintf.c: Likewise.
27464         * tests/uniname/test-uninames.c: Likewise.
27465         * tests/uninorm/test-u32-nfc-big.c: Likewise.
27466         * tests/uninorm/test-u32-nfd-big.c: Likewise.
27467         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
27468         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
27469         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
27470         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
27471         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
27472         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
27473         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
27474         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
27475         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
27476         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
27477         * tests/test-c-stack.c: (program_name): Do not define.
27478         (main): Do not set program_name.
27479         * tests/test-closein.c: Likewise.
27480         * tests/test-xstrtol.c: Likewise.
27481         * tests/test-yesno.c: Likewise.
27483 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27485         Port modules to use getprogname explicitly, instead of requiring
27486         progname to be used (or program_name to be provided).
27487         * lib/argmatch.c: Do not include progname.h.
27488         [TEST] (program_name): Do not define.
27489         [TEST] (main): Call getprogname instead of using program_name.
27490         * lib/c-stack.c: Do not include progname.h.
27491         (program_name): Do not define.
27492         (die): Call getprogname instead of using program_name.
27493         * lib/chdir-long.c: Do not include progname.h.
27494         [TEST_CHDIR] (main): Do not set program_name.
27495         * lib/error.c [!_LIBC]: Include progname.h.
27496         [!_LIBC] (program_name): Define using getprogname.
27497         * lib/euidaccess.c: Do not include progname.h.
27498         [TEST] (main): Do not set program_name.
27499         * lib/git-merge-changelog.c: Include getprogname.h instead of
27500         progname.h.
27501         (usage): Call getprogname instead of using program_name.
27502         (main): Likewise.  Stop calling set_program_name.
27503         * lib/group-member.c: Do not include progname.h.
27504         [TEST] (main): Do not set program_name.
27505         * modules/argmatch (Depends-on): Add getprogname.
27506         * modules/c-stack (Depends-on): Likewise.
27507         * modules/error (Depends-on): Likewise.
27508         * modules/git-merge-changelog (Depends-on): Likewise.
27509         Also remove progname.
27511 2016-09-05  Pino Toscano  <ptoscano@redhat.com>
27513         * NEWS: Document the deprecation of the 'progname' module.
27515 2016-08-18  Pino Toscano  <ptoscano@redhat.com>
27517         getprogname: new module
27518         This provides a LGPL module for getting the name of the current
27519         program, using the same API found on *BSD systems.
27520         * lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
27521         * modules/getprogname: New files.
27522         * MODULES.html.sh (Misc): Add getprogname.
27524 2016-09-02  Jim Meyering  <meyering@fb.com>
27526         manywarnings: add -fno-common
27527         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
27528         to the list.  Quoting the manual, "Compiling with -fno-common is
27529         useful on targets for which it provides better performance, or if
27530         you wish to verify that the program will work on other systems that
27531         always treat uninitialized variable declarations this way [putting
27532         it in the data section]."  If diffutils had been using this sooner,
27533         it would have prevented this duplicate declaration issue:
27534         http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f
27536 2016-08-31  Simon Josefsson  <simon@josefsson.org>
27538         parse-datetime: Fix typo.
27539         * lib/parse-datetime.y (parse_datetime2): Fix typo.
27541 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
27543         intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
27544         * lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
27545         GCC 5 and 6 that have __builtin_sub_overflow but not
27546         __builtin_sub_overflow_p.  With the recent changes, these
27547         platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
27548         implementation than with INT_SUBTRACT_OVERFLOW implementation,
27549         since the former needs just one runtime comparison whereas the
27550         latter needs two.
27552         strverscmp: sync with glibc
27553         Although this doesn't exactly synchronize with glibc
27554         byte-for-byte, it makes the code behave the same as glibc.
27555         * lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
27556         (ISDIGIT): Remove, as glibc is sticking with isdigit, and the
27557         difference shouldn't matter in practical use.  All uses changed
27558         back to isdigit.
27559         (__strverscmp, strverscmp): Use new glibc method for weak aliases.
27560         (next_state): Now unsigned char array; redo elements.
27561         (result_type): Now signed char array; redo elements.
27562         (__strverscmp): Fix glibc bug 9913 by using new states.
27563         * tests/test-strverscmp.c (main): Test glibc bug 9913.
27565 2016-08-29  Jim Meyering  <meyering@fb.com>
27567         xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
27568         * lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
27569         similarly to how it was done to intprops.h.
27571 2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>
27573         intprops.h: port recent changes to GCC 6.2.0
27574         * lib/intprops.h (__has_builtin): Move earlier.
27575         (_GL_HAS_BUILTIN_OVERFLOW): Rename from
27576         _GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
27577         the last argument can be null.  All uses changed.
27578         (_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
27579         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27580         Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
27581         and it's not clear which GCC versions it works for.
27582         (_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
27583         its definiens.
27585         intprops.h: use __typeof__ with GCC 7
27586         * lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
27587         (_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
27588         This avoids computing the expression's value (which might overflow!).
27590 2016-08-29  Jim Meyering  <meyering@fb.com>
27592         intprops.h, xalloc-oversized.h: work with gcc 7
27593         In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
27594         __builtin_mul_overflow each accept a NULL pointer as the third
27595         argument.  However in gcc 7, that is no longer accepted.
27596         Instead, one must use the "_p"-suffixed names, with which, the
27597         third parameter is no longer a pointer.
27598         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
27599         the definition: not true for gcc 7 and subsequent.
27600         (_GL_HAS_BUILTIN_OVERFLOW_P): Define.
27601         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27602         Provide new definitions for gcc 7 and subsequent.
27603         * lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
27604         that works with gcc-7.
27606         intprops.h: fix missing-backslash problems
27607         * lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
27608         (_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.
27610 2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>
27612         intprops: fix paren typo on old platforms
27613         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
27614         * lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
27615         [__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
27616         && (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
27617         && !defined LLONG_MAX]:
27618         Remove stray paren.
27620         intprops: port to OpenVMS
27621         Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
27622         * doc/posix-headers/limits.texi: Document the problem.
27623         * lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
27624         Define if not already defined.
27626 2016-08-19  Assaf Gordon  <assafgordon@gmail.com>
27628         parse-datetime: improve debug implementation
27629         Follow-up to commit 12ad79069 ("add optional debug printing").
27630         Improve parse-datetime's debug implementation: remove macros,
27631         replace global debug flag variable with a function parameter,
27632         use nstrftime for formatting.
27633         See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
27634         * lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
27635         (parse_datetime2): New function, accepts 'flags' parameter, supporting
27636         debug flag. Existing interface 'parse_datetime' left unmodified.
27637         * lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
27638         (struct parser_control): add 'parse_datetime_debug' member variable.
27639         (parse_datetime): Call new function 'parse_datetime2' without debug.
27640         (parse_datetime2): Adapted from previous 'parse_datetime', initialize
27641         pc.parse_datetime_debug variable as needed.
27642         (to_year): Accept new flags parameter, instead of using global variable.
27643         (debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
27644         use struct 'debug' variable instead of global variable.
27645         (DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
27646         DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
27647         correspnding functions directly instead of using macros.
27648         * modules/parse-datetime: Add gnulib's strftime module.
27650 2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>
27652         c-strcase-tests: port to EBCDIC
27653         * tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
27654         which assume ASCII encoding semantics to run only in ASCII
27655         mode, as they fail in EBCDIC.
27657         sigpipe-tests: fix typo
27658         * tests/test-sigpipe.sh: C, not B.
27660 2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>
27662         canonicalize-lgpl: fix errno after malloca fails
27663         This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
27664         http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
27665         * lib/canonicalize-lgpl.c (__realpath):
27666         Don't assume malloca sets errno on failure.
27668 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27670         strtod: port errno handling to z/OS
27671         * lib/strtod.c (strtod): Save and restore errno more reliably.
27673 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27675         strtod: port to z/OS
27676         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27677         implementation.
27679 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27681         strtod: port to z/OS
27682         * lib/strtod.c (strtod): Address a couple quirks in the z/OS
27683         implementation.
27685         regex, string: rename to avoid '__string'
27686         * lib/regex.h, lib/string.in.h: Do not use the identifier
27687         '__string', as it is effectively reserved by string.h on z/OS.
27689         c-strcase-tests, wcwidth-tests: depend on c-ctype
27690         * modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
27691         Add c-ctype.
27693 2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>
27695         thread: port to z/OS
27696         * lib/glthread/thread.c, lib/glthread/thread.h:
27697         Rudimentary gl_thread support for z/OS.
27699         maint: port tests to z/OS errno behavior
27700         * tests/test-nonblocking-reader.h:
27701         * tests/test-nonblocking-writer.h:
27702         Accommodate z/OS errno code preferences. (I believe this should
27703         still be within spec; IBM is good at following the letter if not
27704         the spirit of such things.)
27706         maint: preprocessor changes to support z/OS
27707         * lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
27708         * lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
27709         * tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
27710         * tests/test-nonblocking-pipe.h:
27712         fclose, strstr-simple, wchar: port to z/OS
27713         * m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
27714         Changes to the Autoconf M4 code to support z/OS.  Note that
27715         fclose() is broken in a different way on z/OS than it is on other
27716         systems, thus the special-case in fclose.m4.
27718         iconv_open-utf-tests, iconv-tests: port to EBCDIC
27719         * tests/test-iconv-utf.c, tests/test-iconv.c:
27720         Added appropriately conditional #pragmas so that the test strings
27721         in test-iconv-utf.c are correctly interpreted in ASCII instead of
27722         EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
27723         addressed in a more portable way by simply rewriting all the ASCII
27724         literal characters as octal escapes, but then you would lose the
27725         partial readability that the strings have now. Also, iconv_open()
27726         on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.
27728         c-strcase-tests, wcwidth-tests: port to EBCDIC
27729         * tests/test-c-strcasecmp.c: Include c-ctype.h.
27730         (main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
27731         * tests/test-wcwidth.c: Likewise.
27733 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
27735         stdbool: don't require _Bool for C++
27736         Problem reported by David Seifert in:
27737         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
27738         * NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
27739         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
27740         more-forgiving for C++, in that it requires only 'bool'.  Be a bit
27741         stricter about checking that bool and _Bool are compatible in C.
27743 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
27745         getdelim: remove dependency on realloc-posix
27746         * lib/canonicalize-lgpl.c (alloc_failed)
27747         [!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
27748         (__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
27749         Use __set_errno where needed, for consistency.
27750         * lib/getdelim.c (alloc_failed): New function.
27751         (getdelim): Use it.
27753 2016-08-09  Assaf Gordon  <assafgordon@gmail.com>
27755         parse-datetime: add optional debug printing
27756         Print parsing information, warnings, and errors to stderr.
27757         * lib/parse-datetime.h (parse_datetimte_debug): New global variable.
27758         * lib/parse-datetime.y:
27759         (DEBUG_*):  Macros calling debug functions if debugging is enabled.
27760         (PROGRESS*): Same as DEBUG, for progress reporting.
27761         (dbg_printf): Print message to stderr, with 'date' prefix.
27762         (struct parser_control): Add 'debug_*_seen' variables.
27763         (str_days): Converts day ordinal/number to string (e.g. 'last wed').
27764         (debug_print_current_time, debug_print_relateive_time): Prints the
27765         current/relative date/time value of parser_control.
27766         (YACC parser syntax): Print parsed parts with DEBUG_* macros.
27767         (to_year): Warn about 2-digit year parsing.
27768         (yylex):   Warn about unrecognized words.
27769         (get_effective_timezone): Returns current timezone in minutes.
27770         (debug_strf{time,date,datetime}): Convert 'struct tm' to string as
27771         clearly and unambigiously as possible.
27772         (debug_mktime_not_ok): Print detailed information about failed
27773         date/time values.
27774         (parse_datetime): Add DEBUG messages for failures, warnings. Add
27775         PROGRESS messages for status messages.
27776         * modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.
27778 2016-08-06  Jim Meyering  <meyering@fb.com>
27780         tests/init.sh: exclude dash with bad "local" semantics
27781         * tests/init.sh (gl_shell_test_script_): Add a function to
27782         eliminate a shell like "dash" (unlike bash, zsh) that has
27783         surprising/risky "local var='...'" semantics.  Inspired by
27784         the problem and discussion in https://bugs.gnu.org/24116#11.
27786 2016-08-02  Ján Tomko  <jtomko@redhat.com>
27788         maint.mk: expand the prohibit_doubled_word regex
27789         This check has a static list of words that are checked for
27790         repetitions.  Expand it before running the perl script to
27791         avoid using expensive captures.  This decreases the cost
27792         for libvirt from 1.66s to 0.66s.
27793         * top/maint.mk (prohibit_doubled_word_expanded_): Define.
27794         (sc_prohibit_doubled_word): Use it.
27796 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27798         useless-if-before-free: skip non-matching lines early
27799         * build-aux/useless-if-before-free: First match each line with the
27800         simple/quick /\bif\b/ and reject if there is no match. This often
27801         saves the cost of the much more involved regular expression.
27802         For libvirt, this decreases the cost from 1.44s to 1.02s.
27804 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27806         maint.mk: speed up sc_po_check
27807         sc_po_check would skip files based on their names, or on the
27808         existence of files with derived names. Rewrite it to use perl
27809         instead of shell to make the check faster.
27810         * top/maint.mk (perl_translatable_files_list_): Define.
27811         (sc_po_check): Use it.
27813 2016-07-30  Ján Tomko  <jtomko@redhat.com>
27815         maint.mk: speed up require_config_h_first
27816         Instead of spawning three processes per file,
27817         rewrite the check in perl and run it once for all the files.
27818         * top/maint.mk (perl_config_h_first_): Define.
27819         (sc_require_config_h_first): Use it in place of shell code.
27821 2016-07-26  Ján Tomko  <jtomko@redhat.com>
27823         maint.mk: speed up sc_po_check
27824         sc_po_check would skip files based on their names, or on the
27825         existence of files with derived names. Rewrite it to use perl
27826         instead of shell to make the check faster.
27827         * top/maint.mk (perl_translatable_files_list_): Define.
27828         (sc_po_check): Use it.
27830 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
27832         obstack: pacify GCC 6 with -Wnull-dereference
27833         Problem reported by Assaf Gordon in:
27834         http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
27835         * lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
27836         Declare with __attribute_noreturn__.
27837         * lib/obstack.h (__attribute_noreturn__): New macro.
27839 2016-07-13  Eric Blake  <eblake@redhat.com>
27841         doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
27842         * doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
27843         * doc/posix-headers/limits.texi (limits.h): Document the bugs.
27845 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
27847         doc: mention glibc SSIZE_MAX buglet
27848         * doc/posix-headers/limits.texi (limits.h): Document the bug.
27850 2016-07-04  Martin Kletzander  <mkletzan@redhat.com>
27852         printf-posix: Fix mingw build
27853         Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
27854         expression for detecting C symbol prefixes but forgot to qoute square
27855         brackets in the command line arguments for grep.  That way when
27856         building with mingw the condition was false although it ought to be
27857         true instead.  In particular scenarios this led to the following
27858         compile error:
27860             Cannot export rpl_printf: symbol not found
27861             Cannot export rpl_scanf: symbol not found
27862             collect2: error: ld returned 1 exit status
27864         Fix this by properly quoting square brackets.
27866 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
27868         mktime: call tzset as per POSIX
27869         Problem reported by Ludovic Courtès in:
27870         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
27871         * lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
27872         * m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.
27874 2016-06-26  Pádraig Brady  <P@draigBrady.com>
27876         fts: handle readdir() errors
27877         * lib/fts.c (fts_build): readdir(3) returns NULL when finished,
27878         but also upon error when it will also set errno.  Therefore
27879         flag the error case from readdir().  We treat the case where
27880         no items are read the same as if the dir can't be accessed,
27881         i.e. by setting fts_errno to FTS_DNR.
27883 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
27885         intprops: port better to GCC 7
27886         GCC 7 __builtin_add_overflow supports a new usage form, where the
27887         last argument is a null pointer, and which merely returns 1 if an
27888         overflow would occur.  This is a constant expression if all
27889         arguments are constants, and should generate faster code when code
27890         needs to be generated.
27891         * lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
27892         (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
27893         Use builtin operations if available.
27894         (INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
27895         operations are available, as it's almost surely faster.
27897 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
27899         intprops-test: port to GCC 6
27900         * tests/test-intprops.c: Ignore -Woverflow if any GCC version,
27901         since the bug is not fixed in GCC 6.1.
27903 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
27905         xalloc-oversized: port to GCC 7; fewer warnings
27906         GCC 7 will have a better way to deal with integer overflow.
27907         Plus, fix a warnings problem reported by Tim Ruehsen in:
27908         http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
27909         * lib/xalloc-oversized.h (__xalloc_oversized): New macro.
27910         (xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
27911         For GCC 5, use __xalloc_oversized if both args are constants,
27912         or if pedantic.
27914 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
27916         regex: port to Sun C
27917         Reported by Daiki Ueno.
27918         * lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
27919         __restrict, in prototype.  This fixes a problem I introduced in
27920         the 2016-02-19 merge from glibc.
27922 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
27924         stdbool: Restore __bool_true_false_are_defined check
27925         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
27926         __bool_true_false_are_defined is still defined, even with C++11.
27928 2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)
27930         stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
27931         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.
27933 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
27935         Use GCC_LINT, not lint
27936         FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
27937         Problem reported by Ken Brown in: http://bugs.gnu.org/23640
27938         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
27939         Document problem with lint and _Noreturn.
27940         * lib/diffseq.h (IF_LINT, IF_LINT2):
27941         * lib/fts.c (sccsid):
27942         * lib/getndelim2.c (IF_LINT):
27943         * lib/gl_anylinked_list2.h (gl_linked_iterator)
27944         (gl_linked_iterator_from_to):
27945         * lib/gl_anytree_list2.h (gl_tree_iterator)
27946         (gl_tree_iterator_from_to):
27947         * lib/gl_anytree_oset.h (gl_tree_iterator):
27948         * lib/gl_array_list.c (gl_array_iterator)
27949         (gl_array_iterator_from_to):
27950         * lib/gl_array_oset.c (gl_array_iterator):
27951         * lib/gl_carray_list.c (gl_carray_iterator)
27952         (gl_carray_iterator_from_to):
27953         * lib/idcache.c:
27954         * lib/inet_ntop.c (IF_LINT):
27955         * lib/regcomp.c (build_charclass_op, create_tree):
27956         * lib/regex_internal.c (re_acquire_state)
27957         (re_acquire_state_context):
27958         * lib/trigl.c (rcsid):
27959         * lib/trim.c (IF_LINT):
27960         * lib/vasnprintf.c (IF_LINT):
27961         * lib/verify.h (assume):
27962         Treat GCC_LINT like lint.
27964 2016-05-29  Bruno Haible  <bruno@clisp.org>
27966         secure_getenv: Port to many more platforms.
27967         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
27968         functions.
27969         * lib/secure_getenv.c (secure_getenv): Add alternate implementations
27970         for non-BSD Unix platforms and for native Windows.
27971         * doc/glibc-functions/secure_getenv.texi: Remove known issue.
27972         Prompted by a request from Nikos Mavrogiannopoulos.
27974 2016-05-27  Eric Blake  <eblake@redhat.com>
27976         canonicalize: Fix broken probe for realpath.
27977         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
27978         in logic introduced in 54615b95.
27980 2016-05-26  Eric Blake  <eblake@redhat.com>
27982         unsetenv: relax to LGPLv2+
27983         * modules/unsetenv (License): Match setenv license.
27985 2016-05-20  Ludovic Courtès  <ludo@gnu.org>
27987         gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
27988         Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
27989         Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
27990         * build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
27991         (commonarg, dirargs, dirs, infoarg, generate_ascii)
27992         (generate_html, generate_info, generate_tex, outdir)
27993         (source_extra, split, srcfile, texarg): Move above 'version'.
27994         (htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".
27996 2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27998         manywarnings: update for GCC 6.1
27999         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
28000         Add GCC 6.1 options that apply to C.
28001         * build-aux/gcc-warning.spec: Add GCC 6.1 options that
28002         do not apply to C, are obsolescent, etc.
28004 2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>
28006         glob: size_t overflow checks
28007         * lib/glob.c (__has_builtin): New macro.
28008         (size_add_wrapv, glob_use_alloca): New static functions.
28009         (glob, glob_in_dir): Check for size_t overflow in several places,
28010         and fix some size_t checks that were not quite right.
28012         glob: don't assume INT_MAX < SIZE_MAX
28013         * lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
28014         latter is not portable to (probably theoretical) hosts where
28015         SIZE_MAX <= INT_MAX.
28017 2016-05-09  Bruno Haible  <bruno@clisp.org>
28019         Fix undefined behaviour in gettext.h.
28020         * lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
28021         pointer's value after the storage it points to has been freed.
28022         Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
28023         Spotted by Coverity.
28025 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
28027         git-version-gen: avoid undefined shift
28028         Problem reported by Mosè Giordano in:
28029         http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
28030         * build-aux/git-version-gen: Avoid undefined behavior if invoked
28031         with --prefix or --fallback but without a later argument.  While
28032         we're at it, omit unnecessary quotes.
28034 2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>
28036         glob: merge glibc changes into lib/glob.c
28037         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
28038         dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
28039         2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
28040           struct dirent [BZ #19779]
28041         2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
28042           callback gl_readdir
28043         2015-10-20 Convert miscellaneous function definitions to prototype style
28044         2015-10-20 Convert 113 more function definitions to prototype style
28045           (files with assertions)
28046         2015-06-12 Fix getlogin_r namespace (bug 18527).
28047         2014-02-10 Use glibc_likely instead __builtin_expect.
28048         2013-10-20 When glob pattern contains a trailing slash match only
28049           directories. Fixes bug 10278.
28050         2013-09-04 glob: silence -Wattribute warnings
28051         2013-06-07 Avoid use of "register" as optimization hint.
28052         2012-09-25 Use size_t instead of int for internal variables in glob
28053           (bug 14621)
28054         2011-07-20 Check for overflows in expressions
28055         2011-05-28 Remove unused variable
28056         2011-05-22 Add a few more alloca size checks
28057         2010-03-27 Whitespace fixes
28058         2010-03-27 Fix one more issue with the glob patch
28059         2010-03-24 Fix glob with empty pattern
28060         2008-05-27 Remove useless more "if" tests before "free"
28061         * modules/glob (Depends-on): Add stdint.
28063 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
28065         mktime: port to stricter signed overflow checking
28066         * lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
28067         (long_int): Require width for INT_MAX * 3 * (seconds per year),
28068         instead of merely for INT_MAX * 2.  In practice platforms that
28069         do the latter also do the former.
28070         (TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
28071         (shr): New static function, replacing SHR.  All uses changed.
28072         (mktime_min, mktime_max): New constants, replacing TIME_T_MIN
28073         and TIME_T_MAX.  All uses changed.
28074         (ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
28075         Use long_int, not time_t.
28076         (long_int_avg): New static function, replacing time_t_avg.
28077         All uses changed.  Round toward positive infinity, as that
28078         generates slightly better code.
28079         (time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
28080         by INT_ADD_WRAPV.
28081         (guess_time_tm): Accept time, not a pointer to it.  All uses changed.
28082         (convert_time): New static function.
28083         (ranged_convert): Use it
28084         (ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
28085         Use simpler test for loop exit.
28086         (__mktime_internal): Store negative of guessed offset, to simplify
28087         overflow checking.  Remove no-longer-needed test for small time_t
28088         overflows.
28090         mktime: speed up DEBUG_MKTIME benchmarks
28091         Call tzset just once, at the start, rather than for every test
28092         case.  This lets us measure the CPU cost of mktime as opposed to
28093         that of tzset.  This is relevant when TZ is not set and glibc is
28094         being used.  This speeds up tests by a factor of 40 on my Fedora
28095         23 x86-64 platform.
28096         * lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
28097         to call tzset and as a sanity check.  Later on, use localtime_r
28098         instead of localtime.
28100         mktime: resurrect DEBUG_MKTIME testing
28101         * lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
28102         Include <string.h>, for strcmp.
28104         mktime: simplify DEBUG_MKTIME
28105         * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
28106         Simplify later usage accordingly.
28108         Port mktime_internal offset to unsigned time_t
28109         This avoids some assumptions about wraparound arithmetic on
28110         signed integer overflow.
28111         * lib/mktime-internal.h (mktime_offset_t): New type.
28112         (mktime_internal): Use it in decl.
28113         * lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
28115         * lib/mktime.c (__mktime_internal, localtime_offset):
28116         * lib/timegm.c (timegm): Use it.
28117         * m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
28118         (gl_FUNC_MKTIME): Require it.
28120 2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>
28122         xstrtol: prohibit monstrosities like "1bB"
28123         Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
28124         * lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
28125         "B" only if the first suffix needs a base.
28126         * tests/test-xstrtol.sh: Test this.
28128 2016-04-21  Pádraig Brady  <P@draigBrady.com>
28130         xstrtod: reinstate setting of *result upon ERANGE
28131         * lib/xstrtod.c (XSTRTOD): The user may decide to use
28132         the returned limits upon ERANGE, so allow and document that.
28134 2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)
28136         xstrtod: modify *result only if no errors
28137         * lib/xstrtod.c (XSTRTOD).
28139 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
28141         btowc: document problems in C locale
28142         * doc/posix-functions/btowc.texi (btowc): Mention incompatibility
28143         with mbrtowc.  See: http://bugs.gnu.org/23269#32
28145 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
28147         mktime: improve integer overflow checking
28148         * lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
28149         (WRAPV): Remove; no longer needed.
28150         (verify): Remove.  Replace all uses with call to verify.h 'verify'.
28151         (TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
28152         Remove.  Use intprops.h defns instead.
28153         (leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
28154         Use bool for Boolean, for clarity.
28155         (time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
28156         detect integer overflow.
28157         * modules/mktime (Depends-on): Add intprops, stdbool, verify.
28159         intprops: check two's complement assumption
28160         Suggested by Eric Blake in:
28161         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
28162         * lib/intprops.h: Include <verify.h>.  Verify that signed char,
28163         short, int, long, and (if available) long long are two's complement.
28164         * modules/intprops (Depends-on): Add 'verify'.
28166         intprops, mktime, strtol: assume two's complement
28167         These macros were not portable to every conforming C11 ones'
28168         complement platform.  It's not worth the hassle of porting to some
28169         platforms that use ones' complement or signed magnitude, as such
28170         platforms are almost purely theoretical nowadays and porting even
28171         to some of them makes the code harder to review for little
28172         practical benefit.  Problem reported by Florian Weimer in:
28173         https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
28174         * lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28175         (TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
28176         * lib/mktime.c (TYPE_TWOS_COMPLEMENT):
28177         * lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
28178         (TYPE_SIGNED_MAGNITUDE):
28179         Remove.  All uses rewritten to assume two's complement, which is
28180         all we can reasonably test nowadays anyway.
28181         * top/maint.mk (_intprops_names): Remove the removed macros.
28183 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
28185         stdint: port to strict C11 left shift
28186         * lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
28187         Pacify clang -Wshift-negative-value, which should be an issue only
28188         on clang setups where stdint.h does not conform to C11 or to C++11.
28189         Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261
28191 2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>
28193         mbrtowc: work around glibc bug#19932
28194         Fix mbrtowc so that it never returns -1 in the C locale,
28195         as this conflicts with a future version of POSIX
28196         http://austingroupbugs.net/view.php?id=663#c2738
28197         and causes problems with GNU grep: http://bugs.gnu.org/23234
28198         See glibc bug 19932:
28199         https://sourceware.org/bugzilla/show_bug.cgi?id=19932
28200         * doc/posix-functions/mbrlen.texi (mbrlen):
28201         * doc/posix-functions/mbrtowc.texi (mbrtowc):
28202         Document the glibc bug.
28203         * lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
28204         Include hard-locale.h, locale.h.
28205         (rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
28206         if the bug is possible.
28207         * m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
28208         (gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
28209         * modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
28210         * modules/mbrtowc (Depends-on): Add hard-locale.
28211         * modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
28212         * tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
28213         * tests/test-mbrtowc5.sh: New file.
28215 2016-04-03  Pedro Alves  <palves@redhat.com>
28217         stdint: detect good enough pre-C++11 stdint.h in C++ mode
28218         When gnulib is configured in C++ mode for a system with a working C99
28219         implementation of stdint.h that predates C++11, gnulib ends up
28220         substituting stdint.h anyway.  This works on most targets, but on e.g.,
28221         64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
28222         MinGW is LLP64.  Instead of trying to detect the right types, detect
28223         good-enough-pre-C++11 stdint.h and in such case define
28224         __STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
28225         * m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
28226         / __STDC_LIMIT_MACROS while checking whether the system stdint.h
28227         conforms to C99.  If it does, check whether it hides symbols
28228         behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
28229         does, define those macros in config.h.
28231 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
28233         argp: merge changes from glibc
28234         Among other things, this should fix problems found by a Coverity
28235         scan and reported by Andrei Borzenkov:
28236         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
28237         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
28238         * lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
28239         * lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
28240         * lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
28241         * lib/argp.h:
28242         Merge changes from glibc.
28243         * tests/test-argp-2.sh: Adjust to match new behavior.
28245 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
28247         stddef: support configuring with g++
28248         Problem reported by Ángel González in:
28249         http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
28250         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
28251         Do not define if _GCC_MAX_ALIGN_T is defined.
28253 2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>
28255         test-framework-sh: minor cleanups
28256         * tests/init.sh (testdir_prefix_): Output a trailing newline,
28257         since strictly speaking POSIX requires this.
28258         (setup_): Do not use the variable 'fail', as that makes the
28259         trace output harder to read ('fail' is typically used by
28260         tests to mean the test failed).  Treat // portably.
28261         Check that new directory is not merely a sibling of the tmp dir.
28262         Avoid unnecessary invocation of tr.
28264         test-framework-sh: revert port to NetBSD 7.0
28265         It was a false alarm; I misinterpreted Assaf Gordon's report.
28266         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28267         Restore.
28268         (test_dir_): Adjust to mktempd_ change.
28269         (mktempd_): Restore 2nd arg.  Use -t again.
28270         (base_template_, template_, nx_): Resurrect old code.
28272         Port better to Alpine Linux
28273         Its diff implementation does not support -c, but does support -U3.
28274         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28275         * tests/init.sh (diff_opt_): New var.
28276         (compare_): Prefer diff -U3 to diff -c to plain diff.
28278 2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>
28280         test-framework-sh: port to NetBSD 7.0
28281         Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
28282         * tests/init.sh (testdir_prefix_, pfx_, template_length_):
28283         Remove.  All uses removed.
28284         (test_dir_): Adjust to mktempd_ change.
28285         (mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
28286         (base_template_, template_, nx_): Simplify by hardcoding.
28288 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
28290         gitlog-to-changelog: suppress ignored chatter
28291         * build-aux/gitlog-to-changelog: Do not warn about skipping
28292         an SHA if it would have been ignored anyway.
28294 2016-03-22  Geert Janssens  <janssens-geert@telenet.be>
28296         setlocale: add "sv" to Windows language table
28297         * lib/setlocale.c (language_table) [W32]: Add "sv".
28298         Reported in <https://savannah.gnu.org/bugs/?44588>.
28300 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
28302         sys_select: port to new Cygwin
28303         Problem reported by Ken Brown in:
28304         https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
28305         * lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
28306         diagnostics.
28308 2016-03-17  Jim Meyering  <meyering@fb.com>
28310         test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
28311         * tests/test-userspec.c (main): Remove unnecessary braces and fix
28312         misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
28313           test-userspec.c:176:9: error: statement is indented as if it were \
28314             guarded by... [-Werror=misleading-indentation]
28315                    {
28316                    ^
28317           test-userspec.c:173:7: note: ...this 'if' clause, but it is not
28318                  if (!diag && !T[i].result)
28319                  ^~
28321 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
28323         time_rz: port to clang -Wunused-const-variable
28324         * lib/time_rz.c (TZ): Remove.  All uses removed.
28326         std-gnu11: improve clang support
28327         * m4/std-gnu11.m4: Sync with autoconf, incorporating:
28328         2016-03-15 Also try clang
28329         2016-03-15 Port C11 and C++11 testing to clang
28331         select: port more to Intel 2016.1.150 compiler
28332         Problem reported by Balázs Hajgató in:
28333         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
28334         * m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.
28336 2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>
28338         select: try to port to 2016.1.150 compiler
28339         Problem reported by Balázs Hajgató in:
28340         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
28341         * lib/sys_select.in.h (select): Use 'restrict' on arguments where
28342         POSIX specifies 'restrict'.
28344 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
28346         localename-tests: memory allocation fixes
28347         * tests/test-localename.c (test_locale_name)
28348         (test_locale_name_thread): Don't call freelocale on a locale
28349         that was the base of a successful newlocale, as that
28350         results in a double free.  Problem reported by Assaf Gordon.
28351         (test_locale_name_thread): Free saved names after use, to pacify
28352         gcc -fsanitize=address.
28354 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
28356         intprops: make .h file license match module
28357         * lib/intprops.h: Change the license wording to match glibc format.
28358         This is what is in modules/intprops anyway.  See:
28359         https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8
28361 2016-03-08  Eric Blake  <eblake@redhat.com>
28363         acl: fix missing return on Cygwin
28364         * lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
28365         fall off end of function. Fixes http://bugs.gnu.org/22949
28367 2016-03-05  Bruno Haible  <bruno@clisp.org>
28369         extern-inline: port to PGI CC
28370         * m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
28371         keyword 'inline'.
28372         Reported by Adam James Stewart in:
28373         http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html
28375 2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>
28377         signbit: port back to pre-C++11 GCC
28378         * lib/math.in.h (signbit): Do previous change only if
28379         __cplusplus < 201103.  See Jonathan Wakely in:
28380         https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/
28382 2016-02-19  Kamil Dudka  <kdudka@redhat.com>
28384         mountlist: recognize autofs-mounted remote file systems, too
28385         Originally reported at: https://bugzilla.redhat.com/1309247
28386         * lib/mountlist.c (ME_REMOTE): Return true if a file system is named
28387         "-hosts" because it is used by autofs to mount remote file systems.
28389 2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>
28391         signbit: port to C++ with GCC 6
28392         * lib/math.in.h (signbit) [__cplusplus]:
28393         Do not replace with GCC builtin.  Reported by Orion Poplawski in:
28394         http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html
28396         * lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.
28398         regex: make it closer to libc
28399         Make Idx a signed type, rather than possibly unsigned.
28400         The unsignedness was not really buying us anything, since the code
28401         overflows for other reasons before getting to PTRDIFF_MAX.  Making
28402         it signed allows us to use -1 and -2 with abandon, like libc does,
28403         thus lessening the number of differences between gnulib and libc.
28404         Also, it should help avoid gratuitous warnings like the one
28405         reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
28406         * lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.
28409         regex: merge patches from libc
28411         2015-10-21  Joseph Myers  <joseph@codesourcery.com>
28412         2015-10-20  Joseph Myers  <joseph@codesourcery.com>
28413         Convert miscellaneous function definitions to prototype style.
28414         * lib/regcomp.c (re_compile_pattern, re_set_syntax)
28415         (re_compile_fastmap, regcomp, regerror, regfree, re_comp):
28416         * lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
28417         (re_search_2_stub, re_search_stub, re_set_registers, re_exec)
28418         (re_search_internal):
28419         Convert to prototype-style function definition.
28420         Use internal_function for internal functions.
28422 2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>
28424         stdalign: port to older HP and IBM cc
28425         * lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
28426         C compilers, by checking their version numbers.  These version
28427         numbers appear in MariaDB and in Qt code that dates way back and
28428         that conditiionally uses the 'aligned' attribute.
28430 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
28432         stdalign: port to clang 3.7.0
28433         Problem reported by Herbert J. Skuhra in:
28434         http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
28435         * lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
28436         from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
28437         https://llvm.org/bugs/show_bug.cgi?id=26547
28439 2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>
28441         readdir_r: now obsolescent
28442         * doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
28443         * lib/mountlist.c (read_file_system_list): Add a FIXME.
28445 2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>
28447         misc: port better to gcc -fsanitize=address
28448         Without these patches, ./configure CFLAGS='-fsanitize=address'
28449         would compute incorrect values.  This patch fixes some (but not all)
28450         test failures with recent glibc, with this configuration.
28451         * m4/acl.m4 (gl_ACL_GET_FILE):
28452         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
28453         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
28454         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
28455         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
28456         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
28457         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
28458         * m4/getgroups.m4 (gl_FUNC_GETGROUPS):
28459         * m4/getline.m4 (gl_FUNC_GETLINE):
28460         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
28461         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
28462         * m4/regex.m4 (gl_REGEX):
28463         * m4/strndup.m4 (gl_FUNC_STRNDUP):
28464         * tests/test-calloc-gnu.c (main):
28465         * tests/test-duplocale.c (main):
28466         * tests/test-getgroups.c (main):
28467         * tests/test-getline.c (main):
28468         * tests/test-inttostr.c (main):
28469         * tests/test-localename.c (test_locale_name)
28470         (test_locale_name_thread, test_locale_name_environ)
28471         (test_locale_name_default):
28472         * tests/test-regex.c (main):
28473         * tests/test-setlocale1.c (main):
28474         * tests/test-stat.h (test_stat_func):
28475         Free heap-allocated storage before exiting.
28476         * m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
28477         Don't match *_foo symbols inserted by AddressSanitizer.
28478         * tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.
28480 2016-02-02  Jim Meyering  <meyering@fb.com>
28482         verify-tests: also remove stray test-verify.Tpo
28483         * modules/verify-tests (Makefile.am): Arrange for "make clean"
28484         to remove the test-verify.Tpo file that is left behind by
28485         the automake-generated rule upon compilation failure.
28486         Otherwise, that .Tpo file would cause a failed "make distcheck"
28487         at least for grep.
28489 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28491         std-gnu11: new module
28492         This makes it easier for applications to prefer C11 and C++11
28493         to older variants, when compiling C and C++ code.
28494         Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
28495         a nontrivial chunk of GPLed Autoconf source code.
28496         * COPYING: Mention the m4/*.m4 copyright situation.
28497         * MODULES.html.sh (std-gnu11): New module.
28498         * m4/std-gnu11.m4, modules/std-gnu11: New files.
28500 2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>
28502         get-permissions, strftime: fix grammar in comments
28503         * lib/get-permissions.c, lib/strftime.c: Merge into the comments
28504         some grammar fixes Alan Mackenzie made to GNU Emacs.
28506 2016-01-25  Daiki Ueno  <ueno@gnu.org>
28508         gettext: mark as obsolete
28509         Suggested by Paul Eggert in:
28510         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
28511         * modules/gettext (Status): Mark as obsolete.
28512         (Notice): Suggest to use 'gettext-h' instead.
28513         * modules/gettext-h (Description): Suggest GNU gettext, instead of
28514         the 'gettext' module.
28516 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28518         gnulib-tool: don't give up on ln -s so easily
28519         * gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
28520         because an earlier one failed.  The targets could be on different
28521         file systems.  Problem reported by KO Myung-Hun in:
28522         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html
28524         closedir: fix OS/2-related typos
28525         Problem reported by KO Myung-Hun in:
28526         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
28527         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
28528         in the last couple of changes.
28530 2016-01-24  KO Myung-Hun  <komh78@gmail.com>
28532         openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
28533         * lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
28534         copying a directory.
28536 2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
28538         regex: treat [x] as x if x is a unibyte encoding error
28539         Problem reported by Aharon Robbins in:
28540         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
28541         * lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
28542         (build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.
28544         closedir, dirfd, opendir: port to OpenSolaris 5.10
28545         * m4/closedir.m4 (gl_FUNC_CLOSEDIR):
28546         * m4/dirfd.m4 (gl_FUNC_DIRFD):
28547         * m4/opendir.m4 (gl_FUNC_OPENDIR):
28548         Don't use ${word##pat} substitution, as it doesn't work in
28549         OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
28550         http://bugs.gnu.org/22443#11
28552 2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>
28554         bootstrap: use American spelling
28555         * build-aux/bootstrap: Honor American spelling.
28557 2016-01-22  Karl Berry  <karl@freefriends.org>
28559         * doc/posix-functions/localtime.texi,
28560         * doc/posix-functions/localtime_r.texi: @item needed for @itemize text.
28562 2016-01-21  Bruno Haible  <bruno@clisp.org>
28564         hash-pjw-bare: fix comment
28565         * lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.
28567         wcwidth: Replace also on OpenBSD 5.8
28568         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
28569         * doc/posix-functions/wcwidth.texi: Update.
28571 2016-01-20  Pádraig Brady  <P@draigBrady.com>
28573         gnu-web-doc-update: fix addition of new files
28574         If there were already added (emnpty) dirs,
28575         then cvs aborts the add with the message:
28576           cvs [add aborted]: there is a version in <./dirname> already
28577         * build-aux/gnu-web-doc-update: Add directories separately
28578         to the addition of files, to avoid the above issue
28579         impacting the addition of files.
28581 2016-01-19  Daiki Ueno  <ueno@gnu.org>
28583         utimens-tests: avoid pulling gettext .m4 files
28584         Although this is not the right fix to the original problem:
28585         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
28586         it makes it possible again for consumer projects to use arbitrary
28587         version of gettext, through the steps described at:
28588         http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
28589         See here for details:
28590         https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
28591         * modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
28592         'gettext'.
28593         * modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
28594         'gettext'.
28596 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
28598         regex: pacify static checkers
28599         Problem and draft fix reported by Aharon Robbins in:
28600         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28601         * lib/regcomp.c (build_charclass_op, create_tree) [lint]:
28602         Clear memory to pacify static checkers.
28604         regex: fix [ diagnostic
28605         Problem and fix reported by Aharon Robbins in:
28606         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28607         * lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.
28609         regex: fix memory leaks
28610         Problem and draft fix reported by Aharon Robbins in:
28611         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
28612         * lib/regcomp.c (build_range_exp, build_charclass_op)
28613         * lib/regex_internal.c (re_dfa_add_node):
28614         Fix memory leak on failure.
28616 2016-01-18  Pádraig Brady  <P@draigBrady.com>
28618         fts: don't unconditionally use leaf optimization for NFS
28619         NFS st_nlink are not accurate on all implementations,
28620         leading to aborts() if that assumption is made.
28621         See <https://bugzilla.redhat.com/1299169>
28622         * lib/fts.c (leaf_optimization_applies): Remove NFS from
28623         the white list, and document the issue.
28625 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28626             KO Myung-Hun  <komh@chollian.net>
28628         gnulib-tool: don't assume ln -s works
28629         * gnulib-tool (func_ln_s): New function.
28630         (func_ln): Use it.
28632 2016-01-15  KO Myung-Hun  <komh@chollian.net>
28634         utimes: detect utimes() correctly on OS/2 kLIBC
28635         utimes() of OS/2 kLIBC has some limitations.
28636         1. OS/2 itself supports a file date since 1980 year in local time.
28637         2. OS/2 itself supports only even seconds for a file time.
28638         3. utimes() of OS/2 kLIBC does not work on an opened file.
28639         * m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
28640         * doc/posix-functions/utimes.texi: Document the above limitations of
28641         utimes() on OS/2 kLIBC.
28643 2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
28644             KO Myung-Hun  <komh@chollian.net>
28646         openat_proc_name: port to OS/2 kLIBC
28647         OS/2 kLIBC provides a function to retrive a path from a fd. Use it
28648         instead of /proc/self/fd.
28649         * lib/openat-proc.c (openat_proc_name):
28650         Don't assume file name length is less than INT_MAX.
28651         Port to OS/2 kLIBC with __libc_Back_ioFHToPath().
28653 2016-01-14  KO Myung-Hun  <komh@chollian.net>
28655         stdint: check _INTPTR_T_DECLARED for intptr_t etc.
28656         OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
28657         definitions of intptr_t and uintptr_t (which use int and unsigned)
28658         to avoid clashes with declarations of system functions like sbrk.
28659         * lib/stdint.in.h (intptr_t, uintptr_t): Check
28660         _INTPTR_T_DECLARED before defining them.
28662         opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
28663         * lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
28664         * lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
28665         Declare on kLIBC.
28666         * lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
28667         fd associated with dirp.
28668         (_gl_register_dirp_fd): New. Register fd associated with dirp to
28669         dirp_fd_list.
28670         (_gl_unregister_dirp_fd): New. Unregister fd with closing it.
28671         (dirfd): Implemented for kLIBC.
28672         * lib/fdopendir.c (fdopendir): Implemented for kLIBC.
28673         * lib/opendir.c (opendir): New. Register fd and dirp pair if open()
28674         succeeds.
28675         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
28676         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28677         (REPLACE_DIRFD): Define to 1 if replaced.
28678         * m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
28679         * modules/closedir (Depends-on): Add dirfd.
28680         * modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
28681         condition.
28682         (configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
28683         * modules/opendir (Depends-on): Add dirfd.
28685         dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
28686         On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
28687         * lib/dup.c (dup_nothrow): New.
28688         * lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
28689         (klibc_dup2): New.
28690         * lib/fcntl.c (klibc_fcntl): New.
28691         * m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
28692         * m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
28693         * m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
28694         fd.
28696         pipe_filter_ii_execute: port to OS/2 kLIBC
28697         Pipes on kLIBC do not support O_NONBLOCK like Win32.
28698         * lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
28699         WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
28700         Reuse Win32 code on OS/2 kLIBC.
28701         * lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
28702         * lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.
28704         wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
28705         On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
28706         static inline function.  The implementation of wcwidth in wcwidth.c
28707         causes a "conflicting types" error.
28708         * lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.
28710         w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
28711         spawn() on OS/2 kLIBC is not silly like one on Windows
28712         * libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
28713         empty string on OS/2 kLIBC.
28715         pipe-filter-aux: undefine HAVE_SELECT on KLIBC
28716         On OS/2 kLIBC, select() works only on sockets.
28717         * lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.
28719         binary-io: don't put fd in binary mode if it is a console on EMX
28720         * lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
28721         a console on EMX.
28723 2016-01-15  Pádraig Brady  <P@draigBrady.com>
28725         doc: mention unfixed issues with unsupported localtime() values
28726         * doc/posix-functions/localtime.texi: Mention that FreeBSD 10
28727         returns nonsense for localtime(2^56).
28728         * doc/posix-functions/localtime_r.texi: Likewise.
28730 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28732         doc: mention setlocale() issues on OpenBSD
28733         * doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
28734         never fails, and the need to check categories individually.
28736 2016-01-14  Pádraig Brady  <P@draigBrady.com>
28738         sig2str: list all signals on FreeBSD >= 7
28739         FreeBSD >= 7 is contravening POSIX by not defining NSIG
28740         to the maximal statically defined signal value.
28741         It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
28742         * lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
28743         where available, even when NSIG is defined.
28745 2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>
28747         acl-permissions: port to USE_ACL==0 platforms
28748         I ran into this problem when building bleeding-edge GNU Emacs
28749         with gcc -fsanitize=address on Fedora 23.  On this platform
28750         the ACL library does not pass the 'configure' test and Emacs
28751         then does not build due in part to what appear to be typos in the
28752         ACL part of Gnulib.
28753         * lib/acl-internal.c (free_permission_context):
28754         * lib/acl-internal.h (struct permission_context):
28755         Test whether USE_ACL is nonzero, not whether it is defined.
28757 2016-01-12  Martin Sebor  <msebor@redhat.com>
28759         mktime: rename macro to avoid glibc clash
28760         * lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
28761         https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html
28763 2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>
28765         Port "$@" to OpenIndiana ksh93
28766         In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
28767         Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
28768         (derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
28769         bug long-dead shells, so remove the workaround.
28770         * build-aux/announce-gen, build-aux/do-release-commit-and-tag:
28771         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28772         * build-aux/prefix-gnulib-mk, build-aux/update-copyright:
28773         * build-aux/useless-if-before-free, tests/test-update-copyright.sh:
28774         Use "$@" instead of ${1+"$@"}.
28776         Port Universal Time settings to strict POSIX
28777         * build-aux/announce-gen, build-aux/bootstrap:
28778         * build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
28779         * build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
28780         * build-aux/gnupload, build-aux/mkinstalldirs:
28781         * build-aux/move-if-change, build-aux/prefix-gnulib-mk:
28782         * build-aux/update-copyright, build-aux/useless-if-before-free:
28783         * build-aux/vc-list-files, tests/test-strftime.c:
28784         Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
28785         but POSIX says the behavior of TZ="UTC" is undefined.
28787 2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>
28789         msvc-inval: fix problem with unset shell var
28790         Problem reported by Karl Berry in:
28791         http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
28792         * modules/msvc-inval (Depends-on):
28793         AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
28794         * modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.
28796 2016-01-01  Pádraig Brady  <P@draigBrady.com>
28798         tests: for compare_(), use cmp -s where available
28799         * tests/init.sh (compare_): Only fall back to cmp without
28800         the POSIX defined -s option, where this is not available.
28802 2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>
28804         version-etc: new year
28805         * build-aux/gendocs.sh (version):
28806         * doc/gendocs_template:
28807         * doc/gendocs_template_min:
28808         * doc/gnulib.texi:
28809         * lib/version-etc.c (COPYRIGHT_YEAR):
28810         Update copyright dates by hand in templates and the like.
28811         * all files: Run 'make update-copyright'.
28813 2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>
28815         human: fix output buffer overrun by 1
28816         * lib/human.c (human_readable): Fix off-by-one typo in buffer
28817         calculation that could lead to a one-byte buffer overrun.
28819 2015-12-28  Daiki Ueno  <ueno@gnu.org>
28821         maint: fix operator precedence in mbrtowc test
28822         This is a fix for test breakage introduced by commit 45228d96; the
28823         equality expression must be parenthesized when negated with '!',
28824         otherwise we always get:
28826           test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed
28828         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
28829         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
28831 2015-12-23  James Youngman  <jay@gnu.org>
28833         regexprops-generic: update from regex.h
28834         * doc/regexprops-generic.texi: update by running the regexprops binary
28835         from findutils (the command line is 'regexprops "Regular Expressions"
28836         generic').  The recent (ish) change (5a5a9388) to regex.h aligning
28837         gnulib with GNU grep had made this document out-of-date.
28839 2015-12-23  Pádraig Brady  <P@draigBrady.com>
28841         strftime-tests: avoid false failure on OS X
28842         * tests/test-strftime.c (struct localtime_rz_test): Add an
28843         ahistorical member which is used to warn rather than fail
28844         when tm_isdst isn't set for such entries.  This is the case for
28845         "1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.
28847 2015-12-20  Kamil Dudka  <kdudka@redhat.com>
28849         fts: ensure leaf optimization is used for NFS
28850         NFS provides usable dirent.d_type but not necessarily for all entries
28851         of large directories.  See <https://bugzilla.redhat.com/1252549>
28852         * lib/fts.c (leaf_optimization_applies): Append NFS on the white list.
28854 2015-12-20  Pádraig Brady  <P@draigBrady.com>
28856         fts: enable leaf optimization for XFS
28857         XFS provides usable dirent.d_type only for DT_DIR,
28858         but the noleaf optimization still applies.
28859         * lib/fts.c (leaf_optimization_applies): Add XFS to the white list.
28861 2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>
28863         intprops: comment fix
28864         * lib/intprops.h: Fix comment.  Reported by Pádraig Brady in:
28865         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html
28867         intprops-test: work around GCC bug 68971
28868         Problem reported by Pádraig Brady in:
28869         http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
28870         * tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
28871         (main): Add a case that better tests 64-bit long in this area.
28873 2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
28875         gnulib-tool: allow multiple --local-dir usage
28876         * gnulib-tool: Use --local-dir to construct compound
28877         $local_gnulib_path path instead of $local_gnulib_dir.  Determine
28878         PATH_SEPARATOR early.
28879         (local_gnulib_dir): Rename into $local_gnulib_path everywhere.
28880         (func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
28881         func_determine_path_separator because that needs to be detected
28882         earlier now.
28883         (func_determine_path_separator): New function.
28884         (func_path_foreach, func_path_foreach_inner): New functions.
28885         (func_path_prepend, func_path_append): Likewise.
28886         (func_lookup_local_file, func_lookup_local_file_cb): Likewise.
28887         (func_lookup_file, func_all_modules): Use new functions to work
28888         with local_gnulib_path.
28889         (func_modules_in_dir, func_exists_module): New callbacks for
28890         func_path_foreach.
28891         (func_exists_module, func_get_tests_module): Likewise.
28892         (func_is_local_file, func_should_symlink): New helper methods.
28893         (func_add_file, func_update_file): Use new func_should_symlink
28894         instead, DRY.
28895         (func_reconstruct_cached_local_gnulib_path): New helper.
28896         (func_reconstruct_cached_dir): New callback.
28897         (func_import): The cached_local_gnulib_dir renamed to
28898         cached_local_gnulib_path similarly to local_gnulib_dir.
28899         Use new func_reconstruct_cached_local_gnulib_path.
28900         (func_count_relative_local_gnulib_path): New sub-method.
28901         (func_create_testdir): Use func_should_symlink, DRY.
28902         (func_create_megatestdir): Use new functions to work with
28903         local_gnulib_path correctly.
28904         (func_append_local_dir): New helper.
28906 2015-12-08  Pádraig Brady  <P@draigBrady.com>
28908         fix freadptr to work with ungetc on all uClibc configs
28909         Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
28910         where GNU coreutils cut(1) generates invalid output on uClibc
28911         when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
28912         * lib/freadptr.c (freadptr): Return NULL if there are
28913         ungotten chars.  In this case freadseek() will iterate
28914         again to process the ungotten character.
28916 2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>
28918         xalloc-oversized: improve performance with GCC 5
28919         * lib/xalloc-oversized.h (xalloc_oversized):
28920         Improve performance with GCC 5 by using __builtin_mul_overflow.
28922 2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>
28924         intprops: new public macro EXPR_SIGNED
28925         Emacs can use this macro, so make it public.
28926         * doc/intprops.texi (Arithmetic Type Properties): Rename from
28927         'Integer Type Determination', since some of these macros apply
28928         to non-integer types.  Clarify what kinds of constant expressions
28929         these macros return.  Say when the arguments can be non-integers.
28930         Mention newly published macro EXPR_SIGNED.
28931         * lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
28932         make it public.  All uses changed.
28934         intprops: fix typo in clang port
28935         * lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
28936         '__builtin_add_overflow' that is not caught by compiler.
28938 2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>
28940         test-timespec: fix typo in previous change
28941         * tests/test-timespec.c (main): Fix typo that reduced test quality.
28943         timespec-sub: fix overflow bug; add tests
28944         * lib/timespec-add.c (timespec_add):
28945         * lib/timespec-sub.c (timespec_sub):
28946         Work even if time_t is narrower than int (a theoretical
28947         possibility).  Redo code for a bit more clarity.
28948         * lib/timespec-sub.c (timespec_sub):
28949         Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
28950         * modules/timespec-tests, tests/test-timespec.c: New files.
28952         intprops-test: suppress -Woverlength-strings
28953         Problem reported by Pádraig Brady in:
28954         http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
28955         It is not worth the hassle to port this test to compilers that
28956         cannot handle long strings in diagnostics.
28957         * tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.
28959 2015-11-03  Pádraig Brady  <P@draigBrady.com>
28961         quotearg: add quotearg_n_style_colon()
28962         This quotes with default options of the specified style,
28963         but with quoting enabled for instances of ':'.
28964         * lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
28965         * lib/quotearg.c (quotearg_n_style_colon): New function implementation.
28967 2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>
28969         intprops: revise _WRAPV macros, revert _OVERFLOW
28970         The incompatible changes to the _OVERFLOW macros were too much of
28971         a hassle in practice, so revert them.  Instead, change the new
28972         _WRAPV macros to make them closer in behavior to GCC 5's new
28973         builtin_add_overflow etc. functions.  No other software was using
28974         these newly-added macros yet, so this should be OK.
28975         * NEWS: Revert previous change, since the incompatible change
28976         has been reverted, and nobody used the incompatible version.
28977         * doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
28978         Document revised behavior.
28979         (Integer Range Overflow): Adjust example to match above revisions.
28980         * lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
28981         (INT_MULTIPLY_OVERFLOW): Revert previous change, so that
28982         these can be used in integer constant expressions again.
28983         (INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
28984         (INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
28985         needed.
28986         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
28987         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
28988         (INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
28989         Remove, as they did not seem that useful.
28990         (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
28991         (_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
28992         (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
28993         Support new semantics.
28994         (__has_builtin): New macro, if not alreay defined.
28995         (_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
28996         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
28997         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
28998         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
28999         (INT_CONST_LEFT_SHIFT_WRAPV): Remove.
29000         (CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
29001         (CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
29002         New macros.
29003         (CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.
29005 2015-11-03  Jim Meyering  <meyering@fb.com>
29007         intprops: add parentheses for when OP has precedence lower than "-"
29008         * lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
29009         "a OP b" must be parenthesized for when OP is like "<<", which has
29010         lower precedence than the following "-". Reported by Pádraig Brady.
29012 2015-11-03  Pádraig Brady  <P@draigBrady.com>
29014         quotearg: constify get_quoting_style parameters
29015         * lib/quotearg.h (get_quoting_style): Mark parameter as const.
29016         * lib/quotearg.c (get_quoting_style): Likewise.
29018 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29020         quotearg: add support for $'' shell escaping
29021         * lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
29022         items and descriptions.
29023         * lib/quotearg.c (quotearg_buffer_restyled): Add support for the
29024         above types by quoting like "shell", but using $'...' syntax
29025         for non printable characters, which should provide unambiguous
29026         printable output for any input.
29027         * tests/test-quotearg-simple.c: Update accordingly.
29029 2015-11-02  Pádraig Brady  <P@draigBrady.com>
29031         maint: use a more standard return from mbrtowc test
29032         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
29033         from the test program as this is non standard and often
29034         indicates an unhandled case in the test program.
29035         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.
29037 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
29039         intprops: add WRAPV and const flavors for GCC 5
29040         If available, use GCC 5's builtin functions for efficient integer
29041         overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
29042         and safely compute the low-order bits of the correct answer.
29043         A downside of these efficient functions is that they cannot be
29044         used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
29045         and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
29046         * NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
29047         * doc/intprops.texi (Integer Properties, Integer Type Overflow):
29048         Document the changes.
29049         (Wraparound Arithmetic): New section.
29050         (Integer Range Overflow):
29051         Put this subsection last, since it's least useful.
29052         * lib/intprops.h (INT_CONST_ADD_OVERFLOW)
29053         (INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
29054         New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
29055         (INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
29056         (INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
29057         (INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
29058         (_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
29059         (INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
29060         New macros.
29061         (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
29062         Generate calls to GCC builtins if available, for speed.
29063         * tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
29064         (INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
29065         (INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
29066         (INT_CONST_LEFT_SHIFT_WRAPV): New macros.
29067         (main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
29068         (CHECK_QUOTIENT, CHECK_REMAINDER):
29069         Test WRAPV and CONST flavors (when available) too.
29071 2015-10-30  Pádraig Brady  <P@draigBrady.com>
29073         doc: use extended timezone format in iso-8601 example
29074         * doc/parse-datetime.texi: The standard states that extended format
29075         is to be used consistently throughout.
29076         Note that lib/parse-datetime.y can handle either tz format.
29078 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
29080         stdalign: port to Sun C 5.9
29081         * doc/posix-headers/stdalign.texi: Document this.
29082         * lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
29083         __attribute__ ((__aligned__ (...))).
29085 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
29087         time_rz: fix comment about tzalloc
29088         * lib/time_rz.c (tzalloc): Fix comment.
29090 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29092         stdalign: work around pre-4.9 GCC x86 bug
29093         * lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
29094         x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
29095         http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html
29097 2015-10-18  Pádraig Brady  <P@draigBrady.com>
29099         maint.mk: sc_tight_scope: remove extraneous expressions
29100         * top/maint.mk (tight_scope): This is not really required since
29101         commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
29102         that matches all nm entries.  But it does remove extraneous entries
29103         that may be confusing or cause issue in future maintenance.
29105 2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>
29107         time_rz: return NULL if localtime_r fails
29108         * lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
29109         while still attempting to pacify bleeding-edge GCC.
29111         fts: port to C11 alignof
29112         * doc/posix-headers/stdalign.texi (stdalign.h):
29113         Document the C11 restriction.
29114         * lib/fts.c: Include stddef.h, for max_align_t.
29115         (fts_alloc): Align using max_align_t, not FTSENT.
29116         * modules/fts (Depends-on): Add stddef.
29118 2015-10-18  Jim Meyering  <meyering@fb.com>
29120         time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
29121         Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
29122         would see this:
29124         lib/time_rz.c: In function 'localtime_rz':
29125         lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
29126           [-Werror=nonnull]
29127                    if (tm && !save_abbr (tz, tm))
29128                        ^
29130         That was complaining about "tm" because it is a parameter that was
29131         declared with the __nonnull__ attribute.
29132         * lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
29133         result of localtime_r.
29135 2015-10-17  Jim Meyering  <meyering@fb.com>
29137         maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
29138         * top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
29139         name-extraction regexp mistakenly used \S+, and would mistakenly
29140         extract "*F" from "extern int *F()" rather than the desired "F".
29141         Use \w+ instead.
29143 2015-10-17  Jim Meyering  <meyering@fb.com>
29145         maint.mk: sc_tight_scope: factor and support OS X
29146         * top/maint.mk (_gl_tight_scope): Address three issues:
29147         - factor out four instances of code that wraps a string in "^...$"
29148         - allow nm-reported symbol names to have an optional leading "_"
29149         - add "main" to the list of ignored variable names, because on os x,
29150         "main" has nm-reported type "S" in the variable-checking section.
29152 2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>
29154         safe-alloc-tests: fix typo in license header
29155         * tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1
29157 2015-10-15  Simon Reinhardt  <simon@keinstein.org>
29159         copy-file: fix mem leak in error case
29160         * lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
29161         upon error opening or performing I/O to the src and dest files.
29163 2015-10-15  Mike Frysinger  <vapier@chromium.org>
29165         localename: control langinfo.h inclusion
29166         This header is only used to work around buggy behavior in old
29167         versions of glibc, so do not include it all the time.  Otherwise
29168         we get build failures on systems that do not provide langinfo.h.
29169         * lib/localename.c: Wrap langinfo.h include with same ifdefs used
29170         in the source later on.
29171         The patch was originally submitted to gettext as:
29172         https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html
29174 2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29176         binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
29177         * lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
29178         * lib/u64.c, lib/unistd.c:
29179         Append 'typedef int dummy;', to pacify compilers that are picky
29180         about empty translation units.
29182 2015-10-12  Pino Toscano  <ptoscano@redhat.com>
29184         accept4-tests: fix to avoid non portable flags
29185         * tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
29186         as they are the only documented ones, and passing others may trigger
29187         EINVAL (seen on FreeBSD 10.1-RELEASE).
29188         * doc/glibc-functions/accept4.texi: Mention that we don't provide
29189         the SOCK_CLOEXEC or SOCK_NONBLOCK defines.
29191 2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
29193         gnulib-tool: fix tests of 'extensions' module
29194         This complements f8fe25fab60e3c687a124 commit.
29195         * gnulib-tool (func_emit_pre_early_macros): New function, it wraps
29196         emitting of initial gl_EARLY macros.
29197         (func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
29198         replaced with func_emit_pre_early_macros call.
29200 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
29202         unicase/locale-language: fix typo in utf-8 cookie
29203         * lib/unicase/locale-languages.gperf: Fix gperf input file format.
29204         Problem reported by Zbigniew Jędrzejewski-Szmek.
29206 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
29208         xalloc: do not worry about GCC 5 warning on 32 bit
29209         * lib/xalloc.h: Revert previous change.
29210         I found a better way to fix this in coreutils.
29212 2015-10-02  Pádraig Brady  <P@draigBrady.com>
29214         xalloc: avoid GCC 5.1 warning on 32 bit
29215         * lib/xalloc.h: Disable -Wstrict-overflow for uses of
29216         xalloc_oversized(), which was seen to give this warning
29217         on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
29218         when simplifying conditional".
29220 2015-10-02  Daiki Ueno  <ueno@gnu.org>
29222         uniname/uniname-tests: avoid compiler warnings
29223         * tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
29224         unused local variables.
29225         (test_alias_lookup): Fix alias name display in failure cases.
29227 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
29229         c-ctype: do not worry about EBCDIC + char signed
29230         Drop support for EBCDIC with char being signed, as this breaks too
29231         many programs.  Problem reported by Ben Pfaff in:
29232         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
29233         * lib/c-ctype.h: Verify that we are not using EBCDIC with
29234         char being signed.
29235         (_C_CTYPE_LOWER_A_THRU_F_N): New macro.
29236         (_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
29237         (_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
29238         (c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
29239         * tests/test-c-ctype.c (test_all):
29240         Simplify by assuming standard char values cannot be negative.
29241         * tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.
29243 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29245         c-ctype: port better to z/OS EBCDIC
29246         Problems reported by Daniel Richard G. in:
29247         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
29248         * lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
29249         the C standard escapes and _C_CTYPE_OTHER_CNTRL.
29250         (_C_CTYPE_OTHER_CNTRL): New macro.
29251         * tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
29252         from SCHAR_MIN, as the functions are defined only from values
29253         promoted from char or from unsigned char, not necessarily from
29254         signed char.
29256 2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
29258         gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
29260         The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
29261         and ARFLAGS variables.  Doing this unconditionally could break
29262         later Automake's AM_PROG_AR invocation (at least it's
29263         AC_CHECK_TOOLS call to detect correct 'ar' binary).
29265         Original purpose of the gl_PROG_AR_RANLIB was only to handle the
29266         Amsterdam Compiler Kit, so make the previous code to have effects
29267         only on ACK, and rather automatically call the Automake's
29268         AM_PROG_AR as soon as possible to decide other cases.
29270         References:
29271         http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html
29273         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
29274         Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
29275         is possible, keep setting AR/ARFLAGS to reasonable defaults.
29276         * gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
29277         right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
29278         'extensions' module is used.
29279         * modules/extensions (configure.ac-early): Remove as this snippet
29280         is added to gnulib-comp.m4 earlier anyway.
29282 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29284         sockets: MS Windows initalization fixes
29285         Problem reported by Test User in:
29286         http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
29287         * lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
29288         Correct the endianness.
29289         * lib/sockets.c (gl_sockets_startup): Return 2 on any version
29290         number mismatch, not just on <.  Cleanup before any such failure.
29292 2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
29294         gc: fix detection of installed libgcrypt version
29295         * m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
29296         at least as recent as 1.4.4.  The previously used macro is not
29297         available now, since modules were removed in version 1.6.0.
29299 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
29301         c-ctype: rewrite to use inline functions
29302         This simplifies maintenance, since it makes for just one
29303         implementation of each function, letting the compiler have the fun
29304         of optimization.  In practice this works well nowadays with GCC.
29305         E.g., c_isascii might need only three instructions even though the
29306         source code lists every ASCII character individually in a large
29307         switch statement.
29308         Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
29309         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
29310         * NEWS: Document the API change.
29311         * lib/c-ctype.c: Drastically simplify, since this now just expands
29312         inline functions.
29313         * lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
29314         (C_CTYPE_INLINE): New macro.
29315         (C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
29316         (C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
29317         Verify that either ASCII or EBCDIC is being used.
29318         (_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
29319         (_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
29320         (_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
29321         (_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
29322         New private macros.
29323         (_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
29324         (c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
29325         (c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
29326         (c_isxdigit, c_tolower, c_toupper): Now inline functions.
29327         (c_tolower, c_toupper): When converting, return the unsigned char,
29328         as that is what z/OS does.
29329         * lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
29330         of some c-ctype.h macros.
29331         * modules/c-ctype (Depends-on): Add extern-inline; remove verify.
29332         * tests/test-c-ctype.c (test_all): Fix test for c_toupper and
29333         c_tolower promotion to be compatible with z/OS.
29335 2015-09-24  Pavel Raiskup  <praiskup@redhat.com>
29337         gitlog-to-changelog: trim only trailing whitespaces
29338         This is fix for --format regression introduced by commit
29339         2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
29340         doubled %n string) had no effect anymore.  This format
29341         specification has been used e.g. by GNU paxuitils (commit
29342         edfd8bcc3).
29344         * build-aux/gitlog-to-changelog (main): Stop squashing multiple
29345         newlines in commmit messages.
29347 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
29349         Test that c_iscntrl agrees with iscntrl, etc.
29350         Suggested by Daniel Richard G. in:
29351         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
29352         * modules/c-ctype-tests (Depends-on): Add ctype.
29353         * tests/test-c-ctype.c: Include <ctype.h>.
29354         (NCHARS): New constant.
29355         (test_agree_with_C_locale): New function.
29356         (main): Use it.
29357         (test_all): Use named constants.
29359         c-ctype: improve c_isascii testing
29360         * tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
29361         Add a test to count the number of ASCII characters.
29363 2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29365         savewd: remove SAVEWD_CHDIR_READABLE
29366         It was problematic in the light of file systems that ignore umask.
29367         Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
29368         * NEWS: Document this.
29369         * lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
29370         successful, -1 (setting errno) on failure, rather than something
29371         more complicated than that.
29372         * lib/mkdir-p.c (make_dir_parents):
29373         Do not use SAVEWD_CHDIR_READABLE.
29374         * lib/savewd.c (savewd_chdir):
29375         Remove support for SAVEWD_CHDIR_READABLE.
29376         * lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.
29378         c-ctype: port better to EBCDIC
29379         Problems reported by Daniel Richard G. in
29380         http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
29381         * lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
29382         Include "verify.h".
29383         (C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
29384         (C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
29385         Define as enum constants with value false, if not defined, so that
29386         code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
29387         code more portable, as both branches of the 'if' are compiled on
29388         all platforms.
29389         (C_CTYPE_EBCDIC): New constant.
29390         Verify that the character set is either ASCII or EBCDIC.
29391         (to_char): New static function.
29392         (c_isascii, c_iscntrl):
29393         Assume standard control-character assignments for EBCDIC.
29394         (c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
29395         (c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
29396         Rewrite to use 'if' instead of 'ifdef'.
29397         Use to_char if non-ASCII.  Prefer <= to >=.
29398         Prefer true and false to 1 and 0, for booleans.
29399         (c_iscntrl): Use 'if', not 'ifdef'.
29400         * modules/c-ctype (Depends-on): Add verify.
29401         * tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
29402         (to_char): New function.
29403         (test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.
29405 2015-09-21  Pádraig Brady  <P@draigBrady.com>
29407         nanosleep: fix return code for interrupted replacement
29408         * lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
29409         that we return -1 in the case the call is interrupted by a signal,
29410         rather than the current value of 1.
29411         Diagnosed and tested by Daniel Richard G.
29413 2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>
29415         Diagnose ERE '()|\1'
29416         Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
29417         * lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
29418         track of the set of previously-completed subexpressions available
29419         before the first alternative, and restore this set just before
29420         parsing each subsequent alternative.  This lets us diagnose the
29421         invalid back-reference in the ERE '()|\1'.
29423         regex: merge patches from libc
29425         2015-09-08  Joseph Myers  <joseph@codesourcery.com>
29426         Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
29427         * lib/regex_internal.h:
29428         Include <libc-lock.h> instead of <bits/libc-lock.h>.
29430         2015-06-09  Joseph Myers  <joseph@codesourcery.com>
29431         Fix regcomp wcscoll, wcscmp namespace (bug 18497).
29432         * lib/regcomp.c (build_range_exp): Call __wcscoll instead of
29433         wcscoll.
29434         * lib/regexec.c (check_node_accept_bytes): Likewise.
29436         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29437         Fix regex wcrtomb namespace (bug 18496).
29438         * lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
29439         instead of wcrtomb.
29441         2015-06-05  Joseph Myers  <joseph@codesourcery.com>
29442         Fix regex wctype namespace (bug 18495).
29443         * lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
29444         instead of towlower.
29445         * lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
29446         instead of iswlower.  Call __towupper instead of towupper.
29447         * lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
29448         instead of iswalnum.
29450         2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
29451         * lib/regcomp.c (parse_bracket_exp): Initialize type to
29452         COLL_SYM in a couple of places to avoid uninitialized variable
29453         wanings on tilegx gcc 4.8.2.
29455         2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
29456         * lib/regex_internal.h: Remove NOT_IN_libc.
29458         2014-11-17  Andreas Schwab  <schwab@suse.de>
29459         * lib/regex_internal.h: Don't include <locale/elem-hash.h>.
29461         2014-09-11  Roland McGrath  <roland@hack.frob.com>
29462         Move findidx nested functions to top-level.
29463         * lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
29464         (build_equiv_class) [_LIBC]: Don't #include it inside the function.
29465         Pass new arguments to findidx.
29466         * lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
29467         [RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
29468         Don't #include it inside the function.  Pass new arguments to findidx.
29469         * lib/regex_internal.h:
29470         [!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
29471         (re_string_elem_size_at): Don't #include it inside the function.
29472         Pass new arguments to findidx.
29474         2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
29475         Check if DEBUG is defined in regex_internal.c
29476         * lib/regex_internal.c: Check if DEBUG is defined and is set.
29478 2015-09-08   Assaf Gordon  <assafgordon@gmail.com>
29480         ceill: detect buggy OpenBSD implementation
29481         * m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
29482         which returns zero for small values.  Discussed here:
29483         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html
29485 2015-09-08  Dave Chiluk  <chiluk@canonical.com>
29487         mountlist: add me_mntroot field on Linux machines
29488         * lib/mountlist.c (read_file_system_list): Populate me_mntroot in
29489         mount_entry so Linux machines based on /proc/self/mountinfo can
29490         distinguish between bind mounts and original mounts.  In reality bind
29491         mounts aren't treated differently than mountroot=/ mounts by the
29492         kernel, but the user often wants these bind mounts distinguished.
29493         * lib/mountlist.h (struct mount_entry): Add me_mntroot element.
29494         More details at https://pad.lv/1432871
29496 2015-09-08  Christian Egli  <christian.egli@sbs.ch>
29498         doc: Describe to use multiple instances of gnulib
29499         * doc/gnulib-tool.texi: Add a section to the manual outlining how two
29500         instances of gnulib with different modules can be used, for example one
29501         for a lib and another one for associated tools.
29503 2015-09-01  Pádraig Brady  <P@draigBrady.com>
29505         base32: mark function as __attribute__ const
29506         * lib/base32.h (isbase32): Mark __attribute__ const as
29507         suggested by GCC, and consistent with the base64 module.
29509 2015-08-20  Daiki Ueno  <ueno@gnu.org>
29511         gnulib-tool: don't transform binary files with sed
29512         * gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
29513         .mo and .class files.
29514         Reported by Denis Denisov.
29516 2015-08-10  Daiki Ueno  <ueno@gnu.org>
29518         gperf: respect silent rules
29519         * modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
29520         V_GPERF_0 for silent rules.
29521         * modules/iconv_open (Makefile.am): Use V_GPERF.
29522         * modules/unicase/locale-language (Makefile.am): Likewise.
29523         * modules/unicase/special-casing (Makefile.am): Likewise.
29524         * modules/unictype/category-byname (Makefile.am): Likewise.
29525         * modules/unictype/combining-class-byname (Makefile.am): Likewise.
29526         * modules/unictype/joininggroup-byname (Makefile.am): Likewise.
29527         * modules/unictype/joiningtype-byname (Makefile.am): Likewise.
29528         * modules/unictype/property-byname (Makefile.am): Likewise.
29529         * modules/unictype/scripts (Makefile.am): Likewise.
29530         * modules/uninorm/composition (Makefile.am): Likewise.
29532 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
29534         Improve port of stdalign to C++11
29535         Problem reported by Sundaram in:
29536         http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
29537         * lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
29538         (__alignas_is_defined): Define if C++11 or newer.
29540 2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)
29542         pmccabe2html: fix gawk regex escaping
29543         * build-aux/pmccabe2html: Add one more backslash to properly
29544         escape the gsub replacement value.  Fixes this error:
29545         gawk: ./build-aux/pmccabe2html:425: \
29546         warning: escape sequence `\&' treated as plain `&'
29548 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
29550         time_rz: port to pedantic memcpy
29551         * lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
29552         that reject memcpy (..., NULL, 0).
29554 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
29556         time_rz: port better to MinGW
29557         Don't change tzname, as this makes MinGW dump core (Bug#21020).
29558         Instead, store the tzname copy in the struct tm_zone object.
29559         Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
29560         * lib/strftime.c [!_LIBC]:
29561         * lib/time_rz.c: Include time-internal.h.
29562         * lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
29563         name from *TZ rather than from TZNAME, doable because *TZ now has
29564         a tzname_copy member.
29565         * lib/time-internal.h: New file, with contents taken from
29566         lib/time_rz.c.  It's separate because strftime.c now accesses
29567         struct tm_zone members.
29568         (struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29569         New member tzname_copy.
29570         * lib/time_rz.c (struct tm_zone): Move to time-internal.h.
29571         (tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
29572         Initialize tzname_copy member.
29573         (save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
29574         in tzname_copy member.
29575         (revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
29576         (restore_tzname): Remove; no longer needed.  All calls removed.
29577         * modules/time_rz (Files): Add lib/time-internal.h.
29579         time: port __need_time_t to MinGW
29580         * lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
29581         Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36
29583 2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>
29585         strftime: fix newly-introduced bug on Solaris
29586         * lib/strftime.c (strftime_case_): Set the local variable 'zone'
29587         consistently at the start, rather than doing some of the setup at
29588         the start and some in the %Z format spec.  This is cleaner, and
29589         works better with time_rz on platforms like Solaris where struct
29590         tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
29591         mktime_z and localtime_rz can mess up the tzname cache.
29593         test-strftime: test for Solaris bug
29594         * modules/strftime-tests (Depends-on): Add strerror.
29595         * tests/test-strftime.c: Include <errno.h>.
29596         (posixtm_test): New function, containing the old 'main'.
29597         (struct tzalloc_test, struct localtime_rz_test): New types.
29598         (TZ, LT): New static vars.
29599         (tzalloc_test): New function.
29600         (main): Rewrite in terms of posixtm_test and tzalloc_test.
29602         time_rz: port to Solaris etc.
29603         Works around a tzname problem on platforms like Solaris that have
29604         tzname but not tm_zone, by setting tzname at the appropriate time
29605         and restoring it later.
29606         * lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
29607         New static vars.
29608         (save_abbr) [HAVE_TZNAME]: Set them.
29609         (revert_tz) [HAVE_TZNAME]: Clear or use them.
29610         (restore_tzname): New function.
29611         (localtime_rz, mktime_z): Use it.
29613         time_rz: now LGPL
29614         * modules/time_rz (License): Now LGPL, because strftime depends on it.
29616         time_rz: make a constant 'const'
29617         * lib/time_rz.c (local_tz): Now const.
29619         time_rz: fix off-by-one typo
29620         * lib/time_rz.c (extend_abbrs): Fix off-by-one typo.
29622 2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>
29624         fprintftime, strftime: use timezone_t args
29625         * NEWS: Document the change.
29626         * lib/fprintftime.h (fprintftime):
29627         * lib/strftime.c (extra_args) [my_strftime]:
29628         * lib/strftime.h (nstrftime):
29629         Time zone arg is now of type timezone_t, not int.
29630         * lib/strftime.c (mktime_z) [_LIBC]: New macro.
29631         (__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
29632         (my_strftime) [emacs && !my_strftime]:
29633         (emacs_strftimeu) [emacs && !FPRINTFTIME]:
29634         Remove; Emacs doesn't need this any more.
29635         (HAVE_TZSET) [my_strftime]: Unset, since we no longer want
29636         fprintftime and nstrftime to call tzset.
29637         (ut) [!my_strftime]: Remove, replacing with ...
29638         (tz) [!my_stftime]: ... this new macro.  All uses changed.
29639         (strftime_case_): Use localtime_rz and mktime_z instead
29640         of localtime_r and mktime.
29641         * modules/fprintftime (Depends-on): Add time_rz.
29642         * modules/strftime (Depends-on): Add time_rz.  Remove time_r.
29643         * tests/test-strftime.c (main): Adjust to new nstrftime API.
29645         time_rz: new module
29646         * MODULES.html.sh: Add time_rz.
29647         * lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
29648         * lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
29649         New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
29650         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
29651         New var HAVE_TIMEZONE_T (default 0).
29652         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
29653         New var GNULIB_TIME_RZ (default 0).
29654         * modules/time (time.h): Substitute the new vars.
29656         flexmember: license is now unlimited
29657         * modules/flexmember (License): Change to unlimited,
29658         since its only source file gives an unlimited license.
29660 2015-07-15  Eric Blake  <eblake@redhat.com>
29662         maint: update copyright paper procedures
29663         * config/srclist.txt: Drop outdated files.
29664         * doc/Copyright/conditions.txt: Update to latest.
29665         * doc/Copyright/assign.changes.manual: Delete.
29666         * doc/Copyright/assign.future.manual: Likewise.
29667         * doc/Copyright/assign.manual: Likewise.
29668         * doc/Copyright/assign.translation.manual: Likewise.
29669         * doc/Copyright/disclaim.changes.manual: Likewise.
29670         * doc/Copyright/disclaim.manual: Likewise.
29671         * doc/Copyright/disclaim.program: Likewise.
29673 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29675         localename: fix link error on Illumos
29676         Illumos defines __sun, but does not have getlocalename_l nor the
29677         equivalent.  This partially reverts commit 387c214.
29678         * m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
29679         available, as well as uselocale.
29680         * lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
29681         use getlocalename_l if it is not available.
29683 2015-07-07  Daiki Ueno  <ueno@gnu.org>
29685         unistr/uN-strtok-tests: avoid a trivial leak
29686         * tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
29687         input and delim after the multibyte delimiter tests.
29689 2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>
29691         file-has-acl, acl-permissions: fix HP-UX typos
29692         Problem reported by John David Anglin in: http://bugs.gnu.org/20979
29693         * lib/file-has-acl.c (file_has_acl):
29694         * lib/set-permissions.c (context_acl_from_mode)
29695         (context_aclv_from_mode, set_acls):
29696         Fix some obvious typos when HAVE_GETCL /* HP-UX */.
29697         They were introduced by the recent ACL changes.
29699         regex: match current GNU grep behavior
29700         These symbols have not matched GNU grep behavior for quite some time.
29701         Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
29702         * lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
29703         Change to match current GNU behavior.
29704         Simplify by expressing it as differences from POSIX BREs and EREs.
29705         (RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.
29707 2015-07-03  Jim Meyering  <meyering@fb.com>
29709         set-permissions.c: adjust acl_from_mode's cpp guard
29710         * lib/set-permissions.c (acl_from_mode): Guard with #ifdef
29711         directives identical to those guarding the sole use.
29712         Otherwise, on some systems, we'd get a warning about
29713         the function being defined but not used.
29714         Also, filter through cppi to correct misleading indentation
29715         of cpp directives.
29717 2015-07-03  Pádraig Brady  <P@draigBrady.com>
29719         tests: restrict shells to those that support 'local'
29720         The local keyword is very widely supported and used
29721         in tests in coreutils and grep at least.  Therefore
29722         restrict to testing with shells that support it.
29723         This mainly excludes /bin/sh on Solaris.
29724         * tests/init.sh (gl_shell_test_script_): Add a test for 'local'.
29726 2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
29727         and Daiki Ueno  <ueno@gnu.org>
29729         unistr/uN-strtok: handle multibyte delimiters
29730         Previously, uN_strtok moved PTR to the next unit to the token end.
29731         When DELIM contained a multibyte character, the new position could
29732         be a middle of a multibyte character.
29733         * lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
29734         after the token.
29735         * lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
29736         * lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
29737         * lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
29738         * modules/unistr/u8-strtok (Depends-on): Depend on
29739         unistr/u8-strmblen.
29740         * modules/unistr/u16-strtok (Depends-on): Depend on
29741         unistr/u16-strmblen.
29742         * modules/unistr/u32-strtok (Depends-on): Depend on
29743         unistr/u32-strmblen.
29744         * tests/unistr/test-u-strtok.h: New file.
29745         * tests/unistr/test-u8-strtok.c: New file.
29746         * tests/unistr/test-u16-strtok.c: New file.
29747         * tests/unistr/test-u32-strtok.c: New file.
29748         * modules/unistr/u8-strtok-tests: New file.
29749         * modules/unistr/u32-strtok-tests: New file.
29750         * modules/unistr/u16-strtok-tests: New file.
29752 2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>
29754         update-copyright: fix test failure with perl >= 5.22 (trivial)
29755         * build-aux/update-copyright: Escape a literal left curly bracket,
29756         required with perl >= 5.22
29758 2015-07-02  Daiki Ueno  <ueno@gnu.org>
29760         u{16,32}-strstr-tests: relax timeout condition
29761         On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
29762         tests can take longer than 5 seconds to complete.
29763         Reported by Dagobert Michelsen in:
29764         https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
29765         * tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
29766         seconds to 10 seconds.
29767         * tests/unistr/test-u32-strstr.c (main): Likewise.
29769 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29771         gnulib-common.m4: change the ARFLAGS default to 'cr'
29772         In some GNU/Linux distributions people started to compile 'ar'
29773         binary with --enable-deterministic-archives (binutils project).
29774         That, however, in combination with previous autotools long time
29775         working default AR{_,}FLAGS=cru causes warnings on such
29776         installations:
29777         ar: `u' modifier ignored since `D' is the default (see `U')
29778         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
29779         set already.
29781 2015-07-01  Pavel Raiskup  <praiskup@redhat.com>
29783         selinux-h: avoid double free after *getfilecon()
29784         Originally reported by Ben Shelton on bug-tar:
29785         http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
29786         * lib/getfilecon.c (map_to_failure): Set the already freed '*con'
29787         pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
29788         param should be freed by freecon(3) (regardless the return value).
29790 2015-07-01  Pavel Fedin  <p.fedin@samsung.com>
29792         fix pty related tests issues on Windows (trivial)
29793         * lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
29794         however it's still present in tests/ subdirectory of the final project.
29795         Therefore avoid it to pass `make check`.
29796         * tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
29797         will just return -ENOSYS, so avoid this non applicable test allowing
29798         the build to proceed.
29800 2015-07-01  Pádraig Brady  <P@draigBrady.com>
29802         acl: fix definition of acl_from_mode on FreeBSD
29803         This was causing basic coreutils copy operations to fail
29804         with ENOTSUP or ENOENT error messages.
29805         * lib/acl-internal.h (acl_from_mode): Only define when
29806         ! defined HAVE_ACL_FROM_TEXT.  That allows the version
29807         of acl_from_mode() defined in lib/set-permissions.c to
29808         be used on FreeBSD at least.
29809         * lib/set-permissions.c: Fix up comment spelling,
29810         and a redundant variable assignment; noticed in passing.
29812 2015-06-30  Pádraig Brady  <P@draigBrady.com>
29814         readutmp: port to FreeBSD >= 9
29815         * lib/readutmp.h: Map utmpxname() to setutxdb().
29816         With that coreutils who(1) and pinky(1) tests pass.
29818 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
29820         mgetgroups: port to strict OS X
29821         The previous fix wasn't working, so use a bigger hammer (Bug#20923).
29822         * lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
29823         (getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
29824         * m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.
29826 2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>
29828         mgetgroups: port to strict OS X
29829         * doc/glibc-functions/getgrouplist.texi (getgrouplist):
29830         Document the getgrouplist problem.
29831         * lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
29832         New macro.
29833         (mgetgroups): Use it.
29834         * m4/mgetgroups.m4 (gl_MGETGROUPS):
29835         Check for OS X signature for getgrouplist.
29837 2015-06-29  Jim Meyering  <meyering@fb.com>
29839         linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
29840         It started like this when building coreutils' latest on OS X,
29841         invoking ./configure with a nonempty --cache=.cache:
29843           lib/linkat.c:46:42: error: operator '||' has no right operand
29844           lib/linkat.c: In function 'rpl_linkat':
29845           lib/linkat.c:330:27: error: #if with no expression
29847         Here's linkat.c's line 46:
29849           #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP
29851         Here's some context:
29853           $ grep linkat_nofoll .cache
29854           gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
29855           $ grep LINKAT_SYM lib/config.h
29856           #define LINKAT_SYMLINK_NOTSUP
29858         The problem is that m4/linkat.m4's gl_FUNC_LINKAT
29859         uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
29860         but that violates a tenet of AC_CACHE_CHECK: it must
29861         have no side effect other than setting its cache variable.
29863         What happens is that when the cache is set, we'd skip the
29864         code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
29865         defined to whatever value it happened to have in configure's
29866         environment.  In my case, it was not defined, so this later code:
29868           AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
29869             [Define to 1 if linkat can create hardlinks to symlinks])
29871         would emit code with an empty RHS.
29873         * m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
29874         $LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.
29876 2015-06-28  Jim Meyering  <meyering@fb.com>
29878         mountlist: avoid an unused-label warning on OS X
29879         * lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
29880         Building on OS X, I saw a warning about the "free_then_fail" label
29881         being unused.  Give it the _GL_UNUSED_LABEL attribute.
29883         error.c: correct printf-style format: %d -> %u
29884         * lib/error.c (error_at_line): Correct __fxprintf format to use %u,
29885         rather than %d, to match the type of "line_number", unsigned int.
29887 2015-06-25  Pádraig Brady  <P@draigBrady.com>
29889         fts: avoid reading beyond the heap allocation
29890         GCC 5.1.1 with -O2 and -fsanitize=address reports
29891         a read of size 4 from a heap object of size 3 is indeed invalid,
29892         though this may be due to incorrect padding assumptions by GCC, see:
29893         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
29894         * lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
29895         * modules/fts: Depend on stdalign.
29897 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29899         savedir: avoid undefined behavior in qsort call
29900         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29901         "runtime error: null pointer passed as argument 1,
29902          which is declared to never be null"
29903         * lib/savedir.c (streamsavedir): Avoid the call with no entries.
29905 2015-06-24  Pádraig Brady  <P@draigBrady.com>
29907         userspec: avoid undefined behavior in gettext call
29908         GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
29909         "runtime error: null pointer passed as argument 2,
29910          which is declared to never be null"
29911         * lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()
29913 2015-06-20  Glenn Morris  <rgm@gnu.org>
29915         gitlog-to-changelog: improve gitmerge.el commits
29916         Let the Emacs ChangeLog generation process exclude "skipped"
29917         messages from merge commits (Bug#20717).
29918         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
29920 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
29922         wchar: fix MinGW compilation warnings
29923         This lets Texinfo compile cleanly.  See Eli Zaretskii in:
29924         http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
29925         * lib/wchar.in.h: Do not use special invocation convention on MinGW.
29927 2015-06-20  Daiki Ueno  <ueno@gnu.org>
29929         uniname/uniname-tests: use pristine data files
29930         For copyright and maintenance reasons, use the data files from UCD
29931         without modification.
29932         * tests/uniname/test-uninames.c (FIELDLEN): Remove.
29933         (getfield): Remove.
29934         (aliases_count): New global variable.
29935         (fill_names): Skip comments and empty lines in the input.  Don't
29936         use getfield.
29937         (fill_aliases): Likewise.
29938         (main): Change the expected command line arguments to:
29939         NAMES... ["--" ALIASES...].
29940         * tests/uniname/test-uninames.sh: Adjust to the change in
29941         test-uninames.c.
29942         * tests/uniname/UnicodeDataNames.txt: Remove.
29943         * tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
29944         * tests/uniname/NameAliases.txt: Use the pristine copy of the data
29945         file from Unicode 8.0.0.
29947 2015-06-19  Pádraig Brady  <P@draigBrady.com>
29949         linked-list, linkedhash-list: avoid compiler warnings
29950         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
29951         -Werror=suggest-attribute=pure (from GCC 5.1.1).
29953 2015-06-19  Daiki Ueno  <ueno@gnu.org>
29955         libunistring: bump minimum version to 0.9.6
29956         * all modules depending on updated Unicode data: Regenerate.
29957         The modules are listed by a script that does:
29958         - for each file listed by: git show --oneline --name-only 705f4efc
29959           - deduce the containing modules, based on "Files:"
29960         - deduce the modules which depend on the containing modules, based
29961           on "Depends-on:"
29963 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29965         uniname/uniname: update to Unicode 8.0.0
29966         * lib/uniname/uninames.h: Regenerate.
29967         * tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
29968         * tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.
29970 2015-06-18  Daiki Ueno  <ueno@gnu.org>
29972         libunistring: update to Unicode 8.0.0
29973         * lib/gen-uni-tables.c (SIZEOF): New macro.
29974         (output_numeric): Increase the maximum number of fractions from
29975         128 to 160.  Increase the level3 value width from 7 bits to 8
29976         bits.  Use SIZEOF instead of a hard-coded integer.
29977         (output_blocks): Decrease the cut-off threshold from 0x30000 to
29978         0x28000.
29979         (fill_blocks): Increase the maximum number of blocks from 256 to
29980         384.  Use SIZEOF instead of a hard-coded integer.
29981         (get_lbp): Adjust to new characters added in Unicode 8.0.0.
29982         * lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
29983         value width.
29984         * lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
29985         a new case added to LBP22.
29986         * lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
29987         U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
29988         U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
29989         U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
29990         U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
29991         * tests/uniwidth/test-uc_width2.sh: Same updates as in
29992         lib/uniwidth/width.c.
29993         * all generated files under lib/uni* and tests/uni*: Regenerate.
29995 2015-06-16  Pádraig Brady  <P@draigBrady.com>
29997         gnu-web-doc-update: add --mirror to remove stale files
29998         * build-aux/gnu-web-doc-update: Add a --mirror option to remove
29999         out of date files from the CVS server.  Since this is usually
30000         appropriate, a prompt is given when the option is not specified,
30001         along with the `cvs remove` command that would be run.
30003 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
30005         acl-permissions: pacify -Wsuggest-attribute=const
30006         Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
30007         * lib/acl-internal.h (free_permission_context):
30008         Declare with attribute const if ! (defined USE_ACL &&
30009         (HAVE_ACL_GET_FILE || defined GETACL)).
30011         fsync: document AIX misbehavior
30012         * doc/posix-functions/fsync.texi (fsync):
30013         Document failure on AIX with read-only file descriptor.
30015 2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)
30017         stdio: Don't redefine gets when using C++
30018         * lib/stdio.in.h (gets): Disable warning on C++.
30020 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
30022         acl-permissions: port to AIX, C89 HP-UX
30023         Problems reported by Michael Felt.
30024         * lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
30025         * lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
30026         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
30027         * lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
30028         Add cast for AIX, whose system calls are declared to accept
30029         char * even though the arguments are really char const *.
30030         * lib/get-permissions.c (get_permissions):
30031         If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
30032         If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
30033         that broke a build.
30034         * lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
30035         Rework types to pacify xlc.
30037 2015-06-03  Pádraig Brady  <P@draigBrady.com>
30039         vasprintf-posix: avoid compiling vasnprintf where possible
30040         * modules/vasprintf-posix: Avoid compiling the large vasnprintf
30041         module where not required.  For example on a GNU/Linux system
30042         when gnulib-tool is run with the --conditional-dependencies option.
30044 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30046         file-has-acl: fix build on Mac OS X 10
30047         This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
30048         which has an incompatible 6 parameter getxattr() call.
30049         * doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
30050         call on Mac OS X >= 10.4.
30051         * doc/glibc-functions/fgetxattr.texi: Likewise.
30052         * lib/file-has-acl.c: Revert to more complete combined check.
30053         * m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
30054         Reported by Jack Howarth.
30056 2015-06-02  Pádraig Brady  <P@draigBrady.com>
30058         prefix-gnulib-mk: remove no longer needed special case
30059         * build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
30060         continued lib_SOURCES lines are no longer present,
30061         so special case handling of such entries is not required.
30063 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30065         acl: don't depend on the deprecated qacl module
30066         * modules/acl (Depends-on): Use q{copy,set}-acl instead.
30068 2015-06-01  Pádraig Brady  <P@draigBrady.com>
30070         gnulib-tool: concatenate lib_SOURCES to a single line
30071         * gnulib-tool: Refactor the line merging sed logic,
30072         and use that to output a single lib_SOURCES line for each module.
30073         gnulib using projects often postprocess this output to prepend
30074         subdir paths to each item, and having a single line simplifies this
30075         processing allowing better decoupling from the gnulib-tool output.
30077 2015-06-01  Pavel Fedin  <p.fedin@samsung.com>
30079         pthread_sigmask: discount system version if a simple macro (trivial)
30080         MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
30081         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
30082         function to ensure it's available.
30084 2015-05-31  Pádraig Brady  <P@draigBrady.com>
30086         readlinkat: avoid OS X 10.10 trailing slash bug
30087         * doc/posix-functions/readlink.texi: Mention that OS X 10.10
30088         has this bug.
30089         * doc/posix-functions/readlinkat.texi: Likewise.  Also mention
30090         that OS X 10.10 has this function.
30091         * lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
30092         as done for readlink().
30093         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
30094         trailing slash bug, and assume readlinkat() has the same issue.
30095         Also fix a typo where $gl_cv_decl_readlink_works was tested,
30096         rather than the correct $gl_cv_decl_readlinkat_works.
30098 2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30100         acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
30101         * lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
30102         module rewrite.
30104         acl-permissions: Fix build on Solaris and Cygwin
30105         Reported by Tom G. Christensen <tgc@jupiterrise.com>:
30106         * lib/set-permissions.c (set_acls): The count, entries, ace_count, and
30107         ace_entries variables have moved into struct permission_context but
30108         they were still accessed as local variables here.
30110 2015-05-29  Pádraig Brady  <P@draigBrady.com>
30112         linkat: avoid OS X 10.10 trailing slash with symlink bug
30113         On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
30114         causes the symlink to be dereferenced, and if it points
30115         to a non existent file, that file will be created as
30116         a hard link to "path1".
30117         This fixes a test failure in test-linkat.c.
30118         * m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
30119         this case.  The existing workaround in linkat.c for
30120         trailing slash issues, suffices for this case.
30121         * doc/posix-functions/linkat.texi: Add OS X 10.10 to
30122         the list of platforms with trailing slash issues.
30124 2015-05-28  Pádraig Brady  <P@draigBrady.com>
30126         unlinkat: handle ignoring of ".." on Darwin 14
30127         * lib/unlinkat.c: unlinkat() has the same bug as unlink()
30128         on Mac OS X 10.10, where it ignores paths with a trailing "..",
30129         so handle in the same manner.
30130         * m4/unlinkat.m4: Comment on this Darwin issue.
30131         * doc/posix-functions/unlink.texi: Update the latest version
30132         where the issue was seen.
30133         * doc/posix-functions/unlinkat.texi: Mention this issue.
30134         Fixes a test failure in test-unlinkat.c.
30136 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
30138         qacl: split into qcopy-acl and qset-acl
30139         Emacs needs the former, but not the latter.
30140         * modules/acl-permissions: New file, containing most of the old qacl.
30141         * modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
30142         * modules/qacl: Now merely depends on qcopy-acl and qset-acl.
30143         * modules/qcopy-acl, modules/qset-acl: New files.
30144         * MODULES.html.sh (File system functions):
30145         Mention the new modules, and mention qacl while we're at it.
30147 2015-05-27  Glenn Morris  <rgm@gnu.org>
30149         gitlog-to-changelog: new option --ignore-line
30150         (This patch is imported from the GNU Emacs master.)
30151         This option ignores individual commit lines matching a pattern.
30152         * build-aux/gitlog-to-changelog: Add --ignore-line option.
30154 2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>
30156         qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
30157         Implement get_permissions and set_permissions primitives for getting all
30158         the permissions of a file, storing them, and later setting them. (In the
30159         minimal case, the permissions consist only of a file mode.) Reimplement
30160         qset_acl and qcopy_acl based on these new primitives: this avoids code
30161         duplication and makes error handling more consistent.
30162         The Solaris and Cygwin code still uses duplicate code paths for setting
30163         a file mode while making sure that no acls exist and setting an explicit
30164         acl; this is no worse than before, but could be cleaned up.  The AIX
30165         code still doesn't read ACLs, it only makes sure that acls don't get in
30166         the way when setting a file mode.
30167         * lib/acl-internal.h (struct permission_context): New data structure.
30168         (get_permissions, set_permissions, free_permission_context): Declare.
30169         * lib/acl-internal.c (free_permission_context): New helper function.
30170         * lib/get-permissions.c (get_permissions): New helper function split off
30171         from qcopy_acl.
30172         * lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
30173         AIX, set a file's permissions based only on a file mode.
30174         (acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
30175         other platforms construct a temporary acl from the file mode and set
30176         that acl in the same way as setting an acl read from the source file.
30177         This should help avoid code duplication and inconsistent / buggy
30178         behavior.
30179         (set_acls): New helper function Split off from qcopy_acl.
30180         (chmod_or_fchmod): Moved here from qset-acl.c.
30181         (set_permissions): New helper function.
30182         * lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
30183         set_permissions.
30184         * lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
30185         * modules/qacl: Add get-permissions.c and set-permissions.c.
30187         file-has-acl: Split feature tests again (Bug#20667)
30188         * lib/file-has-acl.c: Instead of testing for
30189         XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
30190         define them when needed.
30191         * m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
30192         GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.
30194 2015-05-27  Pádraig Brady  <P@draigBrady.com>
30196         string: fix build failure on BSD/OSX with FORTIFY_SOURCE
30197         This avoids a conflict with "FORTIFY_SOURCE" variants
30198         of the string functions when they're replaced on NetBSD-6.0.1
30199         and Darwin-14.3.0 at least.
30200         * lib/string.in.h: Avoid including our "lib/string.h" while
30201         including the system <string.h>.
30203 2015-05-26  Eric Blake  <eblake@redhat.com>
30205         stdio: limit __gnu_printf__ witness to gcc 4.4+
30206         * lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
30207         * m4/stdio_h.m4 (gl_STDIO_H): ...here.
30209         error: use correct printf attributes on mingw
30210         * lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.
30212         inttypes: force correct mingw PRIdMAX even without <stdio.h>
30213         * modules/inttypes (Depends-on): Require extensions, so that mingw
30214         always uses GNU style inttypes.
30215         * lib/inttypes.in.h: On mingw, include <stdio.h>.
30217         stdio: fix probe on mingw under gcc 5.1
30218         * m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
30219         around new gcc preprocessor rules.
30221 2015-05-07  Glenn Morris  <rgm@gnu.org>
30223         gitlog-to-changelog: parse "Tiny-change"
30224         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
30225         "Copyright-paperwork-exempt".  (Bug#20324)
30227 2015-05-06  Pádraig Brady  <P@draigBrady.com>
30229         doc: document glibc posix_fallocate() issues
30230         * doc/posix-functions/posix_fallocate.texi: Mention the
30231         glibc efficiency problems and issues with NFS.
30233 2015-05-05  Karl Berry  <karl@freefriends.org>
30235         * build-aux/gendocs.sh (usage): document new css default
30236         for HTML (--htmlarg).
30238 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
30240         extern-inline: no need for workaround in GCC 5.1
30241         * doc/extern-inline.texi (extern inline):
30242         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
30243         GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
30244         around these bugs in GCC 5.1 and later.  Maybe in a decade or
30245         two we can remove these workarounds.
30247 2015-04-28  Pádraig Brady  <P@draigBrady.com>
30249         eealloc, pagealign_alloc, xalloc: avoid clang warnings
30250         Avoid [-Wunknown-attributes] warnings like:
30251         warning: unknown attribute '__alloc_size__' ignored
30252         * lib/xalloc.h: Don't use the __alloc_size__  attribute
30253         with clang, as support has been fully removed as of clang 3.5:
30254         https://github.com/llvm-mirror/clang/commit/c047507a
30255         * lib/eealloc.h: Likewise.
30256         * lib/pagealign_alloc.h: Likewise.
30258 2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>
30260         tests: pacify GCC 5.1's stricter printf checking
30261         * tests/test-dirname.c (main):
30262         * tests/test-getaddrinfo.c (simple):
30263         * tests/test-getlogin.c (main):
30264         * tests/test-getndelim2.c (main):
30265         * tests/test-inttostr.c (CK):
30266         * tests/test-md5.c (main):
30267         * tests/test-read-file.c (main):
30268         * tests/test-sha1.c (main):
30269         Fix mismatches between printf format and value signedness.
30270         * tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
30271         Remove, as CAST_VAL always returned a value of type uintmax_t.
30273         fts: port to GCC 5.1 with --enable-gcc-warnings
30274         Without this fix, GCC 5.1 (correctly) warns about a subscript
30275         error on the fts_name component of FTSENT.  It's actually a
30276         flexible member, so define it that way on C99 or later hosts.
30277         * lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
30278         structure that now has a flexible array member.
30279         * lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
30280         (FTSENT): fts_name is now flexible on C99-or-later platforms.
30281         * modules/fts (Depends-on): Add flexmember.
30283 2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>
30285         file-has-acl: port to CentOS 6
30286         Problem reported by Tom G. Christensen in:
30287         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
30288         * lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
30289         combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
30290         HAVE_GETXATTR.
30291         * m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
30292         linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
30293         and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
30294         file-has-acl.c actually needs.
30296 2015-04-26  Pádraig Brady  <P@draigBrady.com>
30298         file-has-acl: always return false when ACLs aren't supported
30299         * lib/file-has-acl.c (file_has_acl): Consistent with other paths,
30300         change the GNU/Linux getxattr path, to transform "not supported"
30301         errors to a false return rather than an error.  This is handled
30302         within file_has_acl() due to the platform specific tests to
30303         determine if ACLs are not supported.
30305 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
30307         gettext: propagate po/Makefile.in.in too
30308         * build-aux/po/Makefile.in.in: Copy from latest gettext.
30309         * config/srclist.txt: In build-aux/po, copy Makefile.in.in and
30310         remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
30311         between Makefile.in.in and the gettext-runtime m4 files.
30313 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
30315         file-has-acl: new module, split from acl
30316         And add a new module file-has-acl-tests to match.
30317         I ran into a problem with the recent changes to the acl module,
30318         as they introduced a typo 'test use_xattrs = 0' into 'configure'.
30319         When using the fixed version with Emacs, I discovered that
30320         file-has-acl wasn't separated out well enough for Emacs (e.g., it
30321         had multiple libraries, but needed only one), so I fixed that too.
30322         * NEWS: Document this incompatible change.
30323         * modules/file-has-acl, modules/file-has-acl-tests: New files.
30324         * m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
30325         Initialize gl_need_lib_has_acl.
30326         (gl_FUNC_ACL): Require it.
30327         Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
30328         Move the file-has-acl.c-relevant stuff to ...
30329         (gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
30330         use_xattrs = 0' typo, and omit some needless work.  Set
30331         gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
30332         when gl_FUNC_ACL is called.
30333         * modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
30334         (Link): Remove $(LIB_HAS_ACL).
30335         * modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
30336         (check_PROGRAMS): Move stuff relevant to file-has-acl to
30337         modules/file-has-acl-tests.
30338         (test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.
30340         manywarnings: add GCC 5.1 warnings
30341         * build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
30342         -Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
30343         -Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
30344         -Wsuggest-override, -Wuse-without-only.  Change
30345         -Wnormalized=... operands to match 5.1.
30346         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
30347         -Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
30348         -Wdiscarded-qualifiers, -Wformat-signedness,
30349         -Wincompatible-pointer-types, -Wint-conversion,
30350         -Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
30351         -Wshift-count-negative, -Wshift-count-overflow,
30352         -Wsizeof-array-argument, -Wsuggest-final-methods,
30353         -Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
30354         and add -Warray-bounds=2 as a special case.
30356 2015-04-21  Simon Josefsson  <simon@josefsson.org>
30358         doc: update FDL template to match FDL examples.
30359         * doc/alloca-opt.texi:
30360         * doc/alloca.texi:
30361         * doc/c-ctype.texi:
30362         * doc/c-strcase.texi:
30363         * doc/c-strcaseeq.texi:
30364         * doc/c-strcasestr.texi:
30365         * doc/c-strstr.texi:
30366         * doc/c-strtod.texi:
30367         * doc/c-strtold.texi:
30368         * doc/ctime.texi:
30369         * doc/error.texi:
30370         * doc/gcd.texi:
30371         * doc/gnulib-tool.texi:
30372         * doc/inet_ntoa.texi:
30373         * doc/intprops.texi:
30374         * doc/lib-symbol-visibility.texi:
30375         * doc/maintain.texi:
30376         * doc/parse-datetime.texi:
30377         * doc/quote.texi:
30378         * doc/regexprops-generic.texi:
30379         * doc/standards.texi: Remove spurious 'with' in FDL license
30380         template.
30382 2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>
30384         lstat: fix cross-compilation 'ln -s' problem
30385         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
30386         Have the test program call 'symlink' rather than a separate
30387         script run 'ln -s'; this is more likely to work in
30388         cross-compilation environments.  Reported by Pavel Fedin in:
30389         http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html
30391 2015-04-16  Ludovic Courtès  <ludo@gnu.org>
30393         gendocs.sh: default to a common CSS style sheet for HTML output
30394         * build-aux/gendocs.sh (htmlarg): Change default value.
30396 2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>
30398         gnulib-tool: output bold attribute more portably
30399         * gnulib-tool (func_show_module_list): Change hexadecimal
30400         numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
30401         encoded numbers as arguments to `printf' is not portable,
30402         and is not claimed by POSIX.  This is the case with FreeBSD.
30404 2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>
30406         qacl: Simplify HP-UX acl_nontrivial check
30407         * lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
30408         acl_nontrivial. Check if the acl has at most three entries instead (it must
30409         have exactly three entries according to the HP-UX documentation). Ignore
30410         uids and gids as long as an entry is either for a user (i.e., the owner),
30411         a group (i.e., the owning group), or others.
30412         * lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
30413         * lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.
30415 2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>
30417         acl: On Linux, check for acls without libacl
30418         On Linux, use the getxattr syscall instead of the acl_extended_file libacl
30419         library function to check for the presence of acls, avoiding a library.
30420         * lib/file-has-acl.c: Include xattr headers if we have them.
30421         (file_has_acl): On Linux, use getxattr().
30422         * m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
30423         file_has_acl(). Check for xattr headers and getxattr().
30425 2015-04-14  Ángel González  <keisial@gmail.com>
30427         tempname: avoid unused parameter warnings (trivial)
30428         * lib/tempname.c (try_dir): Tag with __GL_UNUSED.
30429         (try_nocreate): Likewise.
30431 2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>
30433         fseeko: fix build failure on NetBSD >= 6 (trivial)
30434         * lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
30435         from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.
30437 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
30439         gitlog-to-changelog: port to MS-Windows
30440         * build-aux/gitlog-to-changelog (git_dir_option):
30441         Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
30442         MS-Windows Perl.  Reported by Eli Zaretskii in:
30443         http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html
30445 2015-04-07  Karl Berry  <karl@gnu.org>
30447         gendocs: new option --tex for passing args to texi2dvi.
30448         * build-aux/gendocs.sh: new option --tex, default -t @finalout.
30449         (TEXI2DVI): cut to just command name.
30450         (usage): mention new option, and update copyright.
30451         <generate_tex>: use it.
30453 2015-04-07  Karl Berry  <karl@gnu.org>
30455         * config/srclistvars.sh (GETTEXT): new definition.
30456         * config/srclist.txt: use it for gettext .m4 files.
30457         Thread starting at http://lists.gnu.org/r/bug-gnulib/201
30458         and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
30459         and continuing into April.
30461 2015-04-07  Daiki Ueno  <ueno@gnu.org>
30463         uniname/uniname-tests: fix failure due to alias
30464         Reported by Jack Howarth in:
30465         <https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
30466         * tests/uniname/test-uninames.c (name_has_alias): New function.
30467         (test_inverse_lookup): Exclude character name with valid alias,
30468         from randomly generated character names.
30469         (main): Fill unicode_aliases before calling test functions.
30471 2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>
30473         hash: remove deprecated hash_insert0 function
30474         * lib/hash.h (hash_insert0): Remove deprecated function.
30475         * lib/hash.c (hash_insert0): Likewise.
30477 2015-04-02  Pádraig Brady  <P@draigBrady.com>
30479         mountlist: remove dependency on libmount
30480         * lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
30481         directly, rather than depending on libmount, which has many
30482         dependencies due to its dependence on libselinux, as detailed at:
30483         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
30484         Note we restrict this to __linux__ as that's probably where this
30485         interface will remain.  If ever porting, it would be best
30486         to first pull the makedev() wrapper from coreutils to a gnulib module.
30487         Note also we don't add a getline dependency to the mountlist module,
30488         as all Linux versions are sufficient.
30490 2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>
30492         stddef: port to pre-C11 GCC on x86
30493         On this platform, max_align_t should have an alignment of 8 even
30494         though the storage alignments of double, long, etc. max out at 4.
30495         Inspired by a comment of Andreas Schwab's here:
30496         https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
30497         * lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
30498         (max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
30499         * tests/test-stddef.c: Test __alignof__ too, if available.
30501 2015-03-24  Pádraig Brady  <P@draigBrady.com>
30503         quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
30504         * modules/quotearg-simple-tests: Reference m4/mmap-anon.m4
30506 2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>
30508         yesno: make EOL optional in ENABLE_NLS case also (trival)
30509         * lib/yesno.c (yesno): Check for EOL before replacing.
30510         * tests/test-yesno.sh: Add a test case (test along with gettext).
30512 2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>
30514         fdopendir-tests: test it does not close its arg
30515         * tests/test-fdopendir.c (main): Test that fdopendir does not
30516         close its argument.  From a suggestion by David Grayson in:
30517         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html
30519 2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>
30521         gitlog-to-changelog: trim trailing white space
30522         * build-aux/gitlog-to-changelog (main):
30523         Trim trailing white space from commit message lines.
30524         This is helpful for processing the GNU Emacs repository,
30525         which dates back to 1985 and contains a lot of such lines.
30527         gitlog-to-changelog: new option --ignore-matching
30528         * build-aux/gitlog-to-changelog (usage, git_dir_option, main):
30529         Support new option --ignore-matching=PAT, which ignores all
30530         commit messages whose first line matches PAT.
30532 2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>
30534         fdopendir: port better to MinGW
30535         * lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
30536         Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
30537         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
30538         * modules/fdopendir (Depends-on): Add dirfd.
30540 2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>
30542         fdopendir: fix typo in comment
30543         * lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.
30545 2015-03-09  Eric Blake  <eblake@redhat.com>
30547         error: document all entry points provided
30548         * doc/glibc-functions/error_print_progname.texi
30549         (error_print_progname): Mention the error module.
30550         * doc/glibc-functions/error_at_line.texi (error_at_line):
30551         Likewise.
30552         * doc/glibc-functions/error_message_count.texi
30553         (error_message_count): Likewise.
30554         * doc/glibc-functions/error_one_per_line.texi
30555         (error_one_per_line): Likewise.
30557 2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>
30559         vasnprintf: pacify clang 3.5.0
30560         Problem reported by Werner Lemberg in:
30561         http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
30562         * lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
30563         The casts aren't needed, since the characters in question are ASCII.
30565 2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30567         glob, etc.: port to MSVC v18 on MS-Windows 8.1
30568         * lib/dirent--.h (GNULIB_defined_opendir):
30569         * lib/dirent.in.h (GNULIB_defined_opendir)
30570         (GNULIB_defined_closedir):
30571         * lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
30572         #undef only if Gnulib defined it.
30574         poll: port to MSVC v18 on MS-Windows 8.1
30575         Problem reported by Gisle Vanem in:
30576         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
30577         * lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
30578         * modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
30579         Add sys_socket.
30581 2015-02-24  Pádraig Brady  <P@draigBrady.com>
30583         tests: support stderr verification with returns_()
30584         * tests/init.sh (returns_): Disable tracing for this wrapper
30585         function, so that stderr of the wrapped command is unchanged,
30586         allowing for verification of the contents.
30588 2015-02-24  Pavel Hrdina  <phrdina@redhat.com>
30590         passfd: avoid valgrind uninitalised data warning
30591         * lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
30592         to include just the fd we've initialized, rather than including
30593         the extra space used for alignment.
30595 2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>
30597         uniwbrk/u32-wordbreaks-tests: fix copyright
30598         * tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.
30600         dup2: doc and test for Android bug
30601         Reported by Kevin Cernekee in:
30602         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
30603         * doc/posix-functions/dup2.texi (dup2): Document the bug.
30604         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.
30606 2015-02-23  Kevin Cernekee  <cernekee@google.com>
30608         Replace dup2() on Android
30609         * m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
30610         Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
30611         fails.  Using rpl_dup2() fixes this because it has an explicit test
30612         for this condition.
30614 2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>
30616         Android doesn't define RLIM_SAVED_*
30617         Portability problem reported by Kevin Cernekee in:
30618         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
30619         * doc/posix-headers/sys_resource.texi (sys/resource.h):
30620         Mention the portability problem.
30621         * lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
30622         Define if not defined.
30623         * m4/dup2.m4 (gl_FUNC_DUP2):
30624         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30625         Likewise.
30627 2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30629         vasnprintf-posix-tests: use consistent test
30630         * tests/test-vasnprintf-posix.c (test_function):
30631         Use "<" in assert instead of "<=", for consistency with other tests.
30633 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30635         printf, isinf, etc.: noncanonical != NaN
30636         Do not require that isinf, printf, etc. treat noncanonical
30637         values as NaNs.  Instead, require only that they do not crash.
30638         Problem reported by Joseph Myers in:
30639         https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
30640         * doc/posix-functions/dprintf.texi (dprintf):
30641         * doc/posix-functions/fprintf.texi (fprintf):
30642         * doc/posix-functions/isfinite.texi (isfinite):
30643         * doc/posix-functions/isinf.texi (isinf):
30644         * doc/posix-functions/isnan.texi (isnan):
30645         * doc/posix-functions/printf.texi (printf):
30646         * doc/posix-functions/snprintf.texi (snprintf):
30647         * doc/posix-functions/sprintf.texi (sprintf):
30648         * doc/posix-functions/vdprintf.texi (vdprintf):
30649         * doc/posix-functions/vfprintf.texi (vfprintf):
30650         * doc/posix-functions/vprintf.texi (vprintf):
30651         * doc/posix-functions/vsnprintf.texi (vsnprintf):
30652         * doc/posix-functions/vsprintf.texi (vsprintf):
30653         Document this.
30654         * m4/isfinite.m4 (gl_ISFINITEL_WORKS):
30655         * m4/isinf.m4 (gl_ISINFL_WORKS):
30656         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
30657         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
30658         * tests/test-isfinite.c (test_isfinitel):
30659         * tests/test-isinf.c (test_isinfl):
30660         * tests/test-isnan.c (test_long_double):
30661         * tests/test-isnanl.h (main):
30662         * tests/test-snprintf-posix.h (test_function):
30663         * tests/test-sprintf-posix.h (test_function):
30664         * tests/test-vasnprintf-posix.c (test_function):
30665         * tests/test-vasprintf-posix.c (test_function):
30666         Test only that noncanonical values do not cause crashes, not that
30667         they are treated as NaNs.  In some cases this means a larger
30668         output buffer is needed.
30670 2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>
30672         fts: remove redundant close() (trivial)
30673         * lib/fts.c (fts_read): Remove redundant call to close().
30674         Spotted by coverity.
30676 2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30678         getdtablesize: port better for Android
30679         Problem reported by Kevin Cernekee in:
30680         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
30681         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
30682         * lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
30683         Instead, just use getrlimit, taking care to avoid Cygwin bug.
30685         poll: fixes for large fds
30686         * lib/poll.c (poll): Don't check directly for NFD too large.
30687         Don't rely on undefined behavior in FD_SET when an arg exceeds
30688         FD_SETSIZE.  Always set revents afterwards, even if to zero.
30689         * tests/test-poll.c (poll1): Set revents to -1 instead of 0,
30690         as that makes the test a bit stricter.
30692 2015-02-19  Kevin Cernekee  <cernekee@google.com>
30694         fcntl: Fix cross compiling
30695         * m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
30696         correct variable name (gl_cv_func_fcntl_f_dupfd_works).
30698 2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>
30700         dup2, fcntl: cross-compile better for Android
30701         Problem reported by Kevin Cernekee in:
30702         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
30703         * m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
30704         for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
30705         there's little need to cross-compile for older kernels nowadays.
30706         * m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
30707         for systems where the bug is known to occur (AIX, Cygwin, Haiku).
30709 2015-02-18  Pádraig Brady  <P@draigBrady.com>
30711         getopt: don't crash on memory exhaustion
30712         * lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
30713         memory exhaustion.  In the _LIBC case we use alloca() as is
30714         already done in glibc, so we don't need to consider the separate
30715         error path in that awkward case.  Also fix a memory leak when
30716         ambiguous options are present.
30717         Reported by Tobias Stoeckmann
30719 2015-02-17  Mike Miller  <mtmiller@ieee.org>
30721         tempname: allow compilation with C++ (trivial)
30722         * lib/tempname.h [C++]: Specify extern "C" linkage.
30723         * lib/tempname.h (try_tempname):
30724         * lib/tempname.c (__try_tempname, __gen_tempname):
30725         Rename 'try' to 'tryfunc'.
30727 2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>
30729         dup2, fcntl: port to AIX
30730         * m4/dup2.m4 (gl_FUNC_DUP2):
30731         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30732         Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
30733         The former works on AIX 7.1 but the latter does not.
30734         Also, this may work better with Android; see:
30735         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html
30737 2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>
30739         getdtablesize, dup2, fcntl: port to Android
30740         Problem reported by Kevin Cernekee in:
30741         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
30742         * doc/glibc-functions/getdtablesize.texi (getdtablesize):
30743         Mention that getdtablesize doesn't work on Android.
30744         * lib/getdtablesize.c: Use getrlimit substitute only if
30745         getdtablesize is declared.  This should suffice for Cygwin
30746         while not breaking Android.
30747         * m4/dup2.m4 (gl_FUNC_DUP2):
30748         * m4/fcntl.m4 (gl_FUNC_FCNTL):
30749         Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
30750         standardized but the latter is not, and sysconf works on Android.
30751         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
30752         Also check that getdtablesize is declared.
30753         This removes the need for a special case for Android.
30755 2015-02-16  Kevin Cernekee  <cernekee@google.com>
30757         localename: Implement gl_locale_name_thread_unsafe for Android
30758         * lib/localename.c: Android API level >= 21 supports two hardcoded
30759         locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
30760         the internal __locale_t struct.
30762 2015-02-16  Kamil Dudka  <kdudka@redhat.com>
30764         fts: avoid crash when a cycle is added while traversing
30765         This could be triggered by auto-mounting a recursive bind mount.
30766         Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
30767         * lib/fts.c (fts_read): Avoid removing the original hash table item
30768         when leaving a directory that caused a cycle, and preserve the FTS_DC
30769         flag.
30771 2015-02-16  Daiki Ueno  <ueno@gnu.org>
30773         uniname/uniname: support character alias
30774         * lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
30775         Generate one-way mapping from aliases to codepoints in the
30776         generated tables.  Special case variation selectors to reduce
30777         table size.
30778         * lib/uniname/uniname.c (unicode_character_name): Special case
30779         variation selectors.
30780         (unicode_name_character): Special case variation selectors and
30781         their aliases.
30782         * lib/uniname/uninames.h: Regenerate.
30783         * tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
30784         * modules/uniname/uniname-tests (Files): Add
30785         tests/uniname/NameAliases.txt.
30786         * tests/uniname/test-uninames.c: Mark as static.
30787         (ALIASLEN): Define.
30788         (struct unicode_alias): New struct.
30789         (unicode_aliases): New variable.
30790         (fill_aliases): New function.
30791         (test_alias_lookup): New test function.
30792         (main): Run the 'test_alias_lookup' test if the second argument is
30793         given.
30794         * tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
30795         second argument.
30797 2015-02-11  Kevin Cernekee  <cernekee@google.com>
30799         Fix FILE struct compatibility with Android API level >= 21
30800         * lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
30801         __sferror.  Recent versions of Bionic's stdio.h no longer define
30802         __sferror.
30803         * lib/fbufmode.c: Likewise.
30804         * lib/fflush.c: Likewise.
30805         * lib/fpurge.c: Likewise.
30806         * lib/freadable.c: Likewise.
30807         * lib/freadahead.c: Likewise.
30808         * lib/freading.c: Likewise.
30809         * lib/freadptr.c: Likewise.
30810         * lib/freadseek.c: Likewise.
30811         * lib/fseeko.c: Likewise.
30812         * lib/fseterr.c: Likewise.
30813         * lib/fwritable.c: Likewise.
30815         Assume unbroken ungetc() on Android
30816         * m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
30817         test case passed when running on an Android host, and the code
30818         hasn't really changed since 2009.
30820         getdtablesize: Fix Android build
30821         * m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
30822         versions have this symbol in the .so library (at least 32-bit
30823         platforms) but are missing the declaration in the header file,
30824         causing the m4 logic to guess incorrectly.
30826         localename: Fix Android build
30827         * modules/localename (Depends-on): Add langinfo.
30829         getugroups: Fix Android build
30830         * lib/getugroups.c: Don't reference unsupported {get,set,end}grent
30831         functions.
30833         euidaccess: Fix Android build
30834         * modules/euidaccess (Depends-on): Add fcntl-h to ensure that
30835         AT_EACCESS gets declared.
30837         linkat_nofollow: Add fallback case for cross compiling
30838         * m4/linkat.m4: Guess no for Darwin, yes otherwise.
30840         net_if: Handle content-free <net/if.h> system headers
30841         * m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
30842         struct if_nameindex.  If not, enable the replacement header.
30844         signal_h: Fix Android build
30845         * lib/signal.in.h: Add Android to the list of platforms that declare
30846         pthread_sigmask() in <pthread.h> instead of <signal.h>.
30848         duplocale: Fix Android build of duplocale-tests
30849         * modules/duplocale-tests (Depends-on): Add langinfo, as the header
30850         is included by test-duplocale.c (but not by duplocale.c).
30851         * modules/duplocale-tests (configure.ac): Check for monetary.h.
30852         * tests/test-duplocale.c: Skip test if monetary.h is absent.
30853         * doc/posix-headers/monetary.texi: Add Android to the list of
30854         platforms missing monetary.h.
30856 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30858         tests: avoid recent -Werror=unused-variable regression in test-locale
30859         * tests/test-locale.c (main): Reference the variable to avoid the
30860         "unused variable" warning.
30862 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30864         maint: various whitespace cleanups in tempname
30865         * lib/tempname.c: Normalize spacing and line length.
30866         * lib/tempname.h: Likewise.
30867         * modules/tempname: Likewise.
30869 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30871         tests: provide returns_() to simplify exit status checking
30872         * tests/init.sh (returns_): A new function for use in tests,
30873         to allow for easier checking of return values, where you expect
30874         a command to exit with failure status.  By checking for a particular
30875         exit code, you don't hide any crashes for example.
30877 2015-02-11  Pádraig Brady  <P@draigBrady.com>
30879         mountlist: only use libmount when specified
30880         There are currently many shared libs dependencies introduced by
30881         libmount with associated runtime and virt mem overhead.
30882         Therefore don't enable by default.
30883         * m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.
30885 2015-02-08  Daiki Ueno  <ueno@gnu.org>
30887         uniname/unimame-tests: don't link with -lunistring
30888         * modules/uniname/uniname-tests (Makefile.am): Don't link against
30889         $(LIBUNISTRING).  Document the rationale why we need to
30890         conditionalize the test.
30892 2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>
30894         fstrcmp: don't assume strlen < INT_MAX
30895         * lib/fstrcmp.c: Include stddef.h and stdint.h.
30896         (uintptr_t): Remove, as we're now assuming stdint.
30897         (OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
30898         Prefer ptrdiff_t to int when the value could exceed INT_MAX
30899         if the input string is long.
30900         (fstrcmp_bounded): Check for size-calculation overflow.  Prefer
30901         uintptr_t to size_t when the underlying value is a pointer casted
30902         to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
30903         * modules/fstrcmp (Depends-on): Add stdint.
30905         diffseq: prefer ptrdiff_t to ssize_t
30906         * lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
30907         ptrdiff_t is the natural type for signed indexes.
30908         On a few older platforms, ssize_t is narrower than size_t.
30910         xalloc: fix typo that suppressed warnings
30911         * lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
30912         This typo, introduced a couple of years ago, mistakenly suppressed
30913         some -Wsuggest-attribute=const, -Wmissing-prototypes, and
30914         -Wmissing-declarations warnings.
30916         full-read: fix license notice typo
30917         * lib/full-read.h: Remove a stray line in the license notice.
30918         Reported by Sam Ellis in: http://bugs.gnu.org/19808
30920         crypto/gc: fix a -Wswitch warning
30921         Reported by Bruce Korb in:
30922         http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
30923         * lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.
30925 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30927         gnulib-tool: fix handling of patch(1) diagnostics
30928         * gnulib-tool: Send diagnostics from patch(1) to stderr,
30929         as otherwise gnulib-tool will reparse that output and attempt
30930         to lookup modules.
30932 2015-02-03  Pádraig Brady  <P@draigBrady.com>
30934         bootstrap: exit immediately upon gnulib-tool failure
30935         * build-aux/bootstrap: Exit immediately if gnulib-tool fails.
30936         This was noticed when gnulib-tool exited early due to failure
30937         to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
30938         but various confusing errors were then given as the build proceeded.
30940 2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>
30942         symlinkat: include all required header files
30943         * lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
30944         and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
30945         Reported at https://savannah.gnu.org/bugs/index.php?44151
30946         and by Jack Howarth.
30948 2015-01-29  Pádraig Brady  <P@draigBrady.com>
30950         localename: support Solaris 12 and illumos
30951         * lib/localename.c (gl_locale_name_thread_unsafe): call
30952         getlocalename_l() on newer __sun platforms.
30953         Reported by Alexander Pyhalov.
30954         Fix suggested by Rich Burridge.
30956 2015-01-29  Alexander Pyhalov  <alp@rsu.ru>
30958         locale: fix tests on illumos (trivial)
30959         * tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
30960         so move from global scope to main().
30962 2015-01-24  Daiki Ueno  <ueno@gnu.org>
30964         unictype: avoid undefined left-shift behavior
30965         * lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
30966         gcc's -fsanitize=shift and running its tests triggered:
30967           unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
30968             places cannot be represented in type 'int'
30969         Cast LHS to 'unsigned int' after integer promotion.
30970         * lib/unictype/categ_of.c (lookup_withtable): Likewise.
30971         * lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.
30973 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30975         libunistring: bump version of unitypes dependants
30976         Due to the header file search order, all the headers which depend
30977         on unitypes.h need to be generated, when the preinstalled
30978         libunistring is older.
30979         * modules/unicase/base (configure.ac): Bump minimum version to
30980         0.9.4.
30981         * modules/uniconv/base (configure.ac): Likewise.
30982         * modules/unilbrk/base (configure.ac): Likewise.
30983         * modules/uninorm/base (configure.ac): Likewise.
30984         * modules/unistdio/base (configure.ac): Likewise.
30985         * modules/unistr/base (configure.ac): Likewise.
30986         * modules/uniwbrk/base (configure.ac): Likewise.
30987         * modules/uniwidth/base (configure.ac): Likewise.
30989 2015-01-20  Daiki Ueno  <ueno@gnu.org>
30991         unictype/category-none: fix link with libunistring
30992         Since _UC_CATEGORY_NONE is not a public symbol, it will be
30993         prefixed with "libstring_" when compiled as part of libunistring.
30994         To avoid undefined symbol at link time, increase the minimum
30995         version when the dependant modules are updated.
30996         * modules/unictype/category-none (configure.ac): Bump minimum
30997         version to 0.9.5.
30999 2015-01-20  Daiki Ueno  <ueno@gnu.org>
31001         unitypes: fix build with installed libunistring
31002         The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
31003         _UC_ATTRIBUTE_PURE were added to unitypes.in.h.
31004         * modules/unitypes (configure.ac): Bump minimum version to 0.9.4.
31006 2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31008         time: port to MinGW32 3.21
31009         Problem reported by Eli Zaretskii in:
31010         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
31011         * lib/time.in.h:
31012         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
31013         * modules/time (Depends-on):
31014         Fall back on unistd.h if the other include files don't define
31015         struct timespec.
31017         update-copyright: apply to self
31018         * build-aux/update-copyright: Fix copyright date.  How ironic!
31020 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31022         libunistring: update to Unicode 7.0.0
31023         * lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
31024         Manichaean names.
31025         * lib/unictype/joininggroup_name.h: Likewise.
31026         * lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
31027         (UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
31028         * lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
31029         (UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
31030         (fill_arabicshaping, joining_group_as_c_identifier): Support those
31031         enum values.
31032         (is_property_alphabetic): Accept newly added characters to
31033         cuneiform numeric signs.
31034         (is_property_default_ignorable_code_point): Reject U+0605.
31035         (FIELDLEN): Increase from 120 to 160.
31036         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
31037         U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
31038         U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
31039         U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
31040         U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
31041         U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
31042         U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
31043         U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
31044         U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
31045         U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
31046         U+1E8D0..U+1E8D6.
31047         (uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
31048         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31049         lib/uniwidth/width.c.
31050         * all generated files under lib/uni* and tests/uni*: Regenerate.
31052 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31054         libunistring: update to Unicode 6.3.0
31055         * lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31056         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
31057         Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
31058         * lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
31059         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
31060         Update WB5, WB9, WB10, WB13a, and WB13b.
31061         * tests/uniwbrk/test-uc-wordbreaks.c
31062         (wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
31063         * lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31064         (UC_BIDI_PDI): New enumeration values.
31065         (bidi_category_byname): Support those enum values.
31066         (is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
31067         dedicated property assigned.
31068         (is_property_case_ignorable): Check 0x0027.
31069         (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
31070         (get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31071         (output_wbp): Support those enum values.
31072         * lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
31073         (UC_BIDI_PDI): New enumeration values.
31074         * lib/unictype/bidi_byname.gperf: Add those property names.
31075         * lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
31076         U+180E, U+1A1B, and U+2066..U+2069.
31077         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31078         lib/uniwidth/width.c.
31079         * all generated files under lib/uni* and tests/uni*: Regenerate.
31081 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31083         libunistring: update to Unicode 6.2.0
31084         * lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
31085         (unilbrk_table): Adjust table size.
31086         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31087         for LBP_RI.
31088         * lib/uniwbrk.in.h (WBP_RI): New enumeration value.
31089         * lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
31090         Normalize table index skipping ignored properties.
31091         * lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
31092         WBP_EXTEND and WBP_FORMAT, which are now computed without using
31093         the table.
31094         * lib/uniwbrk/wbrktable.h: Adjust table size.
31095         * lib/unigbrk.in.h (GBP_RI): New enumeration value.
31096         * lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
31097         Support rule GB8a.
31098         (UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
31099         * tests/unigbrk/test-uc-is-grapheme-break.c
31100         (graphemebreakproperty_to_string): Support GBP_RI.
31101         * tests/uniwbrk/test-uc-wordbreaks.c
31102         (wordbreakproperty_to_string): Support WBP_RI.
31103         * lib/gen-uni-tables.c (LBP_RI): New enumeration value.
31104         (get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
31105         (output_lbp): Support LBP_RI.  Adjust some characters changed from
31106         LBP_AL to LBP_ID.
31107         (output_lbp): Support LBP_RI.
31108         (WBP_RI): New enumeration value.
31109         (debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
31110         (output_wbp): Support WBP_RI.
31111         (GBP_RI): New enumeration value.
31112         (output_gbp_test, fill_org_gbp): Support GBP_RI.
31113         * all generated files under lib/uni* and tests/uni*: Regenerate.
31115 2015-01-14  Daiki Ueno  <ueno@gnu.org>
31117         libunistring: update to Unicode 6.1.0
31118         * lib/gen-uni-tables.c (output_joining_group): Switch to
31119         3-level table to accommodate joining groups defined with higher
31120         codepoint value.  Since there are only 88 groups defined in
31121         Unicode 7.0.0, use 7-bit packed format for level3 entries.
31122         (get_lbp): Update for Unicode 6.1.0.
31123         * lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
31124         3-level table.
31125         * lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
31126         joining group name.
31127         * lib/unictype/joininggroup_name.h: Likewise.
31128         * lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
31129         (unilbrk_table): Adjust table size.
31130         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
31131         for LBP_HL.
31132         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
31133         U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
31134         U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
31135         U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
31136         U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
31137         U+302E..U+302F.
31138         * tests/uniwidth/test-uc_width2.sh: Same updates as in
31139         lib/uniwidth/width.c.
31140         * all generated files under lib/uni* and tests/uni*: Regenerate.
31141         * modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.
31143 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31145         uniwbrk/u32-wordbreaks-tests: add conformance test
31146         * modules/uniwbrk/u32-wordbreaks-tests (Files): Add
31147         tests/uniwbrk/test-uc-wordbreaks.c,
31148         tests/uniwbrk/test-uc-wordbreaks.sh, and
31149         tests/uniwbrk/WordBreakTest.txt.
31150         (Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
31151         test-uc-wordbreaks to $(check_PROGRAMS), and define
31152         test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
31153         * tests/uniwbrk/test-uc-wordbreaks.sh: New file.
31154         * tests/uniwbrk/test-uc-wordbreaks.c: New file.
31156 2015-01-15  Daiki Ueno  <ueno@gnu.org>
31158         uniwbrk: ignore Extended/Format characters at BOL not BOS
31159         * lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
31160         characters if the previous character property is one of
31161         WBP_NEWLINE, WBP_CR, and WBP_LF.
31163 2015-01-11  Jim Meyering  <meyering@fb.com>
31165         test-strstr.c: avoid a trivial leak
31166         * tests/test-strstr.c (main): Free haystack.
31168         update-copyright: recognize groff's \(co marker
31169         * build-aux/update-copyright (circle_c_re): Also accept
31170         uses of \(co, as found in gzip.1.
31172 2015-01-08  Pádraig Brady  <P@draigBrady.com>
31174         maint.mk: fix compatibility with OS X nm
31175         * top/maint.mk (_gl_tight_scope): Use the -g option to
31176         show exported items rather than the -e option which is
31177         ignored on all platforms except OS X where it gives an error.
31178         Reported by Assaf Gordon.
31180 2015-01-07  KO Myung-Hun  <komh@chollian.net>
31182         localcharset: improve charset detection on OS/2
31183         Use system codepage when appropriate.  Map OS/2 codepages to
31184         GNU canonical charset names if possible.
31185         * lib/config.charset: Don't output aliases if "$os" is os2*.
31186         * lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
31187         result for OS/2.
31188         (locale_charset) [OS2]: Use system codepage if codeset is omitted
31189         from the locale name which is neither "C" nor "POSIX".
31191 2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>
31193         count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
31194         This reverts the last patch but one, as it shouldn't be needed now
31195         that the typo is fixed.
31196         * lib/count-leading-zeros.h (count_leading_zeros_ll):
31197         * lib/count-trailing-zeros.h:
31198         * lib/count-one-bits.h:
31199         Go back to using 64-bit intrinsics.
31201         count-leading-zeros: fix pragma typos
31202         * lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
31203         Fix typos in declaration of intrinsics when _MSC_VER.
31205 2015-01-06  Pádraig Brady  <P@draigBrady.com>
31207         count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
31208         * lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
31209         intrinsics in this case.
31210         * lib/count-trailing-zeros.h: Likewise.
31211         * lib/count-one-bits.h: Likewise.
31213 2015-01-06  Daiki Ueno  <ueno@gnu.org>
31215         uniname/uniname: update to Unicode 7.0.0
31216         To accommodate new characters added since Unicode 5.1.0, this
31217         changes the internal representation of codepoint ranges.
31218         Previously, we grouped codepoint ranges by manually assigned 4-bit
31219         tag, which only allowed 16 groups.  This removes the limitation by
31220         switching to binary search on a table.  For the detail rationale
31221         and the benchmark results, see:
31222         https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
31223         * lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
31224         to INDEX, as it no longer represents a codepoint.
31225         (range): New struct.
31226         (main): Switch to intervals list from a bit-pattern based
31227         classification.
31228         * lib/uniname/uninames.h: Regenerate.
31229         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
31230         * modules/uniname/base (configure.ac): Bump minimum version to
31231         0.9.5.
31232         * modules/uniname/uniname (configure.ac): Bump minimum version to
31233         0.9.5.
31235 2015-01-05  Eric Blake  <eblake@redhat.com>
31237         doc: update INSTALL from autoconf
31238         * doc/install.texi: Resync from autoconf.
31239         * doc/INSTALL: Reflect recent autoconf update.
31240         * doc/INSTALL.ISO: Likewise.
31241         * doc/INSTALL.UTF-8: Likewise.
31243         stdio: fix use of PRIdMAX on modern mingw
31244         * m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
31245         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
31246         to work with modern mingw.
31248 2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)
31250         pthread: detect git mingw builds with only partial pollution
31251         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
31252         pollution, as seen temporarily in Fedora 21.
31254 2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>
31256         lib-symbol-versions: cache script check
31257         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
31258         Cache the check for linker version scripts.
31259         From a suggestion by Christophe Curis in:
31260         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html
31262 2015-01-04  Benno Schulenberg  <bensberg@justemail.net>
31264         maint: fix grammar nits in propername (trivial change)
31265         * lib/propername.h: Remove a mistaken comma and a duplicate "from",
31266         and use an adequate verb and tense.
31268 2015-01-02  Ludovic Courtès  <ludo@gnu.org>
31270         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
31271         * module/gendocs: Add 'doc/gendocs_template_min'.
31273         * build-aux/gendocs.sh: Change email addresses and upstream URLs
31274         from to Gnulib's.
31275         (scripturl, templateurl): Adjust accordingly.
31277 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31279         gendocs: copyright date and version fix
31280         Reported by Karl Berry in:
31281         http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
31282         * build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
31283         Fix copyright date.
31284         * build-aux/gendocs.sh (scriptversion): Update.
31286 2015-01-01  Karl Berry  <karl@gnu.org>
31288         * doc/install.texi,
31289         * build-aux/mdate-sh,
31290         * build-aux/depcomp,
31291         * build-aux/config.guess,
31292         * build-aux/config.sub,
31293         * build-aux/ar-lib,
31294         * build-aux/compile: revert copyright updates (some from last
31295         year) in slaved files.
31297 2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>
31299         version-etc: new year
31300         * doc/gnulib.texi:
31301         * lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
31302         * all files: Run 'make update-copyright'.
31304 2014-12-30  Pádraig Brady  <P@draigBrady.com>
31306         xstrtol: ensure errno is reset
31307         Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
31308         Noticed with a spurious coreutils test failure on Darwin 14.0.0.
31310         * lib/xstrtol.c (__xstrtol): Always reset errno before returning.
31312 2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>
31314         utimens: fix dependency typo
31315         * modules/utimens (Depends-on): Remove 'assure'.
31316         This bug was introduced in the recent 'assure' patch.
31318 2014-12-22  Eric Blake  <eblake@redhat.com>
31320         docs: mention why libgen.h is bad
31321         * doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.
31323 2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>
31325         assure: new module
31326         This works better than 'assert' when compiling with -DNDEBUG,
31327         as it avoids some compiler diagnostics in that case.
31328         Reported by Norihiro Tanaka in:
31329         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
31330         * MODULES.html.sh (func_all_modules): Add 'assure'.
31331         * lib/assure.h, modules/assure: New files.
31332         * lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
31333         * lib/poll.c, lib/savewd.c, lib/xstrtol.c:
31334         Prefer 'assure' to 'assert'.
31335         * lib/utimens.c: Stop using 'assert'; it wasn't helpful.
31336         * modules/chdir-long, modules/cycle-check, modules/fchdir:
31337         * modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
31338         Depend on 'assure'.
31340 2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>
31342         stdalign: port better to HP compilers
31343         * m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
31344         __HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.
31346         stdalign: work around Apple GCC 4.0 bug
31347         Reported by David Fang in:
31348         http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
31349         * lib/stdalign.in.h (_Alignas):
31350         * m4/stdalign.m4 (gl_STDALIGN_H):
31351         Do not use aligned attribute with GCC 4.0 on Apple.
31353 2014-12-16  Pádraig Brady  <P@draigBrady.com>
31355         getcwd: fix test failure on OS X 10.9
31356         * m4/getcwd-path-max.m4: Avoid the replacement if it
31357         won't be effective due to the PATH_MAX limitation of lstat().
31358         (gl_cv_func_getcwd_path_max): Adjust to indicate this case.
31359         * m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
31360         for this case for use in tests, and also exclude this
31361         case when setting REPLACE_GETCWD.
31362         * tests/test-getcwd.c (test_long_name): Restrict the
31363         tested path length so that lstat() will not be passed
31364         a path greater than PATH_MAX.
31365         Also key a test condition on HAVE_OPENAT_SUPPORT rather
31366         than AT_FDCWD, since the latter is set unconditionally
31367         since Sep 2009 in commit 52c658e9.
31369 2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>
31371         parse-datetime: avoid a compiler warning with byacc (trivial)
31372         * lib/parse-datetime.y (yylex): Use the same prototype in the
31373         function definition as the declaration, to avoid a -Wstrict-prototypes
31374         warning seen when using byacc.
31376 2014-12-12  Daiki Ueno  <ueno@gnu.org>
31378         unicase/locale-language-tests: fix LOCALE_FR test
31379         * tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
31380         a French locale with traditional encoding.
31381         Reported by umerqayam in:
31382         http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html
31384 2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>
31386         stddef: support C11's max_align_t
31387         * doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
31388         * lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
31389         Do not undef, as that might cause max_align_t to be defined twice.
31390         Instead, change use to check for _GL_STDDEF_WINT_T too.
31391         (max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
31392         * m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
31393         Check for max_align_t.
31394         * modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
31395         * modules/stddef-tests (Depends-on): Add stdalign.
31396         * tests/test-stddef.c: Test max_align_t.
31398 2014-12-11  Daiki Ueno  <ueno@gnu.org>
31400         unistd: fix iOS check conditional
31401         On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
31402         as 0 or 1 in <TargetConditionals.h>, and the previous check always
31403         yielded true on non-iOS environment.
31404         * lib/unistd.in.h (environ) [__APPLE__]: Check the values of
31405         TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
31406         they are defined.
31408 2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>
31410         posixtm: avoid compiler warning in a better way
31411         * lib/posixtm.c (IF_LINT): Remove.
31412         (year, posix_time_parse):
31413         Return true (not 0) if successful.  All callers changed.
31414         (posix_time_parse): Simplify to pacify GCC without need for IF_LINT.
31416 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31418         * lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
31419         started with '/' on EMX.
31421 2014-12-08  KO Myung-Hun  <komh78@gmail.com>
31423         freopen: workaround freopen() on OS/2 kLIBC
31424         * lib/freopen.c (rpl_freopen): Workaround.
31425         * m4/freopen.m4: Add os2* case.
31427         get_shared_library_fullname: port to EMX
31428         * lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
31429         on EMX, respectively.
31430         (_DLL_InitTerm): New on EMX.
31431         (get_shared_library_fullname): Implement on EMX.
31433         find_executable: port to EMX
31434         * lib/progreloc.c (find_executable): Implement on EMX.
31436         sched: check struct sched_param in spawn.h as well
31437         * lib/sched.in.h: Include spawn.h on kLIBC.
31438         * lib/sched_h.m4: Check struct sched_param in spawn.h as well.
31440 2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)
31442         bootstrap: Allow perl modules in $buildreq
31443         * build-aux/bootstrap: Add case for perl modules.
31445 2014-12-08  Pádraig Brady  <P@draigBrady.com>
31447         apply _GL_ATTRIBUTE_PURE to some inline functions
31448         clang 3.4.2 flagged these inline functions as pure
31449         * lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
31450         * lib/sig-handler.h (get_handler): Likewise.
31451         * lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
31452         * lib/timespec.h (timespec_cmp, timespec_sign): Likewise.
31454 2014-12-06  Pádraig Brady  <P@draigBrady.com>
31456         vasnprintf: fix potential use after free
31457         * lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
31458         flagged by clang-analyzer 3.4.2.
31460 2014-12-05  Pádraig Brady  <P@draigBrady.com>
31462         filevercmp, posixtm: avoid compiler warnings with -O3
31463         * lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
31464         * lib/posixtm.c: (IF_LINT): Define.
31465         (posix_time_parse): Use it to void a "may be used uninitialized"
31466         warning, seen only with -O3.
31468 2014-12-05  Bruno Haible  <bruno@clisp.org>
31470         Fix LDBL80_WORDS macro on big endian platforms.
31471         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
31472         LDBL80_WORDS macro.
31473         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
31474         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
31475         * tests/test-isfinite.c (test_isfinitel): Likewise.
31476         * tests/test-isinf.c (test_isinfl): Likewise.
31477         * tests/test-isnan.c (test_long_double): Likewise.
31478         * tests/test-isnanl.h (main): Likewise.
31479         * tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
31480         * tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
31481         * tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
31482         * tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
31483         Reported by Pádraig Brady.
31485 2014-12-02  KO Myung-Hun  <komh78@gmail.com>
31487         git-version-gen: do not print new line characters
31488         * build-aux/git-version-gen: Use printf instead of echo and tr.
31490         gnulib-tool: recognize x:* as an absolute path
31491         * gnulib-tool (func_gnulib_dir): Add ?:* case.
31492         (func_relconcat): Likewise.
31494 2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>
31496         argp: avoid extraneous translation and mem leak with empty pre doc
31497         * lib/argp-help.c (argp_doc): Never translate the empty string,
31498         when "\v" is the first or last character of the string, as that
31499         has a reserved meaning to return the header info from a po file.
31500         This also fixes a small memory leak in the !post case.
31501         The issue can be seen with this command for example:
31502         LC_MESSAGES=en_US grub2-mknetdir --help
31504 2014-11-27  Daiki Ueno  <ueno@gnu.org>
31506         uniname/uniname-tests: skip if system's libunistring is used
31507         * modules/uniname/uniname-tests (Makefile.am): Skip test if
31508         uniname/uniname module is not compiled.
31510 2014-11-27  Pádraig Brady  <P@draigBrady.com>
31512         printf: fix configure check on big endian systems
31513         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.
31515 2014-11-22  Daiki Ueno  <ueno@gnu.org>
31517         pipe-filter-gi, pipe-filter-ii: port to AIX
31518         On AIX 7.1, 'select' is defined as static and cannot be referred
31519         to from inline function.
31520         * lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
31521         the definition...
31522         * lib/pipe-filter-gi.c (filter_loop): ...here, and...
31523         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.
31525 2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>
31527         gitlog-to-changelog: add --until
31528         * build-aux/gitlog-to-changelog: Support new --until option.
31529         Need described by Eli Zaretskii in: http://bugs.gnu.org/19113
31531 2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>
31533         extern-inline: update commentary about GCC bugs
31534         * m4/extern-inline.m4: Add another GCC bug number to comments.
31536 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31538         gen-uni-tables: untabify
31539         * lib/gen-uni-tables.c: Untabify.
31541 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31543         gen-uni-tables: check out-of-range values added to 3-level tables
31544         * lib/gen-uni-tables.c (output_category, output_bidi_category)
31545         (output_joining_type, output_ident_category): Check out-of-range
31546         values added to 3-level tables.
31548 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31550         gen-uni-tables: utilize 'assert'
31551         * lib/gen-uni-tables.c: Include <assert.h>.
31552         (output_category, output_combclass, output_decimal_digit_test)
31553         (output_decimal_digit, output_digit_test, output_digit)
31554         (output_numeric, get_mirror_value, fill_properties)
31555         (fill_property30, is_property_alphabetic)
31556         (is_property_default_ignorable_code_point)
31557         (is_property_uppercase, is_property_lowercase)
31558         (is_property_cased, is_property_case_ignorable)
31559         (is_property_changes_when_lowercased, is_property_iso_control)
31560         (is_property_math, fill_arabicshaping, output_joining_group)
31561         (fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
31562         (output_wbp, fill_org_gbp, get_decomposition)
31563         (output_decomposition, fill_composition_exclusions)
31564         (debug_output_composition_tables, output_composition_tables)
31565         (redistribute_casefolding_rules, output_casing_rules): Use
31566         'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
31567         reporting.
31569 2014-11-13  Daiki Ueno  <ueno@gnu.org>
31571         gen-uni-tables: cosmetic improvements
31572         * lib/gen-uni-tables.c: Escape newlines in the Emacs file local
31573         variables specification.
31574         (is_outdigit): Remove unused function.
31576 2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)
31578         fcntl-h-tests: port to PA-RISC GNU/Linux
31579         * tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.
31581 2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>
31583         fts: port to C89
31584         Problem reported for MSVC 16 by Gisle Vanem in:
31585         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
31586         * lib/fts.c (fts_build): Avoid declaration before statement.
31588 2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>
31590         unistd: port to iOS
31591         Problem reported by André Klitzing in:
31592         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
31593         * lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.
31595 2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>
31597         obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
31598         Problem reported by Alan Modra in:
31599         http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
31600         * lib/obstack.h (obstack_chunkfun, obstack_freefun):
31601         Always cast the function arg, reverting this part of the previous
31602         change.
31604 2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>
31606         obstack: avoid potentially-nonportable function casts
31607         * lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
31608         Remove, replacing with ...
31609         (call_chunkfun, call_freefun): New static functions.
31610         All uses changed.  Avoid potentially-nonportable casts.
31611         (chunkfun_type, freefun_type): Remove typedefs; no longer used.
31612         (_obstack_begin_worker): Omit last two args, since they
31613         rely on potentially-nonportable casts.  All callers changed.
31614         * lib/obstack.h (_OBSTACK_CAST): New macro.
31615         Use it everywhere the old API used a potentially-nonportable cast.
31616         The new API doesn't cast.
31617         (struct obstack): Use unions rather than requiring
31618         potentially-nonportable casts.
31619         (obstack_chunkfun, obstack_freefun): Return void.
31621 2014-11-03  Alan Modra  <amodra@gmail.com>
31623         obstack: fix macro return values
31624         * lib/obstack.h (obstack_next_free): Return void *.
31625         (obstack_1grow_fast, obstack_blank_fast): Return void.
31626         For __GNUC__ macros:
31627         (obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
31628         For !__GNUC__ macros:
31629         (obstack_make_room, obstack_grow, obstack_grow0)
31630         (obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.
31632 2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>
31634         obstack: do not assume system-supplied obstack is size_t safe
31635         * m4/obstack.m4: New file.
31636         * modules/obstack (Files): Add it.
31638         obstack: port to platforms that #define __alignof__
31639         * lib/obstack.c: Include <alignof.h> if !defined __alignof__,
31640         not if !_LIBC.  We don't know of any platforms that #define
31641         __alignof__, but it might be useful in tests.  Conversely,
31642         glibc assumes GCC.
31644 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31646         linkat: don't unconditionally replace on GNU/Linux
31647         * m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
31648         was redundant for a few reasons.  It was present to support compiling
31649         on new systems but running on the old narrow window of Linux 2.6.1[67].
31650         It setup and cleaned up test files which weren't actually used.
31651         On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
31652         implicit in the following check.
31654 2014-11-03  Pádraig Brady  <P@draigBrady.com>
31656         linkat: wrap to handle symlinks on OS X 10.10
31657         * m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
31658         but not usable because it doesn't support creating hardlinks
31659         to symlinks.  Therefore add a generic test for this capability
31660         and fallback to our emulation if linkat() fails with ENOTSUP.
31662 2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>
31664         open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
31665         * doc/posix-functions/open.texi (open):
31666         * doc/posix-functions/openat.texi (openat):
31667         Document that these functions do not set errno to ELOOP when
31668         a symlink is opened with O_NOFOLLOW.
31670 2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>
31672         obstack: add NEWS entry for recent incompatible changes
31673         * NEWS: Describe recent changes.
31675 2014-10-30  Pádraig Brady  <P@draigBrady.com>
31677         mountlist: don't use libmount to decide on dummy/remote
31678         * lib/mountlist.c (read_file_system_list): Don't use the libmount
31679         routines to determine whether a file system is dummy or remote,
31680         as they're not currently compatible.  For example the remoteness
31681         is determined on file system type (for which the list seems incomplete),
31682         rather than simply checking for a ':' in the device name.
31683         Also libmount currently determines that 'tmpfs' is a dummy file system
31684         even though it has associated storage.
31686 2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>
31688         obstack: prefer __alignof__ to alignof
31689         This is for portability to pre-4.7 GCC when compiling glibc.
31690         See Joseph S. Myers in:
31691         http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
31692         * lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
31693         New macro, defined by including and using <alignof.h>.
31694         (MAX): New macro.
31695         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
31696         Do not use enums as they are not portable to some broken compilers.
31697         * modules/obstack (Depends-on): Depend on alignof, not stdalign.
31699         obstack: prefer alignof to calculating alignments by hand
31700         * lib/obstack.c: Include <stdalign.h>.
31701         (struct fooalign): Remove.
31702         (DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
31703         * modules/obstack (Depends-on): Add stdalign.
31705 2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>
31707         obstack: use size_t alignments and check for overflow
31708         * lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
31709         * lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
31710         * lib/obstack.h (struct obstack.alignment_mask):
31711         Use _OBSTACK_SIZE_T, not int, for alignments.
31712         * lib/obstack.c (_obstack_newchunk): Fail if the size calculation
31713         overflows, e.g., when adding the alignment.
31715 2014-10-29  Alan Modra  <amodra@gmail.com>
31717         obstack: 64-bit obstack support, part 3
31718         This finally enables full 64-bit obstack support.  The glibc
31719         shared library specific code is removed from obstack.c too, and
31720         the error handling code conditionally compiled under control of
31721         another macro, _OBSTACK_NO_ERROR_HANDLER.
31722         * lib/obstack.h: Include string.h earlier.
31723         (_OBSTACK_INTERFACE_VERSION): Define.
31724         (_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
31725         * lib/obstack.c: Don't include shlib-compat.h.
31726         (OBSTACK_INTERFACE_VERSION): Delete.
31727         (_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
31728         glibc code is compatible with version 2.  Don't include stdio.h for
31729         __GNU_LIBRARY.
31730         (obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
31731         Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
31732         (_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
31733         glibc shared library specific source.
31735         obstack: 64-bit obstack support, part 2
31736         This gets us 4G obstack support, without changing ABI
31737         compatibility, apart from possibly introducing some
31738         signed/unsigned comparison warnings in code that uses obstack.h.
31739         a) Replace "int" size parameters, return values, and macro local vars
31740            with _OBSTACK_SIZE_T, an "unsigned int" for now.
31741         b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
31742         c) Make all obstack macros checking available room use obstack_room.
31743            "next_free + desired > chunk_limit" may wrap the lhs for chunks
31744            allocated near the top of memory.
31745         d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
31746         * lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
31747         in place of "int" size parameters, return values and local vars.
31748         (_CHUNK_SIZE_T): Define.
31749         (struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
31750         union use an _OBSTACK_SIZE_T integer type.
31751         For __GNUC__ versions of the following macros...
31752         (obstack_room): Rename local var.
31753         (obstack_make_room): Use obstack_room.
31754         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31755         obstack_int_grow, obstack_blank): Likewise.
31756         (obstack_finish): Use unsigned comparison when comparing aligned
31757         next_free against chunk_limit.
31758         (obstack_free): Cast OBJ to remove possible const qualifier.
31759         For !__GNUC__ versions of the following macros...
31760         (obstack_make_room): Use obstack_room.
31761         (obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
31762         obstack_int_grow, obstack_blank): Likewise.
31763         (obstack_finish): Use unsigned comparision when comparing aligned
31764         next_free against chunk_limit.
31765         (obstack_free): Use temp.p and same comparisons as __GNUC__ version.
31766         * lib/obstack.c (_obstack_begin_worker): Make "size" parameter
31767         _OBSTACK_SIZE_T.
31768         (_obstack_begin, _obstack_begin_1): Likewise.
31769         (_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
31770         (_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.
31772         obstack: 64-bit obstack support, part 1
31773         a) Correct calls to alloc function, to use a size_t arg.  "long" is
31774            just wrong on targets like x86_64-mingw64 where "long" is 32 bits
31775            and "size_t" 64 bits.
31776         b) Consolidate _obstack_begin and _obstack_begin1 code.
31777         * lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
31778         use "size_t" rather than "long".
31779         (_obstack_begin, _obstack_begin1): Likewise.
31780         (obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
31781         obstack_chunkfun): Update alloc function casts.
31782         * lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
31783         (chunkfun_type, freefun_type): New typdefs.
31784         (_obstack_begin_worker): Split out from ..
31785         (_obstack_begin, _obstack_begin_1): ..here.
31787         obstack: tidy part 2
31788         a) Don't be concerned about "not polluting the namespace with stddef.h
31789            symbols" in obstack.h, since gnulib string.h includes stddef.h
31790            anyway, and it seems unlikely that anyone would care.
31791         b) Don't roll our own slow memcpy in _obstack_newchunk.
31792         c) Rename obstack_free to _obstack_free.  This makes the naming
31793            consistent with other obstack functions and obviates the need for
31794            __obstack_free.  Ancient obstack.c defined both obstack_free and
31795            _obstack_free.  We continue to do that for _LIBC via an alias.
31796         d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
31797            is clever, but nowadays gcc warns on undefined macros.  You'll get
31798            an undefined macro warning if simulating an old gcc with -U__GNUC__
31799            -U__GNUC_MINOR__ -D__GNUC__=1.
31800         * lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
31801         (PTR_INT_TYPE): Delete, replace with ptrdiff_t.
31802         (__obstack_free): Delete, update refs.
31803         (_obstack_free): Rename from obstack_free.
31804         (__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
31805         (obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
31806         * lib/obstack.c: Don't include stddef.h.
31807         (COPYING_UNIT): Delete.
31808         (_obstack_begin): Formatting fix.
31809         (_obstack_newchunk): Use memcpy to move existing object to new chunk.
31810         (_obstack_free): Rename from __obstack_free, update alias.  Move
31811         undef of obstack_free to where it is needed.
31813         obstack: tidy part 1
31814         a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
31815            to me, and result in overlong lines after later patches.
31816         b) Move error handling code, to avoid a forward declaration and to
31817            simplify later patches in this series.
31818         * lib/obstack.h (struct obstack <temp>): Rename fields of union
31819         and update all uses.
31820         * lib/obstack.c: Include stdlib.h earlier.
31821         (obstack_exit_failure, obstack_alloc_failed_handler): Move later
31822         in file.
31823         (print_and_abort): Remove now redundant forward declaration.
31825 2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>
31827         socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
31828         Without this change, in bleeding-edge fileutils Autoconf complains
31829         that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
31830         * modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
31831         * modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
31832         * modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.
31834 2014-10-24  Daiki Ueno  <ueno@gnu.org>
31836         iconv: avoid false detection of non-working iconv
31837         The INBUF arguments of iconv can be either 'const char **'
31838         or 'char **'.  If CC is g++, the difference causes a compile error
31839         and thus leads to a false detection of non-working iconv.
31840         Reported by Eli Zaretskii and Werner LEMBERG in:
31841         <https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
31842         * m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
31843         iconv.  Bump serial number.
31845 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31847         bootstrap: print more diagnostics for missing programs
31848         * build-aux/bootstrap: only suppress stderr when checking for
31849         alternative program names.  This supports programs issuing non
31850         standard error messages.
31852 2014-10-23  Pádraig Brady  <P@draigBrady.com>
31854         bootstrap: only update the gnulib submodule
31855         * build-aux/bootstrap: Restrict the "submodule update" command
31856         to the gnulib path.
31858 2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>
31860         symlinkat: port to AIX 7.1
31861         * doc/posix-functions/symlinkat.texi (symlinkat):
31862         Mention AIX porting problem.
31863         * lib/symlinkat.c: Always include errno.h.
31864         (rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
31865         * lib/unistd.in.h (symlinkat): Add replacement machinery.
31866         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
31867         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
31868         * modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
31869         (configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
31870         * modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.
31872         readlinkat: port to AIX 7.1
31873         * doc/posix-functions/readlink.texi (readlink):
31874         * doc/posix-functions/readlinkat.texi (readlinkat):
31875         Mention AIX porting problem.
31876         * lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
31877         New function.
31878         * lib/unistd.in.h (readlinkat): Add replacement machinery.
31879         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
31880         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
31881         * modules/readlinkat (configure.ac): Also compile replacement
31882         if REPLACE_READLINKAT.
31883         * modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.
31885 2014-10-12  Karl Berry  <karl@gnu.org>
31887         * doc/posix-functions/dirname.texi: remove spurious {.
31889 2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>
31891         basename, dirname: Improve documentation.
31892         * doc/posix-functions/basename.texi: Mention dirname module and
31893         base_name() function.
31894         * doc/posix-functions/dirname.texi: Mention dir_name() and
31895         mdir_name() functions.
31896         Suggested by Werner LEMBERG <wl@gnu.org>.
31898 2014-09-24  Jim Meyering  <meyering@fb.com>
31900         exclude: declare exclude_patopts static
31901         * lib/exclude.c (exclude_patopts): Declare static,
31902         to avoid triggering a -Wmissing-prototypes warning.
31903         The alternative (declaring it in the .h file) would
31904         require publicizing the private "struct patopts".
31906 2014-09-21  Werner Lemberg  <wl@gnu.org>
31908         dirname: support compilation with C++
31909         * lib/dirname.h: Add necessary C linkage declarations.
31911 2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>
31913         qsort_r: include <config.h>
31914         Problem reported by Tom G. Christensen in:
31915         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
31916         * lib/qsort.c [!_LIBC]: Include <config.h> first.
31918 2014-09-16  Dylan Cali  <calid1984@gmail.com>
31920         avltree-list: avoid compiler warnings (trivial)
31921         * lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
31922         -Werror=suggest-attribute=pure.
31923         * lib/gl_array_list.c: Likewise.
31924         * lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
31925         declaration to avoid -Werror=missing-prototypes.  This is not added
31926         to a header as only exported for tests.  Add (void) to the
31927         check_invariants() call to indicate we're discarding the result
31928         in this context which avoids -Werror=unused-value.  Note we don't
31929         use ignore_value here to avoid a dependency as we know we'll not
31930         be adding __attribute__((warn_unused_result)) to check_invariants().
31931         Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.
31933 2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>
31935         qsort_r: new module, for GNU-style qsort_r
31936         * m4/qsort_r.m4: New file.  Forgot to add this earlier.
31938 2014-09-15  Werner LEMBERG  <wl@gnu.org>
31940         strerror_r-posix: support compilation with C++
31941         * lib/strerror_r.c: Add necessary C linkage declarations.
31943 2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>
31945         fcntl-h: fix compilation with Intel C++ compiler (trivial)
31946         * lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.
31948 2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>
31950         mountlist: use /proc/self/mountinfo when available
31951         Use libmount to propagate device IDs provided by Linux in
31952         /proc/self/mountinfo.  This will give more accurate output when
31953         using df in chroot'ed environments as the device IDs are not
31954         determined by stat() which may be inaccurate within the chroot.
31955         * lib/mountlist.c (read_file_system_list): Use the libmount routines
31956         from util-linux to parse "/proc/self/mountinfo" or fall back to
31957         standard getmntent() processing.
31958         * m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
31959         getmntent() is used, as is the case on GNU/Linux.
31961 2014-09-07  Eric Wong  <normalperson@yhbt.net>
31963         users.txt: add cmogstored
31964         cmogstored has used gnulib since the beginning in 2012 to support
31965         GNU/Linux, FreeBSD, and GNU/kFreeBSD.
31967 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31969         Trivial change.
31970         * gnulib-tool: Use same options as build-aux/bootstrap to download
31971         PO files.
31973 2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>
31975         Trivial change.
31976         * gnulib-tool: Fallback to wget when rsync of PO files fails.
31978 2014-09-04  Eric Blake  <eblake@redhat.com>
31980         maintainer-makefile: add syntax check for useless ';;'
31981         * top/maint.mk (sc_prohibit_double_semicolon): New rule.
31983 2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>
31985         pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
31986         Problem reported by Assaf Gordon in:
31987         http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
31988         Apparently Ubuntu is doing some fancy link-time optimization
31989         that doesn't work with -lpthread but does work with -pthread.
31990         Work around the bug by preferring -pthread to -lpthread.
31991         * m4/pthread.m4 (gl_PTHREAD_CHECK):
31992         * m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
31993         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
31994         Treat -pthread like -lpthread.
31996 2014-09-04  Eric Blake  <eblake@redhat.com>
31998         error: drop spurious semicolon
31999         * lib/error.c (__error_at_line): Fix ';;'.
32001 2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>
32003         gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
32004         * m4/gnulib-common.m4 (AC_C_RESTRICT):
32005         Override AC_C_RESTRICT unconditionally.
32006         Update from autoconf, incorporating:
32007         2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
32008         2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.
32010 2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>
32012         manywarnings: add GCC 4.9 warnings
32013         Also, make it easier to maintain this in the future.
32014         * build-aux/gcc-warning.spec: Add -Wabi-tag,
32015         -Wconditionally-supported, -Wdelete-incomplete,
32016         -Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
32017         Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
32018         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
32019         -Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
32020         only for older GCC versions that need them.  Handle
32021         -Wnormalized=nfc specially, so that the 'comm' command used
32022         for maintenance doesn't get confused.
32024 2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>
32026         vasnprintf: fix bugs in width computation
32027         * lib/vasnprintf.c (VASNPRINTF):
32028         Rework previous change, which introduced a bug,
32029         to avoid the warning in a different way.
32030         Avoid undefined behavior if the width arg is less than -INT_MAX.
32031         Avoid unnecessary use of HAS_WIDTH local.
32033 2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)
32035         vasnprintf: Avoid signed/unsigned comparison warning.
32036         * lib/vasnprintf.c (VASNPRINTF): To calculate padding,
32037         compare end addr of generated string w/ maximum end addr.
32039 2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
32041         parse-datetime: Avoid pointer difference.
32042         * lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
32043         instead of calculating difference of pointers.  This removes an
32044         annoying warning, devoid of any use.
32046 2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>
32048         qsort_r: new module, for GNU-style qsort_r
32049         This works even on FreeBSD, which has an incompatible qsort_r API.
32050         * MODULES.html.sh: Add it.
32051         * doc/glibc-functions/qsort_r.texi: It's now supported.
32052         * lib/qsort.c: New file, taken from glibc with minor changes
32053         inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
32054         removed.
32055         * lib/qsort_r.c: New file, compiled only on FreeBSD.
32056         * lib/stdlib.in.h (qsort_r): Declare in the usual way.
32057         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
32058         * modules/qsort_r, modules/qsort_r-tests: New files.
32059         * modules/stdlib (Makefile): Set up its defaults.
32060         * tests/test-qsort_r.c: New file.
32062 2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>
32064         vla: new module
32065         GNU RCS can use this, mostly for documentation I expect.  See:
32066         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
32067         * MODULES.html.sh: Add vla.
32068         * lib/vla.h, modules/vla: New files.
32070 2014-08-07  Daiki Ueno  <ueno@gnu.org>
32072         localename: make gl_locale_name_thread really thread-safe on Windows
32073         * lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
32074         "glthread/lock.h".
32075         (get_lcid_lock) [WINDOWS_NATIVE]: New variable.
32076         (get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.
32078 2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>
32080         getpass: don't assume struct termios
32081         Problem report and trivial fix by Jonas 'Sortie' Termansen in:
32082         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
32083         * lib/getpass.c (getpass): Port to systems lacking struct termios.
32085         getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
32086         Problem reported by Jonas 'Sortie' Termansen in:
32087         http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
32088         * lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
32089         Implement via sysconf for platforms that lack getdtablesize.
32091         vararrays: modernize AC_C_VARARRAYS for C11
32092         This backports a change I recently made to Autoconf.
32093         * m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
32094         VLAs are not supported, as this is what C11 does.  The old macro
32095         HAVE_C_VARARRAYS is still defined if they are supported, but is
32096         now obsolescent.  Also, check for VLA bug in GCC 3.4.3.
32098 2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)
32100         relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
32101         * build-aux/install-reloc (func_create_wrapper): Also wrap
32102         strerror-override, stat, stat.
32104 2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>
32106         sys_select: fix FD_ZERO problem on Solaris 10
32107         * lib/sys_select.in.h: Fix Solaris 10 bug where "#include
32108         <sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
32109         to expand to an expression that invoked memset without necessarily
32110         including <string.h>.  The problem was that the first include
32111         defined _SYS_TIME_H, causing the second include to short-circuit.
32112         Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
32113         Also, fix what appears to be a cut-and-paste typo, by replacing
32114         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
32115         _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.
32117         accept: document Solaris 10 type glitch
32118         * doc/posix-functions/accept.texi (accept): Mention that
32119         Solaris 10 'accept' takes void * last arg, not socklen_t *.
32121 2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>
32123         extern-inline: port to FreeBSD, DragonFly
32124         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
32125         is present if either __DragonFly__ or __FreeBSD__ is defined.
32126         FreeBSD problem reported by Andrey Borzenkov in:
32127         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
32128         Also, worry about __APPLE__ only if __MACH__ is also defined,
32129         as this is more consistent with the rest of gnulib.
32130         (_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
32131         _GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.
32133 2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
32135         regex: Make #if/#ifdef usage consistent for DEBUG
32136         * lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
32137         of the inconsistent usage of #if and #ifdef as that works with
32138         both Glibc and Gnulib's style.
32140 2014-07-31  Eric Blake  <eblake@redhat.com>
32142         openat-die: use _Noreturn markup
32143         * modules/openat-die (Depends-on): Add snippet/_Noreturn.
32144         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
32145         _Noreturn.
32147 2014-07-30  Eric Blake  <eblake@redhat.com>
32149         test-open: port to cygwin, which lacks Fortify
32150         * tests/test-open.h (ALWAYS_INLINE): New macro.
32151         (__always_inline): Don't abuse internal symbol on non-glibc.
32153 2014-07-19  Eli Zaretskii  <eliz@gnu.org>
32155         localename: Enforce declarations before statements.
32156         * localename.c (gl_locale_name_thread): Declare 'lcid' before the
32157         first statement.
32159 2014-07-18  Jim Meyering  <meyering@fb.com>
32161         test-userspec: don't look up numeric user names
32162         * tests/test-userspec.c: I found a system for which getpwnam("0")
32163         returned a pointer to a non-root user's entry, and that made the
32164         test fail.
32165         (T): Prefix each numeric input with "+", to inhibit lookup.
32167 2014-07-15  Eli Zaretskii  <eliz@gnu.org>
32169         localcharset, localename: MS-Windows support for non-default locales
32170         * lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
32171         falling back on the default system codepage, try extracting
32172         the codepage from what 'setlocale' returns.  This allows to
32173         take into account changes of the codeset due to non-default
32174         locale set by a previous call to 'setlocale'.
32175         * lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
32176         Define if not already defined.
32177         (enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
32178         (gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
32179         current locale by calling 'setlocale', then converting the
32180         locale name into LCID by calling 'get_lcid'.  This allows to
32181         take into account changes in the current locale from the
32182         default one, in contrast to GetThreadLocale.
32184 2014-07-14  Daiki Ueno  <ueno@gnu.org>
32186         announce-gen: avoid failure when Digest::SHA is installed
32187         When Digest::SHA is available, Digest::SHA1 is not loaded and thus
32188         Digest::SHA1->new in print_checksums fails.
32189         * build-aux/announce-gen (digest_classes): New associative array
32190         for available message digest implementations.
32191         (print_locations): Use it.
32193 2014-07-13  Pádraig Brady  <P@draigBrady.com>
32195         gettext: revert "update macros to version 0.19"
32196         This reverts commit 9b9370ca, as it currently requires that
32197         developers of any project that explicitly uses the gettext module
32198         or implicitly uses it through the utimens-tests or
32199         futimens-tests modules, use gettext >= 0.19.
32200         However there are some stability and availablity issues with
32201         that version at present.  We can reinstate this soon, when stability
32202         is addressed and packages are more readily available.
32204 2014-07-12  Jim Meyering  <meyering@fb.com>
32206         regex: don't deref NULL upon heap allocation failure
32207         * lib/regcomp.c (parse_dup_op): Handle duplicate_tree
32208         failure in one more place.
32209         To trigger the segfault, configure grep -with-included-regex,
32210         build it, and run these commands:
32211         ( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
32212         I discovered this while replying to a private report from
32213         Jens Schleusener about excessive memory consumption by grep
32214         when using a regular expression like the one above.
32216 2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>
32218         regex: fix memory leak in compiler
32219         Fix by Andreas Schwab in:
32220         https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
32221         * lib/regcomp.c (parse_reg_exp): Deallocate partially
32222         constructed tree before returning error.
32224 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32226         announce-gen: avoid perl warnings
32227         * build-aux/announce-gen: add two minor checks to avoid
32228         "use of uninitialized value" warnings when command-line parameters are
32229         missing.
32231 2014-07-10  Assaf Gordon  <assafgordon@gmail.com>
32233         localename: avoid -Wsuggest-attribute={const,pure} warnings
32234         * lib/localename.c (string_has): Tag internal function as pure.
32235         * lib/localename.h (gl_locale_name_default): Tag extern declaration
32236         as const when appropriate.
32238 2014-07-10  Eli Zaretskii  <eliz@gnu.org>
32240         nl_langinfo: Fix last change.
32241         * lib/nl_langinfo.c (includes): Drop redundant include.
32243 2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>
32245         error: Fix -Wundef warnings in glibc
32246         * lib/error.c [_LIBC]: Define default macros for
32247         glibc.
32248         (print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
32249         Check _LIBC before STRERROR_R_CHAR_P.
32251         error: Sync from glibc master
32252         * lib/error.c [_LIBC]: Remove INTUSE usage.
32253         (error_tail): Remove unused macro ALLOCA_LIMIT.
32254         Fix potential buffer overflow.  Fix potential NULL dereference
32255         in strcmp.
32257 2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)
32259         nl_langinfo: fix build under mingw
32260         * lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().
32262 2014-07-09  Andrew D Warshall  <warshall@99main.com>
32264         mountlist: do not classify a bind-mounted dir entry as "dummy"
32265         * m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
32266         1-argument getmntent() (instead of assuming absence).
32268 2014-07-08  Eric Blake  <eblake@redhat.com>
32270         maint.mk: less syntax-check noise when SIGPIPE is ignored
32271         * top/maint.mk (_sc_header_without_use)
32272         (sc_require_config_h_first): Parse full list.
32274 2014-07-07  Eli Zaretskii  <eliz@gnu.org>
32275             Paul Eggert  <eggert@cs.ucla.edu>
32277         nl_langinfo: CODESET on MS-Windows and more items from localeconv
32278         * lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
32279         (CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
32280         (MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
32281         (FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
32282         (P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
32283         * lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
32284         Include <stdio.h> if Microsoft Windows.
32285         Include <time.h> if !REPLACE_NL_LANGINFO.
32286         (ctype_codeset): New function, taken from rpl_nl_langinfo,
32287         and with improvements for Microsoft Windows.
32288         (rpl_nl_langinfo): Use it.
32289         (nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
32290         Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
32291         INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
32292         MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
32293         INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
32294         N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
32295         corresponding values returned by 'localeconv'.  Compute the values
32296         of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
32297         'strftime' with a suitable struct tm value.
32299 2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>
32301         Bruno Haible has stepped down as maintainer.
32302         See Karl Berry in:
32303         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
32304         Daiki Ueno has volunteered to maintain libunistring; see:
32305         http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
32306         * modules/gen-uni-tables, modules/libunistring:
32307         * modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
32308         * modules/unicase/base, modules/unicase/cased:
32309         * modules/unicase/empty-prefix-context:
32310         * modules/unicase/empty-suffix-context, modules/unicase/ignorable:
32311         * modules/unicase/locale-language, modules/unicase/special-casing:
32312         * modules/unicase/tocasefold, modules/unicase/tolower:
32313         * modules/unicase/totitle, modules/unicase/toupper:
32314         * modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
32315         * modules/unicase/u16-casefold, modules/unicase/u16-casemap:
32316         * modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
32317         * modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
32318         * modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
32319         * modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
32320         * modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
32321         * modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
32322         * modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
32323         * modules/unicase/u16-totitle, modules/unicase/u16-toupper:
32324         * modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
32325         * modules/unicase/u32-casefold, modules/unicase/u32-casemap:
32326         * modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
32327         * modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
32328         * modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
32329         * modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
32330         * modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
32331         * modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
32332         * modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
32333         * modules/unicase/u32-totitle, modules/unicase/u32-toupper:
32334         * modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
32335         * modules/unicase/u8-casefold, modules/unicase/u8-casemap:
32336         * modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
32337         * modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
32338         * modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
32339         * modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
32340         * modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
32341         * modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
32342         * modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
32343         * modules/unicase/u8-totitle, modules/unicase/u8-toupper:
32344         * modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
32345         * modules/unicase/ulc-casexfrm, modules/unicodeio:
32346         * modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
32347         * modules/uniconv/u16-conv-to-enc:
32348         * modules/uniconv/u16-strconv-from-enc:
32349         * modules/uniconv/u16-strconv-from-locale:
32350         * modules/uniconv/u16-strconv-to-enc:
32351         * modules/uniconv/u16-strconv-to-locale:
32352         * modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
32353         * modules/uniconv/u32-strconv-from-enc:
32354         * modules/uniconv/u32-strconv-from-locale:
32355         * modules/uniconv/u32-strconv-to-enc:
32356         * modules/uniconv/u32-strconv-to-locale:
32357         * modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
32358         * modules/uniconv/u8-strconv-from-enc:
32359         * modules/uniconv/u8-strconv-from-locale:
32360         * modules/uniconv/u8-strconv-to-enc:
32361         * modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
32362         * modules/unictype/bidicategory-all:
32363         * modules/unictype/bidicategory-byname:
32364         * modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
32365         * modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
32366         * modules/unictype/bidiclass-byname:
32367         * modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
32368         * modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
32369         * modules/unictype/block-all, modules/unictype/block-list:
32370         * modules/unictype/block-of, modules/unictype/block-test:
32371         * modules/unictype/category-C, modules/unictype/category-Cc:
32372         * modules/unictype/category-Cf, modules/unictype/category-Cn:
32373         * modules/unictype/category-Co, modules/unictype/category-Cs:
32374         * modules/unictype/category-L, modules/unictype/category-LC:
32375         * modules/unictype/category-Ll, modules/unictype/category-Lm:
32376         * modules/unictype/category-Lo, modules/unictype/category-Lt:
32377         * modules/unictype/category-Lu, modules/unictype/category-M:
32378         * modules/unictype/category-Mc, modules/unictype/category-Me:
32379         * modules/unictype/category-Mn, modules/unictype/category-N:
32380         * modules/unictype/category-Nd, modules/unictype/category-Nl:
32381         * modules/unictype/category-No, modules/unictype/category-P:
32382         * modules/unictype/category-Pc, modules/unictype/category-Pd:
32383         * modules/unictype/category-Pe, modules/unictype/category-Pf:
32384         * modules/unictype/category-Pi, modules/unictype/category-Po:
32385         * modules/unictype/category-Ps, modules/unictype/category-S:
32386         * modules/unictype/category-Sc, modules/unictype/category-Sk:
32387         * modules/unictype/category-Sm, modules/unictype/category-So:
32388         * modules/unictype/category-Z, modules/unictype/category-Zl:
32389         * modules/unictype/category-Zp, modules/unictype/category-Zs:
32390         * modules/unictype/category-all, modules/unictype/category-and:
32391         * modules/unictype/category-and-not, modules/unictype/category-byname:
32392         * modules/unictype/category-longname, modules/unictype/category-name:
32393         * modules/unictype/category-none, modules/unictype/category-of:
32394         * modules/unictype/category-or, modules/unictype/category-test:
32395         * modules/unictype/category-test-withtable:
32396         * modules/unictype/combining-class:
32397         * modules/unictype/combining-class-all:
32398         * modules/unictype/combining-class-byname:
32399         * modules/unictype/combining-class-longname:
32400         * modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
32401         * modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
32402         * modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
32403         * modules/unictype/ctype-graph, modules/unictype/ctype-lower:
32404         * modules/unictype/ctype-print, modules/unictype/ctype-punct:
32405         * modules/unictype/ctype-space, modules/unictype/ctype-upper:
32406         * modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
32407         * modules/unictype/digit, modules/unictype/joininggroup-all:
32408         * modules/unictype/joininggroup-byname:
32409         * modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
32410         * modules/unictype/joiningtype-all:
32411         * modules/unictype/joiningtype-byname:
32412         * modules/unictype/joiningtype-longname:
32413         * modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
32414         * modules/unictype/mirror, modules/unictype/numeric:
32415         * modules/unictype/property-all, modules/unictype/property-alphabetic:
32416         * modules/unictype/property-ascii-hex-digit:
32417         * modules/unictype/property-bidi-arabic-digit:
32418         * modules/unictype/property-bidi-arabic-right-to-left:
32419         * modules/unictype/property-bidi-block-separator:
32420         * modules/unictype/property-bidi-boundary-neutral:
32421         * modules/unictype/property-bidi-common-separator:
32422         * modules/unictype/property-bidi-control:
32423         * modules/unictype/property-bidi-embedding-or-override:
32424         * modules/unictype/property-bidi-eur-num-separator:
32425         * modules/unictype/property-bidi-eur-num-terminator:
32426         * modules/unictype/property-bidi-european-digit:
32427         * modules/unictype/property-bidi-hebrew-right-to-left:
32428         * modules/unictype/property-bidi-left-to-right:
32429         * modules/unictype/property-bidi-non-spacing-mark:
32430         * modules/unictype/property-bidi-other-neutral:
32431         * modules/unictype/property-bidi-pdf:
32432         * modules/unictype/property-bidi-segment-separator:
32433         * modules/unictype/property-bidi-whitespace:
32434         * modules/unictype/property-byname:
32435         * modules/unictype/property-case-ignorable:
32436         * modules/unictype/property-cased:
32437         * modules/unictype/property-changes-when-casefolded:
32438         * modules/unictype/property-changes-when-casemapped:
32439         * modules/unictype/property-changes-when-lowercased:
32440         * modules/unictype/property-changes-when-titlecased:
32441         * modules/unictype/property-changes-when-uppercased:
32442         * modules/unictype/property-combining:
32443         * modules/unictype/property-composite:
32444         * modules/unictype/property-currency-symbol:
32445         * modules/unictype/property-dash:
32446         * modules/unictype/property-decimal-digit:
32447         * modules/unictype/property-default-ignorable-code-point:
32448         * modules/unictype/property-deprecated:
32449         * modules/unictype/property-diacritic:
32450         * modules/unictype/property-extender:
32451         * modules/unictype/property-format-control:
32452         * modules/unictype/property-grapheme-base:
32453         * modules/unictype/property-grapheme-extend:
32454         * modules/unictype/property-grapheme-link:
32455         * modules/unictype/property-hex-digit:
32456         * modules/unictype/property-hyphen:
32457         * modules/unictype/property-id-continue:
32458         * modules/unictype/property-id-start:
32459         * modules/unictype/property-ideographic:
32460         * modules/unictype/property-ids-binary-operator:
32461         * modules/unictype/property-ids-trinary-operator:
32462         * modules/unictype/property-ignorable-control:
32463         * modules/unictype/property-iso-control:
32464         * modules/unictype/property-join-control:
32465         * modules/unictype/property-left-of-pair:
32466         * modules/unictype/property-line-separator:
32467         * modules/unictype/property-logical-order-exception:
32468         * modules/unictype/property-lowercase, modules/unictype/property-math:
32469         * modules/unictype/property-non-break:
32470         * modules/unictype/property-not-a-character:
32471         * modules/unictype/property-numeric:
32472         * modules/unictype/property-other-alphabetic:
32473         * modules/unictype/property-other-default-ignorable-code-point:
32474         * modules/unictype/property-other-grapheme-extend:
32475         * modules/unictype/property-other-id-continue:
32476         * modules/unictype/property-other-id-start:
32477         * modules/unictype/property-other-lowercase:
32478         * modules/unictype/property-other-math:
32479         * modules/unictype/property-other-uppercase:
32480         * modules/unictype/property-paired-punctuation:
32481         * modules/unictype/property-paragraph-separator:
32482         * modules/unictype/property-pattern-syntax:
32483         * modules/unictype/property-pattern-white-space:
32484         * modules/unictype/property-private-use:
32485         * modules/unictype/property-punctuation:
32486         * modules/unictype/property-quotation-mark:
32487         * modules/unictype/property-radical:
32488         * modules/unictype/property-sentence-terminal:
32489         * modules/unictype/property-soft-dotted:
32490         * modules/unictype/property-space:
32491         * modules/unictype/property-terminal-punctuation:
32492         * modules/unictype/property-test, modules/unictype/property-titlecase:
32493         * modules/unictype/property-unassigned-code-value:
32494         * modules/unictype/property-unified-ideograph:
32495         * modules/unictype/property-uppercase:
32496         * modules/unictype/property-variation-selector:
32497         * modules/unictype/property-white-space:
32498         * modules/unictype/property-xid-continue:
32499         * modules/unictype/property-xid-start:
32500         * modules/unictype/property-zero-width, modules/unictype/scripts:
32501         * modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
32502         * modules/unictype/syntax-c-whitespace:
32503         * modules/unictype/syntax-java-ident:
32504         * modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
32505         * modules/unigbrk/u16-grapheme-breaks:
32506         * modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
32507         * modules/unigbrk/u32-grapheme-breaks:
32508         * modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
32509         * modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
32510         * modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
32511         * modules/unigbrk/uc-is-grapheme-break:
32512         * modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
32513         * modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
32514         * modules/unilbrk/u16-width-linebreaks:
32515         * modules/unilbrk/u32-possible-linebreaks:
32516         * modules/unilbrk/u32-width-linebreaks:
32517         * modules/unilbrk/u8-possible-linebreaks:
32518         * modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
32519         * modules/unilbrk/ulc-possible-linebreaks:
32520         * modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
32521         * modules/uniname/uniname, modules/uninorm/base:
32522         * modules/uninorm/canonical-decomposition:
32523         * modules/uninorm/compat-decomposition, modules/uninorm/composition:
32524         * modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
32525         * modules/uninorm/decomposition, modules/uninorm/decomposition-table:
32526         * modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
32527         * modules/uninorm/nfkc, modules/uninorm/nfkd:
32528         * modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
32529         * modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
32530         * modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
32531         * modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
32532         * modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
32533         * modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
32534         * modules/unistdio/base, modules/unistdio/u-printf-args:
32535         * modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
32536         * modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
32537         * modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
32538         * modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
32539         * modules/unistdio/u16-u16-sprintf:
32540         * modules/unistdio/u16-u16-vasnprintf:
32541         * modules/unistdio/u16-u16-vasprintf:
32542         * modules/unistdio/u16-u16-vsnprintf:
32543         * modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
32544         * modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
32545         * modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
32546         * modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
32547         * modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
32548         * modules/unistdio/u32-u32-asnprintf:
32549         * modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
32550         * modules/unistdio/u32-u32-sprintf:
32551         * modules/unistdio/u32-u32-vasnprintf:
32552         * modules/unistdio/u32-u32-vasprintf:
32553         * modules/unistdio/u32-u32-vsnprintf:
32554         * modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
32555         * modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
32556         * modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
32557         * modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
32558         * modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
32559         * modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
32560         * modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
32561         * modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
32562         * modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
32563         * modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
32564         * modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
32565         * modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
32566         * modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
32567         * modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
32568         * modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
32569         * modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
32570         * modules/unistdio/ulc-vsprintf, modules/unistr/base:
32571         * modules/unistr/u16-check, modules/unistr/u16-chr:
32572         * modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
32573         * modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
32574         * modules/unistr/u16-endswith, modules/unistr/u16-mblen:
32575         * modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
32576         * modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
32577         * modules/unistr/u16-move, modules/unistr/u16-next:
32578         * modules/unistr/u16-prev, modules/unistr/u16-set:
32579         * modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
32580         * modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
32581         * modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
32582         * modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
32583         * modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
32584         * modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
32585         * modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
32586         * modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
32587         * modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
32588         * modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
32589         * modules/unistr/u16-strstr, modules/unistr/u16-strtok:
32590         * modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
32591         * modules/unistr/u16-uctomb, modules/unistr/u32-check:
32592         * modules/unistr/u32-chr, modules/unistr/u32-cmp:
32593         * modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
32594         * modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
32595         * modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
32596         * modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
32597         * modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
32598         * modules/unistr/u32-next, modules/unistr/u32-prev:
32599         * modules/unistr/u32-set, modules/unistr/u32-startswith:
32600         * modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
32601         * modules/unistr/u32-strcat, modules/unistr/u32-strchr:
32602         * modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
32603         * modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
32604         * modules/unistr/u32-strdup, modules/unistr/u32-strlen:
32605         * modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
32606         * modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
32607         * modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
32608         * modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
32609         * modules/unistr/u32-strspn, modules/unistr/u32-strstr:
32610         * modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
32611         * modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
32612         * modules/unistr/u8-check, modules/unistr/u8-chr:
32613         * modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
32614         * modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
32615         * modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
32616         * modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
32617         * modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
32618         * modules/unistr/u8-next, modules/unistr/u8-prev:
32619         * modules/unistr/u8-set, modules/unistr/u8-startswith:
32620         * modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
32621         * modules/unistr/u8-strcat, modules/unistr/u8-strchr:
32622         * modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
32623         * modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
32624         * modules/unistr/u8-strdup, modules/unistr/u8-strlen:
32625         * modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
32626         * modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
32627         * modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
32628         * modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
32629         * modules/unistr/u8-strspn, modules/unistr/u8-strstr:
32630         * modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
32631         * modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
32632         * modules/uniwbrk/base, modules/uniwbrk/table:
32633         * modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
32634         * modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
32635         * modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
32636         * modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
32637         * modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
32638         * modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
32639         * modules/uniwidth/width, modules/utf16-ucs4:
32640         * modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
32641         * modules/utf8-ucs4-unsafe:
32642         Change maintainer from Bruno Haible to Daiki Ueno.
32643         This is my guess at the libunistring modules; please feel free
32644         to fix if I guessed incorrectly.
32645         * modules/accept4, modules/acl, modules/acos, modules/acosf:
32646         * modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
32647         * modules/areadlink, modules/array-list, modules/array-mergesort:
32648         * modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
32649         * modules/atan, modules/atan2, modules/atan2f, modules/atanf:
32650         * modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
32651         * modules/binary-io, modules/bison-i18n, modules/btowc:
32652         * modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
32653         * modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
32654         * modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
32655         * modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
32656         * modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
32657         * modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
32658         * modules/chdir, modules/classpath, modules/clean-temp, modules/close:
32659         * modules/closedir, modules/concat-filename, modules/copy-file:
32660         * modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
32661         * modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
32662         * modules/csharpcomp-script, modules/csharpexec:
32663         * modules/csharpexec-script, modules/ctype, modules/diffseq:
32664         * modules/dprintf, modules/dprintf-posix, modules/dup:
32665         * modules/dup2-obsolete, modules/dup3, modules/duplocale:
32666         * modules/eealloc, modules/environ, modules/erf, modules/erfc:
32667         * modules/errno, modules/execute, modules/exp, modules/exp-ieee:
32668         * modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
32669         * modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
32670         * modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
32671         * modules/expm1f, modules/expm1f-ieee, modules/expm1l:
32672         * modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
32673         * modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
32674         * modules/fatal-signal, modules/fbufmode, modules/fchdir:
32675         * modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
32676         * modules/findprog, modules/findprog-lgpl, modules/floor:
32677         * modules/floor-ieee, modules/floorf, modules/floorf-ieee:
32678         * modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
32679         * modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
32680         * modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
32681         * modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
32682         * modules/fprintf-posix, modules/fpucw, modules/fpurge:
32683         * modules/freadable, modules/freadahead, modules/freadptr:
32684         * modules/freadseek, modules/freopen, modules/frexp:
32685         * modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
32686         * modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
32687         * modules/frexpl-nolibm, modules/fseek, modules/fseeko:
32688         * modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
32689         * modules/ftello, modules/full-read, modules/full-write:
32690         * modules/fwritable, modules/fwriteerror, modules/gcd:
32691         * modules/get-rusage-as, modules/get-rusage-data:
32692         * modules/getdtablesize, modules/getrusage, modules/gettext:
32693         * modules/gettext-h, modules/git-merge-changelog, modules/gperf:
32694         * modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
32695         * modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
32696         * modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
32697         * modules/iconv, modules/iconv-h, modules/iconv_open:
32698         * modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
32699         * modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
32700         * modules/imaxdiv, modules/integer_length, modules/integer_length_l:
32701         * modules/integer_length_ll, modules/ioctl, modules/isatty:
32702         * modules/isblank, modules/isnand, modules/isnand-nolibm:
32703         * modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
32704         * modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
32705         * modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
32706         * modules/javaexec, modules/javaexec-script, modules/javaversion:
32707         * modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
32708         * modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
32709         * modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
32710         * modules/lib-symbol-visibility, modules/libsigsegv:
32711         * modules/linked-list, modules/linkedhash-list, modules/list:
32712         * modules/localcharset, modules/locale, modules/localeconv:
32713         * modules/localename, modules/lock, modules/log, modules/log-ieee:
32714         * modules/log10, modules/log10-ieee, modules/log10f:
32715         * modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
32716         * modules/log1p, modules/log1p-ieee, modules/log1pf:
32717         * modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
32718         * modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
32719         * modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
32720         * modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
32721         * modules/logf, modules/logf-ieee, modules/login_tty:
32722         * modules/logl-ieee, modules/malloc-posix, modules/malloca:
32723         * modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
32724         * modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
32725         * modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
32726         * modules/mbscspn, modules/mbsinit, modules/mbslen:
32727         * modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
32728         * modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
32729         * modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
32730         * modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
32731         * modules/memchr-obsolete, modules/memcmp2, modules/minmax:
32732         * modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
32733         * modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
32734         * modules/modfl, modules/modfl-ieee, modules/msvc-inval:
32735         * modules/msvc-nothrow, modules/multiarch, modules/nextafter:
32736         * modules/nl_langinfo, modules/no-c++, modules/nocrash:
32737         * modules/nonblocking, modules/open, modules/opendir, modules/openmp:
32738         * modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
32739         * modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
32740         * modules/posix_spawn, modules/posix_spawn-internal:
32741         * modules/posix_spawn_file_actions_addclose:
32742         * modules/posix_spawn_file_actions_adddup2:
32743         * modules/posix_spawn_file_actions_addopen:
32744         * modules/posix_spawn_file_actions_destroy:
32745         * modules/posix_spawn_file_actions_init:
32746         * modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
32747         * modules/posix_spawnattr_getpgroup:
32748         * modules/posix_spawnattr_getschedparam:
32749         * modules/posix_spawnattr_getschedpolicy:
32750         * modules/posix_spawnattr_getsigdefault:
32751         * modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
32752         * modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
32753         * modules/posix_spawnattr_setschedparam:
32754         * modules/posix_spawnattr_setschedpolicy:
32755         * modules/posix_spawnattr_setsigdefault:
32756         * modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
32757         * modules/pow, modules/powf, modules/printf-frexp:
32758         * modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
32759         * modules/progname, modules/propername, modules/pselect:
32760         * modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
32761         * modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
32762         * modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
32763         * modules/read, modules/readdir, modules/readlink:
32764         * modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
32765         * modules/relocatable-lib-lgpl, modules/relocatable-perl:
32766         * modules/relocatable-prog, modules/relocatable-prog-wrapper:
32767         * modules/relocatable-script, modules/remainder:
32768         * modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
32769         * modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
32770         * modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
32771         * modules/rintl, modules/rintl-ieee, modules/round-ieee:
32772         * modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
32773         * modules/safe-write, modules/sched, modules/servent, modules/setenv:
32774         * modules/setlocale, modules/sh-quote, modules/shutdown:
32775         * modules/signal, modules/signbit, modules/sigpipe:
32776         * modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
32777         * modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
32778         * modules/snippet/arg-nonnull, modules/snippet/c++defs:
32779         * modules/snippet/link-warning, modules/snippet/unused-parameter:
32780         * modules/snprintf, modules/snprintf-posix, modules/spawn:
32781         * modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
32782         * modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
32783         * modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
32784         * modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
32785         * modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
32786         * modules/streq, modules/strerror_r-posix, modules/striconv:
32787         * modules/striconveh, modules/striconveha, modules/strncat:
32788         * modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
32789         * modules/sublist, modules/sys_resource, modules/sys_utsname:
32790         * modules/sys_wait, modules/system-posix, modules/system-quote:
32791         * modules/tan, modules/tanf, modules/tanh, modules/tanhf:
32792         * modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
32793         * modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
32794         * modules/truncf, modules/truncf-ieee, modules/truncl:
32795         * modules/truncl-ieee, modules/ttyname_r, modules/uname:
32796         * modules/unlockpt, modules/unsetenv, modules/vasnprintf:
32797         * modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
32798         * modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
32799         * modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
32800         * modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
32801         * modules/wait-process, modules/waitpid, modules/wcpcpy:
32802         * modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
32803         * modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
32804         * modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
32805         * modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
32806         * modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
32807         * modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
32808         * modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
32809         * modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
32810         * modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
32811         * modules/write, modules/xconcat-filename, modules/xlist:
32812         * modules/xmalloca, modules/xoset, modules/xprintf-posix:
32813         * modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
32814         * modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
32815         * modules/y0, modules/y1, modules/yn:
32816         Remove Bruno Haible as maintainer; if he's the sole maintainer,
32817         change the maintainer to 'all'.  Let's hope someone volunteers.
32819 2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>
32821         mktime: merge #if/#ifdef usage from glibc
32822         * lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
32823         as that works with both Glibc's and Gnulib's style.
32824         See thread starting at Siddhesh Poyarekar's bug report at:
32825         http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html
32827 2014-06-20  Alfred M. Szmidt  <ams@gnu.org>
32829         git-version-gen: improve option descriptions
32830         * build-aux/git-version-gen: Mention that --prefix and --fallback
32831         have a mandatory argument.
32833 2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>
32835         regex: fix memory leak in compiler
32836         Fix by Andreas Schwab in:
32837         https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
32838         * lib/regcomp.c (parse_expression): Deallocate partially
32839         constructed tree before returning error.
32841         regex: merge patch from libc
32842         2014-02-12  Joseph Myers  <joseph@codesourcery.com>
32843         Combine __USE_BSD and __USE_SVID into __USE_MISC.
32844         * lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].
32846 2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>
32848         acl: port to gcc -Wredundant-decls
32849         From a request by Dmitry Antipov in:
32850         http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
32851         * lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
32852         "#ifndef _GL_ACL_H".
32854 2014-06-11  Bruce Korb  <bkorb@gnu.org>
32855         Jim Meyering  <meyering@fb.com>
32857         parse-duration: eliminate 68-year duration limit
32858         * lib/parse-duration.c: Include "intprops.h".
32859         (TIME_MAX): Rename to MAX_DURATION and define to
32860         TYPE_MAXIMUM(time_t).
32861         * modules/parse-duration (Depends-on): Add intprops.
32862         Reported by Jonas 'Sortie' Termansen.
32864 2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32866         pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
32867         * modules/pthread (Depends-on): Add 'extensions', as it defines
32868         _POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
32869         (configure.ac-early): New section.
32870         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
32871         it is no longer needed.
32873 2014-06-14  Pádraig Brady  <P@draigBrady.com>
32875         pthread: define thread-safe macros on some platforms
32876         * m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
32877         for thread-safe operation on some platforms.
32879 2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>
32881         regex: don't be multithreaded if USE_UNLOCKED_IO.
32882         Problem reported by Michael Felt in: http://bugs.gnu.org/17773
32883         * lib/regex_internal.h: Do not use multithreaded version if
32884         USE_UNLOCKED_IO is defined.  This is a hack, but it works
32885         around a porting bug with coreutils 8.22 on AIX 7.1.
32887 2014-06-11  Daiki Ueno  <ueno@gnu.org>
32889         gettext: update macros to version 0.19
32890         * m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
32891         depend on gl_EXTERN_INLINE and drop support for older Bison
32892         versions.
32894 2014-06-10  Pádraig Brady  <P@draigBrady.com>
32896         select,poll: fix console handle check on windows 8
32897         lib/poll.c (IsConsoleHandle): Change from testing the lower
32898         2 bits of the handle to the more expensive but accurate syscall.
32899         lib/select.c: Likewise.
32901 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32903         select: fix waiting on anonymous pipes on MS-Windows
32904         * lib/select.c (rpl_select): Fall back to polling when select()
32905         indicates there is nothing to check, while due to the timeout not
32906         expiring, activity is indicated on one of the handles.
32907         Also clear the TIMEOUT argument if the timer does expire.
32909 2014-06-10  Eli Zaretskii  <eliz@gnu.org>
32911         times: fix to return non constant value on MS-Windows
32912         * lib/times.c (times): Don't use the process creation time,
32913         rather clock() which on windows returns the number of
32914         clock ticks since the process started.
32916 2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>
32918         isatty: fix to work on windows 8
32919         * lib/isatty.c (IsConsoleHandle): Change from testing the lower
32920         2 bits of the handle to the more expensive but accurate syscall.
32922 2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>
32924         maint: fix typo in fdl.texi
32925         * doc/fdl.texi: Fix typo (missing '@').
32926         Somehow this was in fdl.texi but not fdl-1.3.texi.
32928 2014-06-06  Ben Walton  <bdwalton@gmail.com>
32930         mountlist: avoid hasmntopt const type warning on solaris
32931         * lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
32932         with char * instead of const char *.  Passing the constant string
32933         "ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
32934         to avoid the warning.
32936 2014-06-04  Eric Blake  <eblake@redhat.com>
32938         maintainer-makefile: delete obsolete code
32939         * top/maint.mk (build_aux): Drop old code, as threatened.
32941         maintainer-makefile: avoid spurious error messages
32942         * top/maint.mk (syntax-check): Guard definition and use of
32943         $(shell) by whether Makefile is present.
32945 2014-06-03  Ben Walton  <bdwalton@gmail.com>
32947         rename: avoid unused-but-set-variable compiler warning
32948         * lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
32949         it is possible that dst_exists may be set but not used.  Mark it with
32950         the unused attribute to avoid compiler warnings.
32952 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32954         rename: mark a label as potentially unused
32955         * lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
32956         by marking the out label as potentially unused.
32957         * m4/gnulib-common.m4: Mention the need for the trailing ; for C++.
32959 2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>
32961         gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
32962         * m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.
32964 2014-06-02  Ben Walton  <bdwalton@gmail.com>
32966         acl: apply pure attribute to two functions
32967         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
32968         Mark as "pure" as flagged by gcc 4.9 on Solaris 10.
32970 2014-06-01  Pádraig Brady  <P@draigBrady.com>
32972         gnulib-common.m4: add _GL_UNUSED_LABEL
32973         * m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
32974         _GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.
32976 2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>
32978         dup2, fcntl, fcntl-h: port to AIX 7.1
32979         This fixes some porting problems discovered when testing the latest
32980         grep snapshot on AIX 7.1.  I don't think if fixes any bugs
32981         in grep but it could be important for other applications.
32982         * doc/posix-functions/dup2.texi:
32983         * doc/posix-functions/fcntl.texi:
32984         * doc/posix-headers/fcntl.texi:
32985         Document AIX bugs.
32986         * lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
32987         Define to 0 if outside 'int' range.
32988         * m4/dup2.m4 (gl_FUNC_DUP2):
32989         * m4/fcntl.m4 (gl_FUNC_FCNTL):
32990         Check for getdtablesize.  If it's available, test a value just
32991         outside its range instead of testing 1000000.  When cross-compiling,
32992         guess that AIX will fail this improved test.
32994 2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>
32996         printf, config.rpath: Port to FreeBSD 10.
32997         Problem reported by Tijl Coosemans in:
32998         http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
32999         * build-aux/config.rpath (hardcode_libdir_flag_spec)
33000         (hardcode_direct): Simplify FreeBSD configuration.
33001         (library_names_spec): Don't mishandle FreeBSD 10+.
33002         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
33003         (gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
33004         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
33005         (gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
33006         Don't mishandle FreeBSD 10+ when cross-compiling.
33008         ftoastr: work around compiler bug in IBM xlc 12.1
33009         * lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
33010         (_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
33011         around a compiler bug in IBM xlc 12.1.0.0: it complains
33012         '"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
33013         _GL_FLT_PREC_BOUND.'
33015 2014-05-30  Kieran Colford  <colfordk@gmail.com>
33017         valgrind-tests: fixed misleading help message
33018         * m4/valgrind-tests.m4: The help message generated by configure
33019         implied that valgrind was disabled by default, which it wasn't.
33020         Adjusted the help message using s/enable/disable/ to clarify.
33022 2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>
33024         isfinite, isinf, isnan tests: fix for little-endian PowerPC
33025         * tests/test-isfinite.c (test_isfinitel): Only manipulate the
33026         first double of a PowerPC "double double" pair.
33027         * tests/test-isinf.c (test_isinfl): Likewise.
33028         * tests/test-isnan.c (test_long_double): Likewise.
33029         * tests/test-isnanl.h (main): Likewise.
33030         * tests/test-signbit.c (test_signbitl): Likewise.
33032 2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>
33034         exclude-tests: port to AIX 7.1
33035         * modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
33036         Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
33037         the regex code uses locks.
33039 2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>
33041         pthread_sigmask, timer-time: use gl_THREADLIB only if needed
33042         Without this fix, Emacs would sometimes call sigprocmask instead
33043         of pthread_sigmask, which is a no-no in multithreaded applications.
33044         Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
33045         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
33046         Suppress check for pthread_sigmask working without -lpthread if
33047         the application always links with -lpthread.  Do not link with
33048         $LIBMULTITHREAD if gl_THREADLIB is not defined.
33049         * m4/timer_time.m4 (gl_TIMER_TIME):
33050         Require gl_THREADLIB only if it is defined.  Do not append
33051         $LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.
33053 2014-05-27  Sylvain Beucler  <beuc@beuc.net>.
33055         gnulib-tool: wget translations using --no-verbose rather than --quiet
33056         This allows the user to see error messages if any (--quiet hides them)
33057         * gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.
33059 2014-05-27  Sylvain Beucler  <beuc@beuc.net>
33061         gnulib-tool: adjust translation wget to avoid a https redirection
33062         Context: http://translationproject.org/latest/gnulib redirects to
33063            https://translationproject.org/latest/gnulib/
33064         Rationale: if the user falls back to wget, she doesn't have rsync and
33065         is probably in a minimal build environment, where packages such as
33066         'ca-certificates' are missing as well, resulting in a failed (and
33067         difficult to detect since ignored) translation initial fetch.
33068         Consequently let's avoid https if possible, and add the missing
33069         trailing slash.  This also avoids an unnecessary 302 redirection.
33070         * gnulib-tool: Add trailing slash to gnulib URL.
33072 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33074         getlogin_r-tests: check return value rather than errno
33075         * tests/test-getlogin_r.c (main): As per POSIX we should be
33076         verifying the return value from getlogin_r() rather than errno.
33078 2014-05-22  Pádraig Brady  <P@draigBrady.com>
33080         getlogin_r-tests: fix various issues in recent change
33081         * tests/test-getlogin_r.c: Include required headers that were
33082         missed in recent commit eec20b4e.
33083         Also consistently check the errno rather than the return value from
33084         getlogin_r as POSIX only specifies that non zero is returned on error.
33085         * modules/getlogin_r-tests (configure.ac): Add the check for ttyname().
33087 2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>
33089         fchdir: port 'open' and 'close' redefinitions to AIX 7.1
33090         * lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
33091         * lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
33092         * lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
33093         * lib/spawn-pipe.c:
33094         Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
33095         and then 'int open64(const char *, int, ...);', which means the
33096         declaration for 'open' gets lost if we later '#undef open'.
33097         Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
33098         where the compilation reported the non-fatal error "In function
33099         'openat_proc_name' ... warning: implicit declaration of function
33100         'open'".  In this case the error is relatively harmless, but in
33101         other cases it might not be so minor.
33103 2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>
33105         xalloc: don't potentially generate invalid code for xmemdup calls
33106         * lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
33107         this function can initialize the newly-allocated storage with new
33108         pointers, which means this function is not malloc-like.  See:
33109         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955
33111 2014-05-19  Pádraig Brady  <P@draigBrady.com>
33113         getlogin_r-tests: avoid false failure under sudo/ssh etc.
33114         * tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
33115         changes from commit 97249cf29 to not depend on environment variables.
33117 2014-05-18  Pádraig Brady  <P@draigBrady.com>
33119         getlogin-tests: avoid false failure under cron
33120         * tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
33121         since that's not what's under test.  Centos 6 was seen to return
33122         EINVAL for ttyname() when run from cron.
33124 2014-05-16  Jim Meyering  <meyering@fb.com>
33126         mbrtowc.m4: fix a comment typo
33127         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
33128         emitted documentation string.
33130 2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>
33132         mbrlen, mbrtowc: fix bug with empty input
33133         * lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
33134         * m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
33135         so this is mainly for documentation.
33136         * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
33137         (gl_FUNC_MBRTOWC): Use it.
33138         * tests/test-mbrtowc.c (main): Test for the bug.
33140 2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>
33142         doc: document mbrtowc and mbrlen problem with empty input
33143         * doc/posix-functions/mbrlen.texi (mbrlen):
33144         * doc/posix-functions/mbrtowc.texi (mbrtowc):
33145         Document portability problem when the input string is empty.  See:
33146         https://sourceware.org/bugzilla/show_bug.cgi?id=16950
33148         doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
33149         Problem reported by Eli Zaretskii in:
33150         http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
33151         * doc/posix-functions/execl.texi (execl):
33152         * doc/posix-functions/execle.texi (execle):
33153         * doc/posix-functions/execlp.texi (execlp):
33154         * doc/posix-functions/execv.texi (execv):
33155         * doc/posix-functions/execve.texi (execve):
33156         * doc/posix-functions/execvp.texi (execvp):
33157         Mention spawn+exit problem on non-Cygwin Windows platforms.
33159 2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>
33161         getlogin-tests: avoid false failure under sudo/ssh etc.
33162         * modules/getlogin-tests (configure.ac): Check for ttyname().
33163         * tests/test-getlogin.c (main): Don't depend on environment variables
33164         to correlate with getlogin(), since sudo and ssh etc. can tamper
33165         with the LOGNAME and USER env vars.  Instead lookup the name from
33166         the uid associated with the stdin tty.
33168 2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>
33170         mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
33171         These were found when building the latest grep snapshot on IRIX 6.5.
33172         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
33173         "b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
33174         never used later.
33175         * lib/quotearg.c (quoting_options_from_style):
33176         * lib/xstrtol.c (__xstrtol):
33177         Use enum instead of 0, to pacify IRIX 6.5 cc.
33179 2014-04-18  Pádraig Brady  <P@draigBrady.com>
33181         gitlog-to-changelog: revert inclusion of git-log-fix file
33182         * build-aux/git-log-fix: Delete dummy file.
33183         * modules/gitlog-to-changelog: Don't reference (overwrite)
33184         the project specific git-log-fix file.
33186 2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>
33188         maint.mk: Relax the copyright check to cater for non FSF projects
33189         * top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
33190         to not require the "Free" suffix after the copyright years.
33192 2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>
33194         physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
33195         * lib/physmem.c (physmem_total): Some systems like musl libc don't yet
33196         support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
33197         if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
33198         (physmem_available): Likewise for _SC_AVPHYS_PAGES.
33200 2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>
33202         exclude: port to strict C99
33203         Strict C does not allow converting a function pointer to void *
33204         and vice versa.  Pass a pointer to a function pointer instead.
33205         * lib/exclude.c (add_exclude_file):
33206         Pass the address of the function pointer.
33207         (call_addfn): And deference the address here, to match.
33209 2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>
33211         regex: do not depend on malloc-gnu
33212         * modules/regex (Depends-on): Remove malloc-gnu.
33213         It's no longer needed, because of the 2012-12-29 patch
33214         "regex: port to hosts where malloc (0) == NULL".
33215         Reported by Nathan Kennedy in:
33216         http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html
33218 2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>
33220         expl: avoid incorrect expl(small_value) on OpenBSD 5.4
33221         * m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
33222         * doc/posix-functions/expl.texi: Mention the workaround.
33224 2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>
33226         xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
33227         * lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
33228         size to be zero even when the pointer is nonnull.  This
33229         accommodates the use case where P is malloc (0) and *PN is 0 on a
33230         host where malloc (0) yields nonnull.
33232 2014-04-09  Eric Blake  <eblake@redhat.com>
33234         fts: avoid unnecessary strlen calls
33235         * lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.
33237 2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>
33239         fts: avoid unnecessary strlen calls
33240         * lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
33241         when that can be faster than strlen.
33243 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33245         fts: avoid unnecessary strlen calls
33246         * lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
33247         (fts_build): Store the length of the dp->d_name entry in a local variable
33248         instead of calling strlen() several times via the above, removed macro.
33249         For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
33250         run by ~4%, yet this reduces the execution time by about a third if run
33251         via "ltrace -c rm -rf some-dir".
33253 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33255         obstack: Remove ancient NeXTSTEP gcc support conditional
33256         This change will ease merging with glibc.  The "#if ... __NEXT__"
33257         causes a warning with -Wundef which glibc now enables by default.
33258         Problem reported by Will Newton in
33259         <http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
33260         glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
33261         so go with that.
33262         * lib/obstack.h (__extension__):
33264 2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>
33266         obstack: merge with glibc changes
33267         * lib/obstack.c, lib/obstack.h: Merge from glibc.
33268         This is mostly indenting and commentary changes.
33269         Instances of 'register' have been removed.
33271 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33273         strftime: wrap macros in "do {...} while(0)"
33274         * lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
33275         this macro in "do {...} while(0)" to prevent false use as a
33276         single statement, e.g., in an un-braced "{}" else-block.
33277         (DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
33278         (strftime_case_): Remove 'else' after 'goto' - which was the
33279         only non-fatal, un-braced use of one of the above macros.
33280         Spotted by coverity (NESTING_INDENT_MISMATCH).
33282 2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>
33284         modechange: avoid memory leaks for invalid octal modes
33285         * lib/modechange.c (mode_compile): During the parsing of
33286         notations like +40, free the 'mc' buffer for invalid mode
33287         strings like +17777 (greater than the maximum octal mode),
33288         =18 (bad octal mode characters) or u=1 ('affected' with
33289         octal modes).
33290         Reproducer, e.g.:
33291             $ valgrind --leak-check=full chmod +17777 file
33292         Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
33293         add notations +40, 00440, etc.".
33294         Spotted by coverity (RESOURCE_LEAK).
33296 2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>
33298         gitlog-to-changelog: include a dummy git-log-fix file
33299         Problem reported by Nathan Stratton Treadway in:
33300         http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
33301         * build-aux/git-log-fix: New file.
33303 2014-03-13  Jim Meyering  <meyering@fb.com>
33305         gitlog-to-changelog: also include the file, git-log-fix
33306         * modules/gitlog-to-changelog (Files): Add git-log-fix.
33307         Reported by Assaf Gordon.
33309 2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>
33311         regex: port to OS X 10.8.5 en_US.UTF-8 locale
33312         This fixes a bug when ignoring case and when comparing the
33313         titlecase letter 'Lj' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
33314         LETTER J) to the corresponding uppercase letter 'LJ' (U+01C7 LATIN
33315         CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
33316         titlecase letter is neither lowercase nor uppercase, but
33317         uppercasing the titlecase letter (via towupper) yields the
33318         uppercase letter, so the two letters should match when ignoring case.
33319         Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
33320         * lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
33321         Don't test whether a character is lowercase before uppercasing it.
33323 2014-03-04  Kevin Cernekee  <cernekee@gmail.com>
33325         stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
33326         This is basically one of the options Bruno Haible proposed in:
33327         http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
33328         * lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
33329         * lib/stdint.in.h: Use it.
33330         * modules/stdint (Depends-on): Add sys_types.
33332 2014-02-26  Pádraig Brady  <P@draigBrady.com>
33334         parse-datetime: fix crash or infloop in TZ="" parsing
33335         * lib/parse-datetime.y (parse_datetime): Break out of the
33336         TZ="" parsing loop once the second significant " is found.
33337         Also skip over any subsequent whitespace to be consistent
33338         with the non TZ= case.
33339         * tests/test-parse-datetime.c: Add test cases for TZ="" parsing.
33341 2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>
33343         savedir: new symbol for fast-read version
33344         * lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
33345         like GNU cp that want to use SAVEDIR_SORT_INODE if available,
33346         SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
33347         http://lists.gnu.org/r/coreutils/2014-02/msg00037.html
33349 2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>
33351         unistd: port readlink to Mac OS X 10.3.9
33352         * lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
33353         around self-include problem in Mac OS X 10.3.9 when combined with
33354         readlink module.  Problem reported by Klaus Zietler in
33355         <http://bugs.gnu.org/16825>.
33357 2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>
33359         diffseq: remove TOO_EXPENSIVE heuristic
33360         Problem with diffutils reported by Vincent Lefevre in
33361         <http://bugs.gnu.org/16848>.  The simplest solution is to remove
33362         the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
33363         Although appropriate for circa-1993 hardware, these days the heuristic
33364         seems to be more trouble than it's worth.
33365         * lib/diffseq.h: Modernize citations.
33366         (struct context): Remove member too_expensive.
33367         All uses changed.
33368         (struct partition): Remove members lo_minimal, hi_minimal.
33369         All uses changed.
33370         (diag, compareseq): Remove arg find_minimal.  All uses changed.
33371         (diag): Remove the TOO_EXPENSIVE heuristic that I added back in
33372         1993 to make 'diff' run faster (but not as well) on large inputs.
33373         These days, computers are fast enough that it's typically better
33374         to run slower but more accurately.
33375         * lib/fstrcmp.c: Remove duplicate comment.
33376         * lib/fstrcmp.c (strcmp_bounded):
33377         * lib/git-merge-changelog.c (compute_differences):
33378         Adjust to diffseq.h changes.
33379         * NEWS: Document the change.
33381         savedir: simplify by using stpcpy
33382         * lib/savedir.c (direntry_t): Remove size member.  All uses removed.
33383         (streamsavedir): Use stpcpy instead.
33384         * modules/savedir (Depends-on): Add stpcpy.
33386 2014-02-21  Pádraig Brady  <P@draigBrady.com>
33388         spawn: fix link error on uclibc
33389         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
33390         to incorporate -lrt if needed (on uclibc for example).
33391         * modules/posix_spawn: Reference the substituted LIB.
33393 2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
33394         timer: fix uClibc detection of threading
33395         * m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
33396         enabled in uClibc.
33398 2014-02-21  Eric Blake  <eblake@redhat.com>
33400         maintainer-makefiles: provide AC_PROG_SED for older autoconf
33401         * m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.
33403 2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>
33405         exclude: add support for posix regexps
33407         This commit adds support for POSIX extended regular expressions
33408         and fixes a long-standing memory leak (pattern buffer was never
33409         freed).  It also implements a new interface function to read
33410         exclude patterns from a FILE, which passes an additional parameter
33411         to its callback function, thereby allowing to preserve its state
33412         between invocations.
33414         * lib/exclude.c (struct patopts): Pack regex and pattern into union.
33415         (pattern_buffer): New struct.
33416         (exclude): New member patbuf.
33417         (exclude_add_pattern_buffer): New function.
33418         (free_exclude_segment): Free regexps.
33419         (free_exclude): Free allocated pattern buffers.
33420         (exclude_patopts): New function.
33421         (file_pattern_matches): Use exclude_patopts.
33422         (add_exclude): support regexps.
33423         (add_exclude_fp): New function.
33424         (add_exclude_file): Rewrite using add_exclude_fp.
33425         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33426         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33427         (add_exclude_fp)
33428         (add_exclude_file): Rewrite using add_exclude_fp.
33429         (fnmatch_pattern_has_wildcards): Support posix extended regexps.
33430         * lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
33431         (add_exclude_fp)
33432         (exclude_add_pattern_buffer): New prototypes.
33433         * modules/exclude: Depends on regex and filename.
33435 2014-02-20  Eric Blake  <eblake@redhat.com>
33437         maintainer-makefiles: use $(SED) for syntax check
33438         * modules/maintainer-makefile (configure.ac): Check for sane sed.
33439         * top/maint.mk: Change sed to $(SED).
33441 2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
33442             Paul Eggert  <eggert@cs.ucla.edu>
33444         savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
33445         Patch based on an idea by Dick Streefland in
33446         <https://savannah.gnu.org/patch/?7892>.
33447         * NEWS: Document this.
33448         * lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
33449         (direntry_t, comparison_function): New types.
33450         (direntry_cmp_name): New function.
33451         (direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
33452         (streamsavedir, savedir): New arg OPTION.
33453         (streamsavedir): Simplify memory allocation.
33454         (fdsavedir): Remove.
33455         * lib/savedir.h (enum savedir_option): New type.
33456         (streamsavedir, savedir): New arg OPTION.
33457         (fdsavedir): Remove.
33459 2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>
33461         file-type: add support for doors and other less-common file types
33462         Problem with S_ISDOOR reported by Rich Burridge.
33463         * lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
33464         macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
33465         S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.
33467 2014-01-23  Eric Blake  <eblake@redhat.com>
33469         pthread: work around winpthread header pollution on mingw
33470         * lib/time.in.h: Move pthread workarounds...
33471         * lib/pthread.in.h: ...here.
33472         * m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
33473         detect macro pollution on mingw.
33474         * doc/posix-headers/pthread.texi (pthread.h): Document the problems.
33476 2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>
33478         qacl: check for fchmod
33479         * m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
33480         and qset-acl.c both use HAVE_FCHMOD.
33482 2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>
33484         fdopen-tests: port to Tru64
33485         * tests/test-fdopen.c (main): Don't invoke fdopen on a file
33486         descriptor that is not open, as POSIX doesn't specify the
33487         resulting behavior and the test does not work on Tru64.
33488         Problem reported by Steven M. Schweda in:
33489         http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html
33491         stdalign: port to HP-UX compilers
33492         * lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
33493         if __HP_cc or __HP_aCC are nonzero.
33495 2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>
33497         strtoimax: port to platforms lacking 'long long'
33498         VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
33499         check whether strtoll is declared, which causes the C file to
33500         wrongly report an error.  Problem reported by Steven M. Schweda in:
33501         http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
33502         * lib/strtoimax.c (strtoull):
33503         Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
33504         (strtoll): Declare only if HAVE_LONG_LONG_INT.
33506 2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)
33508         relocatable-perl: fix texi syntax
33509         * doc/relocatable-maint.texi: Escape braces.
33511 2014-01-09  Reuben Thomas  <rrt@sc3d.org>
33513         relocatable-perl: like relocatable-script, but for Perl scripts
33514         * build-aux/relocatable.pl.in: Add.
33515         * doc/relocatable-maint.texi: Add documentation.
33516         * modules/relocatable-perl: Add.
33518 2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>
33520         tests: fix export bug in previous patch
33521         Problem reported by Jim Meyering.
33522         * tests/init.sh (re_shell): New var, which is exported instead of
33523         re_shell_.
33525         tests: simplify porting to Solaris 10 /bin/sh
33526         Some test cases in 'grep' need a shell that groks '$(';
33527         export re_shell_ for their benefit.  Problem reported for 'grep'
33528         by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
33529         * tests/init.sh (re_shell_): Export if it's used.
33531 2014-01-06  Eric Blake  <eblake@redhat.com>
33533         md5, sha1, sha256, sha512: support older autoconf
33534         * m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
33535         for autoconf < 2.63b.
33537         include_next: port to autoconf 2.63
33538         * m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.
33540 2014-01-04  Jim Meyering  <meyering@fb.com>
33542         maint: add a gnulib-local rule to keep non-ascii out of .texi files
33543         * cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
33544         so that "make sc_maint" will ding anyone who puts non-ascii
33545         in any of gnulib's .texi files.
33547 2014-01-03  Jim Meyering  <meyering@fb.com>
33549         freadable, fwritable, fwriting: declare with the "pure" attribute
33550         * lib/freadable.h (freadable): Declare with the "pure" attribute.
33551         * lib/fwritable.h (fwritable): Likewise.
33552         * lib/fwriting.h (fwriting): Likewise.
33553         Suggested by Bruno Haible.
33555         maint.mk: adapt openat.h-include-without-use test
33556         * top/maint.mk (sc_prohibit_openat_without_use): Also check for
33557         FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
33558         failing on gnulib's own lib/{chmod,chown,stat}at.c files.
33559         With this change, running "make sc_maint" in gnulib's top-level
33560         directory now passes for me.
33562 2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>
33564         doc: use ASCII in .texi files where UTF-8 isn't needed
33565         * doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
33566         * doc/posix-functions/setkey.texi, doc/regex.texi:
33567         Use ASCII input, not UTF-8.
33569 2014-01-02  Jim Meyering  <meyering@fb.com>
33571         freading: declare with the "pure" attribute
33572         * lib/freading.h (freading): Declare with the "pure" attribute.
33574         manywarnings: remove -Wmudflap
33575         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
33576         it is no longer supported in gcc-4.9-to-be.
33578 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33580         relocatable-script: remove unused code
33581         Problem reported by Reuben Thomas in:
33582         http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
33583         * build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.
33585 2014-01-01  Jim Meyering  <meyering@fb.com>
33587         maint: fix public-submodule-commit to work with newer git
33588         * top/maint.mk (public-submodule-commit): Remove excess quoting.
33589         We were over-quoting the test arguments, and somewhere prior to
33590         version 1.8.5.2.229, git stopped removing those excess quotes,
33591         which made the test fail, since the unexpanded strings would
33592         always differ; using GIT_TRACE=1 confirmed that the git merge-base
33593         command wasn't even being run.
33595 2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>
33597         doc: update main copyright year
33598         * doc/gnulib.texi: Update copyright date.
33600 2014-01-01  Eric Blake  <eblake@redhat.com>
33602         version-etc: new year
33603         * lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
33604         * all files: run 'make update-copyright'
33606 2013-12-24  Eric Blake  <eblake@redhat.com>
33608         passfd: give nicer error for recvfd at eof
33609         * lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
33610         * tests/test-passfd.c (main): Enhance test to cover this.
33612 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33614         gettimeofday: port recent C++ fix to Emacs
33615         Without this further patch, Emacs won't build due to
33616         the portcheck failing.  Also, this simplifies the patch a bit.
33617         * lib/time.in.h (localtime, gmtime): Don't replace unless
33618         GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
33619         * lib/time.in.h (localtime, gmtime):
33620         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
33621         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33622         * modules/time (time.h):
33623         Don't worry about the possibility of localtime and gmtime
33624         being absent; they're present in all C libraries we know about.
33625         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
33626         Don't assume sys_time is present and has been initialized.
33627         Instead, use a hack that should work even if it hasn't been.
33628         Don't use a portcheck for gmtime or localtime; this supports
33629         the hack.
33630         * modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.
33632 2013-12-17  John W. Eaton  <jwe@gnu.org>
33634         gettimeofday: fix C++ crosscompilation
33636         Never replace gmtime and localtime by macros when compiling with
33637         C++, this prevents <ctime> from being included.
33639         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
33640         define gmtime and localtime as preprocessor macros.  Instead
33641         define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
33642         REPLACE_LOCALTIME substitutions.
33643         * lib/time.in.h: Declare gmtime and localtime when needed.
33644         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
33645         HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
33646         * modules/time: Depend on gettimeofday, and substitute the above
33647         variables in time.h.
33649 2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>
33651         qacl: port to Windows better
33652         See Eli Zaretskii in
33653         <http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
33654         * lib/file-has-acl.c (acl_access_nontrivial):
33655         Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
33656         !HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.
33658 2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>
33660         md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
33661         * lib/gl_openssl.h: Cast void pointers to a specific type.
33663 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33665         open-tests: fix build failure with -Werror=old-style-declaration
33666         * tests/test-open.h: Reorder the inline to avoid the issue.
33668 2013-12-07  Pádraig Brady  <P@draigBrady.com>
33670         md5, sha1, sha256, sha512: fix link error with partial libcrypto
33671         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
33672         init time, so that if early checks find crypto routines,
33673         while the last does not, then @LIB_CRYPTO@ is replaced correctly,
33674         avoiding link failures.
33676 2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33678         md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
33679         This provides a new way to specify the default for
33680         gl_CRYPTO_CHECK, one that is reflected in the --help message.
33681         Emacs uses this, as well as the old way.
33682         This attempts to implement a suggestion by Pádraig Brady in
33683         <http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
33684         * m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
33685         (gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.
33687         md5, sha1, sha256, sha512: add 'auto', and a way to specify default
33688         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
33689         Add support for a new option, --with-openssl=auto, which causes
33690         the library to be used if available and silently ignored if not.
33691         Add support to allow configure.ac to specify its own
33692         default, by setting with_openssl_default before invoking gl_INIT.
33694 2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33696         open-tests: port to glibc with _FORTIFY_SOURCE and -O1
33697         Problem reported by Daiki Ueno in:
33698         http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
33699         * tests/test-open.h (__always_inline):
33700         New macro, if not already defined.
33701         (test_open): Use it.
33703 2013-12-04  Eric Blake  <eblake@redhat.com>
33705         include_next: minimize code duplication
33706         * modules/include_next (Depends-on): Add absolute-header.
33707         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
33708         gl_ABSOLUTE_HEADER_ONE instead of open-coding it.
33710 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33712         getcwd: fix compile error in configure check
33713         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h
33715 2013-12-04  Pádraig Brady  <P@draigBrady.com>
33717         regex: suppress core dumps from detection code
33718         * m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
33719         to suppress core dumps that may well occur on glibc systems.
33720         These core dumps might not be cleaned up automatically, or could
33721         trigger some system core dump handling logic.
33723 2013-12-03  Pádraig Brady  <P@draigBrady.com>
33725         md5, sha1, sha256, sha512: support mandating use of openssl
33726         * m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
33727         description, to list the now 3 separate options.  also don't
33728         mention the default=no, since this is implicit given the option
33729         is described as --with-openssl rather than --without-openssl.
33730         If projects change the default they're free to document that.
33731         with --with-openssl[=yes] we now error out when the specified
33732         hash algorithm is not available in libcrypto.
33734 2013-12-03  Ivailo  <xakepa10@gmail.com>
33736         test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
33737         * tests/test-xvasprintf.c: Disable -Wformat-zero-length and
33738         -Wformat-nonliteral checks, as these edge cases are part of the test.
33740 2013-12-03  Eric Blake  <eblake@redhat.com>
33742         regex: avoid glibc deadlock during configure
33743         * m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
33744         glibc bug 15078 in turn triggers bug 16159.
33745         Reported by Michal Privoznik.
33747 2013-12-02  Pádraig Brady  <P@draigBrady.com>
33749         md5, sha1, sha256, sha512: use openssl routines if available.
33750         --with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
33751         routines will be used if available, requiring apps to link @LIB_CRYPTO@
33752         * lib/gl_openssl.h: Provide wrappers for specified openssl hash.
33753         * m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
33754         in the standard system location.
33755         * m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
33756         * m4/sha256.m4: Likewise with SHA256.
33757         * m4/sha512.m4: Likewise with SHA512.
33758         * m4/md5.m4: Likewise with MD5.
33759         * m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
33760         * lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
33761         * lib/sha256.h: Likewise with SHA256.
33762         * lib/sha512.h: Likewise with SHA512.
33763         * lib/md5.h: Likewise with MD5.
33764         * lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
33765         * lib/sha256.c: Likewise with SHA256.
33766         * lib/sha512.c: Likewise with SHA512.
33767         * lib/md5.c: Likewise with MD5.
33768         * modules/crypto/sha1 (Link:): Add the new optional lib.
33769         (Depends-on:): Add dependency on extern-inline.
33770         * modules/crypto/sha256: Likewise.
33771         * modules/crypto/sha512: Likewise.
33772         * modules/crypto/md5: Likewise.
33773         * modules/crypto/sha1-tests: Reference the lib here too.
33774         * modules/crypto/md5-tests: Likewise.
33775         * modules/crypto/gc-des-tests: Likewise.
33776         * modules/crypto/gc-hmac-md5-tests: Likewise.
33777         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33778         * modules/crypto/gc-hmac-sha256-tests: Likewise.
33779         * modules/crypto/gc-hmac-sha512-tests: Likewise.
33780         * modules/crypto/gc-md5-tests: Likewise.
33781         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33782         * modules/crypto/gc-sha1-tests: Likewise.
33783         * modules/crypto/gc-tests: Likewise.
33784         * modules/crypto/hmac-md5-tests: Likewise.
33785         * modules/crypto/hmac-sha1-tests: Likewise.
33786         * modules/crypto/hmac-sha256-tests: Likewise.
33787         * modules/crypto/hmac-sha512-tests: Likewise.
33789 2013-11-29  RV1971  <rv1971@web.de>
33791         base64: (trivial) fix compilation regression on some compilers
33792         * lib/base64.c: Don't return the void function,
33793         instead split to a separate return statement.
33795 2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>
33797         ignore-value: revert previous code change
33798         * lib/ignore-value.h (ignore_value): Use __extension__ and
33799         __typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
33800         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
33801         Change the comment to try to explain this better.
33803 2013-11-27  Pádraig Brady  <P@draigBrady.com>
33805         selinux-h: improve stub types and add more stub functions
33807         * lib/se-selinux.in.h: Change security_context_t to a typedef
33808         rather than a define, as it's a pointer type and so is better
33809         as a typedef to avoid issues declaring multiple variables
33810         with the comma operator.  Also add stub for string_to_security_class().
33811         * lib/se-context.in.h: Add stub functions for
33812         context_{type,range,role,user}_get().
33814 2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33816         ignore-value: prefer GCC version back through 2.0
33817         The code didn't match the comments, so I did a bit of software
33818         archaeology.  GCC 2.0 seems to support __extension__ and
33819         __typeof__, so fix both code and comments to use 2.0.
33820         * lib/ignore-value.h (ignore_value): Use __extension__ and
33821         __typeof__ for GCC 2.0 through 3.3, too.
33823 2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>
33825         pty: Activate the signature wrapper of forkpty.
33826         The intended preprocessor macro HAVE_FORKPTY is
33827         never defined, yet `lib/forkpty.c' depends on it.
33829         * m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
33830         apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
33831         $HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.
33833 2013-11-18  Jim Meyering  <meyering@fb.com>
33834         and Paul Eggert  <eggert@cs.ucla.edu>
33836         quotearg: don't attempt to store 1 << 31 into an "int"
33837         * lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
33838         gcc's new -fsanitize=undefined and running its tests triggered some
33839         new test failures due to undefined behavior, all with this diagnostic:
33840           lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
33841             cannot be represented in type int
33842         Rather than shifting "1" left to form a mask, shift the bits right and
33843         simply use "1" as the mask.
33845 2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>
33847         error: depend on stdio
33848         Problem reported by Nikos Mavrogiannopoulos in
33849         <http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
33850         * modules/error (Depends-on): Add stdio.
33852 2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>
33854         * doc/relocatable-maint.texi (Supporting Relocation): Improve
33855         wording.
33856         Reported by Reuben Thomas <rrt@sc3d.org>.
33858 2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>
33860         * lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
33861         New function and macro, to work around _DARWIN_C_SOURCE problem.
33862         Reported by Jack Howarth in <http://bugs.gnu.org/14463>.
33864 2013-11-11  Pádraig Brady  <P@draigBrady.com>
33866         base64: provide a fast path for encoding well sized buffers
33867         Avoid conditionals in the base64 encoding loop,
33868         which was seen to give 60% better throughput.
33869         * lib/base64.c (base64_encode_fast): A new function to be called
33870         when we don't want to NUL terminate, and we have enough space
33871         in the output to encode the given input.
33872         (base64_encode): Call the _fast() version when appropriate.
33873         Also remove a redundant mask with 0x3F on the first encoded byte.
33875 2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33877         extern-inline: port better to OS X 10.9
33878         * m4/extern-inline.m4: Omit serial number; this file doesn't use them.
33879         (gl_EXTERN_INLINE): Do not suppress the use of extern inline on
33880         OS X 10.9, except for g++ where the bug is still present.
33881         See <http://trac.macports.org/ticket/41033>.
33883 2013-11-08  Eric Blake  <eblake@redhat.com>
33885         fpending: fix regression on DragonFly BSD
33886         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
33887         * lib/fpending.h (__fpending): Don't declare twice.
33888         Reported by GW in
33889         <https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>
33891 2013-11-05  Jim Meyering  <meyering@fb.com>
33893         hash: relax license to LGPLv2+, for libguestfs
33894         * modules/hash (License): Change from GPL to LGPLv2+.
33896 2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33898         intprops: port to Oracle Studio c99
33899         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
33900         Define to 0, to avoid diagnostics when Oracle Studio is pedantic.
33902 2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>
33904         obstack: pacify HP C
33905         * lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
33906         warning "conversion from pointer to smaller integer" from HP
33907         C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
33908         C89 or later nowadays, so cast to void instead of int.  Privately
33909         reported by H.Merijn Brand.  Also, change header to match glibc's,
33910         to make checking against glibc easier.
33912 2013-10-29  Jim Meyering  <meyering@fb.com>
33914         maint.mk: prefer gpgv2 over gpgv
33915         * top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
33916         (gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
33917         Reported by Gary Vaughan.
33919 2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>
33921         isnan: port to VAX
33922         Reported by John Klos for NetBSD-5/VAX in
33923         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
33924         * lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
33925         (FUNC): Use it.
33927 2013-10-28  Jim Meyering  <meyering@fb.com>
33929         gnulib-tool: protect against CDPATH
33930         * gnulib-tool: Many "cd" built-in functions print a directory name
33931         to stdout when CDPATH is set, e.g.,
33932           $ bash -c 'CDPATH=/; cd tmp'
33933           /tmp
33934         Unset it, when possible.  Prompted by a comment from Bruce Korb.
33936         maint.mk: restore functionality removed by recent change...
33937         Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
33938         the context of a shallow-cloned gnulib repository: "git describe"
33939         would fail in such a directory.  However, that change made it so
33940         the reported gnulib revision no longer includes the version number
33941         or a commit count, even when run from a full clone.
33942         * top/maint.mk (gnulib-version): Use the full "git describe"
33943         output when possible, e.g., the form above, rather than the
33944         abbreviated, no-tag, no-commit-count string, and fall back to
33945         using a 10-byte hash, rather than the default minimal-length
33946         hash prefix, since while the minimal-length one may be fine today,
33947         it is likely not to be unique for very long.
33949 2013-10-26  Jim Meyering  <meyering@fb.com>
33951         maint.mk: fix "release" target to build _version
33952         This fixes a bug in README-release whereby following the outlined
33953         steps, one would publish a tarball whose programs would report
33954         --version output not consistent with the package version number.
33955         This bug caused grep-2.15 to produce a grep program whose
33956         --version option made it print 2.14.56-1e3d rather than 2.15.
33957         * top/maint.mk (release): Making this target build "_version"
33958         ensures that the new version number is reflected in configure.
33960 2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>
33962         install-reloc: Support multi-binary installation.
33963         * build-aux/install-reloc: Support installing multiple programs in
33964         one invocation, as done by Automake starting with commit
33965         4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
33966         Haible <bruno@clisp.org>, archived at
33967         http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
33968         Reported by Sylvain <beuc@gnu.org>.
33970 2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
33972         selinux-h: Really build without selinux when library is missing.
33973         * m4/selinux-selinux-h.m4: When the selinux library is missing, really
33974         continue without selinux, as already told in the warning message.
33976 2013-10-21  Jim Meyering  <meyering@fb.com>
33978         regex: also remove dependency on HAVE_WCSCOLL
33979         * lib/regex_internal.h: Remove final vestige of the wcscoll dependency.
33981 2013-10-21  Reuben Thomas  <rrt@sc3d.org>
33983         xfreopen: Fix typo. s/frepoen/freopen/
33984         * lib/xfreopen.c: Fix description.
33985         * modules/xfreopen: Likewise.
33987 2013-10-21  Jim Meyering  <meyering@fb.com>
33989         regex: don't depend on wcscoll
33990         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
33991         It is no longer used.
33993 2013-10-20  Jim Meyering  <meyering@fb.com>
33995         error: add the printf attribute to a static function
33996         * lib/error.c (error_tail): Add the printf attribute, to placate
33997         gcc's -Werror=suggest-attribute=format option.
33999 2013-09-30  Jim Meyering  <meyering@fb.com>
34001         fpending, obstack, strerror-override: use pure+const function attrs
34002         * lib/fpending.h (__fpending): Declare with the "pure" attribute.
34003         * lib/obstack.c (_obstack_allocated_p): Likewise.
34004         * lib/obstack.h (_obstack_memory_used): Likewise.
34005         (_obstack_memory_used): Likewise.
34006         * lib/strerror-override.h (strerror_override): Declare with
34007         the "const" attribute.
34009 2013-10-18  Eric Blake  <eblake@redhat.com>
34011         extern-inline: make safe for -Wundef usage
34012         Reported by Vladimir 'phcoder' Serbinenko in
34013         https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
34014         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.
34016 2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34018         mkfifo-tests, etc.: allow HP-UX 11.11 bug
34019         Problem reported by Daniel Richard G. in
34020         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
34021         * doc/posix-functions/mkfifo.texi (mkfifo):
34022         * doc/posix-functions/mkfifoat.texi (mkfifoat):
34023         * doc/posix-functions/mknod.texi (mknod):
34024         * doc/posix-functions/mknodat.texi (mknodat):
34025         Document the HP-UX 11.11 bug.
34026         * tests/test-mkfifo.h (test_mkfifo):
34027         Allow the HP-UX 11.11 bug.
34029 2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34031         acl: allow cross-compilation to Gentoo
34032         Problem reported by Gabriel Marcano in
34033         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
34034         * m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
34035         test only whether it links.
34037 2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>
34039         mgetgroups: remove dependency on realloc-gnu
34040         The dependency violates the comment in realloc-gnu, which
34041         says that tests can't depend on realloc-gnu; some tests depend
34042         on mgetgroups, so mgetgroups can't depend on realloc-gnu.
34043         Problem reported by Daniel Richard G. in
34044         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
34045         * lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
34046         * modules/mgetgroups (Depends-on): Depend on realloc-posix,
34047         not realloc-gnu.
34049 2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34051         regex-tests: port to HP-UX 11.11
34052         Problem reported by Daniel Richard G. in
34053         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
34054         * modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.
34056 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34058         verify: document some 'assume' pitfalls
34059         * doc/verify.texi (Compile-time Assertions):
34060         Mention that 'assume (E)' can sometimes slow things down.
34061         Use CHAR_MAX + 1, not UCHAR_MAX + 1.
34063 2013-10-10  Eric Blake  <eblake@redhat.com>
34065         strtoumax: fix typo in previous commit.
34066         * modules/strtoumax (Depends-on): Fix typo.
34067         * modules/strtoimax (Depends-on): Likewise.
34069 2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>
34071         strtoumax: port to Solaris 8
34072         This problem was introduced in the recent HP-UX patch.
34073         Reported by Tom G. Christensen in
34074         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
34075         * modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
34076         and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.
34078 2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>
34080         strtoimax, strtoumax: port to HP-UX 11.11
34081         Problem reported by Daniel Richard G. in
34082         <http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
34083         * lib/inttypes.in.h (strtoumax): Replace strtoumax if
34084         REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
34085         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
34086         REPLACE_STRTOUMAX.
34087         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
34088         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
34089         Replace the function if defined as a macro but not as a function.
34090         * modules/inttypes-incomplete (inttypes.h): Substitute
34091         REPLACE_STRTOUMAX.
34092         * modules/strtoumax (configure.ac): Replace strtoumax if
34093         REPLACE_STRTOUMAX.
34095 2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34097         strtoimax: port to HP-UX 11.11
34098         Problem reported by Daniel Richard G.
34099         * lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
34100         (strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
34101         they might clash with inttypes.h.
34103 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34105         New module 'count-trailing-zeros'.
34106         * MODULES.html.sh: Mention it.
34107         * lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
34108         * m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
34109         * modules/count-trailing-zeros-tests:
34110         * tests/test-count-trailing-zeros.c:
34111         New files.
34113         count-leading-zeros: port to MSC; support types wider than 64 bits
34114         The ideas behind the MSC port are stolen from Emacs.
34115         * lib/count-leading-zeros.h:
34116         Don't include verify.h: it's no longer needed, as types wider than
34117         64 bits are now supported.
34118         (COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
34119         performance with MSC.  All uses changed.  Do not assume that TYPE
34120         has at most 64 bits.
34121         (count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
34122         All uses changed.  Fold the subtraction from 31 into the table.
34124         count-one-bits: port to MSC; support types wider than 64 bits
34125         The ideas behind the MSC port are stolen from Emacs.
34126         * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
34127         * lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
34128         Don't include verify.h: it's no longer needed, as types wider than
34129         64 bits are now supported.
34130         (COUNT_ONE_BITS_GENERIC): New macro.
34131         (popcount_supported) [_MSC_VER]: New inline function.
34132         (COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
34133         performance with MSC.  All uses changed.  Do not assume that TYPE
34134         has at most 64 bits.
34135         * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
34137 2013-10-06  Andrew Borodin  <aborodin@vmail.ru>
34139         mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
34140         * lib/mountlist.c (read_file_system_list): fix leak of directory
34141         streams in case of #ifdef MOUNTED_INTERIX_STATVFS.
34143 2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>
34145         tests: improve diagnostic when an assertion fails
34146         * tests/macros.h (ASSERT): Report the assertion that failed.
34148 2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>
34150         verify: new macro 'assume'
34151         This is taken from Emacs, and should be generally useful.
34152         * doc/verify.texi (assume): Document it.
34153         * lib/verify.h (assume): New macro.
34154         (__has_builtin): Expand to 0 if not defined.
34156 2013-09-26  Eric Blake  <eblake@redhat.com>
34158         dup2, dup3: work around another cygwin crasher
34159         * m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
34160         * m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
34161         * tests/test-dup2.c (main): Likewise.
34162         * lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
34163         * lib/dup3.c (dup3): Likewise.
34164         * doc/posix-functions/dup2.texi (dup2): Document it.
34165         * doc/glibc-functions/dup3.texi (dup3): Likewise.
34167         getdtablesize: work around cygwin issue
34168         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
34169         * modules/getdtablesize (configure.ac): Build replacement.
34170         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
34171         * modules/unistd (Makefile.am): Expose the witness.
34172         * lib/unistd.in.h (getdtablesize): Declare replacement.
34173         * lib/getdtablesize.c (rpl_getdtablesize): Work around it.
34174         * tests/test-getdtablesize.c (main): Test it.
34175         * doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.
34177 2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>
34179         pmccabe2html: escaping of special characters
34180         Escape all '<', '>', and '&' in HTML output.
34181         * build-aux/pmccabe2html (html_fnc): Call gsub()
34182         instead of sub() to capture all '<', '>', and '&'.
34183         Neither of '<' and '>' is special in a regexp,
34184         so first arguments to gsub() are corrected. Also,
34185         in replacement strings, ampersand must be escaped.
34186         Finally, '&' must be handled first, then '<' and '>'.
34188 2013-09-24  Eric Blake  <eblake@redhat.com>
34190         manywarnings: enable nicer gcc warning messages
34191         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
34192         some -f options for optimal warnings.
34194 2013-09-21  Jim Meyering  <meyering@fb.com>
34196         timespec: use the new TIMESPEC_RESOLUTION in a few more places
34197         * lib/timespec-add.c (timespec_add): Also replace 999999999
34198         with TIMESPEC_RESOLUTION - 1.
34199         * lib/timespec-sub.c (timespec_sub): Likewise.
34201 2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>
34203         warnings: port --enable-gcc-warnings to Solaris Studio 12.3
34204         Problem reported by Dagobert Michelsen via Eric Blake in
34205         <http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
34206         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
34207         not AC_COMPILE_IFELSE.
34209 2013-09-23  Eric Blake  <eblake@redhat.com>
34211         configmake: support new --runstatedir option
34212         * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
34213         even if autoconf was too old to provide the command line option.
34214         * modules/configmake (Makefile.am): Propagate it to .h file.
34216 2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>
34218         ctype, string: depend on extern-inline
34219         This is needed to complete the recent OS X fixes.
34220         Also, fix related documentation as suggested by Eric Blake.
34221         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34222         * doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
34223         * doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
34224         * doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
34225         * doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
34226         * doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
34227         * doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
34228         * doc/posix-functions/toupper.texi:
34229         List the 'ctype' gnulib module.
34230         * doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
34231         * doc/posix-functions/strncpy.texi:
34232         List the 'string' gnulib module.
34233         * modules/memcpy, modules/memmove, modules/memset (Depends-on):
34234         Add string.
34235         * modules/ctype, modules/string (Depends-on): Add extern-inline.
34237 2013-09-19  Pádraig Brady  <P@draigBrady.com>
34239         userspec: support optional parameters to parse_user_spec()
34240         * lib/userspec.c (parse_user_spec): If the GID param is NULL,
34241         then avoid group processing and treat the full spec as a user.
34242         (parse_with_separator): Allow the USERNAME and GROUPNAME to
34243         be optional params (NULL), in which case they're ignored.
34245 2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>
34247         timespec: new function make_timespec, and new constants
34248         * lib/timespec.h: Incorporate recent changes on the Emacs trunk.
34249         (TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
34250         (make_timespec): New function.
34251         * lib/dtotimespec.c (dtotimespec):
34252         * lib/timespec-add.c (timespec_add):
34253         * lib/timespec-sub.c (timespec_sub):
34254         * lib/utimens.c (validate_timespec):
34255         * lib/utimensat.c (rpl_utimensat):
34256         Use these new constants and functions.
34258         stdio: OS X port of putc_unlocked + extern inline
34259         * lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
34260         * doc/posix-functions/putc_unlocked.texi:
34261         * doc/posix-functions/putchar_unlocked.texi:
34262         Document this portability problem.
34264         signal: OS X port of sigaddset etc. + extern inline
34265         * lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
34266         (sigismember): #undef on problematic Apple platforms.
34267         * doc/posix-functions/sigaddset.texi:
34268         * doc/posix-functions/sigdelset.texi:
34269         * doc/posix-functions/sigemptyset.texi:
34270         * doc/posix-functions/sigfillset.texi:
34271         * doc/posix-functions/sigismember.texi:
34272         Document this portability problem.
34274         extern-inline: do not always suppress extern inline on OS X
34275         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
34276         extern inline on Apple only if the particular compile-time
34277         configuration is known to have the problem.
34278         (_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
34279         (_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
34280         other Gnulib modules.
34282         extern-inline: document fixes for ctype and wctype macros
34283         * doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
34284         * doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
34285         * doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
34286         * doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
34287         * doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
34288         * doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
34289         * doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
34290         * doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
34291         * doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
34292         * doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
34293         * doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
34294         * doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
34295         * doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
34296         * doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
34297         * doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
34298         * doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
34299         * doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
34300         * doc/posix-functions/strncpy.texi:
34301         * doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
34302         * doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
34303         Document that Gnulib fixes portability problems with these
34304         functions on OS X 10.8 and earlier when called from plain inline
34305         or extern inline functions.
34307 2013-09-17  Kevin Cernekee  <cernekee@gmail.com>
34309         fflush, freadahead, fseeko: Fix for Android
34310         Suggested by Bruno Haible in:
34311         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
34312         * lib/stdio-impl.h: Use local __sfileext definition.
34314 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>
34316         pmccabe2html: Portability to other awk versions.
34317         The functions systime() and strftime() are available
34318         in Gawk only.  Properly close two HTML-tags 'style'
34319         and 'span'.
34320         * build-aux/pmccabe2html (BEGIN): Store timing
34321         strings in EPOCH_TIME and CHRONOS_TIME.  Replace
34322         systime() in HTML_COMMENT.
34323         (html_header): Correctly close tag 'style'.
34324         (END): Replace strftime() by CHRONOS_TIME.  Close
34325         tag 'span' correctly, not as 'div'.
34327 2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
34329         getgroups: statement without effect
34330         * lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
34331         Change equality conditional to expected assignment.
34333 2013-09-09  Eric Blake  <eblake@redhat.com>
34335         glob: fix compilation
34336         * lib/glob.in.h (__THROW): Fix missing line in previous commit.
34338 2013-09-07  Eric Blake  <eblake@redhat.com>
34340         glob: fix build for platforms without __THROW
34341         * lib/glob.in.h (__THROW): Add definition again.
34343 2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)
34345         regex-quote: fix buffer access out of bounds
34346         http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
34347         * lib/regex-quote.c (regex_quote_spec_pcre):
34348         Fix typo that resulted in an out-of-bounds read.
34350 2013-09-04  Eric Blake  <eblake@redhat.com>
34352         glob: avoid -Wattribute warnings on glibc
34353         * lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
34354         __THROWNL, not __THROW, on static functions.
34355         * lib/glob.in.h (__THROW): Adjust...
34356         (__THROWNL): ...accordingly.
34358 2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>
34360         headers: check that _GL_INLINE_HEADER_BEGIN is defined
34361         Suggested by Bruce Korb in:
34362         http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
34363         * doc/extern-inline.texi (extern inline):
34364         Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
34365         * lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
34366         * lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
34367         * lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
34368         * lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
34369         * lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
34370         * lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
34371         * lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
34372         * lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
34373         * lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
34374         * lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
34375         * lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
34376         * lib/xtime.h:
34377         Check that _GL_INLINE_HEADER_BEGIN is defined.
34379 2013-08-29  Pádraig Brady  <P@draigBrady.com>
34381         bootstrap: remove the --version requirement from ancillary tools
34382         * build-aux/bootstrap (check_exists): A new refactored function to
34383         determine if a command exists.
34384         (find_tool): Use the new function which does not require the
34385         --version option to be supported.
34386         (check_versions): Use the new function.
34388 2013-08-26  Simon Josefsson  <simon@josefsson.org>
34390         gc: support HMAC-SHA256 and HMAC-SHA512.
34391         * lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
34392         * lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
34393         functions.
34394         (gc_hmac_md5): Use symbolic constant.
34395         * lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
34396         (gc_hmac_sha256, gc_hmac_sha512): New functions.
34397         * lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
34398         * m4/sha256.m4: Protect against empty expansion.
34399         * m4/sha512.m4: Likewise.
34400         * lib/hmac-sha256.c: New file.
34401         * lib/hmac-sha512.c: Likewise.
34402         * m4/gc-hmac-sha256.m4: Likewise.
34403         * m4/gc-hmac-sha512.m4: Likewise.
34404         * m4/gc-sha256.m4: Likewise.
34405         * m4/gc-sha512.m4: Likewise.
34406         * modules/crypto/gc-hmac-sha256: Likewise.
34407         * modules/crypto/gc-hmac-sha256-tests: Likewise.
34408         * modules/crypto/gc-hmac-sha512: Likewise.
34409         * modules/crypto/gc-hmac-sha512-tests: Likewise.
34410         * modules/crypto/hmac-sha256: Likewise.
34411         * modules/crypto/hmac-sha256-tests: Likewise.
34412         * modules/crypto/hmac-sha512: Likewise.
34413         * modules/crypto/hmac-sha512-tests: Likewise.
34414         * tests/test-gc-hmac-sha256.c: Likewise.
34415         * tests/test-gc-hmac-sha512.c: Likewise
34416         * tests/test-hmac-sha256.c: Likewise.
34417         * tests/test-hmac-sha512.c: Likewise
34419 2013-08-24  Daiki Ueno  <ueno@gnu.org>
34421         * m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
34422         of AC_CHECK_DECLS.
34424 2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>
34426         selinux-at: omit unnecessary include
34427         * lib/selinux-at.c: Don't include dosname.h; not needed, since
34428         this source file doesn't use its macros, and subsidiary files that
34429         use the macros already include it.
34431 2013-08-21  Eric Blake  <eblake@redhat.com>
34433         d-ino: avoid false negative on symlink
34434         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
34435         Reported by Stephane Chazelas.
34437 2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)
34439         bootstrap: port to OpenBSD sed
34440         * build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
34441         does not interpret `-' as a file argument to mean stdin.
34443 2013-08-15  Eric Blake  <eblake@redhat.com>
34445         warnings: minor optimization
34446         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.
34448         warnings: check -Wfoo rather than -Wno-foo
34449         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
34450         -Wno-, test if the compiler recognizes the positive form instead.
34452 2013-08-15  Karl Berry  <karl@gnu.org>
34454         * config/srclist-update: add option "doclicense" to placate
34455         pulling *.texi files from Emacs.  Write terse usage
34456         documentation at the top.
34458 2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>
34460         xvasprintf-tests: port to GCC with hardening flags
34461         * tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
34462         xasprintf, to pacify GCC.  Reported by Santiago Vila in:
34463         http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html
34465 2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>
34467         fpending: port to recent Cygwin change to stdio_ext.h
34468         Reported by LRN in
34469         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
34470         * lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
34471         just declare __fpending unless it's a macro.
34472         A duplicate decl shouldn't hurt.
34473         * m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
34474         call compiles and links, instead of separately checking for
34475         decl and lib function.
34476         * modules/fpending (configure-ac):
34477         Adjust to fpending.m4's renaming of shell variable.
34479 2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>
34481         sys_time: port to OpenBSD
34482         * lib/sys_time.in.h: Simply delegate to the system's header
34483         in the BSDish cases as well.  Problem reported by Mike Miller in
34484         <http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
34485         * tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
34486         Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
34487         wider than time_t.
34489 2013-08-09  Pádraig Brady  <P@draigBrady.com>
34491         bootstrap: support checksum utils having -c but not --status
34492         * build-aux/bootstrap: Only look for sha1sum if updating po files.
34493         Add sha1 to the list of supported checksum utils since it's now
34494         supported through adjustments below.
34495         (update_po_files): Remove the use of --status
34496         in a way that will suppress all error messages, but since this is
34497         only used to minimize updates, it shouldn't cause an issue.
34498         Exit early if there is a problem updating the po file checksums.
34499         (find_tool): Remove the check for --version support as this
34500         is optional as per commit 86186b17.  Don't even check for the
34501         presence of the command as if that is needed, it's supported
34502         through configuring prerequisites in bootstrap.conf.
34503         Prompt that when a tool isn't found, one can define an environment
34504         variable to add to the hardcoded search list.
34506 2013-08-05  Jim Meyering  <meyering@fb.com>
34508         regex: port to non-glibc/lock-using systems
34509         Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
34510         system with GNULIB_LOCK would fail due to absence of the
34511         included "glthread/lock.h".  This would affect any package
34512         for which the "lock" module is used only by the regex module,
34513         and not explicitly used.
34514         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
34515         * modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
34516         Add a dependency on the "lock" module.
34518 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34520         localecharset: make locale_charset thread-safe on Mac OS X
34521         * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
34522         instead of MB_CUR_MAX.
34524 2013-07-20  Daiki Ueno  <ueno@gnu.org>
34526         gettext: update to version 0.18.3
34527         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
34528         require AC_PROG_SED to allow user to specify custom sed command when
34529         generating en@quot PO file.
34531 2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)
34533         bootstrap: use correct source when copying build-aux files
34534         * build-aux/bootstrap (gnulib_extra_files): This variable is
34535         relative to upstream gnulib layout, not downstream.
34537 2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>
34539         tmpdir: fix bug in VMS port
34540         * lib/tmpdir.c (path_search) [__VMS]: Never add slash.
34541         See Steven M. Schweda in
34542         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.
34544 2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>
34546         tmpdir: port to VMS, to // != /, and to long dirs
34547         * lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
34548         __secure_getenv, so that we're more like the glibc version.
34549         All uses changed.
34550         (path_search): Don't put slash after directory if __VMS.
34551         Problem reported by Steven M. Schweda in
34552         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
34553         Simplify code to add slash; no need for a loop.
34554         Do not remove trailing slash from "//".
34555         Do not assume dlen <= INT_MAX.
34557 2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>
34559         regex: port to --with-included-regex --enable-gcc-warnings non-threaded
34560         * lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
34561         gcc warnings in the non-threaded case.  Reported by Charlie Brown in
34562         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.
34564         accept4, dup3, pipe2: port to Cygwin
34565         Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
34566         * lib/accept4.c (accept4) [O_BINARY]:
34567         * lib/dup3.c (dup3) [O_BINARY]:
34568         * lib/pipe2.c (pipe2) [O_BINARY]:
34569         Use set_binary_mode, not setmode.
34570         * lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
34571         * modules/binary-io (Depends-on): Remove module indicator.
34572         These last two bits undo the previous change to pipe2 and binary-io.
34574 2013-07-09  Pádraig Brady  <P@draigBrady.com>
34576         mountlist: add support for deallocating returned list entries
34577         * lib/mountlist.c (free_mount_entry): A new exported function
34578         to deallocate a mount list entry.
34579         (read_file_system_list): Refactor to use the new deallocation function.
34580         Suggested by Anton Ovchinnikov.
34582 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
34584         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
34585         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
34586         * lib/stdalign.in.h (_Alignas, _Alignof):
34587         Port to FreeBSD 9.1, and to C11 and C++11.
34588         (_Alignas): Also support ICC.
34589         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
34590         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
34592 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
34594         fnmatch: don't goto over declaration
34595         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
34596         undefined behavior for goto over a declaration.
34597         Problem reported by Charlie Brown in
34598         <http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.
34600         pipe2: decouple from binary-io a bit
34601         This is for Emacs, which needs pipe2 but not binary-io.
34602         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
34603         * modules/binary-io (Depends-on): Add module indicator.
34605 2013-07-03  Eric Blake  <eblake@redhat.com>
34607         mgetgroups: relax license to LGPLv2+
34608         * modules/getugroups (License): Change from GPLv3+.
34609         * modules/mgetgroups (License): Likewise.
34610         * modules/getgroups (License): Change from LGPLv3+.
34612         xalloc-oversized: relax license to LGPLv2+
34613         * modules/xalloc-oversized (License): Change from GPLv3+.
34615         nproc: relax license to LGPLv2+
34616         * modules/nproc (License): Change from LGPLv3+.
34618         bootstrap: honor --no-git
34619         * build-aux/bootstrap: Don't even try to use git when user is
34620         pointing to a static checkout.
34622 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
34624         ignore-value: port to gcc -pedantic
34625         * lib/ignore-value.h (ignore_value):
34626         Port to gcc -pedantic, by using __extension__.
34627         Reindent as per usual gnulib style nowadays.
34628         Simplify GCC version check.
34630 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
34632         extern-inline: port to gcc -std=c89
34633         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
34634         Do not use __gnu_inline__ if pedantic and pre-C99.
34636 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
34638         doc: document extern-inline
34639         * doc/extern-inline.texi: New file.
34640         * doc/gnulib.texi (alloca-opt): Include it.
34641         * m4/extern-inline.m4: Move some comments to documentation,
34642         and others closer to what they describe.
34644         doc: chatter less
34645         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
34646         (updated-stamp): Use it.  This causes 'make' to output just
34647         one file name rather than zillions.
34649         fflush, fseeko: port to musl cross-compiles
34650         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
34651         on some implementation that (1) is not known to be buggy,
34652         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
34653         cross-compiled to so we can't easily check for lack of
34654         conformance.  This is for cross-compiling to musl.
34655         Reported by Rich Felker in
34656         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
34657         * m4/fclose.m4 (gl_FUNC_FCLOSE):
34658         * m4/fflush.m4 (gl_FUNC_FFLUSH):
34659         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
34660         Adjust to above change.
34661         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
34662         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
34663         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
34664         known not to work, or unknown.
34666 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
34668         msvc-inval: port to mingw-w64
34669         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
34670         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
34671         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.
34673 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
34675         getcwd-lgpl: port to Tru64
34676         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
34677         Problem reported by Steven M. Schweda in
34678         <http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.
34680         tests: port large-fd POSIX spawn tests to OS X
34681         Problem reported by Daiki Ueno in
34682         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
34683         * tests/test-posix_spawn_file_actions_addclose.c:
34684         * tests/test-posix_spawn_file_actions_adddup2.c:
34685         * tests/test-posix_spawn_file_actions_addopen.c:
34686         Include <limits.h>, for OPEN_MAX, if available.
34687         (big_fd): New static function.
34688         (main): Use it.
34690 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
34692         tests/nap.h: use an adaptive delay to avoid ctime update issues
34693         The recent change in nap.h (5191133e) decreased the probability of lost
34694         races to about a third, however such problems could still be observed
34695         in virtual machines and openSUSE's OBS.
34696         Before, nap() detected the needed time once empirically and then used
34697         that delay (together with a small correction multiplier) in further
34698         calls.  This problem has been reported and discussed several times,
34699         including guesses about possible kernel issues:
34700         https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
34701         http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
34702         https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
34703         http://bugs.gnu.org/12820
34704         https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
34705         https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
34706         Now, nap() avoids the race alltogether by verifying on a reference
34707         file whether a timestamp difference has happened.
34708         * tests/nap.h (nap_fd): Define file descriptor variable for the
34709         witness file.
34710         (nap_works): Change return value to bool.  Change passing
34711         the old file's status by value instead of by reference as this function
34712         does no longer update that timestamp; rename the function argument from
34713         st to old_st.  Remove the local variables cdiff and mdiff because that
34714         function now returns true/false instead of the precise delay.
34715         (guess_delay): Remove function.
34716         (clear_tmp_file): Add new function to close and unlink the witness file.
34717         (nap): Instead of re-using the delay which has been calculated during
34718         the first call, avoid the race by actually verifying that a timestamp
34719         difference can be observed on the current file system.  Use an adaptive
34720         approach for the delay to minimize execution time.  Assert that the
34721         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
34722         = 2^31 - 1 = 2.1s.
34723         Use atexit to call clear_tmp_file when the process terminates.
34725 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
34727         sig2str: port to C++
34728         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
34729         Reported by Daniel J Sebald in
34730         <http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.
34732 2013-05-30  Eric Blake  <eblake@redhat.com>
34734         docs: mention cygwin shortcoming in <sys/un.h>
34735         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
34737         vasnprintf: silence mingw compiler warning
34738         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
34740 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
34742         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
34743         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
34744         This fixes a porting bug I recently reintroduced in regex, and
34745         some other instances that I discovered while testing the fix.
34746         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
34747         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
34748         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
34749         with an empty argument if this is a pedantic pre-C99 GCC.
34750         * lib/verify.h: Do not use _Static_assert if this is a pedantic
34751         pre-C11 GCC.
34753         regex: adapt to locking regime instead of depending on pthread
34754         Instead of depending on pthread, adapt to whatever thread
34755         modules are in use.  Problem reported by Ludovic Courtès in
34756         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
34757         and by Mats Erik Andersson in
34758         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
34759         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34760         Support either the 'lock' module, or the 'pthread' module, or
34761         no module.
34762         (lock_lock, lock_unlock): New macros.
34763         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
34764         * modules/lock, modules/pthread (configure.ac): Add module indicator.
34765         * modules/regex (Depends-on): Remove pthread.
34767 2013-05-22  Eric Blake  <eblake@redhat.com>
34769         getgroups: document portability issues
34770         * doc/glibc-functions/initgroups.texi (initgroups): Mention
34771         multithread safety.
34772         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
34773         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
34774         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
34775         getugroups.
34776         * doc/posix-functions/getgroups.texi (getgroups): Mention
34777         multithread safety and mgetgroups.
34779 2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>
34781         test-lchown, test-chown: also skip test if chown fails with EPERM
34782         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
34783         skip this test, to handle FAT file systems.
34784         * tests/test-chown.h (test_chown): Likewise.
34786 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
34788         regex: fix dfa race in multithreaded uses
34789         Problem reported by Ludovic Courtès in
34790         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
34791         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
34792         New macros.  All uses of __libc_lock_define, __libc_lock_init
34793         changed to use the first two of these.
34794         (__libc_lock_lock, __libc_lock_unlock): New macros, for
34795         non-glibc platforms.
34796         (struct re_dfa_t): Define the lock unconditionally.
34797         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
34798         '#ifdef _LIBC"s.
34799         * modules/regex (Depends-on): Add pthread, if we use the
34800         included regex.
34802         * lib/regcomp.c: Do actions that are not needed for glibc,
34803         but may be needed elsewhere.
34804         (regfree, re_compile_internal): Destroy the lock.
34805         (re_compile_internal): Check for lock-initialization failure.
34807         malloca: port to compilers that reject size-zero arrays
34808         This fixes a bug introduced in my previous patch.
34809         * lib/malloca.c (struct preliminary_header): Use an int
34810         rather than a character array of size int; that's simpler.
34811         (struct header): Remove, replacing with ...
34812         (union header): New type.  This avoids the need for declaring a
34813         character array of size zero, which is not allowed on some platforms.
34814         All uses changed.
34816 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
34818         parse-datetime, tests: don't use "string" + int
34819         Recent versions of 'clang' complain about C source code that
34820         uses expressions of the form '"string literal" + integer',
34821         I guess on the theory that it's confusing for readers who are
34822         used to C++.  On those grounds I suppose it's OK to make this
34823         minor style change.
34824         * lib/parse-datetime.y (parse_datetime):
34825         * tests/test-fchdir.c (main):
34826         * tests/test-snprintf-posix.h (test_function):
34827         * tests/test-snprintf.c (main):
34828         * tests/test-vasnprintf-posix.c (test_function):
34829         * tests/test-vasnprintf.c (test_function):
34830         * tests/test-vsnprintf.c (main):
34831         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
34832         Rewrite '"str" + E' to '&"str"[E]'.
34834 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34836         argmatch: port to C++
34837         * lib/argmatch.h [__cplusplus]: Add extern "C".
34839         argp: typo fix
34840         * lib/argp-help.c: Typo in comment.
34842 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
34844         manywarnings: update for GCC 4.8.0
34845         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
34846         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
34847         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
34848         -Wmissing-noreturn, as they are duplicates of other warnings.
34849         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
34850         was documented to be flaky in earlier versions of GCC.
34852         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
34853         * tests/test-spawn.c (main):
34854         * tests/test-sys_socket.c (main):
34855         * tests/test-sys_wait.c (main):
34856         Don't have a switch value that isn't covered by a case.
34858         getaddrinfo-tests: port --enable-gcc-warnings to clang
34859         * tests/test-getaddrinfo.c (simple):
34860         Avoid casts from looser to stricter-aligned pointers.
34862         thread: port --enable-gcc-warnings to clang
34863         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
34864         Include <signal.h>, to pacify a warning about pthread_sigmask.
34866         stdio: use __REDIRECT for fwrite, fwrite_unlocked
34867         * lib/stdio.in.h (fwrite):
34868         When working around bug 11959, use __REDIRECT rather than '#define
34869         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
34870         fix the -Wunused-value issue with clang, and it works with GCC too.
34871         Problem with targeting reported by Eric Blake in
34872         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
34873         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
34874         debugging the fwrite issue.
34876         stdio: port --enable-gcc-warnings to clang
34877         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
34878         since the GCC workaround for fwrite does not pacify clang.
34880         sig2str: port --enable-gcc-warnings to clang
34881         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
34883         obstack: port --enable-gcc-warnings to clang
34884         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
34885         Avoid casts from looser to stricter-aligned pointers.
34887         memchr2: port --enable-gcc-warnings to clang
34888         * lib/memchr2.c (memchr2):
34889         Avoid casts from looser to stricter-aligned pointers.
34891         mbsstr: port --enable-gcc-warnings to clang
34892         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
34893         Avoid casts from looser to stricter-aligned pointers.
34895         malloca: port --enable-gcc-warnings to clang
34896         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
34897         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
34899         inttostr: port --enable-gcc-warnings to clang
34900         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
34902         warnings: port to clang
34903         Problem reported by Daniel P. Berrange via Eric Blake in
34904         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
34905         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
34906         (gl_WARN_ADD): Use it.
34908 2013-05-11  Jim Meyering  <meyering@fb.com>
34910         quotearg: do not read beyond end of buffer
34911         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
34912         end of an ARG for which no length was specified.  With an N-byte
34913         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
34914         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
34915         via coreutils' misc/sort-debug-keys.sh test and detected by running
34916         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
34917         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
34918         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
34919         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
34920         characters correctly."
34922 2013-05-11  Daiki Ueno  <ueno@gnu.org>
34924         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
34925         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
34926         compilation target is Mac OS X 10.6.
34927         Problem reported by parafin and Andoni Morales in
34928         <http://savannah.gnu.org/bugs/?37844> and
34929         <http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.
34931 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
34933         mkdir-p: remove assumptions about umask and mode
34934         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
34935         umask is 0, or that MODE is a subset of MODE_BITS.
34937 2013-05-10  Eric Blake  <eblake@redhat.com>
34939         maint.mk: catch more abuse of HAVE_DECL in syntax-check
34940         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
34942 2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
34944         deps: require Automake >= 1.9.6 in generated Makefile fragments
34946         That is the same minimal version required in the DEPENDENCIES file.
34947         Moreover, the old code generated a requirement of Automake >= 1.5,
34948         and that is an insanely outdated version.
34950         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
34951         * tests/havelib/rpathlx/Makefile.am: Likewise.
34952         * tests/havelib/rpathly/Makefile.am: Likewise.
34953         * tests/havelib/rpathlyx/Makefile.am: Likewise.
34954         * tests/havelib/rpathlz/Makefile.am: Likewise.
34955         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
34956         * tests/havelib/rpathx/Makefile.am: Likewise.
34957         * tests/havelib/rpathy/Makefile.am: Likewise.
34958         * tests/havelib/rpathz/Makefile.am: Likewise.
34960 2013-05-08  Eric Blake  <eblake@redhat.com>
34962         bootstrap: AC_INIT may have more than four parameters
34963         * build-aux/bootstrap (extract_package_name): Correctly extract
34964         non-empty tarname field.  Avoid range in regex.
34965         Based on a report by Sami Kerola <kerolasa@iki.fi>.
34967 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
34969         qacl: port to MS-Windows port of GNU Emacs
34970         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
34971         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
34972         port of GNU Emacs.  Problem reported by Eli Zaretskii in
34973         <http://bugs.gnu.org/14295#14>.
34975 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
34977         acl: include quote.h
34978         * lib/copy-acl.c: Include quote.h.
34979         * lib/set-acl.c: Likewise.
34981 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
34983         fchownat, renameat, unlinkat: update statat dependencies
34984         These modules use statat and lstatat, not fstatat; so depend on
34985         the statat module, which was split out recently from fstatat.
34986         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
34987         * modules/renameat: Likewise.  Also delete fstat.
34988         URL: http://bugs.gentoo.org/468790
34990 2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
34992         Assume gnulib is checked out from Git, not CVS
34994         In fact, access to the gnulib repository through CVS has been
34995         disabled, or more precisely, got broken and was never restored; see:
34996         <http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>
34998         Note that support for CVS is not removed completely and unthinkingly
34999         by this change: only support for CVS checkouts of gnulib itself is
35000         removed.  For example, the 'bootstrap' script still cater to .cvsingore
35001         files and CVS directories, for the benefit of those poor gnulib clients
35002         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
35004         * gnulib-tool: Simplify accordingly.
35005         * posix-modules: Likewise.
35006         * MODULES.html.sh: Likewise.
35007         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
35008         repository.
35009         * doc/gnulib-intro.texi: Likewise.
35010         * doc/gnulib-readme.texi: Likewise.
35011         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
35012         sample '.gitignore' file rather than a sample '.cvsignore'.
35013         * NEWS: Update.
35014         * m4/extensions.m4: While at it, remove a comment mistakenly referring
35015         to "CVS Autoconf" rather than "git Autoconf".
35017 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
35019         utimensat-tests, etc.: try to fix some races
35020         Problem reported by Bernhard Voelker in
35021         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
35022         I don't know whether this patch fixes that race condition, but it
35023         fixes *some* race conditions, so it should be a win.
35024         * modules/chown-tests (Depends-on):
35025         * modules/fchownat-tests (Depends-on):
35026         * modules/fdutimensat-tests (Depends-on):
35027         * modules/futimens-tests (Depends-on):
35028         * modules/lchown-tests (Depends-on):
35029         * modules/stat-time-tests (Depends-on):
35030         * modules/utimens-tests (Depends-on):
35031         * modules/utimensat-tests (Depends-on):
35032         Depend on nanosleep, not usleep.
35033         * modules/chown-tests (test_chown_LDADD):
35034         * modules/lchown-tests (test_lchown_LDADD):
35035         * modules/stat-time-tests (test_stat_time_LDADD):
35036         New macro.
35037         * modules/fchownat-tests (test_fchownat_LDADD):
35038         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
35039         * modules/futimens-tests (test_futimens_LDADD):
35040         * modules/utimens-tests (test_utimens_LDADD):
35041         * modules/utimensat-tests (test_utimensat_LDADD):
35042         Add $(LIB_NANOSLEEP).
35043         * modules/stat-time-tests (Files): Add tests/nap.h.
35044         * tests/nap.h: Include <limits.h>, for INT_MAX.
35045         (lt_mtime): Remove.
35046         (diff_timespec): New function.
35047         (get_stat): Rename from get_mtime.  All callers changed.
35048         (nap_works): Determine the needed delay by inspecting the
35049         file system's timestamp jumps; this should be more reliable.
35050         Look at both mtime and ctime, and take the maximum of the two jumps.
35051         (nap_works, guess_delay):
35052         Return a nanosecond count, not a microsecond count.
35053         All callers changed.
35054         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
35055         failure.
35056         (nap): Multiply the guess by 1.125, to accommodate the case where
35057         the file system's clock is a bit slower than nanosleep's clock.
35058         * tests/test-stat-time.c (BASE): New macro.
35059         Include nap.h.
35060         (nap): Remove; nap.h now defines this.  This removes a duplicate
35061         implementation of 'nap'.
35063         utimens, utimensat: work around Solaris UTIME_OMIT bug
35064         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
35065         Linux kernel 2.6.32 does.  Work around it in the same way.
35066         * doc/posix-functions/futimens.texi (futimens):
35067         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
35068         * lib/utimens.c (fdutimens, lutimens):
35069         * lib/utimensat.c (rpl_utimensat): Work around the bug.
35071         gettext: now it's your responsibility to add -I$(top_builddir)/intl
35072         Formerly, it was your responsibility to do this for all Makefile.ams
35073         other than Gnulib's.  Now it's your responsibility to do it for
35074         Gnulib's Makefile.am, too.
35075         * NEWS: Document this.
35076         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
35078         acl: include errno.h to get errno
35079         Reported by Daiki Ueno in
35080         <http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
35081         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
35083 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
35085         tests: don't assume getdtablesize () <= 10000000
35086         * modules/cloexec-tests:
35087         * modules/dup2-tests:
35088         * modules/dup3-tests:
35089         * modules/nonblocking-tests:
35090         * modules/posix_spawn_file_actions_addclose-tests:
35091         * modules/posix_spawn_file_actions_adddup2-tests:
35092         * modules/posix_spawn_file_actions_addopen-tests:
35093         * modules/unistd-safer-tests:
35094         Depend on the getdtablesize module.
35095         * tests/test-cloexec.c:
35096         * tests/test-dup-safer.c:
35097         * tests/test-dup2.c:
35098         * tests/test-dup3.c:
35099         * tests/test-fcntl.c:
35100         * tests/test-nonblocking.c:
35101         * tests/test-posix_spawn_file_actions_addclose.c:
35102         * tests/test-posix_spawn_file_actions_adddup2.c:
35103         * tests/test-posix_spawn_file_actions_addopen.c:
35104         Don't assume getdtablesize () <= 10000000.
35106 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
35108         extern-inline: work around bug in Sun c99
35109         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35110         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
35112 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
35114         qacl: new module, broken out from the acl module
35115         This is for GNU Emacs, which wants the acl functions but does
35116         not want 'error' invoked when they fail.
35117         * lib/acl-internal.h: Do not include error.h, quote.h.
35118         (ENOSYS, ENOTSUP): Remove; no longer needed.
35119         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
35120         * lib/acl.h: Include <stdbool.h>.
35121         (acl_errno_valid): New function.
35122         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
35123         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
35124         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
35125         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
35126         (ACL_INTERNAL_INLINE): Remove; no longer needed.
35127         * lib/file-has-acl.c (file_has_acl):
35128         * lib/qcopy-acl.c (qcopy_acl):
35129         * lib/qset-acl.c (qset_acl):
35130         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
35131         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
35132         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
35133         lib/file-has-acl.c, m4/acl.m4 to qacl module.
35134         Add lib/set-acl.c.
35135         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
35136         Add qacl.
35137         (configure.ac): Move gl_FUNC_ACL to qacl module.
35138         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
35139         Rename set-mode-acl.c to set-acl.c.
35140         * lib/acl-errno-valid.c: New file.
35141         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
35142         copy_acl function remains in copy-acl.c.
35143         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
35144         (_): Remove; not needed.
35145         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
35146         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
35147         * modules/qacl: New file, moved from the old modules/acl.
35148         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
35149         Remove set-mode-acl.c, copy-acl.c.
35150         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
35152         alignof, intprops, malloca: port better to IBM's C compiler
35153         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
35154         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
35155         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
35157 2013-04-25  Daiki Ueno  <ueno@gnu.org>
35159         wctype-h: fix gettext link error on mingw
35160         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
35161         <https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
35162         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
35163         rpl_towupper and rpl_towupper.
35165 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
35167         regex-tests, regex: allow glibc re_search behavior
35168         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
35169         re_search input data to make the multi-character collating element
35170         in it clearly visible, and treat re_search return code 0 as valid.
35171         * m4/regex.m4 (gl_REGEX): Likewise.
35173 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
35175         stdalign: doc fix
35176         * doc/posix-headers/stdalign.texi (stdalign.h):
35177         Gnulib doesn't support '_Alignof expr'.
35179 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
35181         stdalign: port to stricter ISO C11
35182         ISO C11 says that _Alignof's operand must be a parenthesized type.
35183         Problem reported by Eli Zaretskii in
35184         <http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
35185         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
35186         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
35188 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
35190         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
35191         Problem reported by Marco Atzeri in
35192         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
35193         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
35194         Simply delegate to the system <sys/select.h> in this case too.
35195         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
35196         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
35197         be needed on Solaris either.
35198         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
35199         Simply delegate to the system <sys/time.h> in this case.
35201 2013-03-19  Karl Berry  <karl@gnu.org>
35203         * build-aux/gnupload: check for erroneous (with gnupload) use of
35204         ftp-upload.gnu.org, tweak help.
35206 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
35208         copy-file, rpmatch: fix problems found by cppcheck
35209         Reported by Arno Onken in
35210         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
35211         * lib/rpmatch.c (try): Fix memory leak.
35212         * lib/copy-file.c: Include "ignore-value.h".
35213         (qcopy_file_preserving): Ignore chown value.
35214         * modules/copy-file (Depends-on): Add ignore-value.
35216 2013-01-27  Jim Meyering  <jim@meyering.net>
35218         prefix-gnulib-mk: give better diagnostics
35219         * build-aux/prefix-gnulib-mk: Don't just "die".
35220         Give better diagnostics upon failure.
35222 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
35224         putenv: port to Solaris 10
35225         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
35226         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
35227         is not what is wanted here.
35228         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
35229         declaration, not for its existence.
35231 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
35233         mktime: fix configure typo
35234         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
35236 2013-03-12  Eric Blake  <eblake@redhat.com>
35238         regex-tests: skip UTF-8 test on mingw
35239         * modules/regex-tests (Depends-on): Add localcharset.
35240         * tests/test-regex.c (main): Use it to skip test on mingw.
35242 2013-03-11  Eric Blake  <eblake@redhat.com>
35244         tests: make it easier to bypass alarm time in debugger
35245         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
35246         * tests/test-memmem.c (main): Likewise.
35247         * tests/test-passfd.c (main): Likewise.
35248         * tests/test-ptsname.c (main): Likewise.
35249         * tests/test-ptsname_r.c (main): Likewise.
35250         * tests/test-strcasestr.c (main): Likewise.
35251         * tests/test-strstr.c (main): Likewise.
35253         regex: port to mingw's recent addition of undeclared alarm
35254         * doc/posix-functions/alarm.texi (alarm): Document that alarm
35255         exists but still doesn't work in newer mingw.
35256         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
35257         not existence.  Ensure SIGALRM is not trapped.
35258         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
35259         * m4/regex.m4 (gl_REGEX): Likewise.
35260         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
35261         * tests/test-regex.c (main): Use correct probe for alarm.
35263         putenv: avoid compilation warning on mingw
35264         * lib/putenv.c (_unsetenv): Protect variable declaration.
35265         (putenv): Fix indentation.
35267 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
35269         unistd: don't prevent Tru64 Unix from using gnulib strtod.
35270         * lib/unistd.in.h: be careful not to include un-needed system
35271         stdlib.h from here, because that prevents gnulib stdlib.h from
35272         defining rpl_strtod correctly.
35274 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
35276         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
35277         changesets, but for the 'precision 0' test.
35278         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35279         round-to-even, since POSIX says rounding is implementation-defined
35280         and OS X 10.8.2 rounds 1.51 to 1 here.
35282         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
35283         changeset.
35284         * tests/test-vasprintf-posix.c (test_function): Don't insist on
35285         round-to-even, since POSIX says rounding is implementation-defined
35286         and OS X 10.8.2 rounds 1.5 to 1 here.
35288 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
35290         vasnprintf-posix-tests: allow rounding 1.5 to 1
35291         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
35292         round-to-even, since POSIX says rounding is implementation-defined
35293         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
35294         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.
35296         bootstrap: port to FreeBSD
35297         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
35298         that treat '--' differently.  Reported by Mats Erik Andersson in
35299         <http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.
35301 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
35303         regex: rename remaining __attribute calls to __attribute__.
35304         2012-02-25 changed definition of __attribute, but left some uses
35305         unchanged, preventing compilation of regex module on most non-gcc
35306         environments.
35307         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
35308         (lookup_collation_sequence_value, build_range_exp)
35309         (build_collating_symbol): Set attributes with newly renamed
35310         __attribute__ decorator.
35311         * lib/regex_internal.c (re_string_peek_byte_case)
35312         (re_node_set_compare, re_node_set_contains): Likewise.
35313         * lib/regexec.c (acquire_init_state_context): Likewise.
35315 2013-03-06  Bruno Haible  <bruno@clisp.org>
35317         execute: Revert last change, but use a different condition.
35318         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
35319         on Windows.
35321 2013-03-05  Eric Blake  <eblake@redhat.com>
35323         execute: drop dead code
35324         * lib/execute.c (nonintr_close, nonintr_open): Delete.
35326 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
35328         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
35329         * m4/non-recursive-gnulib-prefix-hack.m4
35330         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
35331         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
35332         <http://bugs.gnu.org/10305#237>.
35334 2013-03-04  Eric Blake  <eblake@redhat.com>
35336         test-getsockopt: avoid compiler warning
35337         * tests/test-getsockopt.c (includes): Ensure close is declared.
35339 2013-03-02  Bruno Haible  <bruno@clisp.org>
35341         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
35342         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
35344 2013-03-02  Bruno Haible  <bruno@clisp.org>
35346         gettext: Update to version 0.18.2.
35347         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
35348         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
35349                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
35351 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
35353         regex: merge patches from libc
35355         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
35356         * lib/regex_internal.h (__attribute__): Rename from __attribute.
35357         All uses changed.
35358         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
35359         (re_string_wchar_at, re_string_elem_size_at):
35360         Mark function as possibly unused.
35362         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
35363         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
35364         elements compare against the byte sequence of it, not its name.
35366 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
35368         putenv: port better to native Windows
35369         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35370         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
35371         (_unsetenv): Use _putenv if available.
35372         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
35373         a bit less likely to cause damage.
35374         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
35375         Fix the wrong value with SetEnvironmentVariable.
35376         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
35377         code better.
35379 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35381         regex: ignore old-style-definition warnings
35382         * lib/regex.c: Add pragma to ignore these warnings.
35383         Problem reported for GNU tar by Pavel Raiskup.
35385 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35387         getcwd: support coreutils better
35388         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
35389         but this might not be correct in coreutils, which disables
35390         the raw decl checks.  Problem reported by Nagendra in
35391         <http://bugs.gnu.org/10305#192>.
35392         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
35393         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
35394         Test the getcwd function, not any macro, since getcwd.c wants the
35395         function.
35396         * m4/getcwd.m4 (gl_FUNC_GETCWD):
35397         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
35398         compile, as might happen if there's a macro but no function.
35400         strtod: support coreutils better
35401         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
35402         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
35403         disables the raw decl checks.  This assumes there is an underlying
35404         strtod, but that's a safe assumption these days.
35405         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
35407         mountlist: port to HP NonStop
35408         Reported by Joachim Schmitz in
35409         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00084.html>.
35410         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
35411         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
35413 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
35415         extern-inline: avoid compilation error with HP-UX cc
35416         Reported by Richard Lloyd in
35417         <http://lists.gnu.org/r/bug-texinfo/2013-02/msg00030.html>.
35418         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
35419         Suppress extern inline with HP-UX cc.  This should be safe,
35420         though it may hurt performance.  Perhaps someone with some HP-UX
35421         experience can come up with a higher-performance fix.
35423 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
35425         putenv: fix heap corruption with mixed putenv/_putenv
35426         Problem reported by Michael Goffioul in
35427         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00061.html>.
35428         * lib/putenv.c (putenv) [HAVE__PUTENV]:
35429         Rely on _putenv to allocate the new environment.
35430         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
35431         * modules/putenv (configure.ac): Use it.
35433 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
35435         unsetenv etc.: port to Solaris 11 + GNU Emacs
35436         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
35437         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
35438         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
35439         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
35440         idea but is too painful to fix right now), and without this gnulib
35441         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
35442         compiling unsetenv.c on Solaris 11.  Fix the problem for
35443         unsetenv.c, and fix other similar occurrences.
35445 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
35447         secure_getenv: fix C++ declaration typo
35448         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
35449         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
35450         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00057.html>.
35452 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
35454         careadlinkat: stop exporting careadlinkatcwd
35455         Only Emacs used it directly, and Emacs no longer needs it.
35456         * NEWS: Document this simplification.
35457         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
35458         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
35459         for readlink.
35460         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
35461         Don't include stdlib.h; no longer needed.
35462         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
35463         * lib/relocwrapper.c: Adjust comment to match new dependencies.
35464         * modules/areadlink (Depends-on): Add readlink.
35465         (Maintainer): Add self.
35466         * modules/careadlinkat (Depends-on): Remove readlink.
35468         extensions: port better to HP-UX
35469         This is merged from git Autoconf.
35470         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35471         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
35472         so that it's compatible with the value used when compiling.
35474         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
35475         Problem reported by Mats Erik Andersson in
35476         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00051.html>.
35477         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35478         openpty function exists, not merely when we intend to replace it.
35479         This corrects the 2013-01-31 patch, which mistakenly defined
35480         HAVE_OPENPTY even on hosts that lacked it.
35482 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
35484         secure_getenv: fix include typo
35485         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
35487         secure_getenv: port better to FreeBSD and Solaris
35488         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
35489         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
35490         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
35491         This works better on BSDish platforms.
35492         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
35493         Test for issetugid if __secure_getenv is missing.
35495 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
35497         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
35498         Some of these changes are merged in from git Autoconf.
35499         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
35500         When deciding whether to define _XOPEN_SOURCE, inspect the
35501         preprocessor macro __hpux instead of the more-heavyweight
35502         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
35503         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
35504         as the key for __EXTENSIONS__.
35506         unistd: avoid namespace pollution on non-glibc systems
35507         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
35508         This avoids namespace pollution on non-glibc systems, by causing
35509         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
35510         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
35511         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00027.html>.
35513 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
35515         tmpdir: use secure_getenv
35516         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
35517         Define to secure_getenv, not getenv.
35518         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
35519         as that's now secure_getenv's job.
35520         * modules/tmpdir (Depends-on): Add secure_getenv.
35522         tempname: use secure_getenv
35523         * lib/tempname.c (__secure_getenv) [!_LIBC]:
35524         Define to secure_getenv, not getenv.
35525         * modules/tempname (Depends-on):
35526         Add secure_getenv.
35528         secure_getenv: new module
35529         * MODULES.html.sh (Extra functions based on ANSI C 89):
35530         Add secure_getenv.
35531         * doc/glibc-functions/secure_getenv.texi: New file.
35532         * doc/gnulib.texi: Include it.
35533         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
35534         New files.
35535         * lib/stdlib.in.h (secure_getenv): New decl.
35536         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
35537         * modules/stdlib (stdlib.h):
35538         Add secure_getenv checks.
35540 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
35542         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
35543         Reported for OS X 10.8.2 by Assaf Gordon in
35544         <http://bugs.gnu.org/13516>.
35545         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
35546         !HAVE_OPENAT && !HAVE_FDOPENDIR.
35547         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
35548         so that they can be kept in sync more easily.  Avoid PATH_MAX
35549         test on the Hurd.  Sync from test-getcwd.c for errno tests after
35550         mkdir or chdir failure.
35551         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
35552         lib/getcwd.c.
35553         (test_abort_bug): Do not test for the deep directory bug unless we
35554         have openat support.  Avoid PATH_MAX test on the Hurd.
35556         regex-tests, regex: fix bug: memset undeclared
35557         * tests/test-regex.c: Don't include regex.h twice.  Include
35558         string.h, to declare memset.  Christensen's report also mentioned
35559         this issue.
35560         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
35561         test-regex.c, to avoid future problems like this.  Remove
35562         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
35563         twice.
35565         regex-tests: fix link errors on older Solaris
35566         These need to link with @LIBINTL@ to get libintl_gettext.
35567         Problem reported by Tom G. Christensen in
35568         <http://lists.gnu.org/r/bug-gnulib/2013-02/msg00003.html>.
35569         * modules/regex-tests (test_regex_LDADD): New macro.
35571 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
35573         regex-tests: new module
35574         * modules/regex-tests, tests/test-regex.c: New files.
35576         regex: fix off-by-one error in configure test
35577         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
35579 2013-01-31  Eric Blake  <eblake@redhat.com>
35581         regex: avoid infinite configure test
35582         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
35584 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
35586         openpty: fix bug where HAVE_OPENPTY wasn't defined
35587         See the thread starting at:
35588         http://lists.gnu.org/r/bug-gnulib/2013-01/msg00185.html
35589         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
35590         openpty function exists, not merely when we intend to replace it.
35592 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
35594         sys_time: port to Solaris 2.6
35595         There is a circularity problem on Solaris 2.6, where <time.h> includes
35596         <sys/time.h> for struct timespec.  The include nesting is gnulib
35597         <time.h>, system <time.h>, gnulib <sys/time.h>, system
35598         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
35599         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
35600         <sys/siginfo.h>; the last, innermost file needs struct
35601         timestruc_t, which is defined in <sys/time.h>, which has not been
35602         fully parsed.  Problem reported by Tom G. Christensen in
35603         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00113.html>.
35604         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
35605         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
35606         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
35607         uses split double-inclusion guards.
35609 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
35611         regex: test for buffer overrun
35612         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
35613         for the just-fixed regex bug.
35615 2013-01-29  Andreas Schwab  <schwab@suse.de>
35617         regex: fix buffer overrun in regexp matcher [BZ #15078]
35618         * lib/regexec.c (extend_buffers): Add parameter min_len.
35619         (check_matching): Pass minimum needed length.
35620         (clean_state_log_if_needed): Likewise.
35621         (get_subexp): Likewise.
35623 2013-01-28  Pádraig Brady  <P@draigBrady.com>
35625         mountlist: don't consider "devtmpfs" as dummy
35626         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
35627         as there is storage associcated with it.
35629 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
35631         futimens-tests, utimens-tests: Depend on gettext.
35632         This works around a problem introduced in my 2013-01-12 patch,
35633         which added @LIBINTL@ to these modules.
35634         * modules/futimens-tests (Depends-on):
35635         * modules/utimens-tests (Depends-on): Add gettext.
35637 2013-01-26  Eric Blake  <eblake@redhat.com>
35639         test-getpeername: fix typo
35640         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
35642 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
35644         bootstrap: remove the need for a sorted .gitignore file
35645         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
35646         rename to insert_if_absent(), so that we don't need or generate
35647         a sorted .gitignore file.  We do require a .gitignore with no
35648         existing duplicate entries and enforce that.
35649         (sort_patterns): Remove this function as we now use the simpler
35650         technigue of inserting blacklist entries at the top of the file,
35651         assuming gnulib won't be inserting !whitelist entries.
35653 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
35655         readlinkat: don't depend on gl_FUNC_OPENAT
35656         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
35657         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
35658         renameat.m4, symlinkat.m4; but one thing at a time.
35660         statat: new module, split out from fstatat
35661         GNU Emacs needs the POSIX-specified fstatat, but not the
35662         gnulib-specified statat and lstat.  Split the latter two into a
35663         new module 'statat'.
35664         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
35665         * lib/openat.h, lib/statat.c (STATAT_INLINE):
35666         Rename from FSTATAT_INLINE. All uses changed.
35667         * modules/fstatat (Files): Remove lib/statat.c.
35668         (gl_MODULE_INDICATOR([fstatat])): Remove.
35669         (lib_SOURCES): Remove.
35670         (Maintainer): Add self.
35671         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
35672         * tests/test-fstatat.c (BASE): Don't define if already defined.
35673         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
35675 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
35677         tests: don't assume fd 99 is closed
35678         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
35679         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
35680         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
35681         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
35682         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
35683         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
35684         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
35685         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
35686         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
35687         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
35688         * tests/test-fwrite.c, tests/test-getpeername.c:
35689         * tests/test-getsockname.c, tests/test-getsockopt.c:
35690         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
35691         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
35692         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
35693         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
35694         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
35695         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
35696         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
35697         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
35698         * tests/test-unlinkat.c, tests/test-unlockpt.c:
35699         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
35700         Close file descriptor 99, instead of assuming it's already closed.
35702 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
35704         stpncpy: port to OS X 10.8
35705         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
35706         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
35708 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
35710         unistd: port to recent mingw
35711         * lib/unistd.in.h: Remove special invocation convention for mingw,
35712         which breaks for the latest mingw version.  See John W. Eaton in
35713         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00100.html>.
35715         largefile: port better to Mac OS X 10.5
35716         This patch is backported from Autoconf git.
35717         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
35718         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
35719         with ino_t size being different for configuration time versus
35720         build/run time.  Problem reported by PHO in
35721         <http://lists.gnu.org/r/bug-autoconf/2013-01/msg00040.html>.
35723 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
35725         doc: clarify -Werror
35726         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
35727         clarify that it's intended for developers, not for ordinary builds,
35728         and mention --enable-gcc-warnings as one possible use.
35730 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
35732         stdint: fix build with Android's Bionic fox x86
35733         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
35734         was already included as _SSIZE_T_DEFINED_ might also be defined
35735         in include/machine/_types.h, which is included by stdio.h
35737 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
35739         net_if-tests: port to Solaris 7 + GCC 3.4.6
35740         Problem reported by Tom G. Christensen in
35741         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00091.html>.
35742         * tests/test-net_if.c (ni): Move to next the code that uses it,
35743         so that it's declared only if needed.
35745 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
35747         net_if-tests: port to older Solaris
35748         Problem reported by Tom G. Christensen in
35749         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35750         * modules/net_if-tests (NET_IF_LIB): New substitution.
35751         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
35752         (HAVE_IF_NAMEINDEX): New C macro.
35753         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
35755         system-quote-tests: port to older Solaris
35756         Problem reported by Tom G. Christensen in
35757         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35758         * tests/test-system-quote-child.c (fopen, fread): Undef.
35760         c-xvasprintf etc.: fix link errors on older Solaris
35761         These need to link with @LIBINTL@ to get libintl_gettext.
35762         Problem reported by Tom G. Christensen in
35763         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html>.
35764         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
35765         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
35766         * modules/futimens-tests (test_futimens_LDADD):
35767         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
35769 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
35771         locale: port to Solaris 2.6 and 7 + GNU gettext
35772         * lib/locale.in.h: Just include_next <locale.h> when
35773         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
35774         when combining the localename module with GNU gettext 0.18.2.
35775         Problem reported by Tom G. Christensen in
35776         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00084.html>.
35778 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
35780         stdlib: port to Solaris 2.6
35781         Also, the code worked on Solaris 7 through 9 only by accident.
35782         Problem reported by Tom G. Christensen in
35783         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00059.html>.
35784         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
35785         simply include the system stdlib.h.
35786         * lib/getopt.in.h (__need_system_stdlib_h):
35787         * lib/pthread.in.h (__need_system_stdlib_h):
35788         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
35789         Define when including <stdlib.h>, to avoid problems at least for
35790         the pthread case on Solaris 2.6 and 7.  These .h files can get by
35791         with the system stdlib.h.
35793 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
35795         doc: update main copyright year
35796         * doc/gnulib.texi: Update copyright date.
35798         doc: improve ISO 8601 discussion
35799         * doc/parse-datetime.texi (Combined date and time of day items):
35800         Specify more carefully what formats are supported and what is
35801         done with excess precision.
35803 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
35805         doc: avoid small caps
35806         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
35807         they're more trouble than they're worth.  Suggested by Karl Berry
35808         in <http://bugs.gnu.org/13360>.
35810         regex: conform to strict C
35811         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
35812         From Aharon Robbins.
35814         gnulib-tool: fix incompatibility with autopoint 0.18.2
35815         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
35816         Problem reported by Tom G. Christensen in
35817         <http://lists.gnu.org/r/bug-gnulib/2013-01/msg00053.html>.
35819 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
35821         fprintftime: bring back and reword fwrite comment
35822         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
35824         stdio: remove now-unnecessary stdio.c
35825         Since stdio.in.h no longer uses inline functions, we no longer
35826         need to compile the extern versions.
35827         * lib/stdio.c: Remove.
35828         * modules/stdio (Files): Remove lib/stdio.c.
35829         (lib_SOURCES): Remove.
35831         unicodeio: depend on stdio, not ignore-value
35832         * lib/unicodeio.c: Do not include ignore-value.h.
35833         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
35834         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
35836         fprintftime: depend on stdio, not ignore-value
35837         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
35838         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
35839         since the stdio module arranges to silence that warning now.
35840         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
35842 2012-10-04  Simon Josefsson  <simon@josefsson.org>
35844         stdint-tests: Fix expanded-before-required-warning.
35845         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
35847 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
35849         fwrite: silence __wur only for older glibc versions
35850         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
35851         This will help us remove this workaround some time in the far future.
35853 2013-01-03  Eric Blake  <eblake@redhat.com>
35855         fwrite: silence __wur without using inline
35856         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
35857         just gcc, and in a way that avoids inline issues.
35858         * modules/stdio (Depends-on): Drop extern-inline.
35860 2013-01-03  Jim Meyering  <jim@meyering.net>
35862         update-copyright: avoid copyright notice date corruption
35863         Given a sequence of copyright year numbers in which the final
35864         one was a two-digit number that happened to be a substring of
35865         a preceding four-digit year number, we would mistakenly update
35866         the substring (from two- to four-digit) rather than the two-digit
35867         number at the end, which, combined with the addition of the current
35868         4-digit year number would yield two 5-digit year numbers, e.g.,
35869         here, it would convert the first "99" to "1999, 2013" rather than
35870         the final one:
35871           1991, 99
35872           11999, 20131, 1999
35873         * build-aux/update-copyright: Tighten a regexp.
35874         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
35875         Reported by Joseph Myers in
35876         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
35878 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
35880         regex: omit needless signed-pointer casts
35881         * lib/regcomp.c (build_charclass, build_charclass_op):
35882         Use char *, not unsigned char *, for class name and extra.
35883         The char values are always nonnegative so there's no need to
35884         insist on unsigned char * here, and using char * removes the need
35885         for casts.  Reported by Aharon Robbins in
35886         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35888         regex: support Gawk, which never uses alloca
35889         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
35890         Do not include in this case.  Gawk doesn't supply a substitute
35891         alloca.h and doesn't need one.
35893         regex: port __libc_lock_define usage to C89
35894         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
35895         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
35896         does not conform to C89, as it has an empty macro argument.
35897         Reported by Aharon Robbins in
35898         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35900 2013-01-01  Eric Blake  <eblake@redhat.com>
35902         maint: update all copyright year number ranges
35903         Run "make update-copyright".
35905         version-etc: bump copyright year reported in --version
35906         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
35908 2012-12-31  Eric Blake  <eblake@redhat.com>
35910         sigprocmask-tests: skip test if pid is unexpectedly large
35911         * tests/test-sigprocmask.c (main): Add range check.
35913         git-version-gen: avoid test -z portability glitch
35914         * build-aux/git-version-gen: Prefer portable test spelling, since
35915         git-version-gen is run on more than just developer machines.
35917 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
35919         git-version-gen: add --fallback option to use if git is not present
35920         * build-aux/git-version-gen: Add support for the new option --fallback,
35921         which comes into play when there is no $tarball_version_file and
35922         git is not working.
35923         (scriptversion): Update.
35925         maint.mk: handle missing git with more grace
35926         * top/maint.mk (no-submodule-changes, public-submodule-commit):
35927         Quietly proceed if git is not present.
35929 2012-12-31  Eric Blake  <eblake@redhat.com>
35931         dup2: work around cygwin bug
35932         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
35933         * lib/dup2.c (rpl_dup2): Work around it.
35934         * doc/posix-functions/dup2.texi (dup2): Document it.
35936 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
35938         regex: remove unnecessary dependency on localcharset.h
35939         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
35940         hasn't been needed for years.
35941         * modules/regex (Depends-on): Remove localcharset.
35943         regex: revert single-byte change
35944         * lib/regexec.c (check_node_accept_bytes): Revert previous change
35945         to this function.  This was alredy fixed in a different way, at
35946         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
35947         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
35948         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
35950         regex: simplify based on Gawk version
35951         * lib/regex_internal.c (re_dfa_add_node): Simplify.
35952         Reported by Aharon Robbins in
35953         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35955 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
35957         regex: check that pattern char is single-byte
35958         Reported by Aharon Robbins in
35959         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35960         * lib/regexec.c (check_node_accept_bytes):
35961         Return 0 if the pattern string has a multibyte character here.
35963         regex: implement rational ranges
35964         Reported by Aharon Robbins in
35965         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35966         * lib/regcomp.c (build_range_exp) [!_LIBC]:
35967         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
35968         Implement rational ranges.
35970         regex: avoid redefining __wctype
35971         Reported by Aharon Robbins in
35972         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35973         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
35974         #undef before defining.
35976         regex: port to hosts where malloc (0) == NULL
35977         Reported by Aharon Robbins in
35978         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35979         * lib/regex_internal.c (re_node_set_alloc):
35980         Don't assume that malloc (0) yields nonnull.
35981         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
35982         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
35983         * modules/regex (Files): Add m4/eealloc.m4.
35985         regex: port to C89
35986         Reported by Aharon Robbins in
35987         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
35988         * lib/regcomp.c (init_word_char): Declaration before statement.
35990         regex: merge glibc changes
35991         Also, copy the license wording from glibc.  This simplifies
35992         merging changes.  gnulib-tool will change the wording to GPL as
35993         appropriate, when importing it to other packages.  The only
35994         glibc change made since the last merge, which needs merging, is:
35995         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
35996         * lib/regex_internal.h (gettext): Remove use of INTUSE.
35998         * users.txt: Add Emacs.
36000         doc: omit mention of version when not needed
36001         * doc/gnulib-intro.texi (Portability and Application Code):
36002         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
36003         Don't mention particular dates or versions when not necessary, so
36004         that the documentation won't go out of date so quickly.
36006         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
36008 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
36010         bootstrap: pass --force to autoreconf.
36011         * build-aux/bootstrap (AUTORECONFFLAGS): New.
36012         Add "--force" so that Automake's ylwrap and other such tools
36013         be updated at each bootstrap invocation.
36014         Use it.
36016 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
36018         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
36019         The earlier patch forgot to update one of the #if conditions, causing
36020         a problem on Debian testing i386 reported by Mats Erik Andersson
36021         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00124.html>.
36022         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
36023         (__argp_fmtstream_puts, argp_fmtstream_puts)
36024         (__argp_fmtstream_write, argp_fmtstream_write)
36025         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
36027         * doc/gnulib-readme.texi: Minor fixups.
36028         (Portability guidelines): Modernize URLs.  Remove some repetition.
36029         (Indent with spaces not TABs): Reword to avoid too-long lines.
36030         Remove some '@ifset standalone' stuff that isn't used.
36032         * doc/gnulib-readme.texi (Portability guidelines):
36033         ctype.h, not ctime.h.
36035         Correct name of POSIX.1-2001.
36036         * doc/posix-functions/fgetc.texi (fgetc):
36037         * doc/posix-functions/fgets.texi (fgets):
36038         * doc/posix-functions/fread.texi (fread):
36039         * doc/posix-functions/fscanf.texi (fscanf):
36040         * doc/posix-functions/getc.texi (getc):
36041         * doc/posix-functions/getchar.texi (getchar):
36042         * doc/posix-functions/scanf.texi (scanf):
36043         POSIX.1-2001, not POSIX-2001.
36045         doc: move README into manual
36046         * README: Move contents to new file doc/gnulib-readme.texi.
36047         Replace with a one-line summary.
36048         * doc/gnulib.texi (Brief Overview): New section,
36049         with old intro preface.  Include gnulib-readme.texi for contents.
36050         (Philosophy): Rename from "Introduction", since this
36051         section no longer introduces the rest.  Write a new preface.
36052         * doc/gnulib-readme.texi: New file, with the old contents of
36053         README texinfo-ized.  This way, the README info appears
36054         in the online and printed manual.
36056 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
36058         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
36059         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
36060         c_vasprintf() prototype.
36062 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
36064         c-vasprintf: Fix "empty declaration" warning reported by GCC.
36065         * lib/c-vasprintf.h: Remove stray semicolon.
36067 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
36069         gettext: avoid obsolete macro AM_PROG_MKDIR_P
36070         It is obsolete and is planned to be removed from Automake 1.14; see
36071         <http://lists.gnu.org/r/automake/2012-12/msg00029.html>.
36072         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
36073         (installdirs-data, installdirs-data-yes):
36074         Use $(MKDIR_P), not $(mkdir_p).
36075         * m4/intl.m4 (AM_INTL_SUBDIR):
36076         * m4/po.m4 (AM_PO_SUBDIRS):
36077         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
36079 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
36081         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
36082         On this platform, we are not optimizing but we are using
36083         the substitute for extern inlines, so compile as if
36084         C99-style extern inline, or a substitute, is available.
36085         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
36086         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
36087         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
36088         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
36089         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
36090         Declare as ARGP_FS_EI, not as extern.
36091         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
36092         (__option_is_short, _option_is_end, __option_is_end)
36093         [!_LIBC && __USE_EXTERN_INLINES]:
36094         Declare as ARGP_EI, not as extern.
36096 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
36098         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
36099         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
36100         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
36101         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
36102         ...), as the latter is fatal with older Autoconfs.
36103         Problem reported and fix suggested by Eric Blake in thread starting at
36104         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00097.html>.
36106 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
36108         AC_PROG_MKDIR_P: don't workaround if not buggy
36109         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
36110         Define only for Autoconf versions before 2.62.
36111         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
36112         undocumented m4_PACKAGE_VERSION, for consistency with the
36113         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
36114         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
36115         was introduced in 2.62.
36117 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
36119         New 'c-*printf' modules for formatted output in C locale.
36121         New module 'c-vasnprintf'.
36122         * modules/c-vasnprintf: New file.
36123         * lib/c-vasnprintf.c: New file.
36124         * lib/c-vasnprintf.h: New file.
36126         New module 'c-snprintf'.
36127         * modules/c-snprintf: New file.
36128         * modules/c-snprintf-tests: New file.
36129         * lib/c-snprintf.c: New file.
36130         * lib/c-snprintf.h: New file.
36131         * tests/test-c-snprintf.c: New file.
36132         * tests/test-c-snprintf.sh: New file.
36134         New module 'c-vsnprintf'.
36135         * modules/c-vsnprintf: New file.
36136         * modules/c-vsnprintf-tests: New file.
36137         * lib/c-vsnprintf.c: New file.
36138         * lib/c-vsnprintf.h: New file.
36139         * tests/test-c-vsnprintf.c: New file.
36140         * tests/test-c-vsnprintf.sh: New file.
36142         New module 'c-vasprintf'.
36143         * modules/c-vasprintf: New file.
36144         * modules/c-vasprintf-tests: New file.
36145         * lib/c-asprintf.c: New file.
36146         * lib/c-vasprintf.c: New file.
36147         * lib/c-vasprintf.h: New file.
36148         * tests/test-c-vasprintf.c  +: New file.
36149         * tests/test-c-vasprintf.sh: New file.
36151         New module 'c-xvasprintf'.
36152         * modules/c-xvasprintf: New file.
36153         * modules/c-xvasprintf-tests: New file.
36154         * lib/c-xasprintf.c: New file.
36155         * lib/c-xvasprintf.c: New file.
36156         * lib/c-xvasprintf.h: New file.
36157         * tests/test-c-xvasprintf.c: New file.
36158         * tests/test-c-xvasprintf.sh: New file.
36160 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36162         argp: better 'inline'
36163         Use extern-inline module to declare extern inline functions.
36164         This avoids some bogus warning diagnostics.  Problem discovered
36165         when modifying GNU tar to use the manywarnings module.
36166         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
36167         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
36168         Define based on extern-inline.
36169         * modules/argp (Depends-on): Add extern-inline.
36171 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
36173         filemode, sys_stat: Handle MPX files a la AIX.
36174         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
36175         * lib/sys_stat.in.h (S_ISMPX): New macro.
36176         * tests/test-sys_stat.c: Add tests for MPX files.
36178 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
36180         x-to-1: honor $PERL
36181         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
36182         a chance to use his preferred version of Perl.  This is typically
36183         required by Darwin users whose default /usr/bin/perl does not have all
36184         the libraries required by help2man, and who need to use their MacPorts
36185         installation of Perl instead.
36187 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36189         gnu-web-doc-update: add all the new files, even in new directories
36190         See http://lists.gnu.org/r/bug-gnulib/2012-12/msg00057.html
36191         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
36192         Use it.
36193         (main): Don't use cvsutils to get the list of unknown files,
36194         just add all the existing files and directories.
36196 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
36198         gnu-web-doc-update: improve --help
36199         * build-aux/gnu-web-doc-update: Move comments into --help.
36201 2012-12-07  Eric Wong  <normalperson@yhbt.net>
36203         mountlist: recognize more "dummy" file systems
36204         * lib/mountlist.c (ME_DUMMY_0):
36205         Add these dummy FS names to the list:
36206         - "debugfs" virtual filesystem for kernel debugging
36207         - "devpts" PTY slave filesystem
36208         - "devtmpfs" device filesystem on top of tmpfs/ramfs
36209         - "fusectl" control filesystem for FUSE
36210         - "mqueue" enumerates POSIX message queues
36211         - "rpc_pipefs" kernel <-> userspace bridge for NFS
36212         - "sysfs" is for exporting kernel objects
36213         - "devfs" device filesystem for Linux 2.4 and FreeBSD
36215 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
36217         extern-inline: avoid incompatibility with Darwin Libc
36218         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
36219         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
36220         Problem reported by Akim Demaille in
36221         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00023.html>.
36223 2012-12-11  Simon Josefsson  <simon@josefsson.org>
36225         gnupload: Work with GnuPG using gpg-agent (for smartcards).
36226         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
36227         let it handle password prompting.
36229 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
36231         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
36232         * lib/canonicalize.c (canonicalize_filename_mode):
36233         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
36234         fetching the current directory.  Don't overrun the beginning of
36235         rpath if there's no slashes after the MS-Windows drive letter.
36237 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
36239         maint.mk: avoid extra forks
36240         * top/maint.mk (_cfg_mk): The GNU make manual documents that
36241         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
36242         So use that instead of "$(shell test -f FILE && echo FILE)".
36244 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
36246         vasnprintf: fix ASCII_ONLY typo
36247         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36248         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36249         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
36250         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
36251         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00021.html>.
36253 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
36255         list, oset, xlist, xoset: fix extern inline issue with C99
36256         This was introduced by my recent changes for 'inline'.
36257         Problem reported for gettext by Daiki Ueno in
36258         <http://lists.gnu.org/r/bug-gnulib/2012-12/msg00000.html>.
36259         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
36260         (gl_list_nx_create, gl_list_size, gl_list_node_value)
36261         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
36262         (gl_list_previous_node, gl_list_get_at)
36263         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
36264         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
36265         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
36266         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
36267         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
36268         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
36269         (gl_list_iterator_free, gl_sortedlist_search)
36270         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
36271         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
36272         (gl_sortedlist_remove):
36273         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
36274         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
36275         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
36276         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
36277         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
36278         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
36279         (gl_list_add_at, gl_sortedlist_add):
36280         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
36281         Wrap these extern decls inside "#if 0", because they are implemented
36282         as inline functions, and extern inline is not what's wanted here.
36283         It would simplify these .h files to remove the extern decls entirely,
36284         although a downside would be less-clear separation between
36285         specification and implementation.
36287 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
36289         sys_stat: no 'static inline'
36290         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
36291         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
36293         extern-inline: no 'static inline'
36294         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
36295         Do not require AC_C_INLINE.
36296         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
36297         'static inline', for older compilers.
36299         snippet/warn-on-use: no 'static inline'
36300         * build-aux/snippet/warn-on-use.h:
36301         Remove unnecessary 'inline' in comment.
36303         rbtree-list, rbtreehash-list: no 'static inline'
36304         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
36305         * lib/gl_anytree_list2.h (node_at):
36306         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
36307         (gl_oset_first, add_nodes_to_buckets):
36308         Now static, not static inline.
36310         regex: no 'static inline'
36311         * lib/regex_internal.c (calc_state_hash):
36312         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
36313         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
36314         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
36315         Now static, not static inline.
36316         (inline) [__GNUC__ < 3 && _LIBC]:
36317         Remove macro; no longer needed.
36319         xvasprintf: no 'static inline'
36320         * lib/xvasprintf.c (xstrcat):
36321         Now static, not static inline.
36322         * m4/xvasprintf.m4 (gl_XVASPRINTF):
36323         Do not require AC_C_INLINE.
36325         parse-datetime, parse-duration: no 'static inline'
36326         * lib/parse-datetime.y (to_uchar):
36327         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
36328         (scale_n_add):
36329         Now static, not static inline.
36330         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
36331         * modules/parse-duration (configure.ac):
36332         Do not require AC_C_INLINE.
36334         getaddrinfo: no 'static inline'
36335         * lib/getaddrinfo.c (validate_family):
36336         Now static, not static inline.
36337         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
36338         Do not require AC_C_INLINE.
36340         ftruncate, fts, lstat, openat, raise: no 'static inline'
36341         * lib/ftruncate.c (chsize_nothrow):
36342         * lib/fts.c (opendirat, diropen):
36343         * lib/lstat.c (orig_lstat):
36344         * lib/openat.c (orig_openat):
36345         * lib/raise.c (raise_nothrow):
36346         Now static, not static inline.
36347         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
36348         * m4/fts.m4 (gl_FUNC_FTS_CORE):
36349         * m4/lstat.m4 (gl_PREREQ_LSTAT):
36350         * m4/openat.m4 (gl_PREREQ_OPENAT):
36351         * m4/raise.m4 (gl_PREREQ_RAISE):
36352         Do not require AC_C_INLINE.
36354         fflush, stat: no 'static inline'
36355         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
36356         (clear_ungetc_buffer, disable_seek_optimization)
36357         (restore_seek_optimization, update_fpos_cache):
36358         * lib/stat.c (orig_stat):
36359         Now static, not static inline.
36360         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
36361         (update_fpos_cache):
36362         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
36363         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
36364         * m4/stat.m4 (gl_PREREQ_STAT):
36365         Do not require AC_C_INLINE.
36367         error, filevercmp: no 'static inline'
36368         * lib/error.c (is_open, flush_stdout):
36369         * lib/filevercmp.c (order):
36370         Now static, not static inline.
36371         * m4/error.m4 (gl_PREREQ_ERROR):
36372         * modules/filevercmp (configure.ac):
36373         Do not require AC_C_INLINE.
36375         dup, execute, fatal-signal, etc.: no 'static inline'
36376         * lib/dup.c (dup_nothrow):
36377         * lib/execute.c (nonintr_close, nonintr_open):
36378         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
36379         * lib/fopen.c (orig_fopen):
36380         * lib/freadseek.c (freadptrinc):
36381         * lib/freopen.c (orig_freopen):
36382         * lib/fstat.c (orig_fstat, fstat_nothrow):
36383         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
36384         (get_rusage_as_via_iterator):
36385         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
36386         * lib/getdtablesize.c (_setmaxstdio_nothrow):
36387         * lib/isatty.c (_isatty_nothrow):
36388         * lib/open.c (orig_open):
36389         * lib/read.c (read_nothrow):
36390         * lib/sigprocmask.c (signal_nothrow):
36391         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
36392         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
36393         * lib/wait-process.c (unregister_slave_subprocess):
36394         * lib/write.c (write_nothrow):
36395         Now static, not static inline.
36396         * lib/spawn-pipe.c (nonintr_open): Define only if
36397         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
36398         * m4/dup.m4 (gl_PREREQ_DUP):
36399         * m4/execute.m4 (gl_EXECUTE):
36400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
36401         * m4/fopen.m4 (gl_PREREQ_FOPEN):
36402         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
36403         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
36404         * m4/fstat.m4 (gl_PREREQ_FSTAT):
36405         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
36406         * m4/isatty.m4 (gl_PREREQ_ISATTY):
36407         * m4/open.m4 (gl_PREREQ_OPEN):
36408         * m4/read.m4 (gl_PREREQ_READ):
36409         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
36410         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
36411         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
36412         * m4/wait-process.m4 (gl_WAIT_PROCESS):
36413         * m4/write.m4 (gl_PREREQ_WRITE):
36414         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
36415         Do not require AC_C_INLINE.
36417         c-strtod, memcoll, readutmp: no 'static inline'
36418         * lib/c-strtod.c (c_locale):
36419         * lib/memcoll.c (strcoll_loop):
36420         * lib/readutmp.c (desirable_utmp_entry):
36421         Now static, not static inline.
36422         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
36423         * m4/memcoll.m4 (gl_MEMCOLL):
36424         * m4/readutmp.m4 (gl_READUTMP):
36425         Do not require AC_C_INLINE.
36427         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
36428         * lib/arctwo.c (to_uchar):
36429         * lib/md4.c (set_uint32):
36430         * lib/md5.c (set_uint32):
36431         * lib/sha1.c (set_uint32):
36432         * lib/sha256.c (set_uint32):
36433         * lib/sha512.c (set_uint64):
36434         Now static, not static inline.  This is a bit simpler, and doesn't
36435         affect performance with GCC and default optimization.
36436         * m4/arctwo.m4 (gl_ARCTWO):
36437         * m4/md4.m4 (gl_MD4):
36438         * m4/md5.m4 (gl_MD5):
36439         * m4/sha1.m4 (gl_SHA1):
36440         * m4/sha256.m4 (gl_SHA256):
36441         * m4/sha512.m4 (gl_SHA512):
36442         Do not require AC_C_INLINE.
36444         cond, lock, thread: better 'inline'
36445         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
36446         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
36447         New macros.  Use them instead of static inline, for header functions.
36448         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
36449         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36450         * lib/glthread/lock.c (gl_waitqueue_init)
36451         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
36452         * lib/glthread/thread.c (get_current_thread_handle):
36453         Change 'static inline' to 'inline'.
36454         * lib/glthread/cond.h, lib/glthread/thread.h:
36455         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36456         * m4/cond.m4 (gl_COND):
36457         * m4/lock.m4 (gl_PREREQ_LOCK):
36458         * m4/thread.m4 (gl_THREAD):
36459         Do not require AC_C_INLINE.
36460         * modules/cond, modules/thread (Depends-on): Add extern-inline.
36462         chdir-long, cycle-check, savewd: better 'inline'
36463         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
36464         (find_non_slash):
36465         * lib/cycle-check.c (is_zero_or_power_of_two):
36466         * lib/savewd.c (savewd_delegating):
36467         Change 'static inline' to 'inline'.
36468         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
36469         Replace all remaining uses of 'static inline' with it.
36470         * lib/savewd.h:
36471         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36472         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
36473         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
36474         * m4/savewd.m4 (gl_SAVEWD):
36475         Do not require AC_C_INLINE.
36476         * modules/savewd (Depends-on): Add extern-inline.
36478         base32, base64: no need for 'inline'
36479         * lib/base32.c (to_uchar, get_8, decode_8):
36480         * lib/base64.c (to_uchar, get_4, decode_4):
36481         Change 'static inline' to 'inline'.
36482         * m4/base32.m4 (gl_PREREQ_BASE32):
36483         * m4/base64.m4 (gl_PREREQ_BASE64):
36484         Do not require AC_C_INLINE.
36486         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
36487         * lib/gl_array_oset.c (gl_array_nx_add_at):
36488         (gl_array_remove_at):
36489         * lib/gl_linkedhash_list.c (hash_resize_after_add)
36490         (add_to_bucket, remove_from_bucket):
36491         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
36492         Change 'static inline' to 'static', as it's simpler to omit
36493         'inline' unless there's a significant performance advantage.
36495         list, oset, xlist, xoset, xsublist: simplify via extern inline
36496         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
36497         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
36498         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
36499         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
36500         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
36501         New macro.  Replace all uses of 'static inline' with it.
36502         [HAVE_INLINE]: Implement functions as *_INLINE functions,
36503         instead of as macros FOO that are defined to static inline
36504         functions FOO_inline.
36505         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
36506         * lib/gl_xsublist.c:
36507         Reimplement from scratch, by defining the corresponding *_INLINE
36508         macro and including the corresponding .h file.  This is simpler.
36509         * modules/list, modules/oset, modules/xlist, modules/xoset:
36510         (Files): Remove m4/gl_list.m4.
36511         (configure.ac): Remove gl_LIST.
36512         * m4/gl_list.m4: Remove.
36513         * modules/list, modules/oset, modules/xlist, modules/xoset:
36514         * modules/xsublist:
36515         (Depends-on): Depend on extern-inline, not inline.
36517         xalloc: better 'inline'
36518         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
36519         New macro.  Replace all uses of 'static inline' with it.
36520         (static_inline): Remove.
36521         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
36522         Let 'extern inline' do the work automatically, instead of doing
36523         it by hand.
36524         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
36525         Remove.  All uses removed.
36526         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
36528         gethrxtime: better 'inline'
36529         * lib/xtime.c: New file.
36530         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
36531         * lib/xtime.h (XTIME_INCLUDE):
36532         New macros.  Replace all uses of 'static inline' with them.
36533         * lib/gethrxtime.c (gethrxtime): Define only if
36534         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
36535         this source file is now always compiled, because of the extern inline.
36536         * lib/gethrxtime.h, lib/xtime.h:
36537         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36538         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
36539         if gethrtime works, as they're not needed in that case.
36540         (gl_XTIME): Do not require AC_C_INLINE.
36541         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
36542         compiled now.  Move the check into gl_GETHRXTIME.
36543         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
36544         (Depends-on): Add extern-inline.
36545         (configure.ac): gethrxtime is always compiled now.
36546         (lib_SOURCES): Add gethrxtime.c.
36548         wctype-h: better 'inline'
36549         * lib/wctype-h.c: New file.
36550         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
36551         New macro.  Replace all uses of 'static inline' with it.
36552         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36553         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
36554         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
36555         (Depends-on): Add extern-inline.
36557         unistd: better 'inline'
36558         * lib/unistd.c: New file.
36559         * lib/unistd.in.h (_GL_UNISTD_INLINE):
36560         New macro.  Replace all uses of 'static inline' with it.
36561         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36562         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
36563         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
36564         (Depends-on): Add extern-inline.
36566         sys_socket: better 'inline'
36567         * lib/sys_socket.c: New file.
36568         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
36569         New macro.  Replace all uses of 'static inline' with it.
36570         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36571         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
36572         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
36573         (Depends-on): Add extern-inline.
36575         stdio: better 'inline'
36576         * lib/stdio.c: New file.
36577         * lib/stdio.in.h (_GL_STDIO_INLINE):
36578         New macro.  Replace all uses of 'static inline' with it.
36579         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36580         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
36581         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
36582         (Depends-on): Add extern-inline.
36584         sigaction: better 'inline'
36585         * lib/sig-handler.c: New file.
36586         * lib/sig-handler.h (SIG_HANDLER_INLINE):
36587         New macro.  Replace all uses of 'static inline' with it.
36588         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36589         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
36590         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
36591         (Depends-on): Add extern-inline.
36593         selinux-h: better 'inline'
36594         * lib/se-context.c, lib/se-selinux.c: New files.
36595         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
36596         * lib/se-context.in.h (SE_CONTEXT_INLINE):
36597         New macro.  Replace all uses of 'static inline' with it.
36598         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36599         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
36600         New macro.  Replace all uses of 'static inline' with it.
36601         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36602         * modules/selinux-h (Files, lib_SOURCES):
36603         Add lib/se-context.c, lib/se-selinux.c.
36604         (Depends-on): Add extern-inline.
36605         (configure.ac): Do not require AC_C_INLINE.
36607         pthread: better 'inline'
36608         * lib/pthread.c: New file.
36609         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
36610         New macro.  Replace all uses of 'static inline' with it.
36611         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36612         * m4/pthread.m4 (gl_PTHREAD_CHECK):
36613         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
36614         * modules/pthread (Files): Add lib/pthread.c.
36615         (Depends-on): Add extern-inline.
36617         math: better 'inline'
36618         * lib/math.c: New file.
36619         * lib/math.in.h (_GL_MATH_INLINE):
36620         New macro.  Replace all uses of 'static inline' with it.
36621         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36622         * m4/math_h.m4 (gl_MATH_H):
36623         Do not require AC_C_INLINE.
36624         * modules/math (Files, lib_SOURCES):
36625         Add lib/math.c.
36626         (Depends-on): Add extern-inline.
36628         count-one-bits: better 'inline'
36629         * lib/count-one-bits.c: New file.
36630         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
36631         New macro.  Replace all uses of 'static inline' with it.
36632         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36633         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
36634         Do not require AC_C_INLINE.
36635         * modules/count-one-bits (Files, lib_SOURCES):
36636         Add lib/count-one-bits.c.
36637         (Depends-on): Add extern-inline.
36639         count-leading-zeros: better 'inline'
36640         * lib/count-leading-zeros.c: New file.
36641         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
36642         New macro.  Replace all uses of 'static inline' with it.
36643         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36644         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
36645         Do not require AC_C_INLINE.
36646         * modules/count-leading-zeros (Files, lib_SOURCES):
36647         Add lib/count-leading-zeros.c.
36648         (Depends-on): Add extern-inline.
36650         bitrotate: better 'inline'
36651         * lib/bitrotate.c: New file.
36652         * lib/bitrotate.h (BITROTATE_INLINE):
36653         New macros.
36654         Replace all uses of 'static inline' with them.
36655         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
36656         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
36657         (Depends-on): Add extern-inline.
36658         (configure.ac): Do not require AC_C_INLINE.
36660 2012-11-20  Theophile Ranquet  <ranquet@lrde.epita.fr>
36662         maint.mk: avoid gratuitous failure
36663         Reported by Stefano Lattarini in
36664         <http://lists.gnu.org/r/bug-bison/2012-11/msg00022.html>
36665         * top/maint.mk (public-submodule-commit): Quote more safely.
36667 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
36669         canonicalize, canonicalize-lgpl: support MS-Windows file names
36670         See <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00074.html>
36671         for test cases, which it'd be nice to add at some point.
36672         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
36673         * lib/canonicalize.c (canonicalize_filename_mode):
36674         * lib/canonicalize-lgpl.c (__realpath):
36675         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
36676         slash is at the beginning of the file name.  Use ISSLASH, instead
36677         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
36678         the first character with '/'.  Test for
36679         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
36680         with a drive letter.
36681         * lib/canonicalize.c (SLASHES): New macro.
36682         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
36684 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
36686         fts: introduce FTS_VERBATIM
36687         * lib/fts_.h (FTS_VERBATIM): New bit flag.
36688         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
36689         * lib/fts.c (fts_open): Honor it.
36691 2012-11-09  Pádraig Brady  <P@draigBrady.com>
36693         getlogin-tests: allow errno == ENXIO
36694         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36695         with errno == ENXIO (No controlling tty).
36696         getlogin_r-tests: Likewise. Also allow errno == ENOENT
36697         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
36698         with errno == ENOENT.  This was reported to happen in various
36699         situations on GNU/Linux.
36701 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
36703         getlogin-tests: allow errno == ENOENT
36704         * tests/test-getlogin.c (main): Skip tests if getlogin fails
36705         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
36706         when running a test in an Emacs shell buffer.
36708 2012-11-08  Jim Meyering  <jim@meyering.net>
36710         tests/nap.h: avoid warning about unused variable
36711         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
36713         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
36714         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
36715         white space before each of the special-cased file names, to avoid
36716         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
36717         in http://bugs.gnu.org/12830.
36719 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
36721         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
36722         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
36723         fails with errno == EBADF when fd is opened with O_PATH.
36724         Reported by Jim Meyering in
36725         <http://lists.gnu.org/r/bug-gnulib/2012-11/msg00026.html>.
36726         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36727         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
36729 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
36731         test-utimens: speed up by taking shorter naps
36732         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
36733         New functions.
36734         (nap): Use them, to do a better job of guessing the delay.
36735         On Fedora 17 with ext4 atop md atop hard disks, this made
36736         test-utimens run 10x faster, because the test napped for
36737         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
36738         <http://bugs.gnu.org/12820#11>.
36740 2012-11-07  Jim Meyering  <jim@meyering.net>
36742         mountlist.c: fix a compilation failure
36743         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
36744         I introduced while transforming commit v0.0-7683-g613bcb6
36746 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36748         errno: port to LynxOS 178 2.2.2
36749         Problem reported by Joel Brobecker in
36750         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00088.html>.
36751         * doc/posix-headers/errno.texi (errno.h): Document this.
36752         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
36753         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
36754         Supply a string for EILSEQ.
36755         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
36757 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
36759         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
36760         Linux kernel 2.6.39 introduced O_PATH (see
36761         <http://lwn.net/Articles/433854/>) and this is a better fallback
36762         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
36763         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
36764         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
36765         * lib/fcntl.in.h (O_ACCMODE):
36766         * tests/test-fcntl-h.c (main):
36767         Do not reject O_ACCMODE merely because it has more than the
36768         minimal number of bits, as POSIX allows extensions here.
36770 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
36772         mountlist: do not classify a bind-mounted dir entry as "dummy"
36773         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
36774         the "none"-testing clause.
36775         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
36776         exception for bind-mounted directories.
36778 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
36780         quote: provide a means to escape strings with nul characters
36781         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
36782         (quote, quote_n): Rename formal arguments for consistency with
36783         quotearg.
36785 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
36787         test-raise: don't assume 199 is an invalid signal
36788         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
36790         sh-quote-tests: port to Solaris 9
36791         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
36792         Problem reported by Dagobert Michelsen in
36793         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00114.html>.
36795 2012-10-28  Jim Meyering  <jim@meyering.net>
36797         maint.mk: rename a new configurable variable
36798         * top/maint.mk (_gl_translatable_string_re): Rename from
36799         translation-markers: _gl_ prefix to insulate from user Makefile code,
36800         and the _re suffix to inform that it's a regular expression.
36802 2012-10-26  Eric Blake  <eblake@redhat.com>
36804         maint.mk: let packages tweak sc_po_check pattern
36805         * top/maint.mk (sc_po_check): Add translation-markers, to allow
36806         finding files with other translation markers.
36808 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36810         euidaccess: speed up 'configure' on GNU hosts
36811         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
36812         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
36813         it's needed only in this case.  Use AC_CHECK_DECLS, not
36814         AC_CHECK_DECLS_ONCE.
36815         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
36816         or AC_REQUIRE for AC_FUNC_GETGROUPS.
36818         * lib/regexec.c (re_search_internal): Fix grammar in comment.
36820 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36822         fchmodat, fchownat, fstatat: port to non-inlining compilers
36823         Problem reported for FreeBSD 9 by Jim Meyering in
36824         <http://lists.gnu.org/r/bug-gnulib/2012-10/msg00070.html>.
36825         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
36826         New files, which define FCHMODAT_INLINE etc.
36827         * lib/fchmodat.c (FCHMODAT_INLINE):
36828         * lib/fchownat.c (FCHOWNAT_INLINE):
36829         * lib/fstatat.c (FSTATAT_INLINE):
36830         Remove, as chmodat.c etc. now do this.
36831         * modules/fchmodat (Files): Add lib/chmodat.c.
36832         * modules/fchownat (Files): Add lib/chownat.c.
36833         * modules/fstatat (Files): Add lib/statat.c.
36835 2012-10-15  Jim Meyering  <jim@meyering.net>
36837         fchmodat.c, fchownat.c: compile-impeding typos
36838         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
36839         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
36840         Introduced in commit v0.0-7636-gd202279.
36842 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
36844         fcntl-h: support GNU flags like O_IGNORE_CTTY
36845         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
36846         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
36847         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
36848         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
36849         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
36850         Define to 0 if not already defined.
36851         * tests/test-fcntl-h.c: Test these new flags.
36853 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
36855         faccessat, etc.: support AT_FDCWD-only use
36856         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
36857         this function only if its first argument is AT_FDCWD.
36858         Emacs wants faccessat for AT_EACCESS but not for any first-arg
36859         values other than AT_FDCWD, so it doesn't want all the openat
36860         machinery with fchdir etc.
36861         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
36862         * modules/fstatat, modules/mkdirat, modules/openat (Files):
36863         * modules/unlinkat (Files):
36864         Remove lib/openat-priv.h, as at-internal supplies this file.
36865         Removing this file here allows us to support programs like Emacs
36866         that avoid at-internal.
36868         faccessat: speed up 'configure' on mainstream hosts
36869         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
36870         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
36871         since it's only on unusual platforms that we need to check for
36872         'access', and it's better not to slow 'configure' down on all
36873         platforms.
36875         faccessat: port to Solaris 10
36876         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
36877         Needed on Solaris 10, which doesn't have AT_EACCESS,
36878         so we need the Gnulib fcntl.h, which defines it.
36880 2012-10-14  Pádraig Brady  <P@draigBrady.com>
36881         canonicalize: fix C89 compilation
36882         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
36883         declarations so C89 is supported.  Also remove the comment
36884         referencing memorty allocation as the suggested feature could
36885         not be implemented as suggested.
36886         Reported by Michael Goffioul.
36888 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36890         group-member: omit unnecessary dependencies
36891         This is for Emacs, which has its own allocator and where we
36892         don't want to use xalloc.
36893         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
36894         since we no longer use xmalloc.  Do not include stdbool.h, since
36895         the changes below happen to remove the only use of bool.
36896         (GROUPBUF_SIZE): New constant.
36897         (struct group_info): Remove n_groups member.  Add groupbuf member.
36898         This lets us get the groups without using malloc, usually.
36899         (free_group_info, get_group_info): Adjust to this.
36900         (get_group_info): Return the number of groups found, or -1 on error.
36901         Use plain malloc not xmalloc, and treat its failure as if there
36902         are no groups, as the user already loses in case of error.
36903         (group_member): Simplify, based on changes to get_group_info.
36904         * modules/group-member (Depends-on): Remove dependencies on
36905         xalloc and stdbool.  Add dependency on xalloc-oversized.
36907 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
36909         gethrxtime: port to C++
36910         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
36912 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
36914         ptsname: fix macro-name typo
36915         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
36917 2012-10-03  Simon Josefsson  <simon@josefsson.org>
36919         inttostr: Relax license.
36920         * modules/inttostr (License): Change from LGPL to LGPLv2+.
36922 2012-10-03  Eric Blake  <eblake@redhat.com>
36924         ptsname_r: support ptys returned by FreeBSD posix_openpt
36925         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
36926         lives in /dev/pts/.
36928 2012-10-02  Eric Blake  <eblake@redhat.com>
36930         pselect: reject invalid file descriptors
36931         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
36932         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
36933         * modules/pselect (Depends-on): Add dup2.
36934         * doc/posix-functions/pselect.texi (pselect): Document this.
36936         select: reject invalid file descriptors
36937         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
36938         * lib/select.c (rpl_select) [!win32]: Work around it.
36939         * modules/select (Depends-on): Add dup2.
36940         * doc/posix-functions/select.texi (select): Document this.
36942         select: enhance test
36943         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
36944         New functions.
36945         (test_function): Enhance test.
36946         (do_select_bad_fd): Avoid any stale errno values.
36948         ptsname: reject invalid file descriptors
36949         http://www.austingroupbugs.net/view.php?id=503
36950         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
36951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
36952         * modules/stdlib (Makefile.am): Replace witness.
36953         * lib/stdlib.in.h (ptsname): Allow for replacement.
36954         * modules/ptsname (configure.ac): Trigger replacement.
36955         * doc/posix-functions/ptsname.texi (ptsname): Document this.
36957 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
36959         hash-pjw-bare: new module
36960         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
36961         * lib/hash-pjw-bare.h: Likewise.
36962         * modules/hash-pjw-bare: New file.
36963         * MODULES.html.sh (Misc): Add it.
36965 2012-10-02  Eric Blake  <eblake@redhat.com>
36967         manywarnings: cater to more gcc infelicities
36968         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
36969         -Wuninitialized without -O.
36971 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
36973         select, poll tests: Make setsockopt invocation effective.
36974         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
36975         the bind() call.
36976         * tests/test-select.h (open_server_socket): Likewise.
36978 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
36980         sockets, sys_stat: restore AC_C_INLINE
36981         This undoes the 2012-09-22 patch.
36982         * m4/sockets.m4 (gl_SOCKETS):
36983         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
36984         Restore AC_C_INLINE, since MSVC requires __inline or _inline
36985         and does not support plain 'inline'.  Reported by Bruno Haible in
36986         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00183.html>.
36988 2012-09-30  Bruno Haible  <bruno@clisp.org>
36990         localeconv tests: Avoid test failure on OpenIndiana.
36991         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
36992         skip the 'grouping' and 'mon_grouping' tests.
36993         Reported by Jim Meyering.
36995 2012-09-30  Bruno Haible  <bruno@clisp.org>
36997         havelib: Follow libtool developments.
36998         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
36999         Suggested by Simon Josefsson.
37001 2012-09-29  Jim Meyering  <meyering@redhat.com>
37003         fstatat.c: fix a compile-impeding typo
37004         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
37005         Introduced in commit v0.0-7636-gd202279.
37006         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
37008 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
37010         extern-inline: provide a -Wundef safe config.h
37011         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
37012         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
37013         to produce a -Wundef warning free config.h.
37015 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37017         hash-pjw: relax license to LGPLv2+
37018         * modules/hash-pjw (License): Relax, with consent of author.
37020 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37022         maint.mk: fix strict vs. lazy variable issues with RELEASE
37023         * top/maint.mk (_equal): New function.
37024         (member_check): Strip the result to avoid spurious spaces.
37025         (url_dir_list): Do not use ifeq, which is strict, as it will
37026         require RELEASE_TYPE to be defined.
37027         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
37028         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
37029         (announcement_Cc_alpha,announcement_mail_headers_alpha)
37030         (announcement_Cc_beta,announcement_mail_headers_beta)
37031         (announcement_Cc_stable,announcement_mail_headers_stable): these.
37032         (release): Do not depend on $(release-type), as it forces its
37033         evaluation.  Bounce to it.
37035 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
37037         maint.mk: formatting changes
37038         * top/maint.mk: Indent bodies of if's.
37040 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
37042         maint.mk: factor the validation of RELEASE_TYPE
37043         With help from Jim Meyering.
37044         http://lists.gnu.org/r/bug-gnulib/2012-09/msg00132.html
37045         * top/maint.mk (_empty, _sp): Move their definition earlier.
37046         (member-check, release-type): New.
37047         Use the latter instead of $(RELEASE_TYPE).
37048         Remove now useless local checks.
37050 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37052         maint.mk: provide "make upload" to ease uploading
37053         See
37054         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00028.html>.
37055         Do not depend simply on the current $(VERSION), as there may have been
37056         new commits since the tarball generation.  Rather, rely on $(RELEASE),
37057         as "make release-commit" already does.
37059         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
37060         "make TYPE".
37062         * top/maint.mk (upload_command, upload, release): New.
37063         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
37064         (VERSION): first word of $(RELEASE) is always right.
37065         (emit_upload_commands): Adjust.
37066         * top/README-release: Update.
37068 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
37070         maint.mk: silent rules
37071         With help from Stefano Lattarini.
37072         * top/maint.mk (writable-files): Use $(AM_V_GEN).
37073         (announcement): Use $(AM_V_at).
37075 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37077         localename: port gl_locale_name_thread_unsafe to FreeBSD
37078         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
37079         and use the simpler FreeBSD implementation on Mac OS X as well.
37080         Original idea suggested by Ed Maste in
37081         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00094.html>.
37083 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37085         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
37086         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
37087         * lib/mbuiter.c, lib/xsize.c: New files.
37088         * lib/binary-io.h (BINARY_IO_INLINE):
37089         * lib/eealloc.h (EEALLOC_INLINE):
37090         * lib/mbfile.h (MBFILE_INLINE):
37091         * lib/mbiter.h (MBITER_INLINE):
37092         * lib/mbuiter.h (MBUITER_INLINE):
37093         * lib/xsize.h (XSIZE_INLINE):
37094         New macros.
37095         Replace all uses of 'static inline' with them.
37096         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37097         * m4/eealloc.m4 (gl_EEALLOC):
37098         * m4/mbfile.m4 (gl_MBFILE):
37099         * m4/mbiter.m4 (gl_MBITER):
37100         * m4/xsize.m4 (gl_XSIZE):
37101         Do not require AC_C_INLINE.
37102         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
37103         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
37104         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
37105         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
37106         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
37107         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
37108         * modules/binary-io, modules/eealloc, modules/mbfile:
37109         * modules/mbiter, modules/mbuiter:
37110         (Depends-on): Add extern-inline.
37112         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
37113         * lib/pipe-filter-aux.c: New file.
37114         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
37115         Replace all uses of 'static inline' with it.
37116         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37117         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
37118         (filter_retcode): No real need for inline here.
37119         * modules/pipe-filter-gi, modules/pipe-filter-ii:
37120         (Files): Add lib/pipe-filter-aux.c.
37121         (Depends-on): Add extern-inline.
37122         (configure.ac): Do not require AC_C_INLINE.
37123         (lib_SOURCES): Add pipe-filter-aux.c.
37125         fdutimensat: omit unnecessary AC_C_INLINE
37126         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
37128         fchmodat, fchownat, fstatat: use extern-inline
37129         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
37130         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
37131         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
37132         New macros.
37133         * lib/openat.h:
37134         Replace all uses of 'static inline' with them.
37135         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37136         * modules/fchmodat, modules/fchownat, modules/fstatat:
37137         * modules/openat-h:
37138         (Depends-on):
37139         Add extern-inline.
37140         (configure.ac): Remove AC_C_INLINE.
37142         acl, mbchar, priv-set: use extern-inline
37143         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
37144         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
37145         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
37146         New macros.
37147         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
37148         Replace all uses of 'static inline' with it.
37149         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37150         * m4/acl.m4 (gl_FUNC_ACL):
37151         * m4/mbchar.m4 (gl_MBCHAR):
37152         * m4/priv-set.m4 (gl_PRIV_SET):
37153         Remove AC_C_INLINE, since 'inline' is no longer used directly.
37154         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
37155         Add extern-inline.
37157         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
37158         * m4/sockets.m4 (gl_SOCKETS):
37159         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
37160         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
37161         environments where it's already guaranteed to work, so we needn't
37162         check for it at 'configure'-time.
37164         tls-tests: omit unnecessary 'inline'
37165         * tests/test-tls.c (perhaps_yield): No longer inline.
37166         Simplicity and portability trump efficiency in test cases.
37168         utimens-tests: avoid unnecessary 'inline'
37169         * modules/fdutimensat-tests (configure.ac):
37170         * modules/futimens-tests (configure.ac):
37171         * modules/utimens-tests (configure.ac):
37172         * modules/utimensat-tests (configure.ac):
37173         Remove AC_C_INLINE.
37174         * tests/test-utimens-common.h (ctime_compare):
37175         No longer inline.  Simplicity and portability trump efficiency here.
37177         misc: don't limit commentary to inline functions
37178         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
37179         * lib/xalloc-oversized.h, lib/xsize.h:
37180         Contrast macros to functions in general, not just to inline functions,
37181         when the commentary does not apply only to inline functions.
37183 2012-09-20  Jim Meyering  <meyering@redhat.com>
37185         non-recursive-gnulib-prefix-hack: new module
37186         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
37187         the file that originated in Bison.
37188         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
37189         largely copied from a snippet that resided in bison's configure.ac.
37190         * modules/non-recursive-gnulib-prefix-hack: New file.
37191         * MODULES.html.sh (Support for maintaining and releasing projects):
37192         Add it.
37194 2012-09-18  Jim Meyering  <meyering@redhat.com>
37196         maint.mk: generalize _gl_tight_scope for non-recursive make
37197         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
37198         that *.h would describe additional .h files in the directory
37199         specified by $(_gl_TS_dir).  I.e., add this...
37200         (_gl_TS_other_headers): New variable.
37202         maint.mk: exempt trailing blanks found in "binary" files
37203         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
37204         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
37205         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37207 2012-09-17  Jim Meyering  <meyering@redhat.com>
37209         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
37210         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
37211         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
37212         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37214 2012-09-17  Jim Meyering  <meyering@redhat.com>
37216         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
37217         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
37218         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
37219         It is not in the same category as "exit (0)" or "exit (1)", and
37220         besides, I know of no symbolic name for that 77.  Reported by
37221         Richard W.M. Jones in
37222         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37224 2012-09-17  Jim Meyering  <meyering@redhat.com>
37226         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
37227         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
37228         all uses of #define, not just those that start in column 1.
37229         Richard W.M. Jones reported a false positive in
37230         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
37232 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37234         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
37235         * lib/localcharset.c (locale_charset) [DARWIN7]:
37236         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
37237         as these two values are incompatible.  Problem reported by Max Horn.
37238         For more discussion, please see
37239         <http://lists.gnu.org/r/bug-gnulib/2012-09/msg00061.html>.
37241         doc: document sticky-EOF issue
37242         * doc/posix-functions/fgetc.texi (fgetc):
37243         * doc/posix-functions/fgets.texi (fgets):
37244         * doc/posix-functions/fread.texi (fread):
37245         * doc/posix-functions/fscanf.texi (fscanf):
37246         * doc/posix-functions/getc.texi (getc):
37247         * doc/posix-functions/getchar.texi (getchar):
37248         * doc/posix-functions/scanf.texi (scanf):
37249         Mention that glibc and default Solaris do not conform to
37250         C99 and POSIX-2001 or later, with respect to how getchar
37251         etc. behave when feof reports nonzero.
37253 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37255         poll: fix poll(0, NULL, msec)
37256         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
37257         but nfd is 0.  In that case poll should behave like select.
37259 2012-09-13  Joachim Schmitz  <jojo@schmitz-digital.de>  (tiny change)
37260             Paolo Bonzini  <bonzini@gnu.org>
37262         poll: fix for systems that can't recv() on a non-socket
37263         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
37264         is readable.  In this case POLLHUP will not be supported.
37265         * doc/posix-functions/poll.texi: Document this.
37267 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
37269         poll/select: document portability problems not fixed by Gnulib.
37270         * doc/posix-functions/poll.texi: poll does not work well on
37271         pipes under Windows.  It has the same limitations as select on
37272         BeOS.
37273         * doc/posix-functions/select.texi: select does not work well
37274         on pipes under Windows.
37276 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
37278         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
37279         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
37280         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
37281         <http://lists.gnu.org/r/bug-tar/2012-07/msg00018.html>.
37283 2012-09-06  Eric Blake  <eblake@redhat.com>
37285         net_if: give more details about the bug being fixed
37286         * doc/posix-headers/net_if.texi: Add clarification.
37288 2012-09-05  Eric Blake  <eblake@redhat.com>
37290         net_if: new module
37291         * modules/net_if: New module, borrowing ideas from netinet_in.
37292         * m4/net_if_h.m4: New file.
37293         * lib/net_if.in.h: Likewise.
37294         * doc/posix-headers/net_if.texi (net/if.h): Document it.
37295         * MODULES.html.sh (lacking POSIX:2008): Likewise.
37296         * tests/test-net_if.c: Make function checks conditional.
37297         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
37299 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
37301         readutmp: fix non-portable UT_PID use
37302         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
37303         Use `UT_PID (u) > 0' as absolute condition.
37305 2012-09-04  Jim Meyering  <meyering@redhat.com>
37307         fts: reduce two or more trailing spaces to just one, usually
37308         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
37309         or more slashes, trim all but the final one.  But if a name consists
37310         solely of two slashes, don't modify it.  If it consists solely of
37311         three or more slashes, strip all but one.
37313         This is part of the solution to a minor problem with rm:
37314         it would print a bogus ELOOP diagnostic when failing to remove
37315         the slash-decorated name of a symlink-to-directory:
37317             $ mkdir d && ln -s d s && env rm -r s/
37318             rm: cannot remove 's': Too many levels of symbolic links
37320         With the change below and a trivial don't-trim-trailing-slashes
37321         adjustment to remove.c, it does this:
37323             $ env rm -r s/
37324             rm: cannot remove 's/': Not a directory
37326         Improved by: Eric Blake
37328         fts: when there is no risk of overlap, use memcpy, not memmove
37329         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
37331 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
37333         stdbool: be more compatible with mixed C/C++ compiles
37334         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
37335         Define to bool, true, false, respectively, as GCC's builtin
37336         stdbool.h does.  Problem reported by Michael Goffioul in
37337         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00143.html>.
37339 2012-08-28  Jim Meyering  <meyering@redhat.com>
37341         revert last change: it was not needed
37342         * tests/test-vc-list-files-git.sh: There's already a test for
37343         a working git, just below.
37345 2012-08-28  Jim Meyering  <meyering@redhat.com>
37347         tests: test-vc-list-files-git.sh: skip if git is not available
37348         * tests/test-vc-list-files-git.sh: Skip this test when git is
37349         not available.
37351 2012-08-26  Bruno Haible  <bruno@clisp.org>
37353         gnulib-tool: Remove no-op option --no-changelog.
37354         * gnulib-tool (func_usage): Don't mention --no-changelog.
37355         (do_changelog): Remove variable.
37356         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37358 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37360         doc: remove fdl-1.2.texi
37361         It is no longer used or maintained, and its use of @acronym
37362         is problematic.  See the thread containing
37363         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00134.html>.
37364         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
37365         * doc/old-licenses/fdl-1.2.texi: Remove.
37367         execinfo: port to FreeBSD
37368         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
37369         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
37370         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00113.html>.
37371         * modules/execinfo (Link): Add $(LIB_EXECINFO).
37373 2012-08-23  Jim Meyering  <meyering@redhat.com>
37375         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
37376         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
37377         to placate gcc's -Wold-style-declaration.
37379 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
37381         doc: do not use @acronym
37382         * doc/inet_ntoa.texi (inet_ntoa):
37383         * doc/parse-datetime.texi (Seconds since the Epoch)
37384         (Specifying time zone rules):
37385         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
37386         Don't use @acronym.  Problem reported by John Darlington in
37387         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00124.html>.
37389 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
37391         stdnoreturn: port to newer GCCs
37392         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
37393         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
37394         Problem reported by Jim Meyering in
37395         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00121.html>.
37396         Also, rename the 'test' function to a void a clash with the
37397         already-supplied 'main' function; this fixes a bug that incorrectly
37398         rejected GCC 4.7.1's <stdnoreturn.h>.
37399         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
37400         Document GCC problem.
37402 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
37404         pipe-filter: fix comment typo
37405         * lib/pipe-filter.h: Mention correct function.
37407 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
37409         execinfo: new module
37410         This is for Emacs.  Currently, it provides a no-effect stub
37411         on all platforms where it does not already work.
37412         It already works on glibc-based systems, and on Solaris 11.
37413         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
37414         New files.
37415         * doc/glibc-headers/execinfo.texi (execinfo.h):
37416         * MODULES.html.sh (Misc): Document it.
37418 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37420         extern-inline: support old GCC 'inline'
37421         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
37422         if available.  This applies to GCC versions 2.7 through 4.2, or
37423         when newer GCC is using -fgnu89-inline.  The goal is to address
37424         some of the performance issues mentioned by Bruno Haible in
37425         <http://lists.gnu.org/r/bug-gnulib/2012-08/msg00097.html>.
37427 2012-08-20  Eric Blake  <eblake@redhat.com>
37429         maint.mk: avoid redundant file name in message
37430         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
37431         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
37432         (sc_makefile_path_separator_check): Remove bogus $(ME).
37434 2012-08-20  Mike Frysinger  <vapier@gentoo.org>
37436         timer-time: fix link order when static linking on glibc
37437         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
37438         _after_ -lrt so that it's significant.
37440 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37442         timespec: omit unnecessary AC_C_INLINE
37443         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
37445         stat-time: omit unnecessary AC_C_INLINE
37446         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
37447         Do not require AC_C_INLINE.
37449         ignore-value: omit unnecessary AC_C_INLINE
37450         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
37452         sys_select: avoid 'static inline'
37453         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
37455         mktime: avoid 'static inline'
37456         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
37457         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
37459 2012-08-19  Bruno Haible  <bruno@clisp.org>
37461         gnulib-tool: Improve coding style.
37462         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
37463         func_emit_lib_Makefile_am.
37464         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37466 2012-08-19  Bruno Haible  <bruno@clisp.org>
37468         gnulib-tool: Fix indentation.
37469         * gnulib-tool (func_import): Fix indentation.
37471 2012-08-19  Bruno Haible  <bruno@clisp.org>
37473         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
37474         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
37475         on the list of removed files.
37477 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37479         test-parse-datetime: avoid glibc leap-second glitch
37480         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
37481         with the 2012 rules.  Problem reported by Bruce Dubbs in
37482         <http://bugs.gnu.org/12206>.
37484 2012-08-14  Bruno Haible  <bruno@clisp.org>
37486         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
37487         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
37488         from argument.
37489         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37491 2012-08-14  Eric Blake  <eblake@redhat.com>
37493         ldexp: relax license
37494         * modules/ldexp (License): Trivial relax, since the module only
37495         provides a permissively licensed m4 file.
37497 2012-08-13  Bruno Haible  <bruno@clisp.org>
37499         gnulib-tool: Fix persistence of --witness-c-macro option.
37500         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
37501         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
37503 2012-08-11  Eric Blake  <eblake@redhat.com>
37505         count-leading-zeros: use a lookup table on non-gcc compilers
37506         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
37507         alternate implementation, suggested by Jim Meyering.
37509 2012-08-10  Eric Blake  <eblake@redhat.com>
37511         count-leading-zeros: new module
37512         * modules/count-leading-zeros: New module.
37513         * m4/count-leading-zeros.m4: New file.
37514         * lib/count-leading-zeros.h: Likewise.
37515         * modules/count-leading-zeros-tests: New test.
37516         * tests/test-count-leading-zeros.c: New file.
37517         * MODULES.html.sh (Integer arithmetic functions): Document it.
37519 2012-08-07  Simon Josefsson  <simon@josefsson.org>
37520             Jim Meyering  <meyering@redhat.com>
37522         maintainer-makefile: Fix syntax error with dash.
37523         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
37524         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
37526 2012-08-05  Jim Meyering  <meyering@redhat.com>
37528         extern-inline: also ignore -Wmissing-declarations
37529         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
37530         required with gcc-4.8.0-to-be.
37532         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
37533         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
37534         for /error ?([^,]*)/.  This avoids false-positives for strings like
37535         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
37537 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
37539         gnumakefile: better interaction with Automake-NG
37540         * modules/gnumakefile [Makefile.am]: The makefiles generated by
37541         Automake-NG always contain a definition of VPATH, even in non-VPATH
37542         builds (its value being simply '.' in that case).  So, in the
37543         'clean-GNUmakefile' rule, to determine whether running under a
37544         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
37545         '$(VPATH)' expands to the empty string.
37547 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
37549         base64: Use extern C scope in header file, for C++.
37550         * lib/base64.h: Add C++ namespace protection.
37552 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
37554         stat-time, timespec, u64: support naive out-of-dir builds
37555         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
37556         Use '#include "foo.h"', not '#include <foo.h>', when including
37557         one's own interface.  This works better when configuring with
37558         out-of-directory builds, since packages need not add an
37559         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
37561 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
37563         utimens: use extern-inline
37564         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
37565         * lib/utimens.h: Add copyright notice, since this is now large enough
37566         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37567         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
37568         * modules/utimens (Depends-on): Add extern-inline.
37570         u64: use extern-inline
37571         * lib/u64.c: New file.
37572         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37573         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
37574         * modules/u64 (Files): Add lib/u64.c.
37575         (Depends-on): Add extern-inline.
37576         (configure.ac): No need to require AC_C_INLINE, since extern-inline
37577         does that now.
37578         (lib_SOURCES): Add u64.c.
37580         timespec: use extern-inline
37581         * lib/timespec.c: New file.
37582         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37583         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
37584         * modules/timespec (Files): Add lib/timespec.c.
37585         (Depends-on): Add extern-inline.
37586         (lib_SOURCES): Add timespec.c.
37588         stat-time: use extern-inline
37589         * lib/stat-time.c: New file.
37590         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
37591         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
37592         * modules/stat-time (Files): Add lib/stat-time.c.
37593         (Depends-on): Add extern-inline.
37594         (lib_SOURCES): Add stat-time.c.
37596         extern-inline: new module
37597         * modules/extern-inline, m4/extern-inline.m4: New files.
37598         This is for better support of 'extern inline' a la ISO C99,
37599         with a portable alternative on compilers that do not support
37600         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
37601         of the Emacs executable, when compiled with debugging disabled,
37602         which is a typical way that Emacs is built while developing.
37604 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
37606         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
37607         * build-aux/do-release-commit-and-tag: Move variable definitions
37608         together.
37609         ($branch): Instead of defaulting to "master", default to the current
37610         branch (as gnu-web-doc-update does).
37611         (help): Display the current values of the option arguments.
37612         * top/maint.mk (release-commit): New.
37613         * top/README-release: Simplify the corresponding step.
37615 2012-07-30  Eric Blake  <eblake@redhat.com>
37617         passfd: fix comment on recvfd
37618         * lib/passfd.c (recvfd): Fix comment.
37619         Reported by Jann Horn <jannhorn@googlemail.com>.
37621 2012-07-30  Jim Meyering  <meyering@redhat.com>
37623         maint.mk: avoid a sub-shell
37624         * top/maint.mk (release-prep): Remove unneeded sub-shell.
37626 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37628         maint.mk: use silent-rules support from Automake
37629         * top/maint.mk (news-check, vc-diff-check, announcement)
37630         (no-submodule-changes, alpha beta stable, release-prep)
37631         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
37633 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37635         maint.mk: provide a web-manual-update target
37636         * top/maint.mk: here.
37637         * top/README-release: Use it to simplify the web manual update step.
37639 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37641         README-release: shorten the circuit to post a news
37642         * top/README-release: Point directly to the news submission form.
37644 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37646         gnu-web-doc-update: fix --help
37647         * build-aux/gnu-web-doc-update: The information "top level" was written
37648         twice.
37650 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
37652         maint.mk: absolute VPATH issue
37653         * top/maint.mk (release-prep): Help Git find .git/.
37654         From Jim Meyering.
37656 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37658         gitlog-to-changelog: fix previous change
37659         * build-aux/gitlog-to-changelog: Fix condition.
37660         Add missing ";".
37662 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37664         gitlog-to-changelog: don't expect .git to be in $srcdir
37665         Reported by Bruno Haible.
37666         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00265.html>
37667         * build-aux/gitlog-to-changelog (&git_dir_option): New.
37668         Use it.
37670 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
37672         maint.mk: absolute VPATH build fix
37673         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
37674         $(srcdir) is not a parent of $(builddir).
37676 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
37678         clean-temp: Fix memory leak.
37679         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
37680         'files' members of tmpdir.
37682 2012-07-27  Jim Meyering  <meyering@redhat.com>
37684         maint.mk: new rule: refresh-gnulib-patches
37685         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
37686         Use this rule to refresh them.
37687         * top/maint.mk (refresh-gnulib-patches): New rule.
37689 2012-07-24  Bruno Haible  <bruno@clisp.org>
37691         gnulib-tool: Fix handling of inctests variable.
37692         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
37693         Reported by Nick Bowler <nbowler@elliptictech.com>.
37695 2012-07-22  Bruno Haible  <bruno@clisp.org>
37697         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
37698         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
37699         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37700         Remove exemption for getpass.h.
37701         Suggested by Eric Blake.
37703 2012-07-20  Eric Blake  <eblake@redhat.com>
37705         verify: document conflict with -Wnested-externs
37706         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
37708         maint.mk: forbid exit(-1)
37709         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
37711 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
37713         fsusage: port back to Solaris
37714         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
37715         error (fsd not declared) on Solaris 10.  Reported privately by
37716         Andrew Borodin.
37718 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
37720         gnu-web-doc-update: fix error messages
37721         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
37723         gnu-web-doc-update: check the requirements.
37724         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
37725         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
37726         * build-aux/bootstrap (find_tool): Comment change.
37728 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
37730         maint.mk: minor simplication.
37731         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
37732         for default values.
37734 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
37736         gitlog-to-changelog: VPATH build issues
37737         If builddir is not a subdirectory of srcdir, running git from it will
37738         fail.
37739         * build-aux/gitlog-to-changelog (--srcdir): New option.
37741 2012-07-15  Bruno Haible  <bruno@clisp.org>
37743         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
37744         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
37745         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
37746         Remove exemption for fpending.h.
37747         Suggested by Eric Blake.
37749 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
37751         pthread_sigmask: fix bug on FreeBSD 9
37752         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
37753         Include string.h.
37754         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
37755         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
37756         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
37757         but pthread_sigmask (1729, NULL, NULL) returns zero.
37758         See <http://bugs.gnu.org/11884>.
37759         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
37760         by inspecting whether the main call changed the old mask.
37762 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
37764         README-release: make it more legible
37765         * top/README-release: Improve typography slightly.
37767 2012-07-15  Jim Meyering  <meyering@redhat.com>
37769         maint: require that each sc_... command start with "@"
37770         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
37771         "make sc_maint" helps us avoid this nit.
37773 2012-07-15  Jim Meyering  <meyering@redhat.com>
37775         maint.mk: add leading "@" to quiet new "make syntax-check" rule
37776         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
37778 2012-07-13  Eric Blake  <eblake@redhat.com>
37780         maint.mk: new syntax check for HAVE_DECL checks
37781         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
37782         * cfg.mk
37783         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
37784         Exempt some false positives.
37785         Based on a report by Karel Zak.
37787         argp: make HAVE_DECL usage consistent
37788         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
37789         macros, not whether they are defined.
37790         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
37791         convention with other declaration checks.
37792         Reported by Karel Zak, with suggestions from Paul Eggert.
37794         stat-time: relax license to LGPLv2+
37795         * modules/stat-time (License): Relax, with consent of all authors.
37797         strndup: fix m4 usage error
37798         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
37799         defined, to either 0 or 1.
37800         Reported by Karel Zak.
37802 2012-07-11  Jim Meyering  <meyering@redhat.com>
37804         maint: enable the sc_avoid_if_before_free syntax-check rule
37805         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
37806         (if_before_free_offenders_): Define.
37807         (if_before_free_basename_re_): Define.
37808         Exempt current files with useless if-before-free.
37810 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
37812         gettext: do not assume '#define ... defined ...' behavior
37813         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
37814         Do not use '#define FOO ... defined BAR ...', as the C standard says
37815         it's not portable to expect that this works after macro expansion.
37816         Problem reported for gzip by Steven M. Schweda in
37817         <http://lists.gnu.org/r/bug-gzip/2012-07/msg00000.html>.
37819 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
37821         getloadavg: clean out old Emacs and Autoconf cruft
37822         See Glenn Morris in <http://bugs.gnu.org/11905>.
37823         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
37824         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
37825         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
37826         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
37828 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
37830         bootstrap: let warn be like tests/init.sh's warn_
37831         Reported by Jim Meyering.
37832         * build-aux/bootstrap (warn): Remove, replaced by...
37833         (warnf_, warn_): these.
37834         Adjust callers.
37835         Shorten messages that no longer fit in 80 columns.
37837 2012-07-09  Bruno Haible  <bruno@clisp.org>
37839         getopt: Simplify after Emacs changed.
37840         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
37841         (gl_GETOPT_IFELSE): Remove macro.
37843 2012-07-09  Jim Meyering  <meyering@redhat.com>
37845         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
37846         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
37848         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
37849         Bugs in both of those conspired to make the
37850         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
37851         _sc_search_regexp's handling of non-empty $in_files would filter
37852         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
37853         choice of in_files value meant there would be no match in most
37854         projects, due to the presence of two or more Makefile.in files.
37855         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
37856         Fix a bug in how a non-empty $$in_files was processed:
37857         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
37858         in spite of the name, it's a regexp, not a list of file names.
37860 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
37862         getloadavg, getopt: fix commentary re configure.in
37863         Autoconf is deprecating the name 'configure.in', so change it to
37864         to the new name 'configure.ac' in a couple of places.
37865         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
37866         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
37867         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
37868         Emacs has renamed it to configure.ac, and it no longer refers
37869         to these macros anyway.
37871         timespec: mark functions with const attributes
37872         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
37873         Mark with _GL_ATTRIBUTE_CONST.
37875 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37877         canonicalize[-lgpl]: handle "guessing" values when cross-building
37878         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
37879         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
37880         matches "*yes" instead of just "yes".  Regression introduced in commit
37881         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
37883 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
37884             Bruno Haible  <bruno@clisp.org>
37886         canonicalize: make the right guess when cross-compiling to GNU
37887         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
37888         determine whether cross-compiling to glibc systems, so as to
37889         include GNU/Hurd.
37891 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
37893         timespec-sub: avoid duplicate include
37894         * lib/timespec-sub.c: Do not include <config.h> twice.
37895         Reported by Juanma Barranquero.
37897 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
37899         bootstrap: use a more consistent error reporting scheme
37900         * build-aux/bootstrap (warn, die): New.
37901         Use them.
37903 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
37905         sys_time: allow too-wide tv_sec
37906         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
37907         timeval even if tv_sec is wider than time_t.  This allows
37908         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
37909         as without this patch gnulib replaces struct timeval
37910         and OpenBSD futimes therefore has a type mismatch.
37911         * doc/posix-headers/sys_time.texi: Mention this.
37913         pthread: check for both pthread_create and pthread_join
37914         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
37915         alter the check so that it tests for both pthread_create and
37916         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
37917         Suggested by Bruno Haible and Richard Yao in
37918         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00048.html>.
37920         parse-datetime: doc tuneup
37921         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
37922         spacing issues.
37924 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
37926         do-release-commit-and-tag: fix the previous commit
37927         * build-aux/do-release-commit-and-tag: Actually the test was right,
37928         but the comment and the error message were misleading.
37929         Fix comment, and improve error message.
37930         Perform check first, so that NEWS is not modified uselessly.
37932         do-release-commit-and-tag: fix typo
37933         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
37934         _not_ start with a stub.
37936 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
37938         pthread: check for pthread_create, not pthread_join
37939         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
37940         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
37941         pthread_join in libc.  I hope this removes the need for all the
37942         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
37943         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00042.html>.
37945 2012-07-04  Jim Meyering  <meyering@redhat.com>
37947         parse-datetime: fix failure to diagnose invalid input
37948         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
37949         rather than diagnosing the invalid input.  Now it reports this:
37950         date: invalid date '\260'
37951         * lib/parse-datetime.y (to_uchar): Define.
37952         (yylex): Don't sign-extend "other" bytes.
37953         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
37954         Thanks to Bruno Haible for the patch to this file.
37955         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
37956         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
37958 2012-07-03  Jim Meyering  <meyering@redhat.com>
37960         bootstrap: do not require now-removed build-aux/missing
37961         Now that build-aux/missing is, er, missing, bootstrap would
37962         silently fail.
37963         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
37964         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
37965         no longer part of gnulib.
37966         Diagnose the failure.
37968 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
37970         alloca: add support for HP NonStop TNS/E native
37971         * lib/alloca.in.h (alloca): Support the new host.
37972         From a suggestion by Joachim Schmitz in
37973         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00355.html>.
37975 2012-07-02  Pádraig Brady  <P@draigBrady.com>
37977         fsusage: remove code not needed on non GNU/Linux systems.
37979         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37980         Don't include headers no longer needed in this case.
37981         * lib/fsusage.c [STAT_STATVFS &&
37982         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
37983         STAT_STATFS2_FRSIZE to exclude code not used in this case.
37985 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37987         fsusage: include files needed for glibc 2.6 fallback
37988         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
37989         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
37990         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
37991         Problem reported by Ludovic Courtès in
37992         <http://lists.gnu.org/r/bug-gnulib/2012-07/msg00005.html>.
37994         fsusage: avoid needless check on GNU/Linux
37995         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
37996         on GNU/Linux systems, since it can't possibly work.
37998 2012-07-01  Bruno Haible  <bruno@clisp.org>
38000         log: Fix an autoconf >= 2.64 warning.
38001         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
38002         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38004 2012-06-28  Bruno Haible  <bruno@clisp.org>
38006         log10f: Fix possible configuration problem.
38007         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
38008         $LOGF_LIBM.
38009         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38011 2012-06-28  Bruno Haible  <bruno@clisp.org>
38013         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
38014         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
38015         not gl_cv_func_unlink_works.
38016         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
38018 2012-06-27  Eric Blake  <eblake@redhat.com>
38020         config: drop scripts that automake says are not independent
38021         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
38022         * build-aux/elisp-comp: Delete.
38023         * build-aux/missing: Likewise.
38024         * build-aux/ylwrap: Likewise.
38025         * modules/elisp-comp: Likewise.
38026         * MODULES.html.sh: Drop mention of elisp-comp.
38027         * NEWS: Mention this.
38029 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
38031         root-uid: new module
38032         This is for portability to Tandem's NonStop Kernel.
38033         * lib/root-uid.h, modules/root-uid: New files.
38034         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
38035         * lib/write-any-file.c, tests/test-sethostname2.c:
38036         Include "root-uid.h".
38037         * lib/euidaccess.c (euidaccess):
38038         * lib/pt_chown.c (main):
38039         * lib/unlinkdir.c (cannot_unlink_dir):
38040         * lib/write-any-file.c (can_write_any_file):
38041         * m4/mknod.m4 (gl_FUNC_MKNOD):
38042         * tests/test-sethostname2.c (geteuid, main):
38043         Don't assume ROOT_UID == 0.
38044         * modules/euidaccess (Depends-on):
38045         * modules/pt_chown (Depends-on):
38046         * modules/sethostname-tests (Depends-on):
38047         * modules/unlinkdir (Depends-on):
38048         * modules/write-any-file (Depends-on):
38049         Add root-uid.
38051         regex: use locale-independent comparison for codeset name
38052         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
38053         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
38054         for codeset name.
38055         * lib/regex_internal.h: Do not include <strings.h>, since we
38056         no longer use strcasecmp.
38057         * modules/regex (Depends-on): Remove strcase.
38059 2012-06-23  Bruno Haible  <bruno@clisp.org>
38061         getopt-posix: No longer guarantee that option processing is resettable.
38062         * doc/posix-functions/getopt.texi: Drop description of problem with
38063         internal state. Fix info about mingw and msvc9.
38064         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
38065         option processing by getopt(). Run three test programs instead of one.
38066         Simplify cross-compilation guess.
38067         * NEWS: Mention the change.
38068         Reported by Rich Felker <dalias@aerifal.cx>.
38070 2012-06-26  Bruno Haible  <bruno@clisp.org>
38072         argp, regex: Ensure strcasecmp gets declared.
38073         * lib/argp-help.c: Include <strings.h>.
38074         * lib/regex_internal.h: Likewise.
38075         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
38077 2012-06-24  Bruno Haible  <bruno@clisp.org>
38079         ptsname_r: Make it consistent with ptsname on AIX.
38080         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
38081         implementation as for OSF/1.
38082         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
38083         a pty master.
38085         ptsname_r: Make it consistent with ptsname on OSF/1.
38086         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38087         OSF/1.
38089 2012-06-24  Bruno Haible  <bruno@clisp.org>
38091         ttyname_r: Fix result on OSF/1, Solaris.
38092         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
38094 2012-06-24  Bruno Haible  <bruno@clisp.org>
38096         ptsname_r: Add support for Solaris.
38097         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
38098         Solaris.
38100         ptsname_r: Fix test failure on native Windows.
38101         * modules/ptsname_r (Depends-on): Add isatty.
38103         ptsname_r: Fix test failures on IRIX, Solaris.
38104         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
38105         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
38106         accordingly.
38107         * lib/ptsname_r.c: Include <fcntl.h>.
38108         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
38109         set errno if fd is invalid.
38110         * tests/test-isatty.c (main): Update comments.
38112 2012-06-24  Bruno Haible  <bruno@clisp.org>
38114         ptsname test: Extend test.
38115         * tests/test-ptsname.c: Include <errno.h>.
38116         (main): Test behaviour with invalid file descriptor.
38118 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
38120         time: fix obsolete comment
38121         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
38122         reference to HAVE_STRUCT_TIMESPEC in comment.
38124 2012-06-23  Bruno Haible  <bruno@clisp.org>
38126         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
38127         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
38128         does not handle abbreviated long options with equivalent
38129         disambiguations, set gl_replace_getopt to yes.
38130         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
38132 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
38134         time_r: fix typo that always overrode localtime_r decl
38135         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
38136         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
38137         not in a standard include.
38139 2012-06-22  Bruno Haible  <bruno@clisp.org>
38141         Write "Mac OS X" instead of "MacOS X".
38142         * README: Write "Mac OS X" instead of "MacOS X".
38143         * build-aux/bootstrap: Likewise.
38144         * build-aux/install-reloc: Likewise.
38145         * lib/acl-internal.h: Likewise.
38146         * lib/acl_entries.c: Likewise.
38147         * lib/argp-ba.c: Likewise.
38148         * lib/argp-pv.c: Likewise.
38149         * lib/config.charset: Likewise.
38150         * lib/copy-acl.c: Likewise.
38151         * lib/csharpexec.c: Likewise.
38152         * lib/euidaccess.c: Likewise.
38153         * lib/fbufmode.c: Likewise.
38154         * lib/fflush.c: Likewise.
38155         * lib/file-has-acl.c: Likewise.
38156         * lib/filemode.h: Likewise.
38157         * lib/fpurge.c: Likewise.
38158         * lib/freadable.c: Likewise.
38159         * lib/freadahead.c: Likewise.
38160         * lib/freading.c: Likewise.
38161         * lib/freadptr.c: Likewise.
38162         * lib/freadseek.c: Likewise.
38163         * lib/fseeko.c: Likewise.
38164         * lib/fseterr.c: Likewise.
38165         * lib/fsusage.c: Likewise.
38166         * lib/fwritable.c: Likewise.
38167         * lib/fwriting.c: Likewise.
38168         * lib/get-rusage-as.c: Likewise.
38169         * lib/get-rusage-data.c: Likewise.
38170         * lib/getdomainname.c: Likewise.
38171         * lib/idpriv-drop.c: Likewise.
38172         * lib/idpriv-droptemp.c: Likewise.
38173         * lib/localcharset.c: Likewise.
38174         * lib/locale.in.h: Likewise.
38175         * lib/localename.c: Likewise.
38176         * lib/mbsrtowcs-state.c: Likewise.
38177         * lib/nproc.c: Likewise.
38178         * lib/passfd.c: Likewise.
38179         * lib/posix_openpt.c: Likewise.
38180         * lib/printf-parse.c: Likewise.
38181         * lib/progreloc.c: Likewise.
38182         * lib/safe-read.h: Likewise.
38183         * lib/safe-write.h: Likewise.
38184         * lib/sched.in.h: Likewise.
38185         * lib/set-mode-acl.c: Likewise.
38186         * lib/signal.in.h: Likewise.
38187         * lib/stdint.in.h: Likewise.
38188         * lib/stdio-impl.h: Likewise.
38189         * lib/stdlib.in.h: Likewise.
38190         * lib/strtod.c: Likewise.
38191         * lib/sys_select.in.h: Likewise.
38192         * lib/tcgetsid.c: Likewise.
38193         * lib/unistd.in.h: Likewise.
38194         * lib/unlockpt.c: Likewise.
38195         * lib/vasnprintf.c: Likewise.
38196         * lib/vma-iter.c: Likewise.
38197         * lib/wcsrtombs-state.c: Likewise.
38198         * m4/acl.m4: Likewise.
38199         * m4/acosl.m4: Likewise.
38200         * m4/asinl.m4: Likewise.
38201         * m4/atanl.m4: Likewise.
38202         * m4/c-stack.m4: Likewise.
38203         * m4/cosl.m4: Likewise.
38204         * m4/expl.m4: Likewise.
38205         * m4/extensions.m4: Likewise.
38206         * m4/fdatasync.m4: Likewise.
38207         * m4/fmal.m4: Likewise.
38208         * m4/frexp.m4: Likewise.
38209         * m4/frexpf.m4: Likewise.
38210         * m4/frexpl.m4: Likewise.
38211         * m4/fsusage.m4: Likewise.
38212         * m4/getdomainname.m4: Likewise.
38213         * m4/getloadavg.m4: Likewise.
38214         * m4/getopt.m4: Likewise.
38215         * m4/gettext.m4: Likewise.
38216         * m4/gnulib-common.m4: Likewise.
38217         * m4/intdiv0.m4: Likewise.
38218         * m4/intlmacosx.m4: Likewise.
38219         * m4/largefile.m4: Likewise.
38220         * m4/ldexpl.m4: Likewise.
38221         * m4/link-follow.m4: Likewise.
38222         * m4/locale-ar.m4: Likewise.
38223         * m4/locale-fr.m4: Likewise.
38224         * m4/locale-ja.m4: Likewise.
38225         * m4/locale-tr.m4: Likewise.
38226         * m4/locale-zh.m4: Likewise.
38227         * m4/locale_h.m4: Likewise.
38228         * m4/lock.m4: Likewise.
38229         * m4/logl.m4: Likewise.
38230         * m4/mathfunc.m4: Likewise.
38231         * m4/minus-zero.m4: Likewise.
38232         * m4/mktime.m4: Likewise.
38233         * m4/mmap-anon.m4: Likewise.
38234         * m4/multiarch.m4: Likewise.
38235         * m4/nanosleep.m4: Likewise.
38236         * m4/nocrash.m4: Likewise.
38237         * m4/poll.m4: Likewise.
38238         * m4/printf-frexpl.m4: Likewise.
38239         * m4/printf.m4: Likewise.
38240         * m4/signbit.m4: Likewise.
38241         * m4/sinl.m4: Likewise.
38242         * m4/sqrtl.m4: Likewise.
38243         * m4/strerror_r.m4: Likewise.
38244         * m4/tanl.m4: Likewise.
38245         * m4/threadlib.m4: Likewise.
38246         * m4/ttyname_r.m4: Likewise.
38247         * m4/unlink.m4: Likewise.
38248         * m4/visibility.m4: Likewise.
38249         * m4/wcwidth.m4: Likewise.
38250         * tests/minus-zero.h: Likewise.
38251         * tests/test-alloca-opt.c: Likewise.
38252         * tests/test-copy-acl.sh: Likewise.
38253         * tests/test-copy-file.sh: Likewise.
38254         * tests/test-fdatasync.c: Likewise.
38255         * tests/test-file-has-acl.sh: Likewise.
38256         * tests/test-flock.c: Likewise.
38257         * tests/test-fsync.c: Likewise.
38258         * tests/test-localename.c: Likewise.
38259         * tests/test-malloca.c: Likewise.
38260         * tests/test-nonblocking-pipe.h: Likewise.
38261         * tests/test-nonblocking-socket.h: Likewise.
38262         * tests/test-openpty.c: Likewise.
38263         * tests/test-posix_openpt.c: Likewise.
38264         * tests/test-ptsname.c: Likewise.
38265         * tests/test-ptsname_r.c: Likewise.
38266         * tests/test-sameacls.c: Likewise.
38267         * tests/test-select.h: Likewise.
38268         * tests/test-set-mode-acl.sh: Likewise.
38269         * tests/test-snprintf-posix.h: Likewise.
38270         * tests/test-sprintf-posix.h: Likewise.
38271         * tests/test-strtod.c: Likewise.
38272         * tests/test-time.c: Likewise.
38273         * tests/test-vasnprintf-posix.c: Likewise.
38274         * tests/test-vasprintf-posix.c: Likewise.
38275         * doc/acl-resources.txt: Likewise.
38276         * doc/**/*.texi: Likewise.
38277         Reported by Max Horn <max@quendi.de>.
38279 2012-06-22  Bruno Haible  <bruno@clisp.org>
38281         grantpt: Relax requirement regarding invalid file descriptors.
38282         * lib/grantpt.c: Don't include <fcntl.h>.
38283         (grantpt): Don't verify the validity of the file descriptor.
38284         * modules/grantpt (Depends-on): Remove fcntl-h.
38285         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
38286         file descriptors.
38287         * doc/posix-functions/grantpt.texi: Document more platforms on which
38288         grantpt succeeds for invalid file descriptors.
38289         Reported by Rich Felker <dalias@aerifal.cx>.
38291 2012-06-22  Bruno Haible  <bruno@clisp.org>
38293         fbufmode test: Don't test unportable behaviour.
38294         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
38295         (main): Invoke it three times.
38296         Reported by Szabolcs Nagy <nsz@port70.net>
38297         and Rich Felker <dalias@aerifal.cx>.
38299 2012-06-21  Bruno Haible  <bruno@clisp.org>
38301         gnulib-tool: Refactor inctests variable.
38302         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
38303         (func_modules_transitive_closure,
38304         func_modules_transitive_closure_separately,
38305         func_import, func_create_testdir): Update.
38307         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
38308         * gnulib-tool: Accept option --without-tests.
38309         (func_usage): Document --without-tests option. Rearrange.
38310         (inctests): Normalize according to the mode.
38311         * NEWS: Mention the change.
38312         Suggested by Simon Josefsson.
38314 2012-06-21  Bruce Korb  <bkorb@gnu.org>
38316         parse-duration test: Avoid spurious output.
38317         * tests/test-parse-duration.sh: Reindent with leading tabs.
38319 2012-06-21  Jim Meyering  <meyering@redhat.com>
38321         maint: disable the strncpy prohibition
38322         * cfg.mk: Do not prohibit strncpy here.
38324 2012-06-21  Bruno Haible  <bruno@clisp.org>
38326         nonblocking: Avoid compilation error on mingw64.
38327         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
38328         fscanf.
38329         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
38330         * modules/vfscanf (configure.ac): Likewise.
38331         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
38332         definition only if stdio.h has prepared it.
38333         Reported by Daniel P. Berrange <berrange@redhat.com>.
38335 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
38337         gnulib-tool: Use readlink if it is available.
38338         * gnulib-tool (func_readlink): Choose function more appropriately.
38340 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
38342         posixtm-tests: port to buggy compiler
38343         Problem reported by Simon Josefsson in
38344         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00246.html>.
38345         * modules/posixtm-tests (Depends-on): Add stdint.
38346         * tests/test-posixtm.c (struct posixtm_test.t_expected):
38347         Now of type int_least64_t, not int64_t, both because that's
38348         what INT64_C returns and because int_least64_t works even
38349         on 72-bit hosts.
38350         (T): Use INT64_C on constants outside the traditional int range,
38351         to work around compiler bug noted by Simon.
38353         mktime: fix integer overflow in 'configure'-time test
38354         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
38355         after integer overflow.  Problem reported by Rich Felker in
38356         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00257.html>.
38357         Also, don't look for further instances of a bug if we've already
38358         found one instance; this helps 'configure' run faster.
38360 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
38362         tmpfile, clean-temp: Fix invocation of GetVersionEx.
38363         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
38364         GetVersionEx correctly.
38365         * lib/clean-temp.c (supports_delete_on_close): Likewise.
38367 2012-06-20  Bruno Haible  <bruno@clisp.org>
38369         fdopen: Allow implementations that don't reject invalid fd arguments.
38370         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
38371         succeeds.
38372         Reported by Rich Felker <dalias@aerifal.cx>.
38374 2012-06-20  Simon Josefsson  <simon@josefsson.org>
38376         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
38377         bring in LIBINTL.
38379 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
38381         init.sh: do not rely on autoupated PWD
38382         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
38383         <http://lists.gnu.org/r/bug-gzip/2012-06/msg00008.html>.
38384         Although Nelson's bug was not necessarily fixed by this patch,
38385         it seems wise to make the change for safety.
38386         * tests/init.sh (path_prepend_): Do not rely on PWD updating
38387         automagically after 'cd'; this is not reliable on older shells.
38388         (setup_): Fail if we cannot cd to temporary directory.
38390 2012-06-19  Bruno Haible  <bruno@clisp.org>
38392         stat, fstat: Avoid warnings on mingw64.
38393         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
38394         redefining.
38395         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
38396         Reported by Daniel P. Berrange <berrange@redhat.com>.
38398 2012-06-19  Bruno Haible  <bruno@clisp.org>
38400         stdioext: Add support for musl libc.
38402         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
38403         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
38405         * m4/fseterr.m4: New file.
38406         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
38407         function exists.
38408         * modules/fseterr (Files): Add m4/fseterr.m4.
38409         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
38410         __fseterr does not exist.
38411         (Makefile.am): Remove fseterr.c from lib_SOURCES.
38413         * lib/freadable.h: Update comment.
38415         * lib/fwritable.h: Update comment.
38417         * lib/freading.h: Update comment.
38419         * lib/fwriting.h: Update comment.
38421         * m4/freadahead.m4: New file.
38422         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
38423         that function exists.
38424         * modules/freadahead (Files): Add m4/freadahead.m4.
38425         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
38426         __freadahead does not exist.
38427         (Makefile.am): Remove freadahead.c from lib_SOURCES.
38429         * m4/freadptr.m4: New file.
38430         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
38431         function exists.
38432         * modules/freadptr (Files): Add m4/freadptr.m4.
38433         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
38434         __freadptr does not exist.
38435         (Makefile.am): Remove freadptr.c from lib_SOURCES.
38437         * m4/freadseek.m4: New file.
38438         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
38439         exists.
38440         * modules/freadseek (Files): Add m4/freadseek.m4.
38441         (configure.ac): Invoke gl_FUNC_FREADSEEK.
38443         * lib/fpurge.c (fpurge): Update comment.
38445         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
38447 2012-06-19  Bruno Haible  <bruno@clisp.org>
38449         *printf-posix: Put more info into config.log.
38450         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
38451         exit code into config.log.
38453 2012-06-19  Bruno Haible  <bruno@clisp.org>
38455         getopt-gnu: Fix exit code overflow in autoconf test.
38456         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
38457         to keep them below < 128.
38459 2012-06-17  Jim Meyering  <meyering@redhat.com>
38461         maint.mk: fix typo in code to derive GPG key at release time
38462         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
38464 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
38466         regex: avoid warning when pointers are not long
38467         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
38468         and uintptr_t, not long, for portability to hosts where pointers and
38469         long have different sizes.  Issue noted by Daniel P. Berrange in
38470         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00122.html>
38471         and fix suggested by Bruno Haible in
38472         <http://lists.gnu.org/r/bug-gnulib/2012-06/msg00128.html>.
38474 2012-06-17  Bruno Haible  <bruno@clisp.org>
38476         dummy: Relicense into the public domain.
38477         * modules/dummy (License): Set to "public domain".
38478         Suggested by Reuben Thomas.
38480 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38482         announce-gen: VPATH issues
38483         * build-aux/announce-gen (--srcdir): New option, used to trim the
38484         $srcdir part of the path from $builddir to NEWS.
38485         * top/maint.mk (announcement): Adjust.
38487 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
38489         gnu-web-doc-update: VPATH builds
38490         * build-aux/gnu-web-doc-update (--builddir): New option.
38491         Revamp the handling of options.
38492         Prefer $(...) to `...`.
38493         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
38494         the template, and it is GNU mktemp specific.
38495         Prefer set -e to long series of &&.
38496         Restore the initial git branch, not "master".
38497         Properly initialize submodules (don't rely only on bootstrap).
38498         Do not reconfigure blindly, use config.status.
38499         * top/README-release: Update instructions for gnu-web-doc-update.
38501 2012-06-11  Jim Meyering  <meyering@redhat.com>
38503         maint.mk: revert most of the previous change re "all these"
38504         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
38505         For rationale, see the discussion at
38506         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
38508 2012-06-10  Karl Berry  <karl@gnu.org>
38510         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
38512         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
38514 2012-06-10  Bruce Korb  <bkorb@gnu.org>
38516         parse-duration: Relicense under LGPLv2+.
38517         * modules/parse-duration (License): Change to LGPLv2+.
38519 2012-06-10  Jim Meyering  <meyering@redhat.com>
38521         maint.mk: prohibit common grammar error: "all these"
38522         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
38523         the list of prohibited word sequences.  It should be "all of these".
38524         * lib/tempname.c (__gen_tempname): Fix one of them.
38526 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38528         do-release-commit-and-tag: support VPATH builds
38529         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
38530         (noteworthy): Defined earlier to factor its value.
38531         (noteworthy_stub): New.
38532         Use it to factor.
38533         (help_version): Split into...
38534         (help, version): these.
38535         Adjust the option processing part.
38536         Support "--option=value" in addition to "--option value".
38537         (builddir): New.
38538         (--builddir): New option.
38539         * top/README-release: Document this.
38540         Reword slightly so that the reader cannot understand that he
38541         has to do these steps before calling do-release-commit-and-tag.
38543 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38545         readme-release: also require announce-gen and maintainer-makefile
38546         * modules/readme-release (Depends-on): here.
38547         * modules/announce-gen, modules/do-release-commit-and-tag,
38548         modules/gnu-web-doc-update, modules/maintainer-makefile
38549         (Description): Point to readme-release.
38551 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
38553         maint.mk: fix VPATH issues.
38554         * top/maint.mk (news-check): GNU Make understand $< very well.
38555         (release-prep): NEWS is in $(srcdir).
38557 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
38559         readme-release: require the promoted modules.
38560         * modules/readme-release (Depends-on): Add
38561         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
38562         in this text.
38564 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38565             Bruno Haible  <bruno@clisp.org>
38567         error, strerror-override: Support mingw64 from Fedora 17.
38568         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
38569         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
38570         EINPROGRESS.
38571         * lib/strerror-override.h (strerror_override): Test it.
38572         * lib/strerror-override.c (strerror_override): Likewise.
38573         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
38575 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38576             Bruno Haible  <bruno@clisp.org>
38578         error, strerror-override: Support mingw64 from Fedora 17.
38579         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
38580         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
38581         * lib/strerror-override.h (strerror_override): Test it.
38582         * lib/strerror-override.c (strerror_override): Likewise.
38584 2012-06-03  Bruno Haible  <bruno@clisp.org>
38586         error, strerror-override: Support new errno values from POSIX:2008.
38587         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
38588         ENOTRECOVERABLE.
38589         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
38590         platforms.
38591         * lib/strerror-override.c (strerror_override): Conditionalize the
38592         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
38593         * lib/strerror-override.h (strerror_override): Declare also if
38594         GNULIB_defined_EOWNERDEAD is defined.
38595         * tests/test-errno.c (e130, e131): New variables.
38596         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
38597         ENOTRECOVERABLE.
38598         Reported by Paolo Bonzini.
38600 2012-05-31  Jim Meyering  <meyering@redhat.com>
38602         savewd: add missing dependency on sys_wait module
38603         * modules/savewd (Depends-on): Add sys_wait, needed at least
38604         for MSVC.  Report and suggested change by Michael Goffioul.
38606 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
38608         system-quote-tests: port to CentOS 5
38609         Problem reported by Tom G. Christensen in
38610         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00255.html>.
38611         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
38613 2012-05-29  Jim Meyering  <meyering@redhat.com>
38615         maint: fix typos in comments and ChangeLog
38616         Culprits identified and fixed mostly automatically using these commands:
38617         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
38618         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
38619         using http://github.com/lyda/misspell-check
38620         * ChangeLog: Fix typos.
38621         * doc/solaris-versions: Likewise.
38622         * lib/regexec.c (re_search_stub): Likewise.
38623         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38625 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
38627         manywarnings: remove duplicate -Wmultichar entry
38628         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
38629         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
38630         so keep the entry marked as documented.
38632 2012-05-27  Karl Berry  <karl@gnu.org>
38634         * config/srclist.txt (mktime.c): remove last libc sync,
38635         perhaps just temporarily.
38637 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
38639         regex: don't assume uint64_t or uint32_t
38640         * lib/regcomp.c (init_word_char): Don't assume that the types
38641         uint64_t and uint32_t exist.  The C standard doesn't guarantee
38642         them, and on some 32-bit compilers there is no uint64_t.
38643         Problem reported by Gianluigi Tiesi in
38644         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00154.html>.
38646 2012-05-25  Jim Meyering  <meyering@redhat.com>
38648         maint.mk: add strncpy-prohibiting syntax-check rule
38649         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
38651 2012-05-24  Jim Meyering  <meyering@redhat.com>
38653         maint.mk: compute $(gpg_key_ID) more portably
38654         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
38655         That use of sed is not portable to some fringe systems.
38656         Reported by Paul Eggert in
38657         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
38659 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
38661         mktime: sync from glibc
38662         * config/srclist.txt: Uncomment mktime.c.
38663         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
38664         First, indent with tabs, since glibc uses tabs and doesn't want to
38665         change and we'd rather be identical to glibc.  Also, two small
38666         coding changes:
38667         (isdst_differ): Use &&, not &, as && is the usual style.
38668         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
38669         for clarity.
38671 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38673         announce-gen: du -h is more portable than du --human
38674         * build-aux/announce-gen (sizes): Invoke du with -h instead
38675         of --human.  Accept leading white space in its output.
38677 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38679         announce-gen: Improve diagnostics.
38680         * build-aux/announce-gen: When parsing command line options,
38681         prefer "announce-gen: option --release-type requires an argument"
38682         to "Option release-type requires an argument".
38684 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
38686         maint.mk: gpg_key_ID: use sed more portably
38687         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
38688         the closing brace.
38689         (refresh-po): Fuse two sed invocations into one.
38691 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
38693         gitlog-to-changelog: support the log message format used in Bison.
38694         * build-aux/gitlog-to-changelog: Support --strip-tab and
38695         --strip-cherry-picked.
38697 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
38699         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
38700         the rest of the current time slice to another thread in the current
38701         process. So if the thread that feeds the file decscriptor we're
38702         polling is not in the current process, we get busy-waiting.
38703         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
38704         Patch from Theodore Leblond.
38705         * lib/select.c: Split polling out of the loop that sets the output
38706         fd_sets.  Check for zero result and loop if the wait timeout is
38707         infinite.
38709 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38711         select: Fix build error on IRIX 6.5.
38712         * lib/select.c: Include stddef.h for NULL.
38714 2012-05-21  Simon Josefsson  <simon@josefsson.org>
38716         gc: fix libgcrypt detection on older machines.
38717         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
38718         copyright years because the file has been distributed every year
38719         since it was created.
38721 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
38723         crypto: fix bug in large buffer handling
38724         Problem reported by Serge Belyshev for glibc in
38725         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
38726         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00226.html>.
38727         * lib/md4.c (md4_process_block):
38728         * lib/md5.c (md5_process_block):
38729         * lib/sha1.c (sha1_process_block):
38730         * lib/sha256.c (sha256_process_block):
38731         Don't assume the buffer length is less than 2**32.
38732         * lib/sha512.c (sha512_process_block): Likewise.
38733         Here, the bug is present only in the rare case where the host does
38734         not support uint64_t or where size_t is wider than 64 bits.
38735         Use u64size to work around the problems.
38736         * lib/u64.h (u64size): New macro.
38738 2012-05-15  Pádraig Brady  <P@draigBrady.com>
38740         fsusage: fix block size returned on older Linux 2.6
38742         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
38743         which is available since Linux 2.6.
38744         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
38745         when the member is available so it can be used as a fallback.
38746         * doc/posix-functions/statvfs.texi: Mention the hang issue
38747         on Linux < 2.6.36.
38749 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
38751         bootstrap: suppress stderr chatter
38752         * build-aux/bootstrap (insert_sorted_if_absent, main program):
38753         Omit unnecessary chatter to stderr.  The main program chatter
38754         was there only inadvertantly.
38756         bootstrap: .gitignore files created by autopoint, libtool
38757         I ran into this problem when bootstrapping the latest diffutils.
38758         After './bootstrap', 'git status' reported lots of untracked files
38759         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
38760         autopoint and do not need to be version-controlled.
38761         * build-aux/bootstrap: Put into .gitignore the files that
38762         autopoint and libtool create, by keeping track of files that exist
38763         after but not before these programs are run.
38764         (version_controlled_file): Move up.  2nd arg is now full file
38765         name, not base name; this is more convenient.  Put CVS at the end,
38766         as it's now somewhat deprecated.
38768 2012-05-14  Jim Meyering  <meyering@redhat.com>
38770         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
38771         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
38772         definition.  Reported by Bruno Haible.
38774 2012-05-13  Bruno Haible  <bruno@clisp.org>
38775             Paul Eggert  <eggert@cs.ucla.edu>
38777         binary-io: Define set_binary_mode function.
38778         * lib/binary-io.h (set_binary_mode): New function.
38779         (SET_BINARY): Define in terms of set_binary_mode.
38780         * modules/binary-io (configure.ac): Require AC_C_INLINE.
38781         * tests/test-binary-io.c (main): Accept an argument, and test either
38782         set_binary_mode or SET_BINARY depending on the argument.
38783         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
38784         argument. Clean up also t-bin-out0.tmp.
38786 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
38788         bootstrap: take advantage of POSIX shell features
38790         The 'bootstrap' script offered by Gnulib script already uses POSIX
38791         shell features (like $((...)) arithmetic expansions) that are not
38792         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
38793         means that bootstrap must already be run using a proper POSIX shell,
38794         which will thus provide more features, like ${var#pattern} parameter
38795         expansion or inversion of a command exit status with '!'.  We can
38796         thus use these features to improve the clarity and the performances
38797         of the bootstrap script.
38799         Suggested by Eric Blake.
38801         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
38802         of sed/expr plus command substitutions, to save some forks.  While
38803         we are at it, prefer the POSIX $(...) form of command substitution,
38804         rather than the legacy form `...` (since the former is visually
38805         clearer and interacts better with quoting), and prefer the idiom:
38806           "if ! CMD; then ACTION ..."
38807         over the idiom:
38808           "if CMD; then :; else ACTION ..."
38809         which was required by legacy Bourne shells not supporting '!'.
38811 2012-05-12  Bruno Haible  <bruno@clisp.org>
38813         system-quote: Add more comments.
38814         * lib/system-quote.h: Add more comments about wilcards and limitations.
38815         Suggested by Eli Zaretskii <eliz@gnu.org>.
38817         sh-quote, system-quote: Add comments about wildcards.
38818         * lib/sh-quote.h: Clarify what happens with wildcard characters.
38819         * lib/system-quote.h: Likewise.
38820         Reported by Eli Zaretskii <eliz@gnu.org>.
38822 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
38824         fsusage: check for GNU/Linux statvfs problem dynamically
38825         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
38826         Define STAT_STATFS2_BSIZE too, since in this case the code now
38827         checks dynamically whether statvfs is reliable, falling back on
38828         Linux-style statfs otherwise.
38829         (statvfs_works): New function, for dynamically testing statvfs.
38830         (get_fs_usage) [STAT_STATVFS]: Use it.
38831         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
38832         statvfs on GNU/Linux hosts, since it's now done dynamically.
38834 2012-05-10  Bruno Haible  <bruno@clisp.org>
38836         system-quote, execute, spawn-pipe: Escape '?' on Windows.
38837         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
38838         '?' character.
38839         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
38840         * tests/test-system-quote-main.c (check_all): Check also strings like
38841         "??????????".
38842         Reported by Eli Zaretskii <eliz@gnu.org>.
38844 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
38846         _Noreturn: port config.h to gcc -Wundef
38847         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
38848         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
38849         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00147.html>.
38851 2012-05-10  Bruno Haible  <bruno@clisp.org>
38853         system-quote: Refactor.
38854         * lib/system-quote.h (system_quote_copy): Fix comment.
38855         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
38856         New functions, extracted from system_quote_copy.
38857         (system_quote_length, system_quote_copy): Use these functions.
38858         Reported by Paul Eggert.
38860 2012-05-08  Bruno Haible  <bruno@clisp.org>
38862         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
38863         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
38865 2012-05-08  Bruno Haible  <bruno@clisp.org>
38867         Tests for module 'system-quote'.
38868         * modules/system-quote-tests: New file.
38869         * tests/test-system-quote.sh: New file.
38870         * tests/test-system-quote-main.c: New file.
38871         * tests/test-system-quote-child.c: New file.
38873         New module 'system-quote'.
38874         * lib/system-quote.h: New file.
38875         * lib/system-quote.c: New file.
38876         * modules/system-quote: New file.
38878 2012-05-08  Bruno Haible  <bruno@clisp.org>
38880         sh-quote: Make C++ safe and allow multiple inclusion.
38881         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
38882         declarations in extern "C".
38884 2012-05-08  Bruno Haible  <bruno@clisp.org>
38886         sh-quote tests: Make tests stricter.
38887         * tests/test-sh-quote.c (check_one): Check the return value of
38888         shell_quote_copy.
38889         (main): Check a string with a CR character. Check a string that
38890         contains UCHAR_MAX.
38892 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
38894         warnings.m4: provide a means to specify the program to compile.
38895         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
38896         (gl_WARN_ADD): here.
38897         Use gl_AS_VAR_APPEND.
38898         Support an argument to specify the program to compile.
38899         (gl_WARN_ADD): Accept an argument to specify the program to compile.
38900         AC_SUBST the WARN_CFLAGS when they are used.
38901         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
38902         leave this to gl_WARN_ADD.
38904 2012-05-08  Eric Blake  <eblake@redhat.com>
38906         doc: recommendations on gettext version
38907         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
38908         choice between versions.
38909         * DEPENDENCIES (gettext): Cover both approaches.
38911 2012-05-08  Jim Meyering  <meyering@redhat.com>
38913         init.sh: explain why EXEEXT support uses aliases rather than functions
38914         * tests/init.sh: Add a comment.
38916         init.sh: don't let bash aliases interfere with tests
38917         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
38918         is bash.  This avoids problems for those who alias standard commands to
38919         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
38920         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
38922 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
38924         stdint: be more consistent with glibc, SunOS libc
38925         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
38926         (gl_int_fast16_t, gl_uint_fast16_t)
38927         (gl_int_fast32_t, gl_uint_fast32_t)
38928         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
38929         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
38930         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38931         Be consistent with glibc by default, and with SunOS 5.10 and later
38932         if __sun is defined.  This lessens the likelihood of clashes if
38933         code compiled for older hosts is combined with code compiled for
38934         newer ones.  Problem reported by Niels Möller in
38935         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00074.html>.
38937 2012-05-07  Eric Blake  <eblake@redhat.com>
38939         isatty: relax license to LGPLv2+
38940         * modules/isatty (License): Relax license.
38942 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38944         stat-size: comment fix
38945         * lib/stat-size.h: Remove obsolete comment about indenting.
38947 2012-05-06  Bruno Haible  <bruno@clisp.org>
38949         Tests for module 'sh-quote'.
38950         * modules/sh-quote-tests: New file.
38951         * tests/test-sh-quote.c: New file.
38953 2012-05-06  Bruno Haible  <bruno@clisp.org>
38955         sh-quote: Improve shell_quote_argv's signature.
38956         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
38957         * lib/sh-quote.c (shell_quote_argv): Likewise.
38959 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
38961         stdint: document issues with int_fast8_t etc.
38962         * doc/posix-headers/stdint.texi (stdint.h): Say that other
38963         stdint.h substitutes may define these types differently.  See
38964         <http://lists.gnu.org/r/bug-gnulib/2012-05/msg00071.html>.
38966 2012-05-05  Bruno Haible  <bruno@clisp.org>
38968         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
38969         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
38970         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
38971         or 'guessing no (mishandles large arguments)'.
38973 2012-05-05  Bruno Haible  <bruno@clisp.org>
38975         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
38976         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
38977         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38978         set gl_cv_func_link_follows_symlink to "guessing no".
38980 2012-05-05  Bruno Haible  <bruno@clisp.org>
38982         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
38983         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
38984         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
38985         "guessing no".
38986         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
38988 2012-05-05  Bruno Haible  <bruno@clisp.org>
38990         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
38991         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
38992         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
38993         set gl_cv_struct_dirent_d_ino to "guessing yes".
38995 2012-05-05  Bruno Haible  <bruno@clisp.org>
38997         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
38998         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
38999         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
39000         "guessing yes".
39002 2012-05-05  Bruno Haible  <bruno@clisp.org>
39004         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
39005         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
39006         compiling to a glibc system, set gl_cv_func_signbit and
39007         gl_cv_func_signbit_gcc to "guessing yes".
39009 2012-05-05  Bruno Haible  <bruno@clisp.org>
39011         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
39012         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
39013         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
39014         to "guessing yes".
39015         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
39016         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
39018 2012-05-05  Bruno Haible  <bruno@clisp.org>
39020         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
39021         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
39022         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
39023         gl_cv_func_realpath_works to "guessing yes".
39025 2012-05-05  Bruno Haible  <bruno@clisp.org>
39027         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
39028         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
39029         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
39031 2012-05-04  Bruno Haible  <bruno@clisp.org>
39033         Tweak last commit.
39034         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
39035         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39037 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
39039         unistd_h: make it easier to avoid sys_types_h
39040         This is useful for Emacs, which has its own method of porting to
39041         Windows, and which therefore does not need the sys_types_h module.
39042         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
39043         code moved here from gl_SYS_TYPES_H.
39044         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
39045         using the code directly.
39046         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
39047         gl_SYS_TYPES_H.
39048         * modules/sys_types (Files):
39049         * modules/unistd (Files): Add m4/off_t.m4.
39051 2012-05-03  Bruno Haible  <bruno@clisp.org>
39053         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
39054         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
39055         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
39056         "guessing yes" or "guessing no".
39057         (gl_FUNC_LSTAT): Update.
39058         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
39059         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
39060         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
39062 2012-05-03  Bruno Haible  <bruno@clisp.org>
39064         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
39065         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
39066         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
39067         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
39068         cross-compiling, choose the first alternative on glibc systems.
39069         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
39071 2012-05-03  Bruno Haible  <bruno@clisp.org>
39073         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
39074         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
39075         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
39077 2012-05-03  Bruno Haible  <bruno@clisp.org>
39079         chown: Avoid "guessing no" when cross-compiling to glibc systems.
39080         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
39082 2012-05-03  Bruno Haible  <bruno@clisp.org>
39084         Avoid "guessing no" guesses when cross-compiling to glibc systems.
39085         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
39086         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
39087         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
39088         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
39089         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
39090         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
39091         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
39092         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
39093         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
39094         compiling to glibc systems, set gl_cv_func_chown_slash_works,
39095         gl_cv_func_chown_ctime_works to "guessing yes".
39096         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
39097         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
39098         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
39099         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
39100         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
39101         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
39102         compiling to glibc systems, set gl_cv_func_open_directory_works to
39103         "guessing yes".
39104         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
39105         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
39106         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
39107         "guessing yes".
39108         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
39109         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
39110         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
39111         compiling to glibc systems, set gl_cv_func_floorf_ieee to
39112         "guessing yes".
39113         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
39114         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
39115         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
39116         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
39117         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
39118         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
39119         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
39120         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
39121         "guessing yes".
39122         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
39123         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
39124         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
39125         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
39126         "guessing yes".
39127         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
39128         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
39129         "guessing yes".
39130         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
39131         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
39132         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
39133         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
39134         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
39135         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
39136         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
39137         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
39138         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
39139         compiling to glibc systems, set gl_cv_func_log10f_ieee to
39140         "guessing yes".
39141         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
39142         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
39143         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
39144         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
39145         "guessing yes".
39146         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
39147         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
39148         "guessing yes".
39149         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
39150         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
39151         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
39152         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
39153         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
39154         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
39155         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
39156         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
39157         compiling to glibc systems, set gl_cv_func_mkfifo_works to
39158         "guessing yes".
39159         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
39160         compiling to glibc systems, set gl_cv_func_mknod_works to
39161         "guessing yes".
39162         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
39163         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
39164         "guessing yes".
39165         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
39166         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
39167         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
39168         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
39169         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
39170         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
39171         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
39172         compiling to glibc systems, set gl_cv_func_svid_putenv to
39173         "guessing yes".
39174         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
39175         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
39176         "guessing yes".
39177         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
39178         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
39179         "guessing yes".
39180         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
39181         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
39182         to "guessing yes".
39183         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
39184         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
39185         to "guessing yes".
39186         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
39187         compiling to glibc systems, set gl_cv_func_rmdir_works to
39188         "guessing yes".
39189         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
39190         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
39191         gl_cv_func_unlink_parent_fails to "guessing yes".
39192         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
39193         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
39194         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
39195         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
39196         gl_cv_func_rename_dest_works to "guessing yes".
39197         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
39198         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
39199         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
39200         compiling to glibc systems, set gl_cv_func_roundf_ieee to
39201         "guessing yes".
39202         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
39203         compiling to glibc systems, set gl_cv_func_roundl_ieee to
39204         "guessing yes".
39205         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
39206         compiling to glibc systems, set gl_cv_func_setenv_works to
39207         "guessing yes".
39208         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
39209         compiling to glibc systems, set gl_cv_func_unsetenv_works to
39210         "guessing yes".
39211         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
39212         compiling to glibc systems, set gl_cv_func_sleep_works to
39213         "guessing yes".
39214         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
39215         compiling to glibc systems, set gl_cv_func_stat_file_slash to
39216         "guessing yes".
39217         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
39218         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
39219         "guessing yes".
39220         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
39221         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
39222         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
39223         compiling to glibc systems, set gl_cv_func_truncf_ieee to
39224         "guessing yes".
39225         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
39226         compiling to glibc systems, set gl_cv_func_truncl_ieee to
39227         "guessing yes".
39228         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
39229         compiling to glibc systems, set gl_cv_func_usleep_works to
39230         "guessing yes".
39231         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
39232         compiling to glibc systems, set gl_cv_func_futimesat_works to
39233         "guessing yes".
39235 2012-05-03  Bruno Haible  <bruno@clisp.org>
39237         Say "guessing yes" or "guessing no" when cross-compiling.
39238         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
39239         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
39240         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
39241         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
39242         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
39243         am_cv_func_working_getline to "guessing yes" or "guessing no".
39244         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
39245         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
39246         (gl_FUNC_MEMMEM): When cross-compiling, set
39247         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
39248         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
39249         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
39250         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
39251         set gl_cv_func_strcasestr_works_always to "guessing yes" or
39252         "guessing no".
39253         (gl_FUNC_STRCASESTR): When cross-compiling, set
39254         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
39255         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
39256         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
39257         (gl_FUNC_STRSTR): When cross-compiling, set
39258         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
39259         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
39260         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
39261         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
39262         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
39264 2012-05-01  Bruno Haible  <bruno@clisp.org>
39266         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
39267         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
39268         * build-aux/reloc-ldflags: Likewise.
39269         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
39271 2012-05-01  Bruno Haible  <bruno@clisp.org>
39273         gnulib-tool: Remove transitional code.
39274         * gnulib-tool: Don't warn about --import with 0 arguments any more.
39275         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
39277 2012-05-01  Bruno Haible  <bruno@clisp.org>
39279         getcwd: Fix misindentation.
39280         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
39282 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
39284         exclude: process exclude and include directives in order
39285         This restores the pre-2009 behavior, and is part of a fix of a
39286         grep bug reported by Quentin Arce in
39287         <http://lists.gnu.org/r/bug-grep/2012-04/msg00056.html>.
39288         * lib/exclude.c (struct exclude): Remove 'tail' member.
39289         (new_exclude_segment): Prepend the new segment instead of appending.
39290         Return void, since that's now more convenient.
39291         (file_pattern_matches): Renamed from excluded_file_pattern_p.
39292         (file_name_matches): Renamed from excluded_file_name_p.
39293         (file_pattern_matches, file_name_matches):
39294         Return true if the pattern matches, not if it excludes.
39295         All callers changed.
39296         (excluded_file_name): Process the list in reverse order;
39297         since the list is now reversed this restores the pre-2009 behavior.
39298         (add_exclude): Adjust to new reversed-order list.  Use local var
39299         rather than macro, for clarity.
39300         * tests/test-exclude7.sh: Adjust to corrected behavior.
39302         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
39303         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
39304         it's not possible here.  Handle the case of \ at end of pattern
39305         without dumping core.
39306         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
39308         _Noreturn: future-proof non-GNU and non-MSVC compilers
39309         * build-aux/snippet/_Noreturn.h (_Noreturn):
39310         * m4/gnulib-common.m4 (gl_COMMON_BODY):
39311         Do not define _Noreturn if __STDC_VERSION__ indicates this is
39312         C11 or later.  This is more likely to work with random future C
39313         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
39314         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00195.html>.
39316         exclude: handle wildcards with FNM_EXTMATCH
39317         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
39318         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
39319         comment that "has wildcards" really means "has or may have
39320         wildcards".  Simplify by avoiding the need to call strcspn.
39322 2012-04-29  Bruno Haible  <bruno@clisp.org>
39324         gnulib-tool: Fix list of authors.
39325         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
39327 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
39329         bootstrap: support Automake-NG in $buildreq
39330         * bootstrap (check_versions): Handle automake and aclocal from
39331         Automake-NG specially.  They can be specified as respectively
39332         the "automake-ng" and "aclocal-ng" requirements.
39334 2012-04-25  Eric Blake  <eblake@redhat.com>
39336         bootstrap: only force latest Makefile.in.in for gettext module
39337         * build-aux/bootstrap (with_gettext): Only install latest
39338         Makefile.in.in for projects requesting bleeding edge gettext.
39340 2012-04-22  Bruno Haible  <bruno@clisp.org>
39342         doc: Mention reason for replacement on glibc/Linux systems.
39343         * doc/posix-functions/dprintf.texi: Mention the problem with special
39344         'long double' values.
39345         * doc/posix-functions/fprintf.texi: Likewise.
39346         * doc/posix-functions/printf.texi: Likewise.
39347         * doc/posix-functions/snprintf.texi: Likewise.
39348         * doc/posix-functions/sprintf.texi: Likewise.
39349         * doc/posix-functions/vdprintf.texi: Likewise.
39350         * doc/posix-functions/vfprintf.texi: Likewise.
39351         * doc/posix-functions/vprintf.texi: Likewise.
39352         * doc/posix-functions/vsnprintf.texi: Likewise.
39353         * doc/posix-functions/vsprintf.texi: Likewise.
39354         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
39355         platforms with F_DUPFD_CLOEXEC problems.
39356         * doc/posix-functions/glob.texi: Mention which platforms are affected
39357         by the problem with symbolic links.
39358         * doc/posix-functions/linkat.texi: Mention the problem with
39359         AT_SYMLINK_FOLLOW on Linux.
39361 2012-04-22  Bruno Haible  <bruno@clisp.org>
39363         pwrite: Don't replace on all platforms.
39364         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
39366 2012-04-22  Bruno Haible  <bruno@clisp.org>
39368         rint* tests: Avoid gcc warnings.
39369         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
39370         * tests/test-rintf.c (INFINITY, NAN): Likewise.
39371         * tests/test-rintl.c (INFINITY, NAN): Likewise.
39373 2012-04-21  Bruno Haible  <bruno@clisp.org>
39375         users.txt: Update.
39376         * users.txt: Add freedink, wdiff. Update URLs for projects that have
39377         switched from CVS to git, bzr, or svn.
39379 2012-04-21  Bruno Haible  <bruno@clisp.org>
39381         Large File Support for native Windows platforms.
39383         * m4/largefile.m4 (gl_LARGEFILE): New macro.
39384         * modules/largefile (configure.ac): Require gl_LARGEFILE.
39386         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
39387         type.
39388         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
39389         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
39390         * doc/posix-headers/sys_types.texi: Mention the effect of the
39391         'largefile' module.
39393         * lib/fcntl.in.h: Add comments about off_t.
39394         * modules/fcntl-h (Depends-on): Add sys_types.
39396         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
39397         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
39398         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
39399         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
39400         * modules/unistd (Depends-on): Add sys_types.
39401         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
39403         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
39404         instead of lseek.
39405         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
39406         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
39407         * modules/lseek (Depends-on): Add sys_types.
39409         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
39410         msvc-nothrow.h.
39411         (SetFileSize): New function.
39412         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
39413         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
39414         if Large File Support is requested.
39415         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
39416         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
39418         * lib/stdio.in.h: Add comments about off_t.
39419         * modules/stdio (Depends-on): Add sys_types.
39421         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
39422         instead of ftello.
39423         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
39424         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
39425         (gl_PREREQ_FTELLO): New macro.
39426         * modules/ftello (Depends-on): Add sys_types.
39427         (configure.ac): Incoke gl_PREREQ_FTELLO.
39429         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
39430         instead of fseeko.
39431         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
39432         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
39433         (gl_PREREQ_FSEEKO): New macro.
39434         * modules/fseeko (Depends-on): Add sys_types.
39435         (configure.ac): Invoke gl_PREREQ_FSEEKO.
39437         * lib/sys_stat.in.h: Add comments about off_t.
39438         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
39439         64-bit integer for st_size in 'struct stat'.
39440         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
39441         Define _GL_WINDOWS_64_BIT_ST_SIZE.
39442         * modules/sys_stat (Depends-on): Add sys_types.
39443         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
39445         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
39446         instead of stat or _stat.
39448         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
39449         'struct _stati64' instead of fstat and 'struct stat'.
39450         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
39451         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
39453         Reported by Ray Satiro <raysatiro@yahoo.com>.
39455 2012-04-19  Eric Blake  <eblake@redhat.com>
39457         bootstrap: accommodate older libtool
39458         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
39459         Reported by Daniel P. Berrange.
39461 2012-04-19  Jim Meyering  <meyering@redhat.com>
39463         announce-gen: avoid failure due to lack of Digest::SHA1
39464         Even with the preferred Digest::SHA available, this script
39465         would fail when the backup module, Digest::SHA1, was not installed.
39466         * build-aux/announce-gen: Quote the conditional use of "use".
39467         Reported by Reuben Thomas in:
39468         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
39470         bootstrap: don't let a user's CDPATH setting affect this script
39471         When CDPATH is set, cd will sometimes generate output.
39472         When "cd" is run in a subshell whose output matters, that
39473         surprising-to-some output can cause malfunction.
39474         Unsetting CDPATH turns off this shell "feature."
39475         * build-aux/bootstrap (CDPATH): Unset.
39476         Reported by Reuben Thomas in:
39477         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
39478         and inspired by his patch here:
39479         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
39481 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
39482         and Jim Meyering  <meyering@redhat.com>
39484         maint.mk: catch "see @xref{}" and similar
39485         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
39486         prohibit "See also @xref{", "Also see @pxref{", and similar.
39488 2012-04-16  Jim Meyering  <meyering@redhat.com>
39490         bootstrap: really use gnulib's po/Makefile.in.in
39491         * build-aux/bootstrap: Correct the source file name in previous change.
39492         Reported by Akim Demaille.
39494         configmake: correct minor inconsistency in Makefile rule
39495         * modules/configmake (Makefile.am): All other rules like this one
39496         run the final "mv -f ..." in the same backslash-continued command
39497         as the one that does everything else.  This one put the mv -f ...
39498         command on a separate, non-backslash-continued line.
39499         Make it like the others.
39501         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
39502         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
39503         the one from gettext.  Reported by Akim Demaille.
39505 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
39507         Fix recursion of install-* into po directories.
39508         Bison's install-pdf bug reported by Hans Aberg at
39509         <http://lists.gnu.org/r/bug-bison/2011-05/msg00008.html>.
39510         * build-aux/po/Makefile.in.in (install-dvi, install-html)
39511         (install-info, install-pdf, install-ps): New targets.
39513 2012-04-16  Jim Meyering  <meyering@redhat.com>
39515         maint: avoid spurious "make sc_maint" failure
39516         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
39517         exempt all *.class file names, for lib/javaversion.class.
39519 2012-04-15  Bruno Haible  <bruno@clisp.org>
39521         lseek: Make configure test independent of environment.
39522         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
39523         Windows, we know that lseek() on pipes is broken; skip the runtime
39524         test.
39526 2012-04-14  Bruno Haible  <bruno@clisp.org>
39528         stat: Bypass buggy override in mingw64.
39529         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
39530         * lib/stat.c (stat) [mingw64]: Define to _stat.
39531         * doc/posix-functions/stat.texi: Mention mingw64 bug.
39533 2012-04-14  Bruno Haible  <bruno@clisp.org>
39535         pathmax: Fix compilation error on MSVC 9.
39536         * modules/pathmax (Depends-on): Add unistd.
39538 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
39540         README: document pointer comparison assumption
39541         * README (Portability guidelines): Document assumption about
39542         pointer comparisons, in response to a recent bug-gnulib comment by
39543         Jeffrey Kegler.
39545 2012-04-12  Bruno Haible  <bruno@clisp.org>
39547         Tests for module 'getrusage'.
39548         * modules/getrusage-tests: New file.
39549         * tests/test-getrusage.c: New file.
39551         New module 'getrusage'.
39552         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
39553         warn-on-use.h.
39554         (getrusage): New declaration.
39555         * lib/getrusage.c: New file.
39556         * m4/getrusage.m4: New file.
39557         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
39558         is declared.
39559         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
39560         HAVE_GETRUSAGE.
39561         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
39562         snippet/c++defs, snippet/warn-on-use.
39563         (Makefile.am): Update generation of sys/resource.h. Substitute
39564         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
39565         * modules/getrusage: New file.
39566         * doc/posix-functions/getrusage.texi: Mention the new module.
39568 2012-04-12  Bruno Haible  <bruno@clisp.org>
39570         Tests for module 'sys_resource'.
39571         * modules/sys_resource-tests: New file.
39572         * tests/test-sys_resource.c: New file.
39574         New module 'sys_resource'.
39575         * lib/sys_resource.in.h: New file.
39576         * m4/sys_resource_h.m4: New file.
39577         * modules/sys_resource: New file.
39578         * doc/posix-headers/sys_resource.texi: Mention the new module.
39580 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
39582         ioctl: Fix compilation error on mingw.
39583         * lib/ioctl.c: Include <windows.h>.
39584         Also reported by Ray Satiro <raysatiro@yahoo.com>.
39586 2012-04-04  Jim Meyering  <meyering@redhat.com>
39588         regex: correct #pragma guard expression
39589         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
39590         not 4.3.  Correct its cpp guard expression.
39592 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
39594         regex: remove unnecessary type punning
39595         Problem reported by Vladimir Serbinenko in
39596         <http://lists.gnu.org/r/bug-gnulib/2012-04/msg00006.html>.
39597         * lib/regex.h (struct re_pattern_buffer): Change the type of
39598         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
39599         Fix comment to match code.
39600         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
39601         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
39602         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
39603         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
39604         (set_regs):
39605         Omit no-longer-necessary casts.
39607 2012-04-03  Bruno Haible  <bruno@clisp.org>
39609         Tests for module 'ilogbl'.
39610         * modules/ilogbl-tests: New file.
39611         * tests/test-ilogbl.c: New file.
39613         New module 'ilogbl'.
39614         * lib/math.in.h (ilogbl): New declaration.
39615         * lib/ilogbl.c: New file.
39616         * m4/ilogbl.m4: New file.
39617         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
39618         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
39619         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
39620         Split sed invocation, to avoid the limit of 100 substitutions of
39621         HP-UX 'sed'.
39622         * modules/ilogbl: New file.
39623         * tests/test-math-c++.cc: Check the declaration of ilogbl.
39624         * doc/posix-functions/ilogbl.texi: Mention the new module.
39626 2012-04-03  Bruno Haible  <bruno@clisp.org>
39628         Tests for module 'ilogbf'.
39629         * modules/ilogbf-tests: New file.
39630         * tests/test-ilogbf.c: New file.
39632         New module 'ilogbf'.
39633         * lib/math.in.h (ilogbf): New declaration.
39634         * lib/ilogbf.c: New file.
39635         * m4/ilogbf.m4: New file.
39636         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
39637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
39638         REPLACE_ILOGBF.
39639         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
39640         REPLACE_ILOGBF.
39641         * modules/ilogbf: New file.
39642         * tests/test-math-c++.cc: Check the declaration of ilogbf.
39643         * doc/posix-functions/ilogbf.texi: Mention the new module.
39645 2012-04-03  Bruno Haible  <bruno@clisp.org>
39647         Tests for module 'ilogb'.
39648         * modules/ilogb-tests: New file.
39649         * tests/test-ilogb.c: New file.
39650         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
39651         tests/test-logb-ieee.h.
39653         New module 'ilogb'.
39654         * lib/math.in.h (ilogb): New declaration.
39655         * lib/ilogb.c: New file.
39656         * m4/ilogb.m4: New file.
39657         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
39658         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
39659         REPLACE_ILOGB.
39660         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
39661         REPLACE_ILOGB.
39662         * modules/ilogb: New file.
39663         * tests/test-math-c++.cc: Check the declaration of ilogb.
39664         * doc/posix-functions/ilogb.texi: Mention the new module.
39666 2012-04-03  Bruno Haible  <bruno@clisp.org>
39668         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
39669         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
39670         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
39671         (main): Check their values.
39672         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
39673         problem.
39675 2012-04-03  Bruno Haible  <bruno@clisp.org>
39677         Tests for module 'logbl-ieee'.
39678         * modules/logbl-ieee-tests: New file.
39679         * tests/test-logbl-ieee.c: New file.
39681         New module 'logbl-ieee'.
39682         * modules/logbl-ieee: New file.
39684         Tests for module 'logb-ieee'.
39685         * modules/logb-ieee-tests: New file.
39686         * tests/test-logb-ieee.c: New file.
39688         New module 'logb-ieee'.
39689         * modules/logb-ieee: New file.
39691         Tests for module 'logbf-ieee'.
39692         * modules/logbf-ieee-tests: New file.
39693         * tests/test-logbf-ieee.c: New file.
39694         * tests/test-logb-ieee.h: New file.
39696         New module 'logbf-ieee'.
39697         * modules/logbf-ieee: New file.
39699 2012-04-03  Bruno Haible  <bruno@clisp.org>
39701         Tests for module 'logbl'.
39702         * modules/logbl-tests: New file.
39703         * tests/test-logbl.c: New file.
39705         New module 'logbl'.
39706         * lib/math.in.h (logbl): New declaration.
39707         * lib/logbl.c: New file.
39708         * m4/logbl.m4: New file.
39709         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
39710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
39711         REPLACE_LOGBL.
39712         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
39713         REPLACE_LOGBL.
39714         * modules/logbl: New file.
39715         * tests/test-math-c++.cc: Check the declaration of logbl.
39716         * doc/posix-functions/logbl.texi: Mention the new module.
39718 2012-04-02  Bruno Haible  <bruno@clisp.org>
39720         Tests for module 'logbf'.
39721         * modules/logbf-tests: New file.
39722         * tests/test-logbf.c: New file.
39724         New module 'logbf'.
39725         * lib/math.in.h (logbf): New declaration.
39726         * lib/logbf.c: New file.
39727         * m4/logbf.m4: New file.
39728         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
39729         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
39730         REPLACE_LOGBF.
39731         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
39732         REPLACE_LOGBF.
39733         * modules/logbf: New file.
39734         * tests/test-math-c++.cc: Check the declaration of logbf.
39735         * doc/posix-functions/logbf.texi: Mention the new module.
39737 2012-04-02  Bruno Haible  <bruno@clisp.org>
39739         logb tests: More tests.
39740         * tests/test-logb.h: New file, based on tests/test-logb.c and
39741         tests/test-frexp.h.
39742         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
39743         (main): Just invoke test_function.
39744         * modules/logb-tests (Files): Add tests/test-logb.h,
39745         tests/minus-zero.h, tests/randomd.c.
39746         (Makefile.am): Add randomd.c to test_logb_SOURCES.
39748         logb: Provide replacement and workarounds.
39749         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
39750         is 1.
39751         * lib/logb.c: New file.
39752         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
39753         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
39754         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
39755         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
39756         * modules/logb (Files): Add lib/logb.c.
39757         (Depends-on): Add isfinite, frexp, isnand.
39758         (configure.ac): Compile the replacement code logb.c if needed.
39759         * tests/test-math-c++.cc: Check the declaration of logb.
39760         * doc/posix-functions/logb.texi: Mention the replacement and the bug
39761         with subnormal numbers.
39763 2012-04-02  Bruno Haible  <bruno@clisp.org>
39765         log10* tests: Speed up.
39766         * tests/test-log10.h (test_function): Reduce amount of random numbers
39767         to test.
39769 2012-04-01  Bruno Haible  <bruno@clisp.org>
39771         logf-ieee: Fix test whether logf works.
39772         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
39774 2012-04-01  Bruno Haible  <bruno@clisp.org>
39776         log10l: Work around log10l-ieee test failure on IRIX 6.5.
39777         * lib/log10l.c: Include <float.h>
39778         (log10l): On IRIX, normalize the +Infinity value.
39779         * modules/log10l (Depends-on): Add 'float'.
39780         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
39781         +Infinity.
39783         log10f-ieee: Work around test failure on NetBSD 5.1.
39784         * m4/log10f-ieee.m4: New file.
39785         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
39786         test whether log10f works with a negative argument. Replace it if not.
39787         * lib/log10f.c (log10f): For negative arguments, return NaN.
39788         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
39789         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
39790         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
39792         log10f-ieee: Work around test failure on Solaris 9.
39793         * modules/log10f-ieee (Depends-on): Add log10-ieee.
39794         (configure.ac): Require gl_FUNC_LOG10F.
39796         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
39797         * m4/log10-ieee.m4: New file.
39798         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
39799         whether log10 works with a negative argument. Replace it if not.
39800         * lib/log10.c (log10): For negative arguments, return NaN.
39801         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
39802         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
39803         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
39805         Tests for module 'log10l-ieee'.
39806         * modules/log10l-ieee-tests: New file.
39807         * tests/test-log10l-ieee.c: New file.
39809         New module 'log10l-ieee'.
39810         * modules/log10l-ieee: New file.
39812         Tests for module 'log10-ieee'.
39813         * modules/log10-ieee-tests: New file.
39814         * tests/test-log10-ieee.c: New file.
39816         New module 'log10-ieee'.
39817         * modules/log10-ieee: New file.
39819         Tests for module 'log10f-ieee'.
39820         * modules/log10f-ieee-tests: New file.
39821         * tests/test-log10f-ieee.c: New file.
39822         * tests/test-log10-ieee.h: New file.
39824         New module 'log10f-ieee'.
39825         * modules/log10f-ieee: New file.
39827 2012-04-01  Bruno Haible  <bruno@clisp.org>
39829         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
39830         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
39831         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
39832         workaround.
39833         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
39834         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
39835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
39836         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
39837         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
39838         (Depends-on): Update conditions.
39839         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
39840         IRIX 6.5, OSF/1 5.1 problems.
39842 2012-04-01  Bruno Haible  <bruno@clisp.org>
39844         log10f: Work around OSF/1 5.1 bug.
39845         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
39846         * lib/log10f.c (log10f): If logf exists, use it and provide just the
39847         workaround.
39848         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
39849         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
39850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
39851         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
39852         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
39853         (Depends-on): Update conditions.
39854         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
39856 2012-04-01  Bruno Haible  <bruno@clisp.org>
39858         log10: Work around OSF/1 5.1 bug.
39859         * lib/math.in.h (log10): New declaration.
39860         * lib/log10.c: New file.
39861         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
39862         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
39863         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
39864         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
39865         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
39866         * modules/log10 (Files): Add lib/log10.c.
39867         (Depends-on): Add math.
39868         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
39869         * tests/test-math-c++.cc: Check the declaration of log10.
39870         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
39872 2012-03-31  Bruno Haible  <bruno@clisp.org>
39874         log10l tests: More tests.
39875         * modules/log10l-tests (Files): Add tests/test-log10l.h,
39876         tests/minus-zero.h, tests/randoml.c.
39877         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
39878         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
39879         (main): Invoke test_function.
39881         log10f tests: More tests.
39882         * modules/log10f-tests (Files): Add tests/test-log10.h,
39883         tests/minus-zero.h, tests/randomf.c.
39884         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
39885         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
39886         (main): Invoke test_function.
39888         log10 tests: More tests.
39889         * tests/test-log10.h: New file.
39890         * modules/log10-tests (Files): Add tests/test-log10.h,
39891         tests/minus-zero.h, tests/randomd.c.
39892         (Makefile.am): Add randomd.c to test_log10_SOURCES.
39893         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
39894         (main): Invoke test_function.
39896 2012-03-31  Simon Josefsson  <simon@josefsson.org>
39898         fflush: Fix syntax error.
39899         * lib/fflush.c: Include unused-parameter.h, needed for
39900         _GL_UNUSED_PARAMETER.
39901         * modules/fflush (Depends-on): Add snippet/unused-parameter.
39903 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
39905         regex: pacify GCC when compiling GRUB
39906         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
39907         a diagnostic.  Reported by Vladimir Serbinenko in
39908         <http://lists.gnu.org/r/bug-gnulib/2012-03/msg00163.html>.
39910 2012-03-29  Eric Blake  <eblake@redhat.com>
39912         stdio: don't assume gets any more
39913         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
39914         support.
39915         * modules/stdio (Makefile.am): Likewise.
39916         * lib/stdio-read.c (gets): Likewise.
39917         * tests/test-stdio-c++.cc: Likewise.
39918         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
39919         * lib/stdio.in.h (gets): Make warning occur in more places.
39920         * doc/posix-functions/gets.texi (gets): Update documentation.
39921         Reported by Christer Solskogen.
39923         maint.mk: fix syntax checks without exclusions
39924         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
39925         Reported by Daniel P. Berrange.
39927         strerror_r: avoid compiler warning
39928         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
39929         level.
39931         fflush: avoid compiler warning
39932         * lib/fflush.c (update_fpos_cache): Mark variables that are
39933         potentially unused.
39935 2012-03-25  Bruno Haible  <bruno@clisp.org>
39937         Tests for module 'localeconv'.
39938         * modules/localeconv-tests: New file.
39939         * tests/test-localeconv.c: New file.
39941         New module 'localeconv'.
39942         * lib/locale.in.h (localeconv): New declaration.
39943         * lib/localeconv.c: New file.
39944         * m4/localeconv.m4: New file.
39945         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
39946         REPLACE_LOCALECONV.
39947         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
39948         REPLACE_LOCALECONV.
39949         * modules/localeconv: New file.
39950         * modules/nl_langinfo (Depends-on): Add localeconv.
39951         * modules/human (Depends-on): Likewise.
39952         * doc/posix-functions/localeconv.texi: Mention the new module.
39954 2012-03-25  Bruno Haible  <bruno@clisp.org>
39956         locale: Provide a complete 'struct lconv'.
39957         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39958         'struct lconv' does not contain int_p_cs_precedes.
39959         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39960         * doc/posix-headers/locale.texi: Update.
39962         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
39963         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
39964         * doc/posix-headers/locale.texi: Update.
39966         locale: Provide a working 'struct lconv'.
39967         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
39968         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
39969         'struct lconv' does not even contain decimal_point.
39970         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
39971         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
39972         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
39973         * doc/posix-headers/locale.texi: Mention the problems with
39974         'struct lconv'.
39975         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
39977 2012-03-24  Bruno Haible  <bruno@clisp.org>
39979         Enable common subexpression optimization in GCC.
39980         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
39981         macros.
39982         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
39983         GCC attribute 'const'.
39984         (uc_locale_language): Declare with GCC attribute 'pure'.
39985         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
39986         with GCC attribute 'const'.
39987         * lib/unictype.in.h (uc_is_general_category_withtable,
39988         uc_combining_class, uc_combining_class_name,
39989         uc_combining_class_long_name, uc_bidi_class_name,
39990         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
39991         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
39992         uc_decimal_value, uc_digit_value, uc_numeric_value,
39993         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
39994         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
39995         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
39996         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
39997         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
39998         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
39999         Declare with GCC attribute 'const'.
40000         (uc_general_category_name, uc_general_category_long_name,
40001         uc_general_category_byname, uc_general_category,
40002         uc_is_general_category, uc_combining_class_byname,
40003         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
40004         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
40005         Declare with GCC attribute 'pure'.
40006         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
40007         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
40008         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
40009         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
40010         with GCC attribute 'pure'.
40011         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
40012         'const'.
40013         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
40014         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
40015         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
40016         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
40017         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
40018         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
40019         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
40020         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
40021         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
40022         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
40023         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
40024         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
40025         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
40026         GCC attribute 'pure'.
40027         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
40028         'const'.
40029         * lib/uniwidth.in.h (uc_width): Simplify declaration.
40030         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
40031         u32_strwidth): Declare with GCC attribute 'pure'.
40033         Enable common subexpression optimization in GCC.
40034         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40035         (alphasort): Declare with GCC attribute 'pure'.
40036         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40037         (atoll): Declare with GCC attribute 'pure'.
40038         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
40039         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
40040         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
40041         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
40042         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
40043         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
40044         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
40046 2012-03-24  Bruno Haible  <bruno@clisp.org>
40048         gnulib-tool: Avoid unintended error output from 'cmp'.
40049         * gnulib-tool (func_add_file, func_update_file, func_import): Use
40050         "cmp -s", not "cmp > /dev/null".
40052 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
40054         gnulib-tool: fix imprecise comments w.r.t. an automake bug
40056         It's not just Automake versions < 1.9b that creates an empty
40057         pkgdatadir at installation time if pkgdata_DATA is specified
40058         to empty; modern automake versions do this as well, at least
40059         until automake 1.11.4 (not yet released at the moment of writing,
40060         but soon to appear).  That behaviour was generally considered a
40061         feature rather than a bug, at least until this discussion:
40062         <http://lists.gnu.org/r/automake/2012-03/msg00014.html>
40064         See also automake bugs #10997 and #11030.
40066         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
40067         reference to relevant automake bug numbers.
40068         (func_emit_tests_Makefile_am): Likewise.
40070 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40072         announce-gen: use Digest::SHA when possible
40073         * build-aux/announce-gen: Use Digest::SHA when possible, falling
40074         back to Digest::SHA1 if necessary.
40076 2012-03-20  Jim Meyering  <meyering@redhat.com>
40078         tests: avoid gcc warnings about argv vs. const initializers
40079         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
40080         warnings about discarding 'const' qualifier from pointer target type.
40081         * tests/test-posix_spawn2.c (main): Likewise.
40083 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
40085         README-release: simplify slightly
40086         * top/README-release: Run "git checkout master" only once.
40088 2012-03-15  Mark Wielaard  <mark@klomp.org>
40090         git-merge-changelog: add specific example on how to use with hg.
40091         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
40093 2012-03-18  Mark Wielaard  <mark@klomp.org>
40095         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
40097 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
40099         git-version-gen: don't let "prefix" envvar cause trouble
40100         * build-aux/git-version-gen (prefix): Initialize properly,
40101         so as not to use a value specified via the environment.
40102         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
40104 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40106         regex: diagnose too-large repeat counts in EREs
40107         Previously, the code did not diagnose the too-large repeat count
40108         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
40109         as if it were 'b\{1000000000}', which is unexpected.
40110         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
40111         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
40112         is a reasonable one for this problem.  Another option would be to
40113         create a new REG_OVERFLOW error for repeat counts that are too large.
40114         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
40115         count is too large, so that the caller can distinguish the two cases.
40116         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
40117         "Too large" return code, and that repeat counts are one example of this.
40119 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40121         doc: some glibc x32 integer width issues
40122         * doc/posix-headers/sys_types.texi (sys/types.h):
40123         * doc/posix-headers/time.texi (time.h):
40124         Mention that glibc x32 does not conform to POSIX in a couple of
40125         areas related to integer widths.
40127 2012-03-15  Bruno Haible  <bruno@clisp.org>
40129         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
40130         * lib/fma.c (VOLATILE): New macro.
40131         (FUNC): Use it to work around a GCC compiler bug.
40133 2012-03-13  Bruno Haible  <bruno@clisp.org>
40135         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40136         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
40137         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
40138         REPLACE_HYPOTL to 1.
40139         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
40141 2012-03-13  Bruno Haible  <bruno@clisp.org>
40143         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40144         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
40145         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
40146         REPLACE_REMAINDERL to 1.
40147         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
40148         bug.
40150 2012-03-13  Bruno Haible  <bruno@clisp.org>
40152         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40153         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
40154         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
40155         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
40156         too big rounding errors.
40157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
40158         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
40159         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
40160         (Depends-on): Update conditions.
40161         * tests/test-sqrtl.c (my_ldexpl): New function.
40162         (main): Add test of a particular value.
40163         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40165 2012-03-13  Pádraig Brady  <P@draigBrady.com>
40167         doc: Update timer_* platform portability notes.
40168         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
40169         that always return ENOSYS.
40170         * doc/posix-functions/timer_delete.texi: Likewise.
40171         * doc/posix-functions/timer_gettime.texi: Likewise.
40172         * doc/posix-functions/timer_settime.texi: Likewise.
40174 2012-03-13  Bruno Haible  <bruno@clisp.org>
40176         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
40177         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
40178         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
40179         REPLACE_CBRTL to 1.
40180         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
40182 2012-03-13  Bruno Haible  <bruno@clisp.org>
40184         remainderl: Avoid compilation error on AIX >= 5.2.
40185         * lib/math.in.h (remainderl): Undefine macro from the system header.
40187 2012-03-13  Bruno Haible  <bruno@clisp.org>
40189         Avoid compilation errors with MSVC option -fp:strict.
40190         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
40191         * lib/cbrtf.c: Likewise.
40192         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
40194 2012-03-12  Bruno Haible  <bruno@clisp.org>
40196         uninorm: Don't crash in out-of-memory conditions.
40197         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
40198         gracefully.
40199         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
40200         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
40202 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
40204         quote: fix syntax-check
40205         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
40206         also exports quote_quoting_options.
40208 2012-03-12  Simon Josefsson  <simon@josefsson.org>
40210         Collapse list of copyright years to ranges.  See
40211         <https://lists.gnu.org/r/bug-gnulib/2012-03/msg00051.html>.
40212         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
40213         build-aux/csharpexec.sh.in, build-aux/gnupload,
40214         build-aux/install-reloc, build-aux/javacomp.sh.in,
40215         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
40216         build-aux/move-if-change, build-aux/reloc-ldflags,
40217         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
40219 2012-03-11  Bruno Haible  <bruno@clisp.org>
40221         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40222         * m4/log2f-ieee.m4: New file.
40223         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
40224         whether log2f works with a minus zero argument. Replace it if not.
40225         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
40226         (Depends-on): Add log2-ieee.
40227         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
40228         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
40230         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
40231         * m4/log2-ieee.m4: New file.
40232         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
40233         whether log2 works with a minus zero argument. Replace it if not.
40234         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
40235         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
40236         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
40238         Tests for module 'log2l-ieee'.
40239         * modules/log2l-ieee-tests: New file.
40240         * tests/test-log2l-ieee.c: New file.
40242         New module 'log2l-ieee'.
40243         * modules/log2l-ieee: New file.
40245         Tests for module 'log2-ieee'.
40246         * modules/log2-ieee-tests: New file.
40247         * tests/test-log2-ieee.c: New file.
40249         New module 'log2-ieee'.
40250         * modules/log2-ieee: New file.
40252         Tests for module 'log2f-ieee'.
40253         * modules/log2f-ieee-tests: New file.
40254         * tests/test-log2f-ieee.c: New file.
40255         * tests/test-log2-ieee.h: New file.
40257         New module 'log2f-ieee'.
40258         * modules/log2f-ieee: New file.
40260 2012-03-11  Bruno Haible  <bruno@clisp.org>
40262         Tests for module 'log2l'.
40263         * modules/log2l-tests: New file.
40264         * tests/test-log2l.c: New file.
40266         New module 'log2l'.
40267         * lib/math.in.h (log2l): New declaration.
40268         * lib/log2l.c: New file.
40269         * m4/log2l.m4: New file.
40270         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
40271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
40272         REPLACE_LOG2L.
40273         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
40274         REPLACE_LOG2L.
40275         * modules/log2l: New file.
40276         * tests/test-math-c++.cc: Check the declaration of log2l.
40277         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
40278         and OSF/1 problems.
40280 2012-03-11  Bruno Haible  <bruno@clisp.org>
40282         Tests for module 'log2f'.
40283         * modules/log2f-tests: New file.
40284         * tests/test-log2f.c: New file.
40286         New module 'log2f'.
40287         * lib/math.in.h (log2f): New declaration.
40288         * lib/log2f.c: New file.
40289         * m4/log2f.m4: New file.
40290         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
40291         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
40292         REPLACE_LOG2F.
40293         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
40294         REPLACE_LOG2F.
40295         * modules/log2f: New file.
40296         * tests/test-math-c++.cc: Check the declaration of log2f.
40297         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
40298         and OSF/1 and Cygwin problems.
40300 2012-03-11  Bruno Haible  <bruno@clisp.org>
40302         Tests for module 'log2'.
40303         * modules/log2-tests: New file.
40304         * tests/test-log2.c: New file.
40305         * tests/test-log2.h: New file.
40307         New module 'log2'.
40308         * lib/math.in.h (log2): New declaration.
40309         * lib/log2.c: New file.
40310         * m4/log2.m4: New file.
40311         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
40312         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
40313         REPLACE_LOG2.
40314         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
40315         REPLACE_LOG2.
40316         * modules/log2: New file.
40317         * tests/test-math-c++.cc: Check the declaration of log2.
40318         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
40319         and OSF/1 and Cygwin problems.
40321 2012-03-11  Bruno Haible  <bruno@clisp.org>
40323         exp2* tests: More tests.
40324         * tests/test-exp2.h (test_function): Test all integral arguments that
40325         don't need to overflow or denormalized numbers.
40326         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
40327         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
40328         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
40330 2012-03-10  Bruno Haible  <bruno@clisp.org>
40332         log1pl-ieee: Work around test failure on AIX 7.1.
40333         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
40335         log1pl-ieee: Work around test failure on IRIX 6.5.
40336         * m4/log1pl-ieee.m4: New file.
40337         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
40338         test whether log1pl works with a minus zero argument. Replace it if
40339         not.
40340         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
40341         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
40342         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
40343         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
40344         (Depends-on): Update conditions.
40345         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40346         m4/signbit.m4.
40347         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
40348         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
40350         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
40351         * m4/log1pf-ieee.m4: New file.
40352         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
40353         test whether log1pf works with a minus zero argument. Replace it if
40354         not.
40355         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
40356         m4/signbit.m4.
40357         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
40358         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
40360         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
40361         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
40362         (configure.ac): Require gl_FUNC_LOG1PF.
40364         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
40365         * m4/log1p-ieee.m4: New file.
40366         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
40367         whether log1p works with a minus zero argument. Replace it if not.
40368         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
40369         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
40370         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
40371         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
40372         (Depends-on): Update conditions.
40373         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
40374         m4/signbit.m4.
40375         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
40376         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
40378         Tests for module 'log1pl-ieee'.
40379         * modules/log1pl-ieee-tests: New file.
40380         * tests/test-log1pl-ieee.c: New file.
40382         New module 'log1pl-ieee'.
40383         * modules/log1pl-ieee: New file.
40385         Tests for module 'log1p-ieee'.
40386         * modules/log1p-ieee-tests: New file.
40387         * tests/test-log1p-ieee.c: New file.
40389         New module 'log1p-ieee'.
40390         * modules/log1p-ieee: New file.
40392         Tests for module 'log1pf-ieee'.
40393         * modules/log1pf-ieee-tests: New file.
40394         * tests/test-log1pf-ieee.c: New file.
40395         * tests/test-log1p-ieee.h: New file.
40397         New module 'log1pf-ieee'.
40398         * modules/log1pf-ieee: New file.
40400 2012-03-10  Bruno Haible  <bruno@clisp.org>
40402         Tests for module 'log1pl'.
40403         * modules/log1pl-tests: New file.
40404         * tests/test-log1pl.c: New file.
40406         New module 'log1pl'.
40407         * lib/math.in.h (log1pl): New declaration.
40408         * lib/log1pl.c: New file.
40409         * m4/log1pl.m4: New file.
40410         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
40411         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
40412         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
40413         * modules/log1pl: New file.
40414         * tests/test-math-c++.cc: Check the declaration of log1pl.
40415         * doc/posix-functions/log1pl.texi: Mention the new module.
40417 2012-03-10  Bruno Haible  <bruno@clisp.org>
40419         Tests for module 'log1pf'.
40420         * modules/log1pf-tests: New file.
40421         * tests/test-log1pf.c: New file.
40423         New module 'log1pf'.
40424         * lib/math.in.h (log1pf): New declaration.
40425         * lib/log1pf.c: New file.
40426         * m4/log1pf.m4: New file.
40427         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
40428         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
40429         REPLACE_LOG1PF.
40430         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
40431         REPLACE_LOG1PF.
40432         * modules/log1pf: New file.
40433         * tests/test-math-c++.cc: Check the declaration of log1pf.
40434         * doc/posix-functions/log1pf.texi: Mention the new module.
40436 2012-03-10  Bruno Haible  <bruno@clisp.org>
40438         log1p tests: More tests.
40439         * tests/test-log1p.h: New file.
40440         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
40441         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
40442         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
40443         (main): Invoke test_function.
40445         log1p: Provide replacement for Minix and MSVC.
40446         * lib/math.in.h (log1p): New declaration.
40447         * lib/log1p.c: New file.
40448         * m4/log1p.m4: New file.
40449         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
40450         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
40451         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
40452         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
40453         (Depends-on): Add math, isnand, log, round.
40454         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
40455         HAVE_LOG1P is 0.
40456         * tests/test-math-c++.cc: Check the declaration of log1p.
40457         * doc/posix-functions/log1p.texi: Mention the replacement.
40459 2012-03-10  Bruno Haible  <bruno@clisp.org>
40461         math tests: Small simplification.
40462         * tests/test-exp.h (test_function): Use the same err_bound for
40463         'double' on platforms with sizeof (long double) == sizeof (double)
40464         than on platforms with sizeof (long double) > sizeof (double).
40465         * tests/test-exp2.h (test_function): Likewise.
40466         * tests/test-expm1.h (test_function): Likewise.
40467         * tests/test-log.h (test_function): Likewise.
40469 2012-03-10  Bruno Haible  <bruno@clisp.org>
40471         Fix some comments.
40472         * lib/expl.c: Fix an ambiguous comment.
40473         * lib/expm1.c: Likewise.
40474         * lib/expm1l.c: Likewise.
40475         * lib/exp2.c: Likewise.
40476         * lib/exp2l.c: Likewise.
40478 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
40480         regex: allow inclusion of <regex.h> before <limits.h>
40481         Without this patch, portable programs had to include <limits.h> before
40482         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
40483         I ran into this problem with a test version of GNU grep on Solaris 8.
40484         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
40485         This is done conditionally so that this change can be merged
40486         back to glibc.
40487         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
40488         using the included regex.
40490         fts: depend on fdopendir
40491         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
40492         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
40493         problem was introduced when fdopendir was split out.
40495 2012-03-10  Bruno Haible  <bruno@clisp.org>
40497         Remove unused variables.
40498         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
40499         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
40501 2012-03-10  Bruno Haible  <bruno@clisp.org>
40503         isnanf-nolibm: Fix last commit.
40504         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
40506         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
40507         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
40509 2012-03-10  Bruno Haible  <bruno@clisp.org>
40511         logf-ieee: Work around test failure on NetBSD 5.1.
40512         * m4/logf-ieee.m4: New file.
40513         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
40514         whether logf works with a negative argument. Replace it if not.
40515         * lib/logf.c (logf): For negative arguments, return NaN.
40516         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
40517         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
40518         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
40520         logf-ieee: Work around test failure on Solaris 9.
40521         * modules/logf-ieee (Depends-on): Add log-ieee.
40522         (configure.ac): Require gl_FUNC_LOGF.
40524         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
40525         * m4/log-ieee.m4: New file.
40526         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
40527         log works with a negative argument. Replace it if not.
40528         * lib/log.c (log): For negative arguments, return NaN.
40529         * modules/log-ieee (Files): Add m4/log-ieee.m4.
40530         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
40531         * doc/posix-functions/log.texi: Mention the log-ieee module.
40533         Tests for module 'logl-ieee'.
40534         * modules/logl-ieee-tests: New file.
40535         * tests/test-logl-ieee.c: New file.
40537         New module 'logl-ieee'.
40538         * modules/logl-ieee: New file.
40540         Tests for module 'log-ieee'.
40541         * modules/log-ieee-tests: New file.
40542         * tests/test-log-ieee.c: New file.
40544         New module 'log-ieee'.
40545         * modules/log-ieee: New file.
40547         Tests for module 'logf-ieee'.
40548         * modules/logf-ieee-tests: New file.
40549         * tests/test-logf-ieee.c: New file.
40550         * tests/test-log-ieee.h: New file.
40552         New module 'logf-ieee'.
40553         * modules/logf-ieee: New file.
40555 2012-03-10  Bruno Haible  <bruno@clisp.org>
40557         log: Fix bug introduced on 2012-03-09.
40558         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
40560 2012-03-10  Pádraig Brady  <P@draigBrady.com>
40562         timer-time: link explicitly with pthreads on glibc
40563         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
40564         to support static linking, when newer glibc is
40565         detected, as that contains pthread emulation of
40566         POSIX timer functions where required.
40567         * modules/timer-time: Depend on threadlib to
40568         pull in the appropriate library to link.
40570 2012-03-10  Bruno Haible  <bruno@clisp.org>
40572         log* tests: More tests.
40573         * tests/test-log.h: New file.
40574         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
40575         (main): Invoke test_function.
40576         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
40577         (main): Invoke test_function.
40578         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
40579         (main): Invoke test_function.
40580         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40581         tests/randomd.c.
40582         (Makefile.am): Add randomd.c to test_log_SOURCES.
40583         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40584         tests/randomf.c.
40585         (Makefile.am): Add randomf.c to test_logf_SOURCES.
40586         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
40587         tests/randoml.c.
40588         (Depends-on): Add 'float'.
40589         (Makefile.am): Add randoml.c to test_logl_SOURCES.
40591 2012-03-09  Bruno Haible  <bruno@clisp.org>
40593         logl: Work around OSF/1 5.1 bug.
40594         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
40595         * lib/logl.c (logl): If logl exists, use it and provide just the
40596         workaround.
40597         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
40598         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
40599         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
40600         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
40601         * modules/logl (configure.ac): Consider REPLACE_LOGL.
40602         (Depends-on): Update conditions.
40603         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
40605 2012-03-09  Bruno Haible  <bruno@clisp.org>
40607         logf: Work around OSF/1 5.1 bug.
40608         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
40609         * lib/logf.c (logf): If logf exists, use it and provide just the
40610         workaround.
40611         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
40612         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
40613         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
40614         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
40615         * modules/logf (configure.ac): Consider REPLACE_LOGF.
40616         (Depends-on): Update conditions.
40617         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
40619 2012-03-09  Bruno Haible  <bruno@clisp.org>
40621         log: Work around OSF/1 5.1 bug.
40622         * lib/math.in.h (log): New declaration.
40623         * lib/log.c: New file.
40624         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
40625         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
40626         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
40627         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
40628         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
40629         * modules/log (Files): Add lib/log.c.
40630         (Depends-on): Add math.
40631         (configure.ac): If REPLACE_LOG is 1, compile an override.
40632         * tests/test-math-c++.cc: Check the declaration of log.
40633         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
40635 2012-03-09  Jim Meyering  <meyering@redhat.com>
40637         readtokens.c: adjust wording in a comment
40638         * lib/readtokens.c: Insert omitted "that" in a comment.
40640 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40642         modechange: add notations +40, 00440, etc.
40643         * lib/modechange.c (mode_compile): Support new notations
40644         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
40646 2012-03-08  Bruno Haible  <bruno@clisp.org>
40648         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
40649         * m4/exp2l-ieee.m4: New file.
40650         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
40651         test whether exp2l works with a NaN argument and with a negative
40652         infinity argument. Replace it if not.
40653         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
40654         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
40655         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
40656         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
40657         (Depends-on): Update conditions.
40658         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
40659         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
40660         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
40662         Tests for module 'exp2l-ieee'.
40663         * modules/exp2l-ieee-tests: New file.
40664         * tests/test-exp2l-ieee.c: New file.
40666         New module 'exp2l-ieee'.
40667         * modules/exp2l-ieee: New file.
40669         Tests for module 'exp2-ieee'.
40670         * modules/exp2-ieee-tests: New file.
40671         * tests/test-exp2-ieee.c: New file.
40673         New module 'exp2-ieee'.
40674         * modules/exp2-ieee: New file.
40676         Tests for module 'exp2f-ieee'.
40677         * modules/exp2f-ieee-tests: New file.
40678         * tests/test-exp2f-ieee.c: New file.
40679         * tests/test-exp2-ieee.h: New file.
40681         New module 'exp2f-ieee'.
40682         * modules/exp2f-ieee: New file.
40684 2012-03-08  Bruno Haible  <bruno@clisp.org>
40686         Tests for module 'exp2l'.
40687         * modules/exp2l-tests: New file.
40688         * tests/test-exp2l.c: New file.
40690         New module 'exp2l'.
40691         * lib/math.in.h (exp2l): New declaration.
40692         * lib/exp2l.c: New file.
40693         * lib/expl-table.c: New file, extracted from lib/expl.c.
40694         * lib/expl.c (gl_expl_table): New declaration.
40695         (expl): Remove expl_table. Update reference.
40696         * m4/exp2l.m4: New file.
40697         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
40698         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
40699         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
40700         * modules/exp2l: New file.
40701         * modules/expl (Files): Add lib/expl-table.c.
40702         (configure.ac): Compile also expl-table.c.
40703         * tests/test-math-c++.cc: Check the declaration of exp2l.
40704         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
40705         problem.
40707 2012-03-08  Bruno Haible  <bruno@clisp.org>
40709         Tests for module 'exp2f'.
40710         * modules/exp2f-tests: New file.
40711         * tests/test-exp2f.c: New file.
40713         New module 'exp2f'.
40714         * lib/math.in.h (exp2f): New declaration.
40715         * lib/exp2f.c: New file.
40716         * m4/exp2f.m4: New file.
40717         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
40718         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
40719         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
40720         * modules/exp2f: New file.
40721         * tests/test-math-c++.cc: Check the declaration of exp2f.
40722         * doc/posix-functions/exp2f.texi: Mention the new module and the
40723         IRIX problem.
40725 2012-03-08  Bruno Haible  <bruno@clisp.org>
40727         Tests for module 'exp2'.
40728         * modules/exp2-tests: New file.
40729         * tests/test-exp2.c: New file.
40730         * tests/test-exp2.h: New file.
40732         New module 'exp2'.
40733         * lib/math.in.h (exp2): New declaration.
40734         * lib/exp2.c: New file.
40735         * m4/exp2.m4: New file.
40736         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
40737         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
40738         REPLACE_EXP2.
40739         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
40740         REPLACE_EXP2.
40741         * modules/exp2: New file.
40742         * tests/test-math-c++.cc: Check the declaration of exp2.
40743         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
40744         and OpenBSD problems.
40746 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
40748         savedir: fix comment typo
40749         * lib/savedir.c (savedirstream): Fix typo in comment.
40751 2012-03-08  Bruno Haible  <bruno@clisp.org>
40753         test-readtokens.c: use const; remove unwarranted cast
40754         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
40756 2012-03-08  Bruno Haible  <bruno@clisp.org>
40758         fmal: Avoid compilation error on AIX.
40759         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
40760         AIX 5.2..7.1.
40762 2012-03-08  Bruno Haible  <bruno@clisp.org>
40764         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
40765         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
40766         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
40767         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
40768         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
40769         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
40770         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
40772 2012-03-08  Bruno Haible  <bruno@clisp.org>
40774         remainderf: Override buggy system function on IRIX 6.5.
40775         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
40776         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
40777         when it exists.
40778         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
40780 2012-03-08  Jim Meyering  <meyering@redhat.com>
40782         test-readtokens.c: avoid const-related compilation warnings
40783         * tests/test-readtokens.c: Avoid const-related compilation warnings.
40785 2012-03-07  Jim Meyering  <meyering@redhat.com>
40786             Bruno Haible  <bruno@clisp.org>
40788         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
40789         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
40790         tests/randomd.c.
40791         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
40792         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
40793         tests/randoml.c.
40794         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
40796 2012-03-07  Bruno Haible  <bruno@clisp.org>
40798         expm1l: Avoid compilation error on AIX.
40799         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
40800         AIX 5.2..7.1.
40802 2012-03-07  Bruno Haible  <bruno@clisp.org>
40804         expm1l: Don't override undeclared system function on IRIX 6.5.
40805         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
40806         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
40807         it exists. Set HAVE_DECL_EXPM1L.
40808         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
40809         HAVE_EXPM1L.
40810         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
40811         HAVE_EXPM1L.
40812         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
40814 2012-03-07  Bruno Haible  <bruno@clisp.org>
40816         remainderl: Don't override undeclared system function on IRIX 6.5.
40817         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
40818         HAVE_REMAINDERL.
40819         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
40820         declared when it exists. Set HAVE_DECL_REMAINDERL.
40821         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
40822         not HAVE_REMAINDERL.
40823         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
40824         HAVE_REMAINDERL.
40825         * doc/posix-functions/remainderl.texi: Mention missing declaration
40826         problem.
40828 2012-03-07  Bruno Haible  <bruno@clisp.org>
40830         rintf: Don't override undeclared system function on IRIX 6.5.
40831         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
40832         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
40833         exists. Set HAVE_DECL_RINTF.
40834         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
40835         HAVE_RINTF.
40836         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
40837         HAVE_RINTF.
40838         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
40840 2012-03-07  Bruno Haible  <bruno@clisp.org>
40842         roundl: Avoid compilation error on AIX.
40843         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
40844         AIX 5.2..7.1.
40846 2012-03-07  Bruno Haible  <bruno@clisp.org>
40848         roundl: Don't override undeclared system function on IRIX 6.5.
40849         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
40850         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
40851         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40852         * modules/roundl (configure.ac): For replacement code, test
40853         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
40854         (Depends-on): Update conditions.
40855         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
40857 2012-03-07  Bruno Haible  <bruno@clisp.org>
40859         roundf: Don't override undeclared system function on IRIX 6.5.
40860         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
40861         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
40862         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40863         * modules/roundf (configure.ac): For replacement code, test
40864         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
40865         (Depends-on): Update conditions.
40866         * modules/roundf-ieee (Depends-on): Update conditions.
40867         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
40869 2012-03-07  Bruno Haible  <bruno@clisp.org>
40871         round: Don't override undeclared system function on IRIX 6.5.
40872         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
40873         argument.
40874         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
40875         also when it is not declared. Set HAVE_ROUND. For replacement code,
40876         test HAVE_ROUND, not HAVE_DECL_ROUND.
40877         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
40878         not HAVE_DECL_ROUND.
40879         (Depends-on): Update conditions.
40880         * modules/round-ieee (Depends-on): Update conditions.
40881         * doc/posix-functions/round.texi: Mention the IRIX problem.
40883 2012-03-07  Bruno Haible  <bruno@clisp.org>
40885         copysignf: Don't override undeclared system function on IRIX 6.5.
40886         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
40887         HAVE_COPYSIGNF.
40888         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
40889         declared when it exists. Set HAVE_DECL_COPYSIGNF.
40890         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
40891         not HAVE_COPYSIGNF.
40892         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
40893         HAVE_COPYSIGNF.
40894         * doc/posix-functions/copysignf.texi: Mention missing declaration
40895         problem.
40897 2012-03-07  Jim Meyering  <meyering@redhat.com>
40899         readtokens: add tests
40900         * modules/readtokens-tests: New file.
40901         * tests/test-readtokens.c: New file.
40903 2012-03-07  Jim Meyering  <meyering@redhat.com>
40905         quotearg: the module must now include quote.h
40906         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
40907         So must the module.
40908         * modules/quotearg (Files): Add quote.h.
40910 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
40912         readtokens: avoid core dumps with unusual calling patterns
40913         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
40914         * lib/readtokens.c: Include limits.h.
40915         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
40916         (readtoken): Don't cache the delimiters; the cache code was buggy
40917         if !delim && saved_delim, or if the new n_delim differs from the old.
40918         Also, it wasn't thread-safe.
40920 2012-03-07  Bruno Haible  <bruno@clisp.org>
40922         quote: Adhere to common module description layout.
40923         * modules/quote (Makefile.am): Add back empty section.
40925 2012-03-06  Akim Demaille  <demaille@gostai.com>
40927         quote: fuse into quotearg
40928         This patch is made for the benefit of Bison.
40929         quote does not leave the choice of the quoting style to the user.
40930         quoting_style provides poor customizability, yet quoting_options,
40931         which is very rich, is hidden inside quotearg.c.  So in order to
40932         allow quote customization, move its implementation to quotearg.c.
40933         * lib/quote.c: Remove.
40934         * modules/quote: Adjust.
40935         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
40936         warning: provide all the members of literal structs.
40937         (quote_quoting_options): New.
40938         (quote, quote_n): Import implementation from quote.c.
40939         * lib/quote.h: Import the comments from quote.c.
40940         (quote_quoting_options): New.
40942 2012-03-06  Bruno Haible  <bruno@clisp.org>
40944         Tests for module 'expm1l-ieee'.
40945         * modules/expm1l-ieee-tests: New file.
40946         * tests/test-expm1l-ieee.c: New file.
40948         New module 'expm1l-ieee'.
40949         * modules/expm1l-ieee: New file.
40951         Tests for module 'expm1f-ieee'.
40952         * modules/expm1f-ieee-tests: New file.
40953         * tests/test-expm1f-ieee.c: New file.
40955         New module 'expm1f-ieee'.
40956         * modules/expm1f-ieee: New file.
40958         Tests for module 'expm1-ieee'.
40959         * modules/expm1-ieee-tests: New file.
40960         * tests/test-expm1-ieee.c: New file.
40961         * tests/test-expm1-ieee.h: New file.
40963         New module 'expm1-ieee'.
40964         * modules/expm1-ieee: New file.
40965         * m4/expm1-ieee.m4: New file.
40966         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
40967         whether expm1 works with a minus zero argument. Replace it if not.
40968         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
40969         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
40970         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
40971         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
40972         (Depends-on): Update conditions.
40973         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
40974         AIX problem.
40976 2012-03-06  Bruno Haible  <bruno@clisp.org>
40978         Work around expm1f bug on IRIX 6.5.
40979         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
40980         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
40981         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
40982         not work.
40983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
40984         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
40985         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
40986         (Depends-on): Update conditions.
40987         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
40989 2012-03-06  Bruno Haible  <bruno@clisp.org>
40991         Tests for module 'expm1l'.
40992         * modules/expm1l-tests: New file.
40993         * tests/test-expm1l.c: New file.
40995         New module 'expm1l'.
40996         * lib/math.in.h (expm1l): New declaration.
40997         * lib/expm1l.c: New file.
40998         * m4/expm1l.m4: New file.
40999         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
41000         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
41001         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
41002         * modules/expm1l: New file.
41003         * tests/test-math-c++.cc: Check the declaration of expm1l.
41004         * doc/posix-functions/expm1l.texi: Mention the new module.
41006 2012-03-06  Bruno Haible  <bruno@clisp.org>
41008         Tests for module 'expm1f'.
41009         * modules/expm1f-tests: New file.
41010         * tests/test-expm1f.c: New file.
41012         New module 'expm1f'.
41013         * lib/math.in.h (expm1f): New declaration.
41014         * lib/expm1f.c: New file.
41015         * m4/expm1f.m4: New file.
41016         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
41017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
41018         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
41019         * modules/expm1f: New file.
41020         * tests/test-math-c++.cc: Check the declaration of expm1f.
41021         * doc/posix-functions/expm1f.texi: Mention the new module.
41023 2012-03-06  Bruno Haible  <bruno@clisp.org>
41025         Tests for module 'expm1'.
41026         * modules/expm1-tests: New file.
41027         * tests/test-expm1.c: New file.
41028         * tests/test-expm1.h: New file.
41030         New module 'expm1'.
41031         * lib/math.in.h (expm1): New declaration.
41032         * lib/expm1.c: New file.
41033         * m4/expm1.m4: New file.
41034         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
41035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
41036         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
41037         * modules/expm1: New file.
41038         * tests/test-math-c++.cc: Check the declaration of expm1.
41039         * doc/posix-functions/expm1.texi: Mention the new module.
41041 2012-03-06  Bruno Haible  <bruno@clisp.org>
41043         math: Ensure declarations of math functions.
41044         * modules/acosf (Depends-on): Add 'extensions'.
41045         * modules/asinf (Depends-on): Likewise.
41046         * modules/atan2f (Depends-on): Likewise.
41047         * modules/atanf (Depends-on): Likewise.
41048         * modules/cbrt (Depends-on): Likewise.
41049         * modules/cbrtf (Depends-on): Likewise.
41050         * modules/cbrtl (Depends-on): Likewise.
41051         * modules/copysignf (Depends-on): Likewise.
41052         * modules/copysignl (Depends-on): Likewise.
41053         * modules/cosf (Depends-on): Likewise.
41054         * modules/coshf (Depends-on): Likewise.
41055         * modules/expf (Depends-on): Likewise.
41056         * modules/fabsf (Depends-on): Likewise.
41057         * modules/fabsl (Depends-on): Likewise.
41058         * modules/fmaf (Depends-on): Likewise.
41059         * modules/fmal (Depends-on): Likewise.
41060         * modules/fmodf (Depends-on): Likewise.
41061         * modules/fmodl (Depends-on): Likewise.
41062         * modules/frexpf (Depends-on): Likewise.
41063         * modules/frexpl (Depends-on): Likewise.
41064         * modules/hypot (Depends-on): Likewise.
41065         * modules/hypotf (Depends-on): Likewise.
41066         * modules/hypotl (Depends-on): Likewise.
41067         * modules/ldexpf (Depends-on): Likewise.
41068         * modules/ldexpl (Depends-on): Likewise.
41069         * modules/log10f (Depends-on): Likewise.
41070         * modules/log10l (Depends-on): Likewise.
41071         * modules/log1p (Depends-on): Likewise.
41072         * modules/logb (Depends-on): Likewise.
41073         * modules/logf (Depends-on): Likewise.
41074         * modules/modff (Depends-on): Likewise.
41075         * modules/modfl (Depends-on): Likewise.
41076         * modules/powf (Depends-on): Likewise.
41077         * modules/remainderf (Depends-on): Likewise.
41078         * modules/remainderl (Depends-on): Likewise.
41079         * modules/rintf (Depends-on): Likewise.
41080         * modules/rintl (Depends-on): Likewise.
41081         * modules/sinf (Depends-on): Likewise.
41082         * modules/sinhf (Depends-on): Likewise.
41083         * modules/sqrtf (Depends-on): Likewise.
41084         * modules/tanf (Depends-on): Likewise.
41085         * modules/tanhf (Depends-on): Likewise.
41086         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
41087         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
41088         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
41089         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
41090         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
41091         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
41092         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
41093         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
41094         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
41095         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
41096         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
41097         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
41098         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
41099         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
41100         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
41101         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
41102         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
41103         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41104         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
41105         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
41106         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
41107         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
41108         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
41109         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
41110         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
41111         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
41112         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
41113         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
41114         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
41115         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
41116         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41117         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
41118         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
41119         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41120         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
41121         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
41122         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
41123         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
41124         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
41125         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
41126         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
41128 2012-03-06  Bruno Haible  <bruno@clisp.org>
41130         math: Update module names in warnings.
41131         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
41132         tanl): Use specific module name in warn-on-use warning.
41134 2012-03-06  Bruno Haible  <bruno@clisp.org>
41136         expl: Simplify computation.
41137         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
41139 2012-03-05  Bruno Haible  <bruno@clisp.org>
41141         exp* tests: More tests.
41142         * tests/test-exp.h: New file.
41143         * tests/test-exp.c: Include <float.h> and test-exp.h.
41144         (main): Invoke test_function.
41145         * tests/test-expf.c: Include <float.h> and test-exp.h.
41146         (main): Invoke test_function.
41147         * tests/test-expl.c: Include <float.h> and test-exp.h.
41148         (main): Invoke test_function.
41149         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
41150         (Makefile.am): Add randomd.c to test_exp_SOURCES.
41151         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
41152         (Makefile.am): Add randomf.c to test_expf_SOURCES.
41153         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
41154         (Depends-on): Add 'float'.
41155         (Makefile.am): Add randoml.c to test_expl_SOURCES.
41157         expl: Fix precision of computed result.
41158         * lib/expl.c: Completely rewritten.
41159         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
41160         (Maintainer): Add me.
41161         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
41163 2012-03-05  Bruno Haible  <bruno@clisp.org>
41165         cbrt* tests: More tests.
41166         * tests/test-cbrt.h: New file.
41167         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
41168         (main): Invoke test_function.
41169         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
41170         (main): Invoke test_function.
41171         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
41172         (main): Invoke test_function.
41173         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
41174         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
41175         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
41176         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
41177         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
41178         (Depends-on): Add 'float'.
41179         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
41181 2012-03-05  Bruno Haible  <bruno@clisp.org>
41183         hypot* tests: More tests.
41184         * tests/test-hypot.h: New file, partially extracted from
41185         tests/test-hypotl.c.
41186         * tests/test-hypot.c: Include test-hypot.h.
41187         (main): Invoke test_function.
41188         * tests/test-hypotf.c: Include test-hypot.h.
41189         (main): Invoke test_function.
41190         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
41191         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
41192         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
41193         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
41194         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
41195         tests/randomf.c.
41196         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
41197         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
41198         tests/randoml.c.
41199         (Depends-on): Add 'fpucw', 'float'.
41200         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
41202 2012-03-05  Bruno Haible  <bruno@clisp.org>
41204         fpucw: Doc about FreeBSD.
41205         * lib/fpucw.h: Mention FreeBSD in comments.
41207 2012-03-04  Bruno Haible  <bruno@clisp.org>
41209         sqrt* tests: More tests.
41210         * tests/test-sqrt.h: New file.
41211         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
41212         (main): Invoke test_function.
41213         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
41214         (main): Invoke test_function.
41215         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
41216         (main): Invoke test_function.
41217         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
41218         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
41219         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
41220         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
41221         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
41222         (Depends-on): Add 'float'.
41223         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
41225 2012-03-04  Bruno Haible  <bruno@clisp.org>
41227         remainder* tests: More tests.
41228         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
41229         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
41230         (main): Invoke test_function.
41231         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
41232         (main): Invoke test_function.
41233         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
41234         (main): Invoke test_function.
41235         * modules/remainder-tests (Files): Add tests/test-remainder.h,
41236         tests/randomd.c.
41237         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
41238         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
41239         tests/randomf.c.
41240         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
41241         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
41242         tests/randoml.c.
41243         (Depends-on): Add 'float'.
41244         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
41246 2012-03-04  Bruno Haible  <bruno@clisp.org>
41248         remainder, remainderf, remainderl: Fix computation for large quotients.
41249         * lib/remainder.c: Completely rewritten.
41250         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
41251         USE_FLOAT.
41252         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
41253         USE_LONG_DOUBLE.
41254         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
41255         isnand, isinf. Remove round, fma.
41256         * modules/remainderf (Files): Add lib/remainder.c.
41257         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
41258         Remove roundf, fmaf.
41259         * modules/remainderl (Files): Add lib/remainder.c.
41260         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
41261         isinf. Remove roundl, fmal.
41262         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
41263         REMAINDER_LIBM.
41264         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
41265         REMAINDERF_LIBM.
41266         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
41267         REMAINDERL_LIBM.
41269 2012-03-04  Bruno Haible  <bruno@clisp.org>
41271         fmod* tests: More tests.
41272         * tests/test-fmod.h (my_ldexp): New function.
41273         (test_function): Reduce amount of random numbers to test. Add tests
41274         of very large quotients x / y.
41275         * tests/test-fmod.c (MAX_EXP): New macro.
41276         * tests/test-fmodf.c (MAX_EXP): Likewise.
41277         * tests/test-fmodl.c (MAX_EXP): Likewise.
41279 2012-03-04  Bruno Haible  <bruno@clisp.org>
41281         fmod, fmodl: Fix computation for large quotients x / y.
41282         * lib/fmod.c: Completely rewritten.
41283         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
41284         USE_LONG_DOUBLE.
41285         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
41286         isnand. Remove fma.
41287         * modules/fmodl (Files): Add lib/fmod.c.
41288         (Depends-on): Add float, isfinite, signbit, fabsl,
41289         frexpl, ldexpl, isnanl. Remove fma.
41290         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
41291         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
41293 2012-03-03  Bruno Haible  <bruno@clisp.org>
41295         fmod* tests: More tests.
41296         * tests/test-fmod.h: New file.
41297         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
41298         (main): Invoke test_function.
41299         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
41300         (main): Invoke test_function.
41301         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
41302         (main): Invoke test_function.
41303         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
41304         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
41305         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
41306         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
41307         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
41308         (Depends-on): Add 'float'.
41309         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
41311 2012-03-03  Bruno Haible  <bruno@clisp.org>
41313         rint* tests: More tests.
41314         * tests/test-rint.h: New file, partially extracted from
41315         tests/test-rintl.c.
41316         * tests/test-rint.c: Include test-rint.h.
41317         (main): Invoke test_function.
41318         * tests/test-rintf.c: Include test-rint.h.
41319         (main): Invoke test_function.
41320         * tests/test-rintl.c: Include test-rint.h.
41321         (main): Invoke test_function.
41322         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
41323         (Makefile.am): Add randomd.c to test_rint_SOURCES.
41324         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
41325         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
41326         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
41327         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
41329 2012-03-03  Bruno Haible  <bruno@clisp.org>
41331         modf* tests: More tests.
41332         * tests/test-modf.h: New file.
41333         * tests/test-modf.c: Include <float.h> and test-modf.h.
41334         (main): Invoke test_function.
41335         * tests/test-modff.c: Include <float.h> and test-modf.h.
41336         (main): Invoke test_function.
41337         * tests/test-modfl.c: Include <float.h> and test-modf.h.
41338         (main): Invoke test_function.
41339         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
41340         (Makefile.am): Add randomd.c to test_modf_SOURCES.
41341         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
41342         (Makefile.am): Add randomf.c to test_modff_SOURCES.
41343         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
41344         (Depends-on): Add 'float'.
41345         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
41347 2012-03-03  Bruno Haible  <bruno@clisp.org>
41349         fabs* tests: More tests.
41350         * tests/test-fabs.h: New file, partially extracted from
41351         tests/test-fabsl.c.
41352         * tests/test-fabs.c (RANDOM): New macro.
41353         * tests/test-fabsf.c (RANDOM): New macro.
41354         * tests/test-fabsl.c (RANDOM): New macro.
41355         * modules/fabs-tests (Files): Add tests/randomd.c.
41356         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
41357         * modules/fabsf-tests (Files): Add tests/randomf.c.
41358         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
41359         * modules/fabsl-tests (Files): Add tests/randoml.c.
41360         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
41362 2012-03-03  Bruno Haible  <bruno@clisp.org>
41364         ldexp* tests: More tests.
41365         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
41366         * tests/test-ldexp.c (RANDOM): New macro.
41367         * tests/test-ldexpf.c (RANDOM): New macro.
41368         * tests/test-ldexpl.c (RANDOM): New macro.
41369         * modules/ldexp-tests (Files): Add tests/randomd.c.
41370         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
41371         * modules/ldexpf-tests (Files): Add tests/randomf.c.
41372         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
41373         * modules/ldexpl-tests (Files): Add tests/randoml.c.
41374         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
41376 2012-03-03  Bruno Haible  <bruno@clisp.org>
41378         frexp* tests: More tests.
41379         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
41380         * tests/test-frexp.c (RANDOM): New macro.
41381         * tests/test-frexpf.c (RANDOM): New macro.
41382         * tests/test-frexpl.c (RANDOM): New macro.
41383         * modules/frexp-tests (Files): Add tests/randomd.c.
41384         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
41385         * modules/frexpf-tests (Files): Add tests/randomf.c.
41386         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
41387         * modules/frexpl-tests (Files): Add tests/randoml.c.
41388         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
41390 2012-03-03  Bruno Haible  <bruno@clisp.org>
41392         Support for pseudo-random numbers in tests.
41393         * tests/randomf.c: New file.
41394         * tests/randomd.c: New file.
41395         * tests/randoml.c: New file.
41396         * tests/macros.h (randomf, randomd, randoml): New declarations.
41398 2012-03-03  Bruno Haible  <bruno@clisp.org>
41400         frexp* tests: Refactor.
41401         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
41402         * tests/test-frexp.c: Include and use it.
41403         * tests/test-frexpf.c: Likewise.
41404         * tests/test-frexpl.c: Likewise.
41405         * modules/frexp-tests (Files): Add tests/test-frexp.h.
41406         * modules/frexpf-tests (Files): Likewise.
41407         * modules/frexpl-tests (Files): Likewise.
41409 2012-03-02  Jim Meyering  <meyering@redhat.com>
41411         maint: don't specify XZ_OPT=-9ev in dist-related rule
41412         Using xz's -9 option is warranted only if you have a very large
41413         tarball (see xz's documentation for the sizes vs. presets), and
41414         requires 64MiB of memory at decompression time.
41415         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
41416         Automake's default of just "-e" is fine.  Override on a
41417         per-package basis by setting XZ_OPT e.g., in cfg.mk.
41419 2012-03-01  Eric Blake  <eblake@redhat.com>
41421         maint.mk: allow announcement for non-gnulib project
41422         * maint.mk (announcement): Skip gnulib version if not used.
41424 2012-03-01  Jim Meyering  <meyering@redhat.com>
41426         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
41427         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
41428         envvar settings cannot interfere.  Otherwise, setting envvars like
41429         prohibit=foo require=bar, etc. would cause spurious test failures.
41431 2012-03-01  Eric Blake  <eblake@redhat.com>
41433         maint.mk: add per-line exclusions to prohibitions
41434         * maint.mk (_sc_search_regexp): Add $exclude parameter.
41435         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
41436         (sc_const_long_option): Use it.
41438 2012-03-01  Bruno Haible  <bruno@clisp.org>
41440         Tests for module 'expl-ieee'.
41441         * modules/expl-ieee-tests: New file.
41442         * tests/test-expl-ieee.c: New file.
41444         New module 'expl-ieee'.
41445         * modules/expl-ieee: New file.
41447         Tests for module 'exp-ieee'.
41448         * modules/exp-ieee-tests: New file.
41449         * tests/test-exp-ieee.c: New file.
41451         New module 'exp-ieee'.
41452         * modules/exp-ieee: New file.
41454         Tests for module 'expf-ieee'.
41455         * modules/expf-ieee-tests: New file.
41456         * tests/test-expf-ieee.c: New file.
41457         * tests/test-exp-ieee.h: New file.
41459         New module 'expf-ieee'.
41460         * modules/expf-ieee: New file.
41462 2012-02-29  Bruno Haible  <bruno@clisp.org>
41464         cbrtl-ieee: Work around test failure on IRIX 6.5.
41465         * m4/cbrtl-ieee.m4: New file.
41466         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
41467         test whether cbrtl works with a minus zero argument. Replace it if not.
41468         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
41469         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
41470         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
41471         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
41472         (Depends-on): Update conditions.
41473         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
41474         m4/signbit.m4.
41475         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
41476         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
41477         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
41479         Tests for module 'cbrtl-ieee'.
41480         * modules/cbrtl-ieee-tests: New file.
41481         * tests/test-cbrtl-ieee.c: New file.
41483         New module 'cbrtl-ieee'.
41484         * modules/cbrtl-ieee: New file.
41486         Tests for module 'cbrt-ieee'.
41487         * modules/cbrt-ieee-tests: New file.
41488         * tests/test-cbrt-ieee.c: New file.
41490         New module 'cbrt-ieee'.
41491         * modules/cbrt-ieee: New file.
41493         Tests for module 'cbrtf-ieee'.
41494         * modules/cbrtf-ieee-tests: New file.
41495         * tests/test-cbrtf-ieee.c: New file.
41496         * tests/test-cbrt-ieee.h: New file.
41498         New module 'cbrtf-ieee'.
41499         * modules/cbrtf-ieee: New file.
41501 2012-02-29  Bruno Haible  <bruno@clisp.org>
41503         cbrtf: Work around bug in IRIX 6.5 system function.
41504         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
41505         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
41506         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
41507         work.
41508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
41509         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
41510         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
41511         (Depends-on): Update conditions.
41512         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
41514 2012-02-29  Bruno Haible  <bruno@clisp.org>
41516         Tests for module 'cbrtl'.
41517         * modules/cbrtl-tests: New file.
41518         * tests/test-cbrtl.c: New file.
41520         New module 'cbrtl'.
41521         * lib/math.in.h (cbrtl): New declaration.
41522         * lib/cbrtl.c: New file.
41523         * m4/cbrtl.m4: New file.
41524         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
41525         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
41526         HAVE_DECL_CBRTL.
41527         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
41528         HAVE_DECL_CBRTL.
41529         * modules/cbrtl: New file.
41530         * tests/test-math-c++.cc: Check the declaration of cbrtl.
41531         * doc/posix-functions/cbrtl.texi: Mention the new module.
41533 2012-02-29  Bruno Haible  <bruno@clisp.org>
41535         Tests for module 'cbrtf'.
41536         * modules/cbrtf-tests: New file.
41537         * tests/test-cbrtf.c: New file.
41539         New module 'cbrtf'.
41540         * lib/math.in.h (cbrtf): New declaration.
41541         * lib/cbrtf.c: New file.
41542         * m4/cbrtf.m4: New file.
41543         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
41544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
41545         HAVE_DECL_CBRTF.
41546         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
41547         HAVE_DECL_CBRTF.
41548         * modules/cbrtf: New file.
41549         * tests/test-math-c++.cc: Check the declaration of cbrtf.
41550         * doc/posix-functions/cbrtf.texi: Mention the new module.
41552 2012-02-29  Bruno Haible  <bruno@clisp.org>
41554         cbrt: Provide replacement on MSVC and Minix.
41555         * lib/math.in.h (cbrt): New declaration.
41556         * lib/cbrt.c: New file.
41557         * m4/cbrt.m4: New file.
41558         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
41559         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
41560         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
41561         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
41562         (Depends-on): Add dependencies.
41563         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
41564         * tests/test-math-c++.cc: Check the declaration of cbrt.
41565         * doc/posix-functions/cbrt.texi: Mention that the module provides a
41566         replacement.
41568 2012-02-29  Bruno Haible  <bruno@clisp.org>
41570         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
41571         * m4/hypotl-ieee.m4: New file.
41572         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
41573         test whether hypotl works with mixed NaN and Infinity arguments.
41574         Replace it if not.
41575         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
41576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
41577         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
41578         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
41579         (Depends-on): Update conditions.
41580         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
41581         (Depends-on): Add hypot-ieee.
41582         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
41583         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
41585         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
41586         * m4/hypotf-ieee.m4: New file.
41587         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
41588         test whether hypotf works with mixed NaN and Infinity arguments.
41589         Replace it if not.
41590         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
41591         (Depends-on): Add hypot-ieee.
41592         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
41593         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
41595         hypot-ieee: Work around test failure on OSF/1 and native Windows.
41596         * lib/math.in.h (hypot): New declaration.
41597         * lib/hypot.c: New file.
41598         * m4/hypot-ieee.m4: New file.
41599         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
41600         whether hypot works with mixed NaN and Infinity arguments. Replace it
41601         if not.
41602         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
41603         REPLACE_HYPOT.
41604         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
41605         * modules/hypot (Files): Add lib/hypot.c.
41606         (Depends-on): Add dependencies.
41607         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
41608         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
41609         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
41610         * tests/test-math-c++.cc: Check the declaration of hypot.
41611         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
41613         Tests for module 'hypotl-ieee'.
41614         * modules/hypotl-ieee-tests: New file.
41615         * tests/test-hypotl-ieee.c: New file.
41617         New module 'hypotl-ieee'.
41618         * modules/hypotl-ieee: New file.
41620         Tests for module 'hypot-ieee'.
41621         * modules/hypot-ieee-tests: New file.
41622         * tests/test-hypot-ieee.c: New file.
41624         New module 'hypot-ieee'.
41625         * modules/hypot-ieee: New file.
41627         Tests for module 'hypotf-ieee'.
41628         * modules/hypotf-ieee-tests: New file.
41629         * tests/test-hypotf-ieee.c: New file.
41630         * tests/test-hypot-ieee.h: New file.
41632         New module 'hypotf-ieee'.
41633         * modules/hypotf-ieee: New file.
41635 2012-02-29  Bruno Haible  <bruno@clisp.org>
41637         Remove unused variables.
41638         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
41639         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
41640         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
41641         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
41643 2012-02-29  Eric Blake  <eblake@redhat.com>
41645         termios: fix pid_t always, not just for tcgetsid
41646         * doc/posix-headers/termios.texi (termios.h): Mention problem.
41647         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
41648         just when building tcgetsid.
41650 2012-02-29  Bruno Haible  <bruno@clisp.org>
41652         Tests for module 'hypotl'.
41653         * modules/hypotl-tests: New file.
41654         * tests/test-hypotl.c: New file.
41656         New module 'hypotl'.
41657         * lib/math.in.h (hypotl): New declaration.
41658         * lib/hypotl.c: New file.
41659         * m4/hypotl.m4: New file.
41660         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
41662         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
41663         * modules/hypotl: New file.
41664         * tests/test-math-c++.cc: Check the hypotl declaration.
41665         * doc/posix-functions/hypotl.texi: Mention the new module.
41667 2012-02-29  Eric Blake  <eblake@redhat.com>
41669         tcgetsid: fix cygwin header bug
41670         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
41672         docs: update cygwin progress
41673         * doc/posix-functions/llround.texi (llround): Added in cygwin
41674         1.7.8.
41675         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
41676         * doc/glibc-functions/program_invocation_name.texi
41677         (program_invocation_name): Likewise.
41678         * doc/glibc-functions/program_invocation_short_name.texi
41679         (program_invocation_short_name): Likewise.
41680         * doc/glibc-functions/madvise.texi (madvise): Likewise.
41681         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
41682         Likewise.
41683         * doc/posix-functions/pthread_spin_destroy.texi
41684         (pthread_spin_destroy): Added in cygwin 1.7.10.
41685         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
41686         Likewise.
41687         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
41688         Likewise.
41689         * doc/posix-functions/pthread_spin_trylock.texi
41690         (pthread_spin_trylock): Likewise.
41691         * doc/posix-functions/pthread_spin_unlock.texi
41692         (pthread_spin_unlock): Likewise.
41693         * doc/posix-functions/pthread_setschedprio.texi
41694         (pthread_setschedprio): Likewise.
41695         * doc/posix-functions/pthread_attr_getstack.texi
41696         (pthread_attr_getstack): Likewise.
41697         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
41698         (pthread_attr_getstackaddr): Likewise.
41699         * doc/glibc-functions/pthread_getattr_np.texi
41700         (pthread_getattr_np): Likewise.
41701         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
41702         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
41703         * doc/posix-functions/clock_settime.texi (clock_settime):
41704         Likewise.
41705         * doc/posix-functions/pthread_attr_getguardsize.texi
41706         (pthread_attr_getguardsize): Likewise.
41707         * doc/posix-functions/pthread_attr_setguardsize.texi
41708         (pthread_attr_setguardsize): Likewise.
41709         * doc/posix-functions/pthread_attr_setstack.texi
41710         (pthread_attr_setstack): Likewise.
41711         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
41712         (pthread_attr_setstackaddr): Likewise.
41713         * doc/posix-functions/clock_getcpuclockid.texi
41714         (clock_getcpuclockid): Likewise.
41715         * doc/posix-functions/pthread_getcpuclockid.texi
41716         (pthread_getcpuclockid): Likewise.
41717         * doc/glibc-functions/error.texi (error): Likewise.
41718         * doc/glibc-functions/error_at_line.texi (error_at_line):
41719         Likewise.
41720         * doc/glibc-functions/error_message_count.texi
41721         (error_message_count): Likewise.
41722         * doc/glibc-functions/error_one_per_line.texi
41723         (error_one_per_line): Likewise.
41724         * doc/glibc-functions/error_print_progname.texi
41725         (error_print_progname): Likewise.
41726         * doc/posix-functions/pthread_condattr_getclock.texi
41727         (pthread_condattr_getclock): Likewise.
41728         * doc/posix-functions/pthread_condattr_setclock.texi
41729         (pthread_condattr_setclock): Likewise.
41730         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
41731         Likewise.
41732         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
41733         * doc/glibc-functions/getpt.texi (getpt): Likewise.
41734         * doc/glibc-functions/get_current_dir_name.texi
41735         (get_current_dir_name): Likewise.
41736         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
41737         Likewise.
41738         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
41739         wrong return type.
41740         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
41741         1.7.11.
41743 2012-02-29  Bruno Haible  <bruno@clisp.org>
41745         Tests for module 'hypotf'.
41746         * modules/hypotf-tests: New file.
41747         * tests/test-hypotf.c: New file.
41749         New module 'hypotf'.
41750         * lib/math.in.h (hypotf): New declaration.
41751         * lib/hypotf.c: New file.
41752         * m4/hypotf.m4: New file.
41753         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
41754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
41755         REPLACE_HYPOTF.
41756         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
41757         REPLACE_HYPOTF.
41758         * modules/hypotf: New file.
41759         * tests/test-math-c++.cc: Check the hypotf declaration.
41760         * doc/posix-functions/hypotf.texi: Mention the new module.
41762         hypot: Prepare for hypotf module.
41763         * m4/hypot.m4: New file.
41764         * modules/hypot (Files): Add m4/hypot.m4.
41765         (configure.ac): Invoke gl_FUNC_HYPOT.
41767 2012-02-29  Bruno Haible  <bruno@clisp.org>
41769         hypot tests: More tests.
41770         * tests/test-hypot.c: Include <float.h>.
41771         (main): Add tests about overflow and underflow.
41773 2012-02-29  Bruno Haible  <bruno@clisp.org>
41775         math code: Add comments.
41776         * lib/acosl.c: Add comment about related glibc source files.
41777         * lib/asinl.c: Likewise.
41778         * lib/atanl.c: Likewise.
41779         * lib/expl.c: Likewise.
41780         * lib/logl.c: Likewise.
41781         * lib/sincosl.c: Likewise.
41782         * lib/sinl.c: Likewise.
41783         * lib/tanl.c: Likewise.
41784         * lib/trigl.c: Likewise.
41785         * lib/cosl.c: Likewise. Fix comments.
41787 2012-02-28  Bruno Haible  <bruno@clisp.org>
41789         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
41790         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
41791         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
41792         HUGE_VALL are defined.
41793         (numeric_equald): Renamed from numeric_equal.
41794         (numeric_equalf, numeric_equall): New functions.
41795         (main): Check also HUGE_VALF, HUGE_VALL.
41796         * modules/math-tests (Files): Add tests/macros.h.
41797         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
41798         HUGE_VALL.
41800 2012-02-28  Bruno Haible  <bruno@clisp.org>
41802         doc: Move ISO C11 feature notes into POSIX chapters.
41803         * doc/posix-functions/aligned_alloc.texi: Renamed from
41804         doc/glibc-functions/aligned_alloc.texi.
41805         * doc/posix-functions/quick_exit.texi: Renamed from
41806         doc/glibc-functions/quick_exit.texi.
41807         * doc/posix-headers/uchar.texi: Renamed from
41808         doc/glibc-headers/uchar.texi.
41809         * doc/posix-functions/c16rtomb.texi: Renamed from
41810         doc/glibc-functions/c16rtomb.texi.
41811         * doc/posix-functions/c32rtomb.texi: Renamed from
41812         doc/glibc-functions/c32rtomb.texi.
41813         * doc/posix-functions/mbrtoc16.texi: Renamed from
41814         doc/glibc-functions/mbrtoc16.texi.
41815         * doc/posix-functions/mbrtoc32.texi: Renamed from
41816         doc/glibc-functions/mbrtoc32.texi.
41817         * doc/gnulib.texi: Update.
41818         (Glibc uchar.h): Remove section.
41819         Suggested by Eric Blake.
41821 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
41823         stdnoreturn: port to MSVC better
41824         MSVC standard headers use __declspec(noreturn), so #define noreturn
41825         to empty on that platform.  Reported by Bruno Haible in
41826         <http://lists.gnu.org/r/bug-gnulib/2012-02/msg00152.html>.
41827         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
41828         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
41830 2012-02-28  Bruno Haible  <bruno@clisp.org>
41832         doc: Mention new glibc headers and functions.
41833         * doc/glibc-headers/uchar.texi: New file.
41834         * doc/glibc-functions/aligned_alloc.texi: New file.
41835         * doc/glibc-functions/c16rtomb.texi: New file.
41836         * doc/glibc-functions/c32rtomb.texi: New file.
41837         * doc/glibc-functions/clock_adjtime.texi: New file.
41838         * doc/glibc-functions/fanotify_init.texi: New file.
41839         * doc/glibc-functions/fanotify_mark.texi: New file.
41840         * doc/glibc-functions/inet6_opt_append.texi: New file.
41841         * doc/glibc-functions/inet6_opt_find.texi: New file.
41842         * doc/glibc-functions/inet6_opt_finish.texi: New file.
41843         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
41844         * doc/glibc-functions/inet6_opt_init.texi: New file.
41845         * doc/glibc-functions/inet6_opt_next.texi: New file.
41846         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
41847         * doc/glibc-functions/inet6_rth_add.texi: New file.
41848         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
41849         * doc/glibc-functions/inet6_rth_init.texi: New file.
41850         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
41851         * doc/glibc-functions/inet6_rth_segments.texi: New file.
41852         * doc/glibc-functions/inet6_rth_space.texi: New file.
41853         * doc/glibc-functions/login.texi: New file.
41854         * doc/glibc-functions/mbrtoc16.texi: New file.
41855         * doc/glibc-functions/mbrtoc32.texi: New file.
41856         * doc/glibc-functions/name_to_handle_at.texi: New file.
41857         * doc/glibc-functions/ntp_gettimex.texi: New file.
41858         * doc/glibc-functions/open_by_handle_at.texi: New file.
41859         * doc/glibc-functions/prlimit.texi: New file.
41860         * doc/glibc-functions/process_vm_readv.texi: New file.
41861         * doc/glibc-functions/process_vm_writev.texi: New file.
41862         * doc/glibc-functions/recvmmsg.texi: New file.
41863         * doc/glibc-functions/scandirat.texi: New file.
41864         * doc/glibc-functions/sendmmsg.texi: New file.
41865         * doc/glibc-functions/setns.texi: New file.
41866         * doc/glibc-functions/timespec_get.texi: New file.
41867         * doc/gnulib.texi: Include them.
41868         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
41869         sections.
41870         Reported by Eric Blake.
41872 2012-02-28  Bruno Haible  <bruno@clisp.org>
41874         Avoid compilation errors with MSVC option -fp:strict.
41875         * lib/floor.c: Use MSVC specific pragma fenv_access.
41876         * lib/ceil.c: Likewise.
41877         * lib/trunc.c: Likewise.
41878         * lib/round.c: Likewise.
41879         * lib/rint.c: Likewise.
41880         * lib/fma.c: Likewise.
41881         * lib/integer_length.c: Likewise.
41882         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
41883         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
41884         * tests/test-floor2.c: Likewise.
41885         * tests/test-floorf2.c: Likewise.
41886         * tests/test-ceil2.c: Likewise.
41887         * tests/test-ceilf2.c: Likewise.
41888         * tests/test-trunc2.c: Likewise.
41889         * tests/test-truncf2.c: Likewise.
41890         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
41892 2012-02-27  Bruno Haible  <bruno@clisp.org>
41894         Tests for module 'sqrtl-ieee'.
41895         * modules/sqrtl-ieee-tests: New file.
41896         * tests/test-sqrtl-ieee.c: New file.
41898         New module 'sqrtl-ieee'.
41899         * modules/sqrtl-ieee: New file.
41901         Tests for module 'sqrt-ieee'.
41902         * modules/sqrt-ieee-tests: New file.
41903         * tests/test-sqrt-ieee.c: New file.
41905         New module 'sqrt-ieee'.
41906         * modules/sqrt-ieee: New file.
41908         Tests for module 'sqrtf-ieee'.
41909         * modules/sqrtf-ieee-tests: New file.
41910         * tests/test-sqrtf-ieee.c: New file.
41911         * tests/test-sqrt-ieee.h: New file.
41913         New module 'sqrtf-ieee'.
41914         * modules/sqrtf-ieee: New file.
41916 2012-02-27  Bruno Haible  <bruno@clisp.org>
41918         remainderl-ieee: Work around test failure on OSF/1.
41919         * m4/remainderl-ieee.m4: New file.
41920         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
41921         present, test whether remainderl works with a zero second argument.
41922         Replace it if not.
41923         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
41924         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
41925         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
41926         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
41927         (Depends-on): Update conditions.
41928         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
41929         (Depends-on): Add remainder-ieee.
41930         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
41931         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
41932         module.
41934         remainderf-ieee: Work around test failure on OSF/1.
41935         * m4/remainderf-ieee.m4: New file.
41936         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
41937         present, test whether remainderf works with a zero second argument.
41938         Replace it if not.
41939         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
41940         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
41941         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
41942         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
41943         (Depends-on): Update conditions.
41944         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
41945         (Depends-on): Add remainder-ieee.
41946         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
41947         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
41948         module.
41950         remainder-ieee: Work around test failure on OSF/1.
41951         * m4/remainder-ieee.m4: New file.
41952         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
41953         present, test whether remainder works with a zero second argument.
41954         Replace it if not.
41955         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
41956         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
41957         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
41958         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
41959         (Depends-on): Update dependencies.
41960         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
41961         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
41962         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
41964         Tests for module 'remainderl-ieee'.
41965         * modules/remainderl-ieee-tests: New file.
41966         * tests/test-remainderl-ieee.c: New file.
41968         New module 'remainderl-ieee'.
41969         * modules/remainderl-ieee: New file.
41971         Tests for module 'remainder-ieee'.
41972         * modules/remainder-ieee-tests: New file.
41973         * tests/test-remainder-ieee.c: New file.
41975         New module 'remainder-ieee'.
41976         * modules/remainder-ieee: New file.
41978         Tests for module 'remainderf-ieee'.
41979         * modules/remainderf-ieee-tests: New file.
41980         * tests/test-remainderf-ieee.c: New file.
41981         * tests/test-remainder-ieee.h: New file.
41983         New module 'remainderf-ieee'.
41984         * modules/remainderf-ieee: New file.
41986 2012-02-27  Bruno Haible  <bruno@clisp.org>
41988         modff, modfl: Fix configure syntax error.
41989         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
41990         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
41992 2012-02-27  Bruno Haible  <bruno@clisp.org>
41994         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
41995         * m4/fmodl-ieee.m4: New file.
41996         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
41997         whether fmodl works with zero arguments. Replace it if not.
41998         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
41999         (Depends-on): Add fmod-ieee.
42000         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
42001         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
42003         fmodf-ieee: Work around test failure on OSF/1.
42004         * m4/fmodf-ieee.m4: New file.
42005         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
42006         whether fmodf works with zero arguments. Replace it if not.
42007         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
42008         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
42009         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
42010         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
42011         (Depends-on): Update dependencies.
42012         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
42013         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
42014         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
42016         fmodf-ieee: Work around test failure on MSVC 9.
42017         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
42018         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
42020         fmod-ieee: Work around test failures on OSF/1, mingw.
42021         * m4/fmod-ieee.m4: New file.
42022         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
42023         whether fmod works with zero arguments. Replace it if not.
42024         * lib/math.in.h (fmod): New declaration.
42025         * lib/fmod.c: New file.
42026         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
42027         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
42028         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
42029         * modules/fmod (Files): Add lib/fmod.c.
42030         (Depends-on): Add math, isinf, trunc, fma.
42031         (configure.ac): Arrange to compile lib/fmod.c if needed.
42032         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
42033         m4/signbit.m4.
42034         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
42035         * tests/test-math-c++.cc: Check the declaration of fmod.
42036         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
42038         fmodl-ieee: Fix test failures.
42039         * lib/fmodl.c (fmodl): Treat Inf specially.
42040         * modules/fmodl (Depends-on): Add isinf.
42042         Tests for module 'fmodl-ieee'.
42043         * modules/fmodl-ieee-tests: New file.
42044         * tests/test-fmodl-ieee.c: New file.
42046         New module 'fmodl-ieee'.
42047         * modules/fmodl-ieee: New file.
42049         Tests for module 'fmod-ieee'.
42050         * modules/fmod-ieee-tests: New file.
42051         * tests/test-fmod-ieee.c: New file.
42053         New module 'fmod-ieee'.
42054         * modules/fmod-ieee: New file.
42056         Tests for module 'fmodf-ieee'.
42057         * modules/fmodf-ieee-tests: New file.
42058         * tests/test-fmodf-ieee.c: New file.
42059         * tests/test-fmod-ieee.h: New file.
42061         New module 'fmodf-ieee'.
42062         * modules/fmodf-ieee: New file.
42064 2012-02-27  Bruno Haible  <bruno@clisp.org>
42066         Tests for module 'rintl-ieee'.
42067         * modules/rintl-ieee-tests: New file.
42068         * tests/test-rintl-ieee.c: New file.
42070         New module 'rintl-ieee'.
42071         * modules/rintl-ieee: New file.
42073         Tests for module 'rint-ieee'.
42074         * modules/rint-ieee-tests: New file.
42075         * tests/test-rint-ieee.c: New file.
42077         New module 'rint-ieee'.
42078         * modules/rint-ieee: New file.
42080         Tests for module 'rintf-ieee'.
42081         * modules/rintf-ieee-tests: New file.
42082         * tests/test-rintf-ieee.c: New file.
42083         * tests/test-rint-ieee.h: New file.
42085         New module 'rintf-ieee'.
42086         * modules/rintf-ieee: New file.
42088 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
42090         regex: re_search etc. should return -2 when memory exhausted
42091         This bug was uncovered when testing 'grep'.  Without the fix,
42092         re_search and friends return -1 when memory is exhausted, but -1
42093         means no match, and this causes grep to falsely report no-match
42094         instead of memory-exhaustion.  See
42095         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
42096         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
42097         trouble; this can occur if re_search_internal ran out of memory.
42099 2012-02-26  Bruno Haible  <bruno@clisp.org>
42101         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
42102         * m4/modfl-ieee.m4: New file.
42103         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
42104         whether modfl works with Inf. Replace it if not.
42105         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
42106         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
42107         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
42108         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
42109         (Depends-on): Update dependencies.
42110         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
42111         m4/signbit.m4.
42112         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
42113         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
42115         modfl-ieee: Fix dependencies.
42116         * modules/modfl-ieee (Depends-on): Add modf-ieee.
42118         modfl-ieee: Fix test failures.
42119         * lib/modfl.c (modfl): Treat NaN and Inf specially.
42120         * modules/modfl (Depends-on): Add isfinite, isinf.
42122         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
42123         * m4/modff-ieee.m4: New file.
42124         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
42125         whether modff works with NaN and Inf. Replace it if not.
42126         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
42127         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
42128         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
42129         * modules/modff (configure.ac): Consider REPLACE_MODFF.
42130         (Depends-on): Update dependencies.
42131         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
42132         m4/signbit.m4.
42133         (Depends-on): Add modf-ieee.
42134         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
42135         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
42137         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
42138         * m4/modf-ieee.m4: New file.
42139         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
42140         whether modf works with NaN and Inf. Replace it if not.
42141         * lib/math.in.h (modf): New declaration.
42142         * lib/modf.c: New file.
42143         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
42144         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
42145         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
42146         * modules/modf (Files): Add lib/modf.c.
42147         (Depends-on): Add math, isfinite, trunc, isinf.
42148         (configure.ac): Addrange to compile lib/modf.c if needed.
42149         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
42150         m4/signbit.m4.
42151         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
42152         * tests/test-math-c++.cc: Check the declaration of modf.
42153         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
42155         Tests for module 'modfl-ieee'.
42156         * modules/modfl-ieee-tests: New file.
42157         * tests/test-modfl-ieee.c: New file.
42159         New module 'modfl-ieee'.
42160         * modules/modfl-ieee: New file.
42162         Tests for module 'modf-ieee'.
42163         * modules/modf-ieee-tests: New file.
42164         * tests/test-modf-ieee.c: New file.
42166         New module 'modf-ieee'.
42167         * modules/modf-ieee: New file.
42169         Tests for module 'modff-ieee'.
42170         * modules/modff-ieee-tests: New file.
42171         * tests/test-modff-ieee.c: New file.
42172         * tests/test-modf-ieee.h: New file.
42174         New module 'modff-ieee'.
42175         * modules/modff-ieee: New file.
42177 2012-02-26  Bruno Haible  <bruno@clisp.org>
42179         Tests for module 'fabsl-ieee'.
42180         * modules/fabsl-ieee-tests: New file.
42181         * tests/test-fabsl-ieee.c: New file.
42183         New module 'fabsl-ieee'.
42184         * modules/fabsl-ieee: New file.
42186         Tests for module 'fabs-ieee'.
42187         * modules/fabs-ieee-tests: New file.
42188         * tests/test-fabs-ieee.c: New file.
42190         New module 'fabs-ieee'.
42191         * modules/fabs-ieee: New file.
42193         Tests for module 'fabsf-ieee'.
42194         * modules/fabsf-ieee-tests: New file.
42195         * tests/test-fabsf-ieee.c: New file.
42196         * tests/test-fabs-ieee.h: New file.
42198         New module 'fabsf-ieee'.
42199         * modules/fabsf-ieee: New file.
42201 2012-02-26  Bruno Haible  <bruno@clisp.org>
42203         Tests for module 'fmal-ieee'.
42204         * modules/fmal-ieee-tests: New file.
42205         * tests/test-fmal-ieee.c: New file.
42207         New module 'fmal-ieee'.
42208         * modules/fmal-ieee: New file.
42210         Tests for module 'fma-ieee'.
42211         * modules/fma-ieee-tests: New file.
42212         * tests/test-fma-ieee.c: New file.
42214         New module 'fma-ieee'.
42215         * modules/fma-ieee: New file.
42217         Tests for module 'fmaf-ieee'.
42218         * modules/fmaf-ieee-tests: New file.
42219         * tests/test-fmaf-ieee.c: New file.
42220         * tests/test-fma-ieee.h: New file.
42222         New module 'fmaf-ieee'.
42223         * modules/fmaf-ieee: New file.
42225 2012-02-26  Bruno Haible  <bruno@clisp.org>
42227         Tests for module 'ldexpl-ieee'.
42228         * modules/ldexpl-ieee-tests: New file.
42229         * tests/test-ldexpl-ieee.c: New file.
42231         New module 'ldexpl-ieee'.
42232         * modules/ldexpl-ieee: New file.
42234         Tests for module 'ldexp-ieee'.
42235         * modules/ldexp-ieee-tests: New file.
42236         * tests/test-ldexp-ieee.c: New file.
42238         New module 'ldexp-ieee'.
42239         * modules/ldexp-ieee: New file.
42241         Tests for module 'ldexpf-ieee'.
42242         * modules/ldexpf-ieee-tests: New file.
42243         * tests/test-ldexpf-ieee.c: New file.
42244         * tests/test-ldexp-ieee.h: New file.
42246         New module 'ldexpf-ieee'.
42247         * modules/ldexpf-ieee: New file.
42249 2012-02-26  Bruno Haible  <bruno@clisp.org>
42251         Refactor frexp*-ieee tests.
42252         * tests/test-frexp-ieee.h: New file.
42253         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
42254         (main): Just call test_function.
42255         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
42256         (main): Just call test_function.
42257         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
42258         (main): Just call test_function.
42259         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
42260         * modules/frexp-ieee-tests (Files): Likewise.
42261         * modules/frexpl-ieee-tests (Files): Likewise.
42263         Tests for module 'frexpl-ieee'.
42264         * modules/frexpl-ieee-tests: New file.
42265         * tests/test-frexpl-ieee.c: New file.
42267         New module 'frexpl-ieee'.
42268         * modules/frexpl-ieee: New file.
42270         Tests for module 'frexp-ieee'.
42271         * modules/frexp-ieee-tests: New file.
42272         * tests/test-frexp-ieee.c: New file.
42274         New module 'frexp-ieee'.
42275         * modules/frexp-ieee: New file.
42277         Tests for module 'frexpf-ieee'.
42278         * modules/frexpf-ieee-tests: New file.
42279         * tests/test-frexpf-ieee.c: New file.
42281         New module 'frexpf-ieee'.
42282         * modules/frexpf-ieee: New file.
42284 2012-02-26  Bruno Haible  <bruno@clisp.org>
42286         roundl-ieee tests: More tests.
42287         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42288         (main): Add tests for [MX] shaded specification in POSIX.
42289         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42290         (Depends-on): Add isnanl-nolibm.
42292         round-ieee tests: More tests.
42293         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42294         (main): Add tests for [MX] shaded specification in POSIX.
42295         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42296         (Depends-on): Add isnand-nolibm.
42298         roundf-ieee tests: More tests.
42299         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42300         (main): Add tests for [MX] shaded specification in POSIX.
42301         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42302         (Depends-on): Add isnanf-nolibm.
42304         truncl-ieee tests: More tests.
42305         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42306         (main): Add tests for [MX] shaded specification in POSIX.
42307         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42308         (Depends-on): Add isnanl-nolibm.
42310         trunc-ieee tests: More tests.
42311         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42312         (main): Add tests for [MX] shaded specification in POSIX.
42313         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42314         (Depends-on): Add isnand-nolibm.
42316         truncf-ieee tests: More tests.
42317         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42318         (main): Add tests for [MX] shaded specification in POSIX.
42319         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42320         (Depends-on): Add isnanf-nolibm.
42322         ceill-ieee tests: More tests.
42323         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42324         (main): Add tests for [MX] shaded specification in POSIX.
42325         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42326         (Depends-on): Add isnanl-nolibm.
42328         ceil-ieee tests: More tests.
42329         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42330         (main): Add tests for [MX] shaded specification in POSIX.
42331         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42332         (Depends-on): Add isnand-nolibm.
42334         ceilf-ieee tests: More tests.
42335         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42336         (main): Add tests for [MX] shaded specification in POSIX.
42337         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42338         (Depends-on): Add isnanf-nolibm.
42340         floorl-ieee tests: More tests.
42341         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
42342         (main): Add tests for [MX] shaded specification in POSIX.
42343         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42344         (Depends-on): Add isnanl-nolibm.
42346         floor-ieee tests: More tests.
42347         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
42348         (main): Add tests for [MX] shaded specification in POSIX.
42349         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42350         (Depends-on): Add isnand-nolibm.
42352         floorf-ieee tests: More tests.
42353         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
42354         (main): Add tests for [MX] shaded specification in POSIX.
42355         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
42356         (Depends-on): Add isnanf-nolibm.
42358 2012-02-26  Bruno Haible  <bruno@clisp.org>
42360         fpieee: More comments.
42361         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
42363 2012-02-25  Bruno Haible  <bruno@clisp.org>
42365         Tests for module 'log10l'.
42366         * modules/log10l-tests: New file.
42367         * tests/test-log10l.c: New file.
42368         * tests/test-math-c++.cc: Check the declaration of log10l.
42370         New module 'log10l'.
42371         * lib/math.in.h (log10l): New declaration.
42372         * lib/log10l.c: New file.
42373         * m4/log10l.m4: New file.
42374         * modules/log10l: New file.
42375         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
42376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
42377         HAVE_DECL_LOG10L.
42378         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
42379         HAVE_DECL_LOG10L.
42380         * doc/posix-functions/log10l.texi: Mention the new module.
42382 2012-02-25  Bruno Haible  <bruno@clisp.org>
42384         fmodl, remainder*: Avoid wrong results due to rounding errors.
42385         * lib/fmodl.c (fmodl): Correct the result if it is not within the
42386         expected bounds.
42387         * lib/remainderf.c (remainderf): Likewise.
42388         * lib/remainder.c (remainder): Likewise.
42389         * lib/remainderl.c (remainderl): Likewise.
42391 2012-02-25  Bruno Haible  <bruno@clisp.org>
42393         Tests for module 'remainderl'.
42394         * modules/remainderl-tests: New file.
42395         * tests/test-remainderl.c: New file.
42396         * tests/test-math-c++.cc: Check the declaration of remainderl.
42398         New module 'remainderl'.
42399         * lib/math.in.h (remainderl): New declaration.
42400         * lib/remainderl.c: New file.
42401         * m4/remainderl.m4: New file.
42402         * modules/remainderl: New file.
42403         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
42404         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
42405         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
42406         HAVE_REMAINDERL.
42407         * doc/posix-functions/remainderl.texi: Mention the new module.
42409 2012-02-25  Bruno Haible  <bruno@clisp.org>
42411         Tests for module 'remainderf'.
42412         * modules/remainderf-tests: New file.
42413         * tests/test-remainderf.c: New file.
42414         * tests/test-math-c++.cc: Check the declaration of remainderf.
42416         New module 'remainderf'.
42417         * lib/math.in.h (remainderf): New declaration.
42418         * lib/remainderf.c: New file.
42419         * m4/remainderf.m4: New file.
42420         * modules/remainderf: New file.
42421         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
42422         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
42423         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
42424         HAVE_REMAINDERF.
42425         * doc/posix-functions/remainderf.texi: Mention the new module.
42427 2012-02-25  Bruno Haible  <bruno@clisp.org>
42429         remainder: Support for MSVC.
42430         * lib/math.in.h (remainder): New declaration.
42431         * lib/remainder.c: New file.
42432         * m4/remainder.m4: New file.
42433         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
42434         (Depends-on): Add math, round, fma.
42435         (configure.ac): Use results of gl_FUNC_REMAINDER.
42436         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
42437         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
42438         HAVE_DECL_REMAINDER.
42439         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
42440         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
42441         * tests/test-math-c++.cc: Check the declaration of remainder.
42442         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
42443         problems are fixed.
42445 2012-02-25  Bruno Haible  <bruno@clisp.org>
42447         Tests for module 'fmodl'.
42448         * modules/fmodl-tests: New file.
42449         * tests/test-fmodl.c: New file.
42450         * tests/test-math-c++.cc: Check the declaration of fmodl.
42452         New module 'fmodl'.
42453         * lib/math.in.h (fmodl): New declaration.
42454         * lib/fmodl.c: New file.
42455         * m4/fmodl.m4: New file.
42456         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
42457         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
42458         REPLACE_FMODL.
42459         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
42460         REPLACE_FMODL.
42461         * modules/fmodl: New file.
42462         * doc/posix-functions/fmodl.texi: Mention the new module.
42464 2012-02-25  Bruno Haible  <bruno@clisp.org>
42466         Tests for module 'modfl'.
42467         * modules/modfl-tests: New file.
42468         * tests/test-modfl.c: New file.
42469         * tests/test-math-c++.cc: Check the declaration of modfl.
42471         New module 'modfl'.
42472         * lib/math.in.h (modfl): New declaration.
42473         * lib/modfl.c: New file.
42474         * m4/modfl.m4: New file.
42475         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
42476         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
42477         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
42478         * modules/modfl: New file.
42479         * doc/posix-functions/modfl.texi: Mention the new module.
42481 2012-02-25  Bruno Haible  <bruno@clisp.org>
42483         Tests for module 'fabsl'.
42484         * modules/fabsl-tests: New file.
42485         * tests/test-fabsl.c: New file.
42486         * tests/test-math-c++.cc: Check the declaration of fabsl.
42488         New module 'fabsl'.
42489         * lib/math.in.h (fabsl): New declaration.
42490         * lib/fabsl.c: New file.
42491         * m4/fabsl.m4: New file.
42492         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
42493         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
42494         REPLACE_FABSL.
42495         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
42496         REPLACE_FABSL.
42497         * modules/fabsl: New file.
42498         * doc/posix-functions/fabsl.texi: Mention the new module.
42500 2012-02-25  Bruno Haible  <bruno@clisp.org>
42502         fabs tests: More tests.
42503         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
42504         (zero): New variable.
42505         (main): Add tests for signed zero.
42506         * modules/fabs-tests (Files): Add tests/minus-zero.h.
42508         fabsf tests: More tests.
42509         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
42510         (zero): New variable.
42511         (main): Add tests for signed zero.
42512         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
42514 2012-02-24  Bruno Haible  <bruno@clisp.org>
42516         atanl: Provide function definition on MSVC.
42517         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
42518         function pointer.
42519         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
42521 2012-02-24  Bruno Haible  <bruno@clisp.org>
42523         acosl: Provide function definition on MSVC.
42524         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
42525         function pointer.
42526         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
42528 2012-02-24  Bruno Haible  <bruno@clisp.org>
42530         asinl: Provide function definition on MSVC.
42531         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
42532         function pointer.
42533         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
42535 2012-02-24  Bruno Haible  <bruno@clisp.org>
42537         tanl: Provide function definition on MSVC.
42538         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
42539         function pointer.
42540         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
42542 2012-02-24  Bruno Haible  <bruno@clisp.org>
42544         cosl: Provide function definition on MSVC.
42545         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
42546         function pointer.
42547         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
42549 2012-02-24  Bruno Haible  <bruno@clisp.org>
42551         sinl: Provide function definition on MSVC.
42552         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
42553         function pointer.
42554         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
42556 2012-02-24  Bruno Haible  <bruno@clisp.org>
42558         logl: Provide function definition on MSVC.
42559         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
42560         function pointer.
42561         * lib/math.in.h (logl): Undefine if it does not exist as a function.
42563 2012-02-24  Bruno Haible  <bruno@clisp.org>
42565         expl: Provide function definition on MSVC.
42566         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
42567         function pointer.
42568         * lib/math.in.h (expl): Undefine if it does not exist as a function.
42570 2012-02-24  Bruno Haible  <bruno@clisp.org>
42572         sqrtl: Provide function definition on MSVC.
42573         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
42574         a function pointer.
42575         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
42577 2012-02-24  Bruno Haible  <bruno@clisp.org>
42579         ceill: Provide function definition on MSVC.
42580         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
42581         used as a function pointer.
42582         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
42584 2012-02-24  Bruno Haible  <bruno@clisp.org>
42586         floorl: Provide function definition on MSVC.
42587         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
42588         used as a function pointer.
42589         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
42591 2012-02-24  Bruno Haible  <bruno@clisp.org>
42593         ceilf: Provide function definition on MSVC.
42594         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
42595         used as a function pointer.
42596         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
42598 2012-02-24  Bruno Haible  <bruno@clisp.org>
42600         floorf: Provide function definition on MSVC.
42601         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
42602         used as a function pointer.
42603         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
42605 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42607         stdnoreturn: new module
42608         This implements a replacement for C11's <stdnoreturn.h>.
42609         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
42610         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
42611         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
42612         * tests/test-stdnoreturn.c: New files.
42614 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
42616         regex: fix false multibyte matches in some regular expressions
42617         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
42618         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
42619         * lib/regex_internal.c (re_string_skip_chars):
42620         Fix miscomputation of remain_len that may cause incomplete
42621         multi-byte character and false match.
42623 2012-02-24  Jim Meyering  <meyering@redhat.com>
42625         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
42626         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
42627         uses with "==" *before* the call, e.g., 0 == strcmp (...)
42628         Remove now-unnecessary str''cmp obfuscation.
42629         Suggested by Akim Demaille.
42631 2012-02-24  Bruno Haible  <bruno@clisp.org>
42633         streq: Rename macro.
42634         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
42635         * NEWS: Mention the change.
42636         * lib/mbrtowc.c (mbrtowc): Update.
42637         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
42638         * lib/wcwidth.c (wcwidth): Update.
42639         Suggested by Akim Demaille and Jim Meyering.
42641 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42643         regex: fix typo in definition of MIN
42644         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
42645         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
42647 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42648             Bruno Haible  <bruno@clisp.org>
42650         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
42651         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
42652         entries into a stack-allocated buffer directly.
42653         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
42655 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
42656             Bruno Haible  <bruno@clisp.org>
42658         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
42660          - There were several instances of this pattern:
42662              for (;;) {
42663                n = acl (f, GETACLCNT, 0, NULL);
42664                [ allocate an array A of size N ]
42665                if (acl (f, GETACL, n, a) == n)
42666                  break;
42667              }
42669            This loop might never terminate if some other process is constantly
42670            manipulating the file's ACL.  The loop should be rewritten to
42671            terminate.
42673          - The acl (... GETACLNT ...) call is merely an optimization; its value
42674            is merely a hint as to how big to make the array.  A better
42675            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
42676            and just guess a reasonably-big size, growing the size and trying
42677            again if it's not large enough.  This guarantees termination, and
42678            saves a system call.
42680         * lib/acl-internal.h: Include <limits.h>.
42681         (MIN, SIZE_MAX): New macros.
42682         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
42683         a stack-allocated buffer, and use malloc if it does not fit. Don't
42684         use GETACLCNT.
42685         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42687 2012-02-19  Bruno Haible  <bruno@clisp.org>
42689         acl: Fix endless loop on Solaris with vxfs.
42690         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
42691         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
42692         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
42693         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
42694         * tests/test-sameacls.c (main)[Solaris]: Likewise.
42695         Reported by Bill Jones in
42696         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
42698 2012-02-19  Bruno Haible  <bruno@clisp.org>
42700         acl: Fix copy-acl test failure on Solaris 11.0.
42701         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
42702         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
42703         that this function returns 0 in some more cases.
42705 2012-02-19  Bruno Haible  <bruno@clisp.org>
42707         acl: Update doc references.
42708         * doc/acl-resources.txt: Update links to Solaris documentation.
42710 2012-02-19  Bruno Haible  <bruno@clisp.org>
42712         Fix test failure in many locales on Solaris 11.
42713         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
42714         'tr' arguments.
42715         * tests/test-pipe-filter-ii1.c (main): Likewise.
42716         * build-aux/bootstrap (check_versions): Run 'tr' command with range
42717         expressions in the C locale.
42718         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
42719         * m4/host-os.m4 (gl_HOST_OS): Likewise.
42721 2012-02-19  Bruno Haible  <bruno@clisp.org>
42723         gnulib-tool: Improve usage message.
42724         * gnulib-tool (func_usage): Move doc of --help and --version to the
42725         section "Operation modes".
42727 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
42729         README-release: make it easier to execute commands
42730         * top/README-release: break commands out on to separate lines.
42732 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
42734         GNUmakefile: simplify detection of unconfigured trees
42735         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
42736         whether the tree make is being run from is already configured or
42737         not.  Related simplifications.
42739 2012-02-13  Simon Josefsson  <simon@josefsson.org>
42741         * gnulib-tool (func_usage): Document --help and --version.
42743 2012-02-11  Jim Meyering  <meyering@redhat.com>
42745         bootstrap: don't exit 0 upon gnulib-tool failure
42746         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
42747         its exit status, not 0.
42749 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
42751         README-release: various improvements
42752         * top/README-release: Give a command to push changes for the
42753         release.  Add "distcheck" to list of other pre-release checks.
42754         Fix instance of "make stable" which should be "make TYPE".
42756 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
42758         maint: replace FSF snail-mail addresses with URLs
42759         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
42760         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
42761         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
42762         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
42763         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
42764         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
42765         * lib/check-version.c, lib/check-version.h, lib/config.charset:
42766         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
42767         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
42768         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
42769         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
42770         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
42771         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
42772         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
42773         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
42774         * lib/glthread/thread.c, lib/glthread/thread.h:
42775         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
42776         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
42777         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
42778         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
42779         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
42780         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
42781         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
42782         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
42783         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
42784         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
42785         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
42786         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
42787         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
42788         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
42789         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
42790         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
42791         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
42792         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
42793         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
42794         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
42795         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
42796         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
42797         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
42798         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
42799         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
42800         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
42801         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
42802         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
42803         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
42804         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
42805         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
42806         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
42807         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
42808         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
42809         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
42810         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
42811         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
42812         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
42813         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
42814         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
42815         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
42816         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
42817         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
42818         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
42819         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
42820         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
42821         * tests/test-poll.c, tests/test-quotearg-simple.c:
42822         * tests/test-quotearg.c, tests/test-quotearg.h:
42823         * tests/test-round-ieee.c, tests/test-round1.c:
42824         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
42825         * tests/test-roundl-ieee.c, tests/test-roundl.c:
42826         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
42827         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
42828         * tests/test-strerror.c, tests/test-strerror_r.c:
42829         * tests/test-strsignal.c, tests/test-strverscmp.c:
42830         * tests/test-xmemdup0.c:
42831         Replace FSF snail mail addresses with URLs, as per GNU coding
42832         standards.  See glibc bug
42833         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
42835 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
42837         README-release: capitalize a word and split a line
42838         * top/README-release: Fix punctuation and spacing.
42840 2012-02-08  Akim Demaille  <demaille@gostai.com>
42842         fatal-signal: use C prototypes (with explicit void).
42843         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
42844         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
42846 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42848         regex: spelling fix
42849         * lib/regexec.c: spelling fix
42851         regex: rely on stdint.h for SIZE_MAX
42852         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
42854 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
42856         regex: merge glibc changes
42858         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
42859         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
42860         (init_word_char): Work even if bitset words are not exactly 32 or
42861         64 bits wide.  Don't assume there are no padding bits.
42862         * lib/regex.c [_LIBC]: Do not include <config.h>.
42863         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
42864         and -Wtype-limits.
42865         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
42866         needless disagreement with glibc.  All uses changed.  Define it to
42867         1 only if _GNU_SOURCE, to match glibc.
42868         (_REG_RM_NAME): Remove; no longer needed, since the names in
42869         question are now all protected by __USE_GNU.
42870         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
42871         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
42872         * lib/regex_internal.h (MIN): New macro.
42874         2012-01-03 Ulrich Drepper <drepper@gmail.com>
42875         * lib/regcomp.c (init_word_char): Optimize regex a bit.
42877         2011-12-30 Jakub Jelinek <jakub@redhat.com>
42878         * lib/regex_internal.c (re_string_fetch_byte_case):
42879         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
42880         is miscompiled, and it turns out it is because of an incorrect
42881         attribute on re_string_fetch_byte_case.  Unlike
42882         re_string_peek_byte_case, this one is really not pure, it modifies
42883         memory (increments pstr->cur_idx), and with the pure attribute GCC
42884         assumed it doesn't and it cached the presumed value of
42885         regexp->cur_idx in a variable across the
42886          for (;; ++i)
42887            {
42888              if (i >= BRACKET_NAME_BUF_SIZE)
42889                return REG_EBRACK;
42890              if (token->type == OP_OPEN_CHAR_CLASS)
42891                ch = re_string_fetch_byte_case (regexp);
42892              else
42893                ch = re_string_fetch_byte (regexp);
42894              if (re_string_eoi(regexp))
42895                return REG_EBRACK;
42896              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
42897                break;
42898              elem->opr.name[i] = ch;
42899            }
42901         2011-11-29 Andreas Schwab <schwab@redhat.com>
42902         * lib/regcomp.c (build_equiv_class):
42903         Fix access after end of search string in regex matcher.
42905         2011-11-12 Ulrich Drepper <drepper@redhat.com>
42906         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
42908         2011-10-12 Ulrich Drepper <drepper@redhat.com>
42909         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
42911         2011-10-11 Ulrich Drepper <drepper@redhat.com>
42912         * lib/regcomp.c (parse_branch, parse_sub_exp):
42913         More regex memory leak fixes and tests.
42914         (parse_sub_exp, parse_bracket_exp):
42915         Fix memory leak for some invalid regular expressions.
42917         2011-05-28 Ulrich Drepper <drepper@gmail.com>
42918         * lib/regex_internal.c, lib/regexec.c:
42919         Fix unnecessary overallocation due to incomplete character.  When
42920         incomplete characters are found at the end of a string the code
42921         ran amok and allocated lots of memory.  Stricter limits are now in
42922         place.
42924         2011-05-20 Reuben Thomas <rrt@sc3d.org>
42925         * lib/regex.h: Update documentation.
42927         2011-05-16 Aharon Robbins <arnold@skeeve.com>
42928         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
42930         2010-05-05 Andreas Schwab <schwab@redhat.com>
42931         * lib/regexec.c (find_collation_sequence_value):
42932         Fix lookup of collation sequence value during regexp matching.
42934         2010-01-22 Ulrich Drepper <drepper@redhat.com>
42935         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
42937         2008-01-16 Ulrich Drepper <drepper@redhat.com>
42938         * lib/regex.h: Cleanup namespace.
42940         2007-11-26 Ulrich Drepper <drepper@redhat.com>
42941         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
42943         2007-08-26 Ulrich Drepper <drepper@redhat.com>
42944         * lib/regex_internal.h: Prevent some declarations and definitions
42945         to be seen when used in tests.
42947         2005-05-06 Ulrich Drepper <drepper@redhat.com>
42948         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
42949         __libc_lock_* macros if not _LIBC.
42950         (struct re_dfa_t): Add lock.
42952 2012-02-07  Eric Blake  <eblake@redhat.com>
42954         maint.mk: also prohibit lower-case @var@
42955         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
42956         lower case, like @top_srcdir@.
42958 2012-02-04  Eric Blake  <eblake@redhat.com>
42960         canonicalize: avoid uninitialized memory use
42961         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
42962         random '/' left in dest.
42963         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
42965 2012-02-04  Bruno Haible  <bruno@clisp.org>
42967         isatty: Fix test failure of ptsname_r on native Windows.
42968         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
42969         and don't set errno.
42970         (isatty): Test first whether fd is valid. Set errno when returning 0.
42972 2012-02-04  Bruno Haible  <bruno@clisp.org>
42974         spawn-pipe tests: Fix a NULL program name in a diagnostic.
42975         * tests/test-spawn-pipe-main.c: Include progname.h.
42976         (main): Invoke set_program_name.
42977         * modules/spawn-pipe-tests (Depends-on): Add progname.
42979         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
42980         * tests/test-nonblocking-socket-main.c: Include progname.h.
42981         (main): Invoke set_program_name.
42982         * modules/nonblocking-socket-tests (Depends-on): Add progname.
42984         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
42985         * tests/test-nonblocking-pipe-main.c: Include progname.h.
42986         (main): Invoke set_program_name.
42987         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
42989 2012-02-04  Eric Blake  <eblake@redhat.com>
42991         canonicalize-lgpl: fix // handling
42992         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
42994         canonicalize: fix // handling
42995         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
42996         /// to //, since only // is special.
42998 2012-02-04  Bruno Haible  <bruno@clisp.org>
43000         ioctl: Fix test failure on native Windows.
43001         * lib/ioctl.c: Include msvc-nothrow.h.
43002         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
43004 2012-02-04  Bruno Haible  <bruno@clisp.org>
43006         fsync: Avoid test failure on native Windows.
43007         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
43008         read-only.
43010 2012-02-04  Bruno Haible  <bruno@clisp.org>
43012         sys_select: Avoid syntax error on OpenBSD 5.0.
43013         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
43014         currently being included, just include the system's <sys/select.h>.
43016 2012-02-04  Bruno Haible  <bruno@clisp.org>
43018         sys_select: Avoid syntax error on OpenBSD 5.0.
43019         * lib/sys_select.in.h: Include <signal.h> only after the include_next
43020         <sys/select.h>, not before.
43021         Reported by Jiri B <jirib@devio.us>.
43023 2012-02-04  Bruno Haible  <bruno@clisp.org>
43025         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
43026         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
43027         global variables.
43028         * tests/test-get-rusage-data.c (main): Likewise.
43029         Reported by Jim Meyering.
43031 2012-02-04  Bruno Haible  <bruno@clisp.org>
43033         stdioext: Fix last commit.
43034         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
43036 2012-02-03  Bruno Haible  <bruno@clisp.org>
43038         stdioext: Add tentative support for Plan9.
43039         * lib/stdio-impl.h: Include <errno.h>.
43040         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
43041         * lib/freadable.c (freadable): Likewise.
43042         * lib/fwritable.c (fwritable): Likewise.
43043         * lib/fbufmode.c (fbufmode): Likewise.
43044         * lib/freading.c (freading): Likewise.
43045         * lib/fwriting.c (fwriting): Likewise.
43046         * lib/freadptr.c (freadptr): Likewise.
43047         * lib/freadseek.c (freadptrinc): Likewise.
43048         * lib/freadahead.c (freadahead): Likewise.
43049         * lib/fpurge.c (fpurge): Likewise.
43050         * lib/fseeko.c (rpl_fseeko): Likewise.
43051         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
43052         Reported by Jens Staal <staal1978@gmail.com>.
43054 2012-02-02  Jim Meyering  <meyering@redhat.com>
43056         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
43057         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
43058         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
43059         not even to try to add the attribute.  Instead, add a pragma to suppress
43060         the suggestion/warning.
43062 2012-01-31  Karl Berry  <karl@gnu.org>
43064         setstate doc: typo.
43065         * doc/posix-functions/setstate.texi (setstate): { not (.
43067 2012-01-31  Bruno Haible  <bruno@clisp.org>
43069         popen: Make more robust on Windows.
43070         * lib/popen.c: On native Windows, use the _popen based code even if
43071         HAVE_POPEN is set.
43072         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
43073         environment variable on native Windows.
43075 2012-01-30  Bruno Haible  <bruno@clisp.org>
43077         pclose: Fix typo.
43078         * lib/stdio.in.h (pclose): Fix typo in warning message.
43080 2012-01-30  Bruno Haible  <bruno@clisp.org>
43082         doc about getlogin_r, setstate.
43083         * doc/posix-functions/getlogin_r.texi: List the incompatible
43084         declaration problem under "not fixed by gnulib".
43085         * doc/posix-functions/setstate.texi: Mention incompatible declaration
43086         problem on Solaris 11 and other platforms.
43088 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
43089             Bruno Haible  <bruno@clisp.org>
43091         poll tests: Make test more robust.
43092         * tests/test-poll.c: Include macros.h.
43093         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
43094         return value of various I/O operations.
43095         * modules/poll-tests (Files): Add tests/macros.h.
43097 2012-01-30  Bruno Haible  <bruno@clisp.org>
43099         sys_stat: Fix support for mingw64 and MSVC.
43100         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
43101         header files already do it.
43102         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
43103         stat itself.
43104         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43106 2012-01-30  Bruno Haible  <bruno@clisp.org>
43108         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
43109         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
43110         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
43112 2012-01-29  Bruno Haible  <bruno@clisp.org>
43114         quotearg: Fix test failure on MacOS X 10.5.
43115         * tests/test-quotearg-simple.c: Include localcharset.h.
43116         (main): If the locale encoding is not ASCII, bypass the tests of
43117         locale_quoting_style and clocale_quoting_style.
43118         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
43120 2012-01-29  Jim Meyering  <meyering@redhat.com>
43122         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
43123         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
43124         detect uses of canonicalize_file_name.
43126 2012-01-28  Bruno Haible  <bruno@clisp.org>
43128         test-framework-sh: Fix test failure with AIX 7.1 diff.
43129         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
43130         in column 1, like 'diff -c' does.
43131         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
43132         whether 'diff -u' is used. Instead, test whether the output contains
43133         some '@' character.
43135 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43137         strtoimax: eliminate need for stdint.h, inttypes.h checks
43138         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
43139         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
43140         the prerequisites for a recently-introduced strtoimax test.
43141         I guess this might cause strtoimax to be replaced when not
43142         strictly necessary on older hosts, but this shouldn't introduce
43143         any bugs and it should make Emacs 'configure' faster on typical
43144         modern hosts.  Problem discovered when importing the latest gnulib
43145         to an Emacs test version.
43146         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
43148 2012-01-28  Bruno Haible  <bruno@clisp.org>
43150         sys_time: Override 'struct timeval' on some native Windows platforms.
43151         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
43152         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
43153         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
43154         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
43155         needs to be overridden.
43156         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
43157         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
43158         * tests/test-sys_select.c: Check that the tv_sec member has the same
43159         size as a 'time_t'.
43160         * tests/test-sys_time.c: Likewise.
43161         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
43162         is set, set also REPLACE_GETTIMEOFDAY.
43163         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
43164         convert the resulting 'struct timeval' before returning.
43165         * lib/select.c: Include <sys/time.h>.
43166         (select, timeval): Undefine at the right place.
43167         * modules/select (Depends-on): Add sys_time.
43168         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
43169         some Windows platforms.
43170         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
43172 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43174         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
43175         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
43176         an integer.
43177         * lib/fcntl.c (dupfd): Likewise.
43178         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
43180 2012-01-28  Bruno Haible  <bruno@clisp.org>
43182         fcntl: Avoid compilation error on native Windows.
43183         * modules/fcntl (Depends-on): Add 'close'.
43185 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43187         select, poll, isatty: Avoid warnings on x86_64 mingw64.
43188         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
43189         pointer to an integer.
43190         * lib/poll.c (IsConsoleHandle): Likewise.
43191         * lib/isatty.c (IsConsoleHandle): Likewise.
43193 2012-01-28  Jim Meyering  <meyering@redhat.com>
43195         doc: clarify README-release
43196         * top/README-release: Clarify: you should make a point to have
43197         the latest stable versions of build tools in your PATH, and the
43198         reference to buildreq is solely for its list of tool names, not
43199         for its minimal-functional version numbers.
43200         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
43202         maint.mk: use more readable (yet functionally equivalent) quoting
43203         It is common to quote a single quote in a single quoted string like
43204         this:  '...'\''...'.  Unless you know the idiom, that looks like
43205         gibberish, so prefer to double-quote the string when possible.
43206         Then you can use a more readable, lone single quote: "...'..."
43207         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
43208         "don't" is more readable than the equivalent 'don'\''t'.
43209         (sc_cast_of_x_alloc_return_value): Likewise.
43210         (sc_cast_of_alloca_return_value): Likewise.
43211         (sc_makefile_path_separator_check): Similar: use ":" in '...',
43212         rather than '\'':'\''.
43214 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43216         stdalign: relax _Alignof and tighten _Alignas test
43217         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
43218         as it was too strict: alignof must divide offsetof, but it need
43219         not equal offsetof.  Inspired by Joseph S. Myers's comment
43220         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
43221         Conversely, tighten the _Alignas test a bit, as the resulting
43222         alignment must be exactly 8.
43224 2012-01-27  Bruno Haible  <bruno@clisp.org>
43226         stdalign: Document the last change.
43227         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
43229 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
43231         stdalign: check that alignof and offsetof are consistent
43232         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
43233         Problem reported for gnulib by Richard W.M. Jones in
43234         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00340.html>.
43236 2012-01-27  Jim Meyering  <meyering@redhat.com>
43238         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
43239         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
43240         convert a sequence with gaps to the minimal containing range.
43241         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
43242         * tests/test-update-copyright.sh: Test for this.
43243         The FSF confirmed it is ok to do this, assuming there is at
43244         least one significant change per year in the affected range:
43245         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
43247 2012-01-26  Bruno Haible  <bruno@clisp.org>
43249         pipe2: refine doc about thread-safety
43250         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
43251         multithread-safety problem.
43252         * doc/glibc-functions/accept4.texi: Likewise.
43254 2012-01-26  Bruno Haible  <bruno@clisp.org>
43256         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
43257         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
43258         In the test program, include <fcntl.h>, for O_RDONLY.
43260 2012-01-26  Eric Blake  <eblake@redhat.com>
43262         pipe2: document lack of thread-safety in replacement
43263         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
43264         issue in replacement.
43265         * doc/glibc-functions/accept4.texi (accept4): Likewise.
43266         Based on a report by Eric Wong.
43268 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
43269             Bruno Haible  <bruno@clisp.org>
43271         malloca: Avoid warnings on x86_64 mingw64.
43272         * lib/malloca.c: Include <stdint.h>.
43273         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
43274         * modules/malloca (Depends-on): Add stdint.
43275         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
43277 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
43279         obstack: remove __STDC__ conditionals
43280         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
43281         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
43282         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
43283         m4/include_next.m4 as the only gnulib-maintained places that still
43284         refer to __STDC__.
43286 2012-01-24  Bruno Haible  <bruno@clisp.org>
43288         havelib: Modern quoting.
43289         * build-aux/config.rpath: Quote 'like this', not `like this', as per
43290         the recent change to the GNU coding standards.
43292 2012-01-24  Bruno Haible  <bruno@clisp.org>
43294         stdint: Improve support for Android.
43295         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
43296         Reported by Simon Josefsson <simon@josefsson.org>.
43298 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43300         doc: omit trailing empty lines from INSTALL etc.
43301         * doc/Makefile (INSTALL): Omit trailing empty lines.
43302         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
43303         omit trailing empty lines.  This simplifies the build procedure.
43305 2012-01-23  Jim Meyering  <meyering@redhat.com>
43307         tests: avoid spurious warnings about gl_sockets_startup
43308         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
43309         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
43310         reporting a "statement with no effect".
43311         * tests/test-accept.c (main): Mark as "(void)".
43312         * tests/test-accept4.c (main): Likewise.
43313         * tests/test-bind.c (main): Likewise.
43314         * tests/test-connect.c (main): Likewise.
43315         * tests/test-getpeername.c (main): Likewise.
43316         * tests/test-getsockname.c (main): Likewise.
43317         * tests/test-getsockopt.c (main): Likewise.
43318         * tests/test-listen.c (main): Likewise.
43319         * tests/test-recv.c (main): Likewise.
43320         * tests/test-recvfrom.c (main): Likewise.
43321         * tests/test-send.c (main): Likewise.
43322         * tests/test-sendto.c (main): Likewise.
43323         * tests/test-setsockopt.c (main): Likewise.
43324         * tests/test-shutdown.c (main): Likewise.
43326 2012-01-21  Bruno Haible  <bruno@clisp.org>
43328         locale-fr.m4: Fix for Android.
43329         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
43330         failure of the test program on Bionic libc.
43332 2012-01-21  Jim Meyering  <meyering@redhat.com>
43334         bootstrap: fail when bootstrap_post_import_hook fails
43335         Otherwise, it's far too easy to miss diagnostics emitted
43336         between gnulib-tool's output and that of running configure.
43337         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
43339 2012-01-17  Jim Meyering  <meyering@redhat.com>
43341         maint: enable sc_trailing_blank
43342         * build-aux/pmccabe.css: Remove trailing blanks.
43343         * doc/acl-cygwin.txt: Likewise.
43344         * doc/gnu-oids.texi: Likewise
43345         * cfg.mk: Enable sc_trailing_blank.
43346         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
43348 2012-01-17  Jim Meyering  <meyering@redhat.com>
43350         maint: enable sc_prohibit_openat_without_use
43351         * cfg.mk: Enable sc_prohibit_openat_without_use.
43352         Exempt lib/selinux-at.c.
43354 2012-01-17  Jim Meyering  <meyering@redhat.com>
43356         maint: enable sc_prohibit_cloexec_without_use
43357         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
43358         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
43360 2012-01-17  Jim Meyering  <meyering@redhat.com>
43362         maint: enable sc_prohibit_intprops_without_use
43363         * cfg.mk: Enable sc_prohibit_intprops_without_use
43364         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
43366 2012-01-17  Jim Meyering  <meyering@redhat.com>
43368         maint: enable sc_prohibit_hash_pjw_without_use
43369         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
43370         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
43371         to match any use of \<hash_pjw\>, i.e., not necessarily with a
43372         following " (".
43374 2012-01-17  Jim Meyering  <meyering@redhat.com>
43376         maint: enable double-word-prohibiting rule
43377         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
43378         Exempt three files.
43380 2012-01-17  Jim Meyering  <meyering@redhat.com>
43382         maint: remove empty lines at EOF, but excluding modules/*
43383         Apply syntax rules at home as well as abroad.  Most changes
43384         were induced by running this:
43385           make srcdir=. _build-aux=build-aux -f top/maint.mk \
43386             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
43387             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
43388         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
43389         Exempt modules/* and two binary files.
43390         Also exempt doc/INSTALL*, per request from Bruno Haible.
43391         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
43392         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
43393         * doc/Copyright/request-assign.future: Likewise.
43394         * doc/Copyright/request-disclaim.changes: Likewise.
43395         * doc/INSTALL: Likewise.
43396         * doc/INSTALL.ISO: Likewise.
43397         * doc/INSTALL.UTF-8: Likewise.
43398         * doc/acl-cygwin.txt: Likewise.
43399         * doc/acl-resources.txt: Likewise.
43400         * doc/fdl-1.2.texi: Likewise.
43401         * doc/fdl-1.3.texi: Likewise.
43402         * doc/fdl.texi: Likewise.
43403         * lib/argp-pin.c: Likewise.
43404         * lib/round.c: Likewise.
43405         * lib/unicase/u16-totitle.c: Likewise.
43406         * lib/unictype/block_test.c: Likewise.
43407         * lib/uninorm/canonical-decomposition.c: Likewise.
43408         * m4/README: Likewise.
43409         * m4/relocatable-lib.m4: Likewise.
43410         * tests/test-isnand-nolibm.c: Likewise.
43411         * tests/test-isnand.c: Likewise.
43412         * tests/uninorm/NormalizationTest.txt: Likewise.
43414 2012-01-17  Jim Meyering  <meyering@redhat.com>
43416         maint: add framework to run syntax-check rules against gnulib sources
43417         * cfg.mk: New file, to disable all currently-failing tests.
43418         We'll enable them one by one, as they are made to pass.
43419         * Makefile (sc_maint): New rule.
43421 2012-01-21  Bruno Haible  <bruno@clisp.org>
43423         stdint: Add support for Android.
43424         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
43425         include the system's <stdint.h>.
43426         Reported by Simon Josefsson <simon@josefsson.org>.
43428 2012-01-19  Jim Meyering  <meyering@redhat.com>
43430         bootstrap: add bootstrap_post_import_hook
43431         Bison does still need something like the gnulib_mk_hook whose
43432         invocation I had to remove along with slurp in commit 767ccd40.
43433         Technically, we could get along without it, but doing so would
43434         have required living with a warning and a mandatory post-bootstrap
43435         automake rerun.
43436         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
43437         (bootstrap_post_import_hook): New function.
43438         Invoke it after gnulib-tool --import and before autoreconf.
43440 2012-01-18  Jim Meyering  <meyering@redhat.com>
43442         gitlog-to-changelog: don't use "no_"-prefixed variable name
43443         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
43444         to enable both --cluster and --no-cluster.  Change variable name,
43445         s/\$no_cluster/$cluster/, and reverse usage to match.
43447         gitlog-to-changelog: use "||", not "or" in expressions
43448         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
43449         expressions.
43451 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
43453         gitlog-to-changelog: new option --no-cluster
43454         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
43455         clustering of adjacent commit messages.
43457 2012-01-17  Jim Meyering  <meyering@redhat.com>
43459         maint: spell file systems with two words, not one
43460         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
43461         two words, not one.
43463 2012-01-16  Jim Meyering  <meyering@redhat.com>
43465         bootstrap: add a FIXME comment to ensure we eventually remove the hack
43466         * build-aux/bootstrap (gnulib_tool_options): Add comment.
43468 2012-01-16  Eric Blake  <eblake@redhat.com>
43470         bootstrap: cater to autoconf 2.59
43471         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
43472         is not available.
43474         bootstrap: properly check for libtool
43475         * build-aux/bootstrap (libtoolize): Also run libtool when older
43476         usage is detected.
43478 2012-01-15  Bruno Haible  <bruno@clisp.org>
43480         Improve support for MSVC 9.
43481         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
43482         clashes on MSVC.
43483         * lib/fcntl.in.h: Likewise.
43484         * lib/stdlib.in.h: Likewise.
43485         * lib/sys_stat.in.h: Likewise.
43487 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
43489         gnupload: we hold the master copy of this script now
43490         For motivation and more information, see:
43491         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00222.html>
43492         * build-aux/gnupload: Make it clear in the heading comments that the
43493         master copy of this file is maintained by gnulib.  Since we are at
43494         it, bump its copyright year and ...
43495         ($scriptversion): ... the date in its version.
43496         ($usage): Patches and bug reports should be sent to the gnulib list,
43497         not the automake one.
43498         * config/srclist.txt: Don't try to sync 'gnupload' from automake
43499         anymore.
43501 2012-01-15  Bruno Haible  <bruno@clisp.org>
43503         Fix module 'random'.
43504         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
43505         initstate, setstate are declared.
43507 2012-01-14  Bruno Haible  <bruno@clisp.org>
43509         Tests for module 'random'.
43510         * modules/random-tests: New file.
43511         * tests/test-random.c: New file, based on tests/test-random_r.c.
43513         New module 'random'.
43514         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
43515         declarations.
43516         * lib/random.c: New file, based on glibc/stdlib/random.c.
43517         * m4/random.m4: New file.
43518         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
43519         HAVE_RANDOM.
43520         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
43521         * modules/random: New file.
43522         * config/srclist.txt: Add an entry for random.c.
43523         * doc/posix-functions/random.texi: Mention the 'random' module.
43524         * doc/posix-functions/initstate.texi: Likewise.
43525         * doc/posix-functions/setstate.texi: Likewise.
43526         * doc/posix-functions/srandom.texi: Likewise.
43528 2012-01-12  Bruno Haible  <bruno@clisp.org>
43530         random_r: Use common idioms.
43531         * lib/random_r.c: Include <stdlib.h> first.
43533         random_r: Override incompatible API on AIX, OSF/1.
43534         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
43535         Override the system function if REPLACE_RANDOM_R is 1.
43536         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
43537         and OSF/1, set REPLACE_RANDOM_R.
43538         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
43539         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
43540         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
43541         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
43542         * doc/glibc-functions/random_r.texi: Likewise.
43543         * doc/glibc-functions/setstate_r.texi: Likewise.
43545         random_r: Support for MSVC 9.
43546         * lib/random_r.c: Include stdint.h, not inttypes.h.
43548 2012-01-12  Eric Blake  <eblake@redhat.com>
43550         inet_ntop: guard extra work by IF_LINT
43551         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
43552         better code generation when not checking for warnings.
43553         Suggested by Paul Eggert and Jim Meyering.
43555         strptime: fix regression on mingw
43556         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
43557         Fix regression.  Reported by Bruno Haible.
43559 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
43560             Bruno Haible  <bruno@clisp.org>
43562         copy-file: add error-code-returning variant.
43563         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
43564         (qcopy_file_preserving): New declaration.
43565         * lib/copy-file.c (qcopy_file_preserving): Renamed from
43566         copy_file_preserving. Change return type to 'int'. Don't emit an error
43567         message here.
43568         (copy_file_preserving): New function.
43569         * tests/test-copy-file.c: Include <stdlib.h>.
43570         (main): Test qcopy_file_preserving if the environment variable
43571         NO_STDERR_OUTPUT is set.
43572         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
43573         with NO_STDERR_OUTPUT
43574         * tests/test-copy-file-2.sh: Likewise.
43576 2012-01-10  Bruno Haible  <bruno@clisp.org>
43578         copy-file: Use 'quote' module consistently.
43579         * lib/copy-file.c (copy_file_preserving): Use quote().
43581         copy-file: Refactor.
43582         * lib/copy-file.c: Include quote.h.
43583         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
43584         message here.
43585         * modules/copy-file (Depends-on): Add quote.
43587         acl: Export qcopy_acl.
43588         * lib/acl.h (qcopy_acl): New declaration.
43589         * lib/copy-acl.c (qcopy_acl): Make non-static.
43591         acl: Rename a local variable.
43592         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
43594         acl: Align return values of copy_acl and qcopy_acl.
43595         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
43596         maybe < -1.
43598 2012-01-11  Eric Blake  <eblake@redhat.com>
43600         strptime: silence gcc warnings
43601         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
43602         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
43603         Reported by Daniel P. Berrange.
43605         inet_ntop: silence gcc warning
43606         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
43607         Reported by Daniel P. Berrange.
43609 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
43611         getloadavg test: skip the test on GNU/Linux without /proc mounted
43612         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
43613         file.  When /proc is not mounted, it always fails with ENOENT.
43614         * tests/test-getloadavg.c (main): Treat ENOENT return code from
43615         getloadavg(3) the same way as ENOSYS and ENOTSUP.
43617 2012-01-10  Bruno Haible  <bruno@clisp.org>
43619         regex: Avoid link error on MSVC 9.
43620         * modules/regex (Depends-on): Add wctype.
43622 2012-01-10  Bruno Haible  <bruno@clisp.org>
43624         doc: Mention --with-tests option.
43625         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
43626         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
43627         --with-tests.
43628         Reported by Reuben Thomas.
43630 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
43632         users.txt: order package names lexicographically.
43633         * users.txt: Order package names lexicographically.
43635 2012-01-10  Jim Meyering  <meyering@redhat.com>
43637         maint.mk: fix description in comment
43638         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
43640         ignore-value: remove deprecated ignore_ptr function
43641         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
43642         * NEWS: Note this.
43644 2012-01-09  Jim Meyering  <meyering@redhat.com>
43646         test-init.sh: avoid a subshell
43647         * tests/test-init.sh: Remove protective subshell.
43648         Suggested by Bernhard Voelker.  While a subshell is normally
43649         required to protect against older shells (Solaris, FreeBSD) that
43650         warn about a missing program before performing redirection, the
43651         shell-selection tests performed by init.sh probably exclude any
43652         offending shell.
43654 2012-01-08  Bruno Haible  <bruno@clisp.org>
43656         setlocale tests: Avoid test failure on Solaris 11.0.
43657         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
43658         variable.
43660 2012-01-08  Bruno Haible  <bruno@clisp.org>
43662         posix_spawn_file_actions_addopen: Work around Solaris 11.0 bug.
43663         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43664         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43665         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
43666         macro.
43667         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
43668         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43669         * lib/spawn_faction_addopen.c: Add workaround implementation if
43670         HAVE_WORKING_POSIX_SPAWN.
43671         * modules/spawn (Makefile): Substitute
43672         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
43673         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
43674         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
43675         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
43676         (Depends-on): Update conditions.
43677         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
43678         the Solaris 11 bug.
43680 2012-01-08  Bruno Haible  <bruno@clisp.org>
43682         posix_spawn_file_actions_adddup2: Work around Solaris 11.0 bug.
43683         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43684         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43685         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
43686         macro.
43687         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
43688         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43689         * lib/spawn_faction_adddup2.c: Add workaround implementation if
43690         HAVE_WORKING_POSIX_SPAWN.
43691         * modules/spawn (Makefile): Substitute
43692         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
43693         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
43694         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
43695         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
43696         (Depends-on): Update conditions.
43697         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
43698         the Solaris 11 bug.
43700 2012-01-08  Bruno Haible  <bruno@clisp.org>
43702         posix_spawn_file_actions_addclose: Work around Solaris 11.0 bug.
43703         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
43704         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43705         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
43706         HAVE_WORKING_POSIX_SPAWN.
43707         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
43708         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
43709         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43710         * lib/spawn_faction_addclose.c: Add workaround implementation if
43711         HAVE_WORKING_POSIX_SPAWN.
43712         * modules/spawn (Makefile): Substitute
43713         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
43714         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
43715         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
43716         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
43717         (Depends-on): Update conditions.
43718         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
43719         the Solaris 11 bug.
43721 2012-01-08  Bruno Haible  <bruno@clisp.org>
43723         doc: Update for Solaris 11.0.
43724         * doc/*/*.texi: Mention Solaris 11.0 where appropriate.
43725         * m4/printf.m4: Update comments.
43727 2012-01-08  Bruno Haible  <bruno@clisp.org>
43729         mktime: Avoid compilation error on Solaris 11.
43730         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
43732 2012-01-08  Bruno Haible  <bruno@clisp.org>
43734         doc: Small fix.
43735         * doc/posix-headers/nl_types.texi: Correct platforms list.
43737 2012-01-08  Simon Josefsson  <simon@josefsson.org>
43739         Add lgpl-3.0 module.
43740         * MODULES.html.sh (Support for building documentation): Add
43741         lgpl-3.0.
43742         * modules/lgpl-3.0: New file.
43744 2012-01-08  Jim Meyering  <meyering@redhat.com>
43746         select.c: indent with spaces, not TABs
43747         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
43749 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43751         quotearg: do not use grave accent for left quote
43752         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
43753         locale_quoting_style.
43754         (quotearg_buffer_restyled): Fix example.
43755         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
43757 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43759         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
43760         Most programs do not have translation catalogs for English and much
43761         less separate catalogs for British and American English.  Drop the
43762         suggestion to translators about these two, and provide it
43763         automatically for Unicode locales.  Like most programs, even those
43764         using American English, we use single quotation marks.  This conflicts
43765         with the American typographic convention, but works better when you
43766         cite the entire error message within double quotes.  It also tries not
43767         to clash with established practice and with what non-gnulib programs
43768         will usually do.
43769         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
43770         using an UTF-8 or GB-18030 locale.  The list of other locales with
43771         quotes was provided by Bruno Haible.
43772         (quotearg_buffer_restyled): Adjust instructions to translators.
43773         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
43774         text, since this would be wrong when using Unicode.
43775         * modules/quotearg: Depend on c-strcaseeq.
43777 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
43779         quotearg: fix Wikipedia link
43780         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
43782 2012-01-07  Simon Josefsson  <simon@josefsson.org>
43784         Fix for mingw with MSVC9.
43785         * m4/ld-version-script.m4: Check that compiler rejects version
43786         scripts with syntax errors.  Reported by Bruno Haible
43787         <bruno@clisp.org>.
43789 2012-01-06  Bruno Haible  <bruno@clisp.org>
43791         Talk about "native Windows API", not "Woe32".
43792         * lib/accept4.c: Update comments to mention native Windows.
43793         * lib/execute.c: Likewise.
43794         * lib/fatal-signal.c: Likewise.
43795         * lib/localcharset.c: Likewise.
43796         * lib/nanosleep.c: Likewise.
43797         * lib/nl_langinfo.c: Likewise.
43798         * lib/pclose.c: Likewise.
43799         * lib/pipe-filter-gi.c: Likewise.
43800         * lib/pipe-filter-ii.c: Likewise.
43801         * lib/pipe.c: Likewise.
43802         * lib/pipe2.c: Likewise.
43803         * lib/popen.c: Likewise.
43804         * lib/progreloc.c: Likewise.
43805         * lib/relocatable.c: Likewise.
43806         * lib/sigaction.c: Likewise.
43807         * lib/sigprocmask.c: Likewise.
43808         * lib/spawn-pipe.h: Likewise.
43809         * lib/spawn-pipe.c: Likewise.
43810         * lib/spawni.c: Likewise.
43811         * lib/stat-time.h: Likewise.
43812         * lib/w32spawn.h: Likewise.
43813         * tests/test-isatty.c: Likewise.
43814         * lib/config.charset: More comments.
43815         * doc/gnulib-intro.texi: Mention native Windows.
43816         * doc/posix-functions/_Exit_C99.texi: Likewise.
43817         * doc/posix-headers/fcntl.texi: Likewise.
43819 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
43821         argp: Avoid crash if translator uses % characters in a translation.
43822         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
43823         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
43825 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
43827         doc: C11 and C++11 are now official
43828         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
43829         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
43830         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
43831         * modules/stdalign:
43832         Replace references to draft C1X to C11, and to draft C++0X to C++11.
43834 2012-01-06  Bruno Haible  <bruno@clisp.org>
43836         uc-is-grapheme-break tests: Tweak.
43837         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
43838         message.
43840 2012-01-06  Bruno Haible  <bruno@clisp.org>
43842         test-init.sh: correct the test for diff -u
43843         * tests/test-init.sh: Also redirect stdout to /dev/null.
43845 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
43847         Use ', not `, for quoting output.
43848         * build-aux/announce-gen (usage, sizes, print_news_deltas)
43849         (print_changelog_deltas, get_tool_versions, main program):
43850         * build-aux/git-version-gen:
43851         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
43852         * build-aux/move-if-change (help):
43853         * build-aux/useless-if-before-free (usage, main program):
43854         * check-module (parse_module_file, usage)
43855         (find_included_lib_files, check_module):
43856         * lib/argmatch.c (main) [TEST]:
43857         * lib/argp-help.c (_help):
43858         * lib/getopt1.c (main) [TEST]:
43859         * lib/git-merge-changelog.c (usage):
43860         * lib/xstrtol-error.c (xstrtol_error):
43861         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
43862         * m4/argz.m4 (gl_FUNC_ARGZ):
43863         * m4/bison.m4 (gl_BISON):
43864         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
43865         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
43866         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
43867         * m4/fpending.m4 (gl_PREREQ_FPENDING):
43868         * m4/gc-random.m4 (gl_GC_RANDOM):
43869         * m4/intl.m4 (gt_CHECK_DECL):
43870         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
43871         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
43872         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
43873         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
43874         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
43875         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
43876         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
43877         * tests/test-dirname.c (main):
43878         * tests/test-getpass.c (main):
43879         * tests/test-iconvme.c (main):
43880         * tests/test-parse-datetime.c (LOG):
43881         * tests/test-xstrtoimax.sh:
43882         * tests/test-xstrtol.sh:
43883         * tests/test-xstrtoll.sh:
43884         * tests/test-xstrtoumax.sh:
43885         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
43886         * top/GNUmakefile (abort-due-to-no-makefile):
43887         Quote 'like this', not `like this', as per the recent change to
43888         the GNU coding standards.
43890 2012-01-05  Bruno Haible  <bruno@clisp.org>
43892         strtoimax: Don't force a replacement on systems where intmax_t is int.
43893         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
43894         'intmax_t' is not larger than 'int'.
43895         Reported by Pádraig Brady <P@draigBrady.com>.
43897 2012-01-05  Bruno Haible  <bruno@clisp.org>
43899         doc: Mention NetBSD bugs.
43900         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
43901         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
43903 2012-01-05  Bruno Haible  <bruno@clisp.org>
43905         strtoumax tests: Enhance tests.
43906         * tests/test-strtoumax.c (main): Add tests for large values.
43908 2012-01-05  Bruno Haible  <bruno@clisp.org>
43910         strtoimax: Work around AIX 5.1 bug.
43911         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
43912         definition.
43913         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
43914         Set HAVE_STRTOIMAX.
43915         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
43916         REPLACE_STRTOIMAX.
43917         * modules/inttypes-incomplete (Makefile.am): Substitute
43918         REPLACE_STRTOIMAX.
43919         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
43920         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
43921         (Depends-on): Update conditions.
43922         * tests/test-strtoimax.c (main): Add tests for large values.
43923         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
43925 2012-01-05  Bruno Haible  <bruno@clisp.org>
43927         inttypes: Modernize.
43928         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
43929         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
43930         (Makefile.am): Update inttypes.h rule.
43932 2012-01-05  Jim Meyering  <meyering@redhat.com>
43934         init.sh: don't waste a subshell just to redirect stderr
43935         * tests/init.sh: In testing for diff -u and diff -c, use a
43936         stderr-redirecting exec inside `...` rather than a subshell.
43938         test-init.sh: avoid failure on HP-UX 11.00
43939         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
43940         resolves to diff -c or cmp.  Reported by Bruno Haible.
43942 2012-01-05  Bruno Haible  <bruno@clisp.org>
43944         Tests for module 'strtoull'.
43945         * modules/strtoull-tests: New file.
43946         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
43948 2012-01-05  Bruno Haible  <bruno@clisp.org>
43950         Tests for module 'strtoll'.
43951         * modules/strtoll-tests: New file.
43952         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
43954 2012-01-05  Bruno Haible  <bruno@clisp.org>
43956         Tests for module 'strtoul'.
43957         * modules/strtoul-tests: New file.
43958         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
43960 2012-01-05  Bruno Haible  <bruno@clisp.org>
43962         Tests for module 'strtol'.
43963         * modules/strtol-tests: New file.
43964         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
43966 2012-01-04  Jim Meyering  <meyering@redhat.com>
43968         test-init.sh: accommodate Solaris 5.10's different diff -u output
43969         * tests/test-init.sh: Also exempt @@ lines from the comparison
43970         of diff output, since Solaris 5.10 and GNU diff formats differ.
43971         Reported by Stefano Lattarini.
43973 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
43975         test-posixtm: don't assume signed integer wraparound
43976         * tests/test-posixtm.c (main): Don't assume wraparound semantics
43977         after signed integer overflow.  Inspired by (though it may not
43978         fix) Bruno Haible's bug report in
43979         <http://lists.gnu.org/r/bug-gnulib/2012-01/msg00066.html>.
43981         Spell out "Windows 9x" and "Windows XP".
43982         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
43983         "Windows 9x" and "WinXP" with "Windows XP".
43985 2012-01-04  Jim Meyering  <meyering@redhat.com>
43987         test-vc-list-files-cvs.sh: remove obsolete comment
43988         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
43989         double exit.  Now that's all encapsulated via skip_ and Exit.
43991 2012-01-04  Bruno Haible  <bruno@clisp.org>
43993         Talk about "native Windows API", not "Win32".
43994         * lib/classpath.c: Update comments to mention native Windows.
43995         * lib/csharpexec.c: Likewise.
43996         * lib/dup2.c: Likewise.
43997         * lib/error.c: Likewise.
43998         * lib/fcntl.c: Likewise.
43999         * lib/filename.h: Likewise.
44000         * lib/findprog.c: Likewise.
44001         * lib/get-rusage-as.c: Likewise.
44002         * lib/get-rusage-data.c: Likewise.
44003         * lib/getpagesize.c: Likewise.
44004         * lib/javaexec.c: Likewise.
44005         * lib/msvc-inval.c: Likewise.
44006         * lib/msvc-nothrow.c: Likewise.
44007         * lib/nanosleep.c: Likewise.
44008         * lib/nonblocking.c: Likewise.
44009         * lib/printf-parse.c: Likewise.
44010         * lib/setlocale.c: Likewise.
44011         * lib/sigaction.c: Likewise.
44012         * lib/strerror_r.c: Likewise.
44013         * lib/tmpdir.c: Likewise.
44014         * lib/vasnprintf.c: Likewise.
44015         * lib/w32spawn.h: Likewise.
44016         * lib/waitpid.c: Likewise.
44017         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
44018         * m4/locale-ar.m4: Likewise.
44019         * m4/locale-fr.m4: Likewise.
44020         * m4/locale-ja.m4: Likewise.
44021         * m4/locale-tr.m4: Likewise.
44022         * m4/locale-zh.m4: Likewise.
44023         * m4/printf.m4: Likewise.
44024         * tests/test-cloexec.c: Likewise.
44025         * tests/test-copy-acl.sh: Likewise.
44026         * tests/test-copy-file.sh: Likewise.
44027         * tests/test-file-has-acl.sh: Likewise.
44028         * tests/test-set-mode-acl.sh: Likewise.
44029         * tests/test-dup-safer.c: Likewise.
44030         * tests/test-dup2.c: Likewise.
44031         * tests/test-dup3.c: Likewise.
44032         * tests/test-fcntl.c: Likewise.
44033         * tests/test-nonblocking-pipe.h: Likewise.
44034         * tests/test-nonblocking-socket.h: Likewise.
44035         * tests/test-pipe.c: Likewise.
44036         * tests/test-pipe2.c: Likewise.
44037         * tests/test-spawn-pipe-child.c: Likewise.
44038         * doc/acl-resources.txt: Likewise.
44039         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44040         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
44041         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
44042         * lib/localcharset.c: Update comments to mention native Windows.
44043         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44044         * lib/localename.c: Likewise.
44045         * lib/progreloc.c: Likewise.
44046         * lib/relocatable.c: Likewise.
44047         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
44048         (windows_compute_revents): Renamed from win32_compute_revents.
44049         (windows_compute_revents_socket): Renamed from
44050         win32_compute_revents_socket.
44051         * lib/select.c: Update comments to mention native Windows.
44052         (windows_poll_handle): Renamed from win32_poll_handle.
44053         * m4/threadlib.m4: Update comments to mention native Windows.
44054         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
44055         --enable-threads=windows instead of --enable-threads=win32. Set
44056         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
44057         * lib/glthread/lock.h: Update comments to mention native Windows.
44058         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
44059         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
44060         USE_WIN32_THREADS.
44061         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
44062         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
44063         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
44064         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
44065         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
44066         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
44067         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
44068         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
44069         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
44070         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
44071         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
44072         * tests/test-tls.c: Likewise.
44073         Rationale:
44074         Microsoft renamed the "Win32 API" to "Windows API", as it is available
44075         on both 32-bit and 64-bit Windows systems.
44076         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
44077         line of distinction is between "native Windows" on one side and Unix/
44078         POSIX systems on the other side. More details in
44079         <https://lists.gnu.org/r/bug-gnulib/2012-01/msg00027.html>.
44080         Suggested by Paul Eggert.
44082 2012-01-03  Bruno Haible  <bruno@clisp.org>
44084         isatty: Support for MSVC 9.
44085         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
44086         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
44087         (_isatty_nothrow): New function.
44088         (isatty): Use it instead of _isatty.
44089         (IsConsoleHandle): Add comment, from Paolo Bonzini.
44090         * lib/poll.c (IsConsoleHandle): Likewise.
44091         * lib/select.c (IsConsoleHandle): Likewise.
44092         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
44093         (gl_PREREQ_ISATTY): New macro.
44094         * modules/isatty (Depends-on): Add msvc-inval.
44095         (configure.ac): Invoke gl_PREREQ_ISATTY.
44097 2012-01-03  Jim Meyering  <meyering@redhat.com>
44099         maint.mk: remove temporary transition aid from over 1.5 years ago
44100         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
44101         purpose was to aid in the transition (avoiding silent malfunction)
44102         from that old name to the new _sc_search_regexp.  This shim was
44103         added by commit 219c504b.
44105         init.sh: do not try to accommodate compare arguments starting with "-"
44106         * tests/init.sh (compare_dev_null_): Do not try to accommodate
44107         compare arguments that start with "-".  Besides, we do not worry
44108         about this when invoking diff or cmp; why start now with sed?
44109         Using "--" to separate options from argument would trigger sed
44110         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
44111         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
44113 2012-01-02  Bruno Haible  <bruno@clisp.org>
44115         Enhance tests for module 'isatty'.
44116         * modules/isatty-tests (Depends-on): Add pipe-posix.
44117         * tests/test-isatty.c: Include <fcntl.h>.
44118         (DEV_NULL): New macro.
44119         (main): Test the resut of isatty() also on regular files, pipes, and
44120         /dev/null.
44122         New module 'isatty'.
44123         * lib/unistd.in.h (isatty): New declaration.
44124         * lib/isatty.c: New file, based on an idea of
44125         Bastien Roucariès <roucaries.bastien@gmail.com>.
44126         * m4/isatty.m4: New file.
44127         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
44128         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
44129         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
44130         REPLACE_ISATTY.
44131         * modules/isatty: New file.
44132         * doc/posix-functions/isatty.texi: Mention the new module.
44133         Suggested by Paolo Bonzini.
44135 2012-01-02  Bruno Haible  <bruno@clisp.org>
44137         canonicalize: Tweak 2011-12-29 commit.
44138         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
44139         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
44141 2012-01-02  Jim Meyering  <meyering@redhat.com>
44143         gitlog-to-changelog: describe input syntax in --help output
44144         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
44146         gitlog-to-changelog: fix typo in --help: show backslash before email @
44147         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
44148         in sources, but not in actual output.
44150 2011-12-30  Jim Meyering  <meyering@redhat.com>
44152         gitlog-to-changelog: don't malfunction when name contains %-directive
44153         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
44154         in a name string cause trouble.  E.g., with a user name of "%s",
44155         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
44157 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
44159         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
44160         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
44161         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
44162         the "  (tiny change)" notation that is appended to the standard
44163         ChangeLog "date  name  email" header line.
44165 2012-01-01  Jim Meyering  <meyering@redhat.com>
44167         test-framework-sh: init.sh: fix "make dist" failure
44168         When using gnulib-tool's --with-tests option and any module that
44169         depends on test-framework-sh, "make dist" would fail due to the
44170         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
44171         in the gltests directory, and not in the gllib/ directory.
44172         One way to work around that is to move the EXTRA_DIST += init.sh
44173         from the primary module to the -tests one:
44174         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
44175         * modules/test-framework-sh (Makefile.am): ...not here.
44176         Reported by Tom G. Christensen in
44177         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
44179         version-etc: update copyright year reported by --version
44180         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
44182 2011-12-31  Pádraig Brady  <P@draigBrady.com>
44184         canonicalize: only stat() if required
44185         * lib/canonicalize.c (canonicalize_filename_mode):
44186         Avoid calling l?stat() when both CAN_MISSING,
44187         and CAN_NOLINKS are set, as we neither need
44188         to resolve symlinks or test component existence.
44190 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
44192         doc: cover st_ino issues once; add OpenVMS etc.
44193         * doc/posix-functions/stat.texi (stat):
44194         * doc/posix-functions/lstat.texi (lstat):
44195         * doc/posix-functions/fstatat.texi (fstatat):
44196         * doc/posix-functions/fstat.texi (fstat):
44197         Move general 'struct stat' stuff to sys_stat.texi,
44198         leaving behind a pointer.
44199         * doc/posix-headers/sys_stat.texi (sys/stat.h):
44200         Merge duplicate info about 'struct stat' problems into here.
44201         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
44202         and suggest partial workarounds.
44204         same-inode: port to OpenVMS
44205         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
44206         three st_ino values.
44208 2011-12-30  Pádraig Brady  <P@draigBrady.com>
44210         canonicalize: fix references to stat() and lstat()
44211         * lib/canonicalize.c (canonicalize_filename_mode):
44212         Ensure references always resolve to a replacement
44213         function if required (even via a macro).
44215 2011-12-30  Jim Meyering  <meyering@redhat.com>
44217         gitlog-to-changelog: remove a little duplication
44218         * build-aux/gitlog-to-changelog (main): Grep @lines once,
44219         rather than twice.
44221 2011-12-29  Pádraig Brady  <P@draigBrady.com>
44223         canonicalize: add support for not resolving symlinks
44224         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
44225         indicate we don't want to follow symlinks.  Also
44226         provide CAN_MODE_MASK to aid setting these existing
44227         mutually exclusive values.
44228         * lib/canonicalize.c (canonicalize_filename_mode):
44229         Extract the flags from can_mode parameter, which
44230         are currently just used to select between stat()
44231         and lstat().  Also ensure that mutually exclusive
44232         values are flagged immediately as invalid.
44233         * tests/test-canonicalize.c: Verify symlinks are
44234         not followed, and that invalid flag combinations
44235         are diagnosed.
44237 2011-12-25  Jim Meyering  <meyering@redhat.com>
44239         gitlog-to-changelog: do not clump multi-paragraph entries
44240         Identical header lines (date,name,email+coauthors) are suppressed,
44241         thus putting all entries with those same characteristics under
44242         a single header.  However, when a log entry consists of two or
44243         more paragraphs, it may not be clear where it starts and ends.
44244         This change makes it so that such an entry is always separated
44245         from others by a header line, even when that header would
44246         otherwise be suppressed.
44247         * build-aux/gitlog-to-changelog: Implement the above.
44248         Inspired by a related request from Stefano Lattarini in
44249         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
44251 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
44253         announce-gen: fix `cmd' typo in diagnostic
44254         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
44255         diagnostic: a missing '$' meant that the command was not output.
44257 2011-12-23  Jim Meyering  <meyering@redhat.com>
44259         test-framework-sh: distribute init.sh
44260         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
44261         Otherwise, "make -C gnulib-tests check" (at least in grep) would
44262         fail due to the lack of init.sh.
44264         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
44265         * modules/atexit-tests: Rather than listing tests/init.sh,
44266         now that there's a module for it, simply depend on that new module.
44267         * modules/closein-tests: Likewise.
44268         * modules/exclude-tests: Likewise.
44269         * modules/getcwd-tests: Likewise.
44270         * modules/perror-tests: Likewise.
44271         * modules/pread-tests: Likewise.
44272         * modules/pwrite-tests: Likewise.
44273         * modules/vc-list-files-tests: Likewise.
44274         * modules/verify-tests: Likewise.
44275         * modules/xalloc-die-tests: Likewise.
44276         * modules/xstrtoimax-tests: Likewise.
44277         * modules/xstrtol-tests: Likewise.
44278         * modules/xstrtoll-tests: Likewise.
44279         * modules/xstrtoumax-tests: Likewise.
44280         * modules/yesno-tests: Likewise.
44282 2011-12-22  Jim Meyering  <meyering@redhat.com>
44284         test-framework-sh: add minimal tests of init.sh's compare function
44285         * modules/test-framework-sh-tests: New file.
44286         * tests/test-init.sh: New file.
44288         test-framework-sh: new module
44289         * modules/test-framework-sh: New file.
44290         * MODULES.html.sh (Support for maintaining and releasing projects):
44291         List it.
44293         init.sh: do not emit simulated diff output to stderr
44294         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
44296 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
44298         .gitignore: ignore gnulib.dvi and regex.info
44299         * doc/.gitignore:add gnulib.dvi and regex.info
44301 2011-12-22  Jim Meyering  <meyering@redhat.com>
44303         init.sh: correct previous change
44304         * tests/init.sh (compare): My previous change was wrong.
44305         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
44307         init.sh: avoid unwarranted test failure when using "set -e"
44308         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
44309         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
44310         a use like "compare exp out" would get evoke an unconditional failure.
44312 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
44314         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
44315         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
44316         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
44317         autoreconf that did not.
44318         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
44319         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
44321 2011-12-17  Jim Meyering  <meyering@redhat.com>
44323         bootstrap: remove some now-unneeded code
44324         This script arose back when gnulib-tool was young.
44325         Since then, it has seen improvements that render much of this
44326         script unnecessary.  In particular, it can now make symlinks
44327         to the files it uses.  Also, I no longer see as much value in
44328         marking files as read-only via comments.
44329         If you relied on the symlink-creation feature of the preceding
44330         version of this script, you can get most of that functionality
44331         by adding the --symlink option to the definition of
44332         gnulib_tool_option_extras in your bootstrap.conf file.
44333         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
44334         Run autopoint and libtoolize *before* gnulib-tool.
44335         After it, run an abbreviated autoreconf, rather than a loop around
44336         all tools.
44337         (slirp, bt_mark_as_generated): Remove functions.
44339 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
44341         ftoastr: fix typo
44342         * lib/ftoastr.h: Fix misspelling in comment.
44344 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
44346         * top/README-release: fix punctuation.
44348 2011-12-17  Jim Meyering  <meyering@redhat.com>
44350         bootstrap: correct the recent buildreq change
44351         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
44352         had no effect.
44353         * build-aux/bootstrap (buildreq): Bracket each search term with
44354         "*...*", so that the shell "case" statement works as intended.
44355         Add comments.
44357 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
44359         build: let bootstrap resort to wget when downloading .po files
44360         * build-aux/bootstrap (download_po_files): Fallback to wget when
44361         downloading the .po files via rsync fails.  This is necessary to
44362         bootstrap from behind a strict firewall.
44364 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44366         stdint: don't assume C++11 when compiling with g++
44367         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
44368         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00099.html>.
44369         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
44370         work also in C++ before C++11, as that improperly inhibits
44371         generating a substitute stdint.h for that case.
44373 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
44375         alloca: protect comment from gnulib-tool
44376         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
44377         that gnulib-tool doesn't think it's a license, and munge it to
44378         say "GCC version 3".
44380 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
44382         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
44383         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
44384         $(abs_top_builddir) instead of $(top_builddir).
44386 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
44388         strftime-tests: also test nanoseconds
44389         * tests/test-strftime.c (T): Add a test of %N.
44391 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
44393         inttypes, stdint: add C++11 support
44394         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
44395         when including inttypes.h and stdint.h.  Support this change to
44396         the standard.
44397         * doc/posix-headers/inttypes.texi (inttypes.h):
44398         * doc/posix-headers/stdint.texi (stdint.h): Document this.
44399         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
44400         Define if not defined already, for the benefit of pre-C++11 hosts.
44401         Define the standard format macros (e.g., PRId8) always.
44402         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
44403         Likewise, if __cpluspus.  Define the standard constant and limit
44404         macros (e.g., INT8_C, INT8_MAX) always.
44405         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
44406         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
44407         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
44408         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
44409         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
44410         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
44411         Likewise.
44413 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
44415         nonblocking tests: Fix test failure on Linux/PPC.
44416         Suggested by Prerna Saxena in
44417         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00080.html>.
44418         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
44419         Set to 1100000.
44421 2011-12-12  Jim Meyering  <meyering@redhat.com>
44423         argmatch: don't hard-code `' when listing valid option arguments
44424         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
44425         use the quote function to add quotes.  Use fputs rather than
44426         fprintf for the format string with no format directive.
44428 2011-12-07  Eric Blake  <eblake@redhat.com>
44430         bootstrap: detect tools required by gnulib-tool
44431         * build-aux/bootstrap (buildreq): Provide minimum implicit
44432         dependencies.
44433         * DEPENDENCIES: Mention patch as a prereq.
44435 2011-12-04  Bruno Haible  <bruno@clisp.org>
44437         sethostname: Port to Windows platforms.
44438         * lib/sethostname.c: Provide an alternate implementation for Windows
44439         platforms.
44440         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
44441         (main): Skip the test if sethostname() fails with EPERM. On Windows
44442         platforms, don't check the result of gethostname().
44444 2011-12-04  Bruno Haible  <bruno@clisp.org>
44445             Jim Meyering  <meyering@redhat.com>
44447         tests: Avoid spurious error message on platforms without mktemp program.
44448         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
44450 2011-12-04  Bruno Haible  <bruno@clisp.org>
44452         sethostname: Fix documentation.
44453         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
44454         "not fixed" section.
44456 2011-12-03  Bruno Haible  <bruno@clisp.org>
44458         gnulib-tool: Verify that the License field is present and non-empty.
44459         * gnulib-tool (func_get_license_raw): New function, extracted from
44460         func_get_license.
44461         (func_get_license): Use it. Warn if the module is not a test module and
44462         has no license.
44463         Suggested by Jim Meyering.
44465 2011-12-03  Bruno Haible  <bruno@clisp.org>
44467         sethostname tests: Fix link error on mingw.
44468         * tests/test-sethostname1.c: New file, extracted from
44469         tests/test-sethostname.c.
44470         * tests/test-sethostname2.c: New file, extracted from
44471         tests/test-sethostname.c.
44472         * tests/test-sethostname.c: Remove file.
44473         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
44474         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
44475         (Depends-on): Add gethostname.
44476         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
44477         Link the latter with $(GETHOSTNAME_LIB).
44479         sethostname tests: Fix compilation error on mingw.
44480         * tests/test-sethostname.c: Don't include <sys/types.h>.
44481         (geteuid): Use a dummy value without uid_t.
44482         * modules/sethostname-tests (Depends-on): Remove sys_types.
44484         sethostname tests: Avoid a gcc warning.
44485         * tests/test-sethostname.c (main): Remove an unused variable.
44487         Tweak last commit.
44488         * modules/sethostname-tests (Files): Sort by decreasing importance.
44489         (configure.ac): Check for geteuid.
44490         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
44491         the test when there's nothing to test. Drop an unnecessary cast.
44492         Improve an error message. Verify that the final sethostname() call
44493         succeeds.
44495 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44497         Add a test suite for the sethostname module.
44498         * modules/sethostname-tests: New file.  A test program
44499         for the sethostname module.
44500         * tests/test-sethostname.c: Likewise.
44502 2011-12-03  Bruno Haible  <bruno@clisp.org>
44504         Tweak last commit.
44505         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
44506         Fix preprocessor directives indentation. Fix typos.
44507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
44508         * modules/unistd (Makefile): Likewise.
44510 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44512         Integrate the sethostname module into unistd.
44513         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
44514         into the unistd.h header.
44515         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
44516         preprocessor directives.
44517         * modules/unistd: Setup the Makefile substitutions of the
44518         SETHOSTNAME preprocessor directives.
44520 2011-12-03  Bruno Haible  <bruno@clisp.org>
44522         Tweak last commit.
44523         * lib/sethostname.c: Don't include <string.h>.
44524         (sethostname): No need to copy the argument string to the stack. Don't
44525         call clearerr. Preserve errno when fprintf failed.
44526         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
44527         Don't invoke AC_REPLACE_FUNCS.
44528         * modules/sethostname (Link): Remove empty section.
44529         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
44530         failure problem.
44532 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44534         New module 'sethostname'.
44535         * lib/sethostname.c (sethostname): New file.  Provide sethostname
44536         for systems that lack it.
44537         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
44538         sethostname declaration and function.
44539         * modules/sethostname: New file.  Define the sethostname module.
44541 2011-12-03  Bruno Haible  <bruno@clisp.org>
44543         Tweak last commit.
44544         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
44546 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
44548         Split the HOST_NAME_MAX detection into a separate m4 macro.
44549         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
44550         macro so it can be used by the pending sethostname module.
44552 2011-12-03  Bruno Haible  <bruno@clisp.org>
44554         Fix module descriptions syntax.
44555         * modules/argv-iter (License): Fix syntax.
44556         * modules/di-set (License): Likewise.
44557         * modules/ino-map (License): Likewise.
44558         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
44560 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
44562         stdalign: port to Clang 3.0
44563         Problem reported by Simon Josefsson in
44564         <http://lists.gnu.org/r/bug-gnulib/2011-12/msg00005.html>.
44565         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
44566         which has <stdalign.h> but which does not define alignof.
44567         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
44569 2011-12-01  Eric Blake  <eblake@redhat.com>
44571         mktempd: silence dd usage
44572         * build-aux/mktempd (rand_bytes): Silence dd.
44574 2011-11-30  Simon Josefsson  <simon@josefsson.org>
44576         manywarnings: Don't mention gcc version in docstring.
44577         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
44578         Jim Meyering <meyering@redhat.com>.
44580 2011-11-30  Jim Meyering  <meyering@redhat.com>
44582         hash: mark a few floating point constants with "f" suffix
44583         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
44584         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
44585         floating point constants with "f", since they're destined to be
44586         saved/used as "float"s.
44588 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
44590         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
44591         * tests/test-float.c (test_long_double): Correct and re-enable the
44592         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
44594 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
44596         Avoid subtracting two pointers that don't point into the same block.
44597         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
44598         only pointers into the same memory block are subtracted. We cannot
44599         assume that sizeof (ptrdiff_t) == sizeof (void *).
44601 2011-11-29  Eric Blake  <eblake@redhat.com>
44603         maint.mk: add syntax check for use of compare from init.sh
44604         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
44605         moved here from coreutils.
44607         manywarnings: drop -Wunsuffixed-float-constants
44608         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
44609         '1.0D', which is the only way to silence this warning for 'double'.
44611 2011-11-29  Jim Meyering  <meyering@redhat.com>
44613         hash: mark compute_bucket_size with the pure attribute
44614         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
44616         quotearg, propername: correct pragma guard expression
44617         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
44618         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
44620 2011-11-28  Jim Meyering  <meyering@redhat.com>
44622         propername: do not mark proper_name with the const attribute
44623         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
44624         since it examines data pointed to by its parameter.
44625         * lib/propername.c (proper_name): Instead, add a pragma to suppress
44626         the suggestion from -Wsuggest-attribute=const.
44628         propername: mark one more function as const
44629         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
44631 2011-11-27  Jim Meyering  <meyering@redhat.com>
44633         mark functions with const and pure attributes
44635         Mark functions per suggestions from gcc-4.6 when using these options:
44636         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
44637         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
44638         Follow these guidelines: when possible, apply the attribute to
44639         an extern declaration, not to its definition.  Apply it to the
44640         definition only when the definition is static.
44641         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
44642         * lib/argv-iter.h (argv_iter_n_args): Likewise.
44643         * lib/base64.h (isbase64): Likewise.
44644         * lib/basename-lgpl.c (last_component, base_len): Likewise.
44645         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
44646         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
44647         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
44648         (c_tolower, c_toupper): Likewise.
44649         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
44650         * lib/chdir-long.c (find_non_slash): Likewise.
44651         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
44652         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
44653         * lib/file-type.h (file_type): Likewise.
44654         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
44655         * lib/filevercmp.c (verrevcmp): Likewise.
44656         * lib/freadahead.h (freadahead): Likewise.
44657         * lib/fts.c (fts_maxarglen): Likewise.
44658         * lib/hash-pjw.h (hash_pjw): Likewise.
44659         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
44660         * lib/hash.c (is_prime, next_prime): Likewise.
44661         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
44662         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
44663         (hash_table_ok, hash_get_first, hash_string): Likewise.
44664         (compute_bucket_size): Likewise.
44665         * lib/i-ring.h (i_ring_empty): Likewise.
44666         * lib/isnan.c (isnanl): Likewise.
44667         * lib/math.h (isnanl, rpl_isnanl): Likewise.
44668         * lib/memcasecmp.h (memcasecmp): Likewise.
44669         * lib/memchr2.h (memchr2): Likewise.
44670         * lib/memcmp2.h (memcmp2): Likewise.
44671         * lib/parse-datetime.y (lookup_zone): Likewise.
44672         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
44673         [!WINDOWS_SOCKETS]: Likewise.
44674         * lib/strnlen1.h (strnlen1): Likewise.
44675         * lib/uniwidth.in.h (uc_width): Likewise.
44676         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
44677         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
44678         (quoting_options_from_style): Add a comment.
44679         * lib/propername.h (proper_name): Add a comment.
44681 2011-11-27  Bruno Haible  <bruno@clisp.org>
44683         Remove unused macros from !_LIBC code in glibc-borrowed files.
44684         * lib/fnmatch.c (STRCOLL): Remove macro.
44685         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
44686         * lib/glob.c (__stat, __readdir64): Remove macros.
44687         * lib/tempname.c (__open64, __xstat64): Remove macros.
44688         Suggested by Paul Eggert.
44690 2011-11-27  Bruno Haible  <bruno@clisp.org>
44692         getcwd: Fix link error on MSVC 9.
44693         * modules/getcwd (Depends-on): Add readdir, rewinddir.
44695 2011-11-27  Bruno Haible  <bruno@clisp.org>
44697         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
44698         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
44699         HAVE_OPENDIR is 0.
44700         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
44701         HAVE_CLOSEDIR is 0.
44702         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
44703         is 0.
44704         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
44706 2011-11-27  Bruno Haible  <bruno@clisp.org>
44708         getcwd: Fix bug from 2011-08-17.
44709         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
44710         platforms that need it.
44711         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
44712         code of 4 to be a failure, not a success. This ensures that
44713         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
44715 2011-11-27  Bruno Haible  <bruno@clisp.org>
44717         binary-io tests: Avoid test failure on mingw when libtool is used.
44718         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
44719         Don't verify the size of t-bin-out1.tmp here.
44720         * tests/test-binary-io.sh: Verify it here.
44721         Reported by Simon Josefsson.
44723 2011-11-26  Bruno Haible  <bruno@clisp.org>
44725         Fix conflict between two instantiations of module 'unistd'.
44726         * gnulib-tool (func_emit_autoconf_snippet): Substitute
44727         ${include_guard_prefix} also in the autoconf snippet.
44728         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
44729         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
44730         GNULIB_UNISTD_H_GETOPT.
44731         * modules/getopt-posix (configure.ac): Set the
44732         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
44733         * modules/getopt-gnu (configure.ac): Likewise.
44734         * modules/unistd (Makefile.am): Change the substitution value of
44735         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
44736         Reported by Simon Josefsson.
44738 2011-11-25  Bruno Haible  <bruno@clisp.org>
44740         pagealign_alloc: Doc and comments.
44741         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
44742         module.
44743         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
44745 2011-11-25  Jim Meyering  <meyering@redhat.com>
44747         test-update-copyright.sh: avoid false-positive failure
44748         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
44749         around false positive failure on Cygwin/Windows.  The latter was
44750         matching erroneously-created files with names like
44751         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
44753 2011-11-25  Simon Josefsson  <simon@josefsson.org>
44755         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
44756         * m4/valgrind-tests.m4: Check that the parameters that will be
44757         used works, not just a subset of them.  Reported by Bruno Haible
44758         <bruno@clisp.org>.
44760 2011-11-24  Jim Meyering  <meyering@redhat.com>
44762         test-stdalign.c: comment out long double tests
44763         * tests/test-stdalign.c: Don't try to reduce alignment of long double
44764         variables.  That provokes errors like this from gcc-4.7.0 20111124:
44765         error: '_Alignas' specifiers cannot reduce alignment of \
44766         'static_longdouble_alignas'.
44768 2011-11-22  Jim Meyering  <meyering@redhat.com>
44770         init.sh: make "compare /dev/null FILE" output more readable
44771         * tests/init.sh (compare_): Document the preferred order of arguments.
44772         (emit_diff_u_header_): New function.
44773         (compare_dev_null_): Emit a simulated diff, rather than just the
44774         contents of the unexpected file.  Suggestion from Bruno Haible.
44776 2011-11-21  Jim Meyering  <meyering@redhat.com>
44777             Eric Blake  <eblake@redhat.com>
44779         init.sh: work around OSF/1 5.1's mishandling of /dev/null
44780         * tests/init.sh: Make our compare function slightly more portable.
44781         Reported by Bruno Haible in
44782         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
44784 2011-11-21  Simon Josefsson  <simon@josefsson.org>
44786         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
44787         before using it, in code that ends up in config.h.
44789 2011-11-20  Bruno Haible  <bruno@clisp.org>
44791         getcwd: Work around getcwd bug on AIX 5..7.
44792         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
44793         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
44794         Use a different value for gl_cv_func_getcwd_path_max. Move the
44795         definition of HAVE_PARTLY_WORKING_GETCWD from here...
44796         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
44797         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
44798         Define HAVE_MINIMALLY_WORKING_GETCWD.
44799         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
44800         where it is not even minimally working, that is, on AIX.
44801         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
44802         m4/getcwd-path-max.m4.
44803         (main): Update exit code computation.
44804         * doc/posix-functions/getcwd.texi: Mention list of platforms where
44805         getcwd does not handle long file names.
44807 2011-11-20  Bruno Haible  <bruno@clisp.org>
44809         getcwd: Fix bug from 2009-09-10.
44810         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
44811         like "no".
44813 2011-11-20  Simon Josefsson  <simon@josefsson.org>
44815         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
44817 2011-11-20  Bruno Haible  <bruno@clisp.org>
44819         fma tests: Avoid shadowing local variables.
44820         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
44821         expected.
44823 2011-11-20  Bruno Haible  <bruno@clisp.org>
44825         copysignf tests: Fix.
44826         * tests/test-copysignf.c: Fix signature check.
44828 2011-11-20  Bruno Haible  <bruno@clisp.org>
44830         fma: Remove unused code.
44831         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
44832         unused macros.
44834 2011-11-20  Bruno Haible  <bruno@clisp.org>
44836         sethostname: Fix doc about AIX.
44837         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
44838         sethostname; it has it.
44840         sethostname: Mention more portability problems.
44841         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
44842         problem.
44843         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
44845 2011-11-19  Bruno Haible  <bruno@clisp.org>
44847         Depend on module fcntl-h when AT_FDCWD is used.
44848         * modules/utimens (Depends-on): Add fcntl-h.
44849         * modules/areadlinkat (Depends-on): Likewise.
44850         * modules/areadlinkat-with-size (Depends-on): Likewise.
44851         * modules/faccessat (Depends-on): Likewise.
44852         * modules/fchmodat (Depends-on): Likewise.
44853         * modules/fchownat (Depends-on): Likewise.
44854         * modules/getcwd (Depends-on): Likewise.
44855         * modules/mkdirat (Depends-on): Likewise.
44856         * modules/mkfifoat (Depends-on): Likewise.
44857         * modules/readlinkat (Depends-on): Likewise.
44858         * modules/symlinkat (Depends-on): Likewise.
44859         * modules/dup2-tests (Depends-on): Likewise.
44860         * modules/fdutimensat-tests (Depends-on): Likewise.
44861         * modules/futimens-tests (Depends-on): Likewise.
44863 2011-11-19  Bruno Haible  <bruno@clisp.org>
44865         euidaccess: Update a comment.
44866         * lib/euidaccess.c: Update comment about platforms with faccessat.
44868 2011-11-19  Bruno Haible  <bruno@clisp.org>
44870         openat: Fix file list.
44871         * modules/openat (Files): Remove lib/at-func.c.
44873 2011-11-19  Bruno Haible  <bruno@clisp.org>
44875         fstatat: Simplify.
44876         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
44877         gnulib should define rpl_fstatat, there is a
44878         "#define fstatat rpl_fstatat" in <sys/stat.h>.
44880 2011-11-19  Bruno Haible  <bruno@clisp.org>
44882         Ensure 'inline' can be used in tests/test-utimens-common.h.
44883         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
44884         * modules/futimens-tests (configure.ac): Likewise.
44885         * modules/utimens-tests (configure.ac): Likewise.
44886         * modules/utimensat-tests (configure.ac): Likewise.
44888 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44890         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
44891         not hash_insert0.
44892         (hash_insert_if_absent): Doc fix.
44894 2011-11-19  Simon Josefsson  <simon@josefsson.org>
44896         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
44898 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
44900         test-getcwd: disambiguate exit status
44901         * tests/test-getcwd.c (test_long_name): Return 0..7.
44902         (main): Exit with an unambiguous exit status.  The old
44903         code yielded a mysterious mixture of two failure codes.
44905         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
44906         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
44907         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
44908         rpl_fstatat or fstatat.  This should fix the other problem
44909         reported by Kai Habel in
44910         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44911         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
44912         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00239.html>
44913         and I reproduced it on a Solaris 8 host we still have in production.
44915 2011-11-18  Jim Meyering  <meyering@redhat.com>
44917         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
44918         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
44919         Add a sentence to the comment.
44920         (hash_insert0): New function that simply calls hash_insert_if_absent.
44921         * lib/hash.h (hash_insert_if_absent): Declare it.
44922         (hash_insert0): Add deprecation attribute.
44923         (_GL_ATTRIBUTE_DEPRECATED): Define.
44924         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
44925         not hash_insert0.
44926         * NEWS: Mention it, even though it's not really an incompatible change.
44928 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
44930         openat: avoid compilation failure due to lack of <errno.h> inclusion
44931         * lib/openat.c: Include <errno.h>.
44933 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
44935         * modules/getcwd (Depends-on): Add fdopendir.
44936         This fixes one of the two problems reported by Kai Habel in
44937         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00237.html>.
44939         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
44940         stdalign problem reported by Ian Beckwith in
44941         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00238.html>.
44942         * modules/crypto/gc-arcfour (Depends-on):
44943         Depend conditionally on crypto/arcfour.
44944         * modules/crypto/gc-arctwo (Depends-on):
44945         Depend conditionally on crypto/arctwo.
44946         * modules/crypto/gc-des (Depends-on):
44947         Depend conditionally on crypto/des.
44948         * modules/crypto/gc-hmac-md5 (Depends-on):
44949         Depend conditionally on crypto/hmac-md5.
44950         * modules/crypto/gc-hmac-sha1 (Depends-on):
44951         Depend conditionally on crypto/hmac-sha1.
44952         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
44953         * modules/crypto/gc-md4 (Depends-on):
44954         Depend conditionally on crypto/md4.
44955         * modules/crypto/gc-md5 (Depends-on):
44956         Depend conditionally on crypto/md5.
44957         * modules/crypto/gc-rijndael (Depends-on):
44958         Depend conditionally on crypto/rijndael.
44959         * modules/crypto/gc-sha1 (Depends-on):
44960         Depend conditionally on crypto/sha1.
44961         * modules/crypto/gc-arcfour:
44962         * modules/crypto/gc-arctwo:
44963         * modules/crypto/gc-des:
44964         * modules/crypto/gc-hmac-md5:
44965         * modules/crypto/gc-hmac-sha1:
44966         * modules/crypto/gc-md2:
44967         * modules/crypto/gc-md4:
44968         * modules/crypto/gc-md5:
44969         * modules/crypto/gc-rijndael:
44970         * modules/crypto/gc-sha1:
44971         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
44972         now that the conditional dependencies do the work for us.
44974 2011-11-17  Jim Meyering  <meyering@redhat.com>
44976         tests: factor st_ctime-comparison out of two headers
44977         * tests/test-utimens-common.h (ctime_compare): Define.
44978         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
44979         * tests/test-lutimens.h (test_lutimens): Likewise.
44980         * tests/test-utimens.h (test_utimens): Likewise.
44982         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
44983         Invoke the test program via an init.sh-using wrapper.
44984         * tests/test-getcwd.sh: New file.
44985         * modules/getcwd-tests (Files): Add it.
44986         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
44988 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
44990         gitlog-to-changelog: support multi-author commits.
44991         The FSF cares about keeping track of all authors of patches to its
44992         projects, but Git doesn't provide obvious support for multi-author
44993         changesets. Consensus seems to be forming around the use of extra
44994         Signed-off-by inspired lines in the log message formatted as
44995         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
44996         multi-author commits between version control systems.
44997         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
44998         log message and output in standard ChangeLog multi-author format.
44999         Reported by Peter Rosin <peda@lysator.liu.se>
45001 2011-11-15  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
45002             Bruno Haible  <bruno@clisp.org>
45004         Fix some modules' file list.
45005         * modules/fstatat (Files): Add m4/lstat.m4.
45006         * modules/openat (Files): Likewise.
45007         * modules/unlinkat (Files): Likewise.
45009 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
45011         maint.mk: fix tight-scope.mk generation in VPATH builds.
45012         * top/maint.mk (tight-scope.mk): Make sure to prefix file
45013         reference with $(srcdir) so that the file is found correctly even
45014         when running `make syntax-check' in a VPATH build.
45016 2011-11-13  Bruno Haible  <bruno@clisp.org>
45017             Jim Meyering  <meyering@redhat.com>
45019         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
45020         * tests/init.sh (compare): Remove "No differences encountered" or
45021         synonymous output from the 'diff' program.
45023 2011-11-13  Bruno Haible  <bruno@clisp.org>
45025         Makefile: Tweak indentation.
45026         * Makefile: Use tab as first character in every line that contains rule
45027         commands.
45029 2011-11-13  Bruno Haible  <bruno@clisp.org>
45031         Syntax check for copyright statements.
45032         * check-copyright: New file.
45033         * Makefile (sc_check_copyright): New rule.
45035 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45037         * build-aux/git-version-gen: Add --prefix to configure the tag
45038         match string.
45040 2011-11-13  Simon Josefsson  <simon@josefsson.org>
45042         * build-aux/git-version-gen: Add --help and --version.
45044 2011-11-12  Jim Meyering  <meyering@redhat.com>
45046         revamp the other test-exclude?.sh scripts to use init.sh, too
45047         * tests/test-exclude1.sh: Use init.sh.
45048         * tests/test-exclude2.sh: Likewise.
45049         * tests/test-exclude3.sh: Likewise.
45050         * tests/test-exclude4.sh: Likewise.
45051         * tests/test-exclude5.sh: Likewise.
45052         * tests/test-exclude6.sh: Likewise.
45053         * tests/test-exclude7.sh: Likewise.
45054         * tests/test-exclude8.sh: Likewise.
45055         * modules/exclude-tests (Files): List init.sh.
45057         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
45058         These shell scripts ignored failure of the binary test-exclude,
45059         so making the latter return 77 didn't cause them to be skipped.
45060         * tests/test-exclude5.sh: Exit with test-exclude's error status
45061         when that program fails.  Revamp to use init.sh.
45062         * tests/test-exclude2.sh: Likewise.
45064         test-exclude: fix a typo
45065         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
45067 2011-11-11  Bruno Haible  <bruno@clisp.org>
45069         obstack: Fix compilation error on MSVC 9.
45070         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
45072 2011-11-11  Jim Meyering  <meyering@redhat.com>
45074         test-exclude: skip tests rather than failing on deficient systems
45075         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
45076         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
45077         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
45078         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
45080 2011-11-10  Bruno Haible  <bruno@clisp.org>
45082         ptsname_r test: Avoid gcc warning on glibc systems.
45083         * tests/test-ptsname_r.c (null_ptr): New function.
45084         (test_errors): Use it.
45086 2011-11-10  Bruno Haible  <bruno@clisp.org>
45088         ptsname_r: Avoid compilation error on OSF/1 5.1.
45089         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
45090         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
45091         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
45092         function is not declared or incompatibly declared.
45093         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
45094         * modules/ptsname_r (Depends-on, configure.ac): Update.
45095         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
45097 2011-11-10  Bruno Haible  <bruno@clisp.org>
45099         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
45100         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
45101         When cross-compiling, guess yes on all platforms except AIX.
45102         Reported by Ludovic Courtès <ludo@gnu.org>.
45104 2011-11-09  Bruno Haible  <bruno@clisp.org>
45106         ptsname_r tests: Fix bugs.
45107         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
45108         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
45110 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45112         fstatat: work with cross-compilation
45113         Problem reported by Ludovic Courtès in
45114         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00136.html>.
45115         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
45116         "cross-compiling" and assume the bug is present.  Replace
45117         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
45118         an inverted sense, to be more conservative about our assumptions.
45119         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
45121 2011-11-09  Bruno Haible  <bruno@clisp.org>
45123         Improve MODULES.html output.
45124         * modules/mkfifoat (Description): Use the word "function".
45125         * modules/readlinkat (Description): Likewise.
45126         * modules/symlinkat (Description): Likewise.
45128 2011-11-09  Eric Blake  <eblake@redhat.com>
45130         ptsname_r-tests: new test module
45131         * modules/ptsname_r-tests: New module.
45132         * tests/test-ptsname_r.c: New file.
45134         ptsname_r: new module
45135         * modules/ptsname_r: New module.
45136         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
45137         * lib/ptsname.c (__ptsname_r): Split...
45138         * lib/ptsname_r.c: ...into new file.
45139         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
45140         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
45141         * modules/stdlib (Makefile.am): Substitute witnesses.
45142         * lib/stdlib.in.h (ptsname_r): Declare it.
45143         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
45144         * MODULES.html.sh (Misc): Likewise.
45145         * modules/ptsname (Depends-on): Alter dependency.
45146         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
45148 2011-11-09  Jim Meyering  <meyering@redhat.com>
45150         announce-gen: be more concise when there's only one URL+tarball
45151         * build-aux/announce-gen (get_tool_versions): When you distribute
45152         only one type of tarball, combine the first two "Here are..."
45153         sections and make the key-checking grammar independent of
45154         how many tarballs there are.
45156 2011-11-09  Eric Blake  <eblake@redhat.com>
45158         openpty: provide a stub on mingw
45159         * lib/pty.in.h (includes): Provide forward declarations.
45160         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
45162         raise: fix mingw handling of SIGPIPE
45163         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
45165 2011-11-08  Bruno Haible  <bruno@clisp.org>
45167         More conditional dependencies.
45168         * modules/faccessat (Depends-on): Add conditions.
45169         * modules/fchmodat (Depends-on): Likewise.
45170         * modules/fchownat (Depends-on): Likewise.
45171         * modules/fstatat (Depends-on): Likewise.
45172         * modules/mkfifoat (Depends-on): Likewise.
45173         * modules/readlinkat (Depends-on): Likewise.
45174         * modules/symlinkat (Depends-on): Likewise.
45175         * modules/unlinkat (Depends-on): Likewise.
45176         * modules/utimensat (Depends-on): Likewise.
45177         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
45178         * modules/linkat (Depends-on): Refine the conditions.
45179         * modules/renameat (Depends-on): Likewise.
45181 2011-11-08  Bruno Haible  <bruno@clisp.org>
45183         faccessat: Move AC_LIBOBJ invocation to module description.
45184         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
45185         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
45186         invocation from here...
45187         * modules/faccessat (configure.ac): ... to here. Invoke
45188         gl_PREREQ_FACCESSAT.
45190 2011-11-08  Bruno Haible  <bruno@clisp.org>
45192         faccessat: Simplify autoconf macro.
45193         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
45194         gl_FUNC_EUIDACCESS.
45196 2011-11-08  Bruno Haible  <bruno@clisp.org>
45198         renameat: Fix dependencies.
45199         * modules/renameat (Depends-on): Add stdbool.
45201 2011-11-08  Bruno Haible  <bruno@clisp.org>
45203         mkfifoat: Fix module description.
45204         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
45205         not gl_UNISTD_MODULE_INDICATOR.
45207 2011-11-08  Bruno Haible  <bruno@clisp.org>
45209         fstatat: Remove unused dependency.
45210         * modules/fstatat (Depends-on): Remove fstat.
45212 2011-11-08  Simon Josefsson  <simon@josefsson.org>
45214         GNUmakefile: behave when Makefile is missing.
45215         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
45217 2011-11-08  Bruno Haible  <bruno@clisp.org>
45219         openat: Conditionalize dependencies.
45220         * lib/openat.c: Reduce the scope of some #includes.
45221         * modules/openat (Depends-on): Add conditions.
45223 2011-11-07  Jim Meyering  <meyering@redhat.com>
45225         maint.mk: extract GPG key ID without using a temporary file
45226         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
45227         without using a temporary file.  Based on a suggestion from Werner Koch
45228         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
45230 2011-11-07  Eric Blake  <eblake@redhat.com>
45232         grantpt: fix typo
45233         * lib/stdlib.in.h (grantpt): Check correct function.
45235         maint.mk: silence new syntax check
45236         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
45238 2011-11-06  Bruno Haible  <bruno@clisp.org>
45240         Doc about floating-point and math API.
45241         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
45242         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
45244 2011-11-06  Bruno Haible  <bruno@clisp.org>
45246         stdalign tests: Skip the test when compiled by Sun C.
45247         * tests/test-stdalign.c (main): Skip the test on Sun C.
45249 2011-11-06  Bruno Haible  <bruno@clisp.org>
45251         ansi-c++-opt: Complete the 2011-06-05 change.
45252         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
45253         does not support namespaces, set the variable to "no", not to ":".
45255 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45257         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
45259 2011-11-06  Bruno Haible  <bruno@clisp.org>
45261         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
45262         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
45263         (minus_zerol) [HP-UX]: New macro.
45264         (unary_minus) [HP-UX]: New function.
45265         (copysignl) [HP-UX]: Use unary_minus function.
45267 2011-11-06  Bruno Haible  <bruno@clisp.org>
45269         ldexp, ldexpf, ldexpl: Enhance tests.
45270         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
45271         and tests/test-ldexpl.c.
45272         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
45273         LDEXP, MIN_EXP, MAX_EXP): New macros.
45274         Include test-ldexp.h.
45275         (main): Just call test_function.
45276         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
45277         infinity.h, nan.h.
45278         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45279         MAX_EXP): New macros.
45280         Include test-ldexp.h.
45281         (x, y): Remove variables.
45282         (main): Just call test_function.
45283         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
45284         infinity.h, nan.h.
45285         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
45286         MAX_EXP): New macros.
45287         Include test-ldexp.h.
45288         (x, y): Remove variables.
45289         (main): Just call test_function.
45290         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
45291         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
45292         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45293         (Depends-on): Add isnand-nolibm, signbit, float.
45294         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
45295         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
45296         (Depends-on): Add isnanf-nolibm, signbit, float.
45298 2011-11-06  Bruno Haible  <bruno@clisp.org>
45300         math tests: Cosmetics.
45301         * tests/test-math-c++.cc: Reorder declarations.
45303 2011-11-05  Bruno Haible  <bruno@clisp.org>
45305         fma*: Simplify test.
45306         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
45307         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
45309         Tests for module 'fmal'.
45310         * modules/fmal-tests: New file.
45311         * tests/test-fmal1.c: New file.
45312         * tests/test-fmal2.c: New file.
45314         New module 'fmal'.
45315         * lib/math.in.h (fmal): New declaration.
45316         * lib/fmal.c: New file.
45317         * m4/fmal.m4: New file.
45318         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
45319         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
45320         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
45321         REPLACE_FMAL.
45322         * modules/fmal: New file.
45323         * doc/posix-functions/fmal.texi: Mention the new module and the various
45324         bugs.
45326         Tests for module 'fmaf'.
45327         * modules/fmaf-tests: New file.
45328         * tests/test-fmaf1.c: New file.
45329         * tests/test-fmaf2.c: New file.
45331         New module 'fmaf'.
45332         * lib/math.in.h (fmaf): New declaration.
45333         * lib/fmaf.c: New file.
45334         * m4/fmaf.m4: New file.
45335         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
45336         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
45337         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
45338         REPLACE_FMAF.
45339         * modules/fmaf: New file.
45340         * doc/posix-functions/fmaf.texi: Mention the new module and the various
45341         bugs.
45343         Tests for module 'fma'.
45344         * modules/fma-tests: New file.
45345         * tests/test-fma1.c: New file.
45346         * tests/test-fma1.h: New file.
45347         * tests/test-fma2.c: New file.
45348         * tests/test-fma2.h: New file.
45350         New module 'fma'.
45351         * lib/math.in.h (fma): New declaration.
45352         * lib/fma.c: New file.
45353         * m4/fma.m4: New file.
45354         * m4/fegetround.m4: New file.
45355         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
45356         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
45357         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
45358         REPLACE_FMA.
45359         * modules/fma: New file.
45360         * doc/posix-functions/fma.texi: Mention the new module and the various
45361         bugs.
45363         Extend gl_MATHFUNC.
45364         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
45365         Support 'void' as argument type.
45366         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
45368 2011-11-05  Jim Meyering  <meyering@redhat.com>
45370         maint.mk: also prohibit inclusion of dirent.h without use
45371         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
45373 2011-11-05  Bruno Haible  <bruno@clisp.org>
45375         ldexpl tests: Avoid test failure on MSVC 9.
45376         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
45377         value. Needed in order to enforce the conversion from a value greater
45378         than LDBL_MAX to Infinity.
45380 2011-11-05  Bruno Haible  <bruno@clisp.org>
45382         New modules 'at-internal', 'openat-h', split off from module 'openat'.
45383         * modules/at-internal: New file, extracted from modules/openat.
45384         * modules/openat-h: New file.
45385         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
45386         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
45387         * modules/openat (Description): Add reference to POSIX function.
45388         (Files): Remove lib/openat.h, lib/openat-proc.c.
45389         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
45390         intprops, unistd.
45391         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
45392         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
45393         gl_FCNTL_MODULE_INDICATOR.
45394         (Include): Remove unistd.h, openat.h.
45395         * modules/areadlinkat (Files): Add lib/at-func.c.
45396         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45397         openat-die, openat-h, save-cwd.
45398         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
45399         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45400         openat-die, openat-h, save-cwd, unistd.
45401         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
45402         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45403         openat-h, save-cwd. Remove fcntl-h, openat.
45404         * modules/fchmodat (Files): Remove lib/openat.h.
45405         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45406         openat, stdbool, unistd.
45407         * modules/fchownat (Files): Remove lib/openat.h.
45408         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45409         openat, stdbool, sys_stat.
45410         * modules/fdopendir (Files): Remove lib/openat-priv.h,
45411         lib/openat-proc.c.
45412         (Depends-on): Add at-internal.
45413         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
45414         * modules/fstatat (Files): Remove lib/openat.h.
45415         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45416         stdbool, unistd.
45417         * modules/fts (Depends-on): Add openat-h.
45418         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
45419         openat.
45420         * modules/mkdirat (Files): Remove lib/openat.h.
45421         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
45422         openat, stdbool, sys_stat.
45423         * modules/mkfifoat (Files): Add lib/at-func.c.
45424         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45425         openat-h, save-cwd. Remove fcntl-h, openat.
45426         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
45427         * modules/readlinkat (Files): Add lib/at-func.c.
45428         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45429         openat-h, save-cwd. Remove fcntl-h, openat.
45430         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
45431         openat.
45432         * modules/selinux-at (Files): Add lib/at-func.c.
45433         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
45434         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
45435         * modules/symlinkat (Files): Add lib/at-func.c.
45436         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
45437         openat-h, save-cwd. Remove fcntl-h, openat.
45438         * modules/unlinkat (Files): Remove lib/openat.h.
45439         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
45440         stdbool.
45441         * modules/utimensat (Files): Add lib/at-func.c.
45442         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
45443         openat-die, openat-h, save-cwd.
45444         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
45445         * modules/fdutimensat-tests (Depends-on): Add openat.
45446         * modules/fstatat-tests (Depends-on): Add openat-h.
45447         * modules/readlinkat-tests (Depends-on): Add openat.
45448         * modules/symlinkat-tests (Depends-on): Add openat.
45450 2011-11-05  Bruno Haible  <bruno@clisp.org>
45452         openat: Include <stdbool.h>.
45453         * lib/openat.c: Include <stdbool.h>.
45455 2011-11-04  Bruno Haible  <bruno@clisp.org>
45457         fchownat, renameat, unlinkat: Fix dependencies.
45458         * modules/fchownat (Depends-on): Add fstatat.
45459         * modules/renameat (Depends-on): Likewise.
45460         * modules/unlinkat (Depends-on): Likewise.
45462 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
45464         openat: remove direct dependency on dirent
45465         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
45466         and hasn't been needed ever since fdopendir was split into its own
45467         module on 2009-08-31.
45468         * modules/openat (Depends-on): Remove dirent.
45470 2011-11-04  Bruno Haible  <bruno@clisp.org>
45472         renameat: Optimize code size.
45473         * modules/renameat (configure.ac): Don't compile at-func2.c if
45474         REPLACE_RENAMEAT is 1.
45476 2011-11-04  Bruno Haible  <bruno@clisp.org>
45478         openat tests: Fix file list.
45479         * modules/openat-tests (Files): Add tests/test-open.h.
45481 2011-11-04  Bruno Haible  <bruno@clisp.org>
45483         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
45484         * modules/fchmodat (Depends-on): Add openat-die.
45485         * modules/fchownat (Depends-on): Likewise.
45486         * modules/linkat (Depends-on): Likewise.
45487         * modules/renameat (Depends-on): Likewise.
45488         * modules/openat (Depends-on): Add dirent.
45490 2011-11-04  Jim Meyering  <meyering@redhat.com>
45492         at-func*.c: fix comments
45493         * lib/at-func2.c: Correct/improve first-line comment.
45494         * lib/at-func.c: Correct grammar in first-line comment.
45496 2011-11-04  Bruno Haible  <bruno@clisp.org>
45498         New module 'mkdirat', split off from module 'openat'.
45499         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
45500         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
45501         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
45502         * modules/mkdirat: New file, extracted from modules/openat.
45503         * modules/openat (Files): Remove lib/mkdirat.c.
45504         (Depends-on): Remove mkdir.
45505         (configure.ac): Remove AC_LIBOBJ of mkdirat.
45506         (Include): Remove <sys/stat.h>.
45507         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
45508         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
45509         tests/test-mkdir.h.
45510         (Depends-on): Remove ignore-value.
45511         (Makefile.am): Remove rules for test-mkdirat.
45512         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
45513         of module 'openat'.
45514         * NEWS: Mention the change.
45516 2011-11-04  Bruno Haible  <bruno@clisp.org>
45518         closedir: Avoid warning on mingw.
45519         * lib/closedir.c: Include <unistd.h>.
45521 2011-11-04  Bruno Haible  <bruno@clisp.org>
45523         New module 'fstatat', split off from module 'openat'.
45524         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
45525         defined.
45526         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
45527         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
45528         gl_FUNC_FSTATAT.
45529         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
45530         * modules/fstatat: New file, extracted from modules/openat.
45531         * modules/openat (Files): Remove lib/fstatat.c.
45532         (Depends-on): Remove lstat.
45533         (configure.ac): Remove AC_LIBOBJ of fstatat.
45534         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
45535         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
45536         tests/test-lstat.h, tests/test-stat.h.
45537         (Depends-on): Remove getcwd-lgpl.
45538         (Makefile.am): Remove rules for test-fstatat.
45539         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
45540         of module 'openat'.
45541         * NEWS: Mention the change.
45542         * modules/getcwd (Depends-on): Add fstatat.
45543         * modules/linkat (Depends-on): Likewise.
45544         * modules/mkfifoat-tests (Depends-on): Likewise.
45545         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
45547 2011-11-03  Bruno Haible  <bruno@clisp.org>
45549         New module 'unlinkat', split off from module 'openat'.
45550         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
45551         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
45552         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
45553         * modules/unlinkat: New file, extracted from modules/openat. Correct
45554         the dependency conditions.
45555         * modules/openat (Files): Remove lib/unlinkat.c.
45556         (Depends-on): Remove rmdir, unlink.
45557         (configure.ac): Remove AC_LIBOBJ of unlinkat.
45558         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
45559         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
45560         tests/test-rmdir.h, tests/test-unlink.h.
45561         (Depends-on): Remove unlinkdir.
45562         (Makefile.am): Remove rules for test-unlinkat.
45563         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
45564         of module 'openat'.
45565         * NEWS: Mention the change.
45566         * modules/linkat-tests (Depends-on): Add unlinkat.
45567         * modules/mkfifoat-tests (Depends-on): Likewise.
45568         * modules/readlinkat-tests (Depends-on): Likewise.
45570 2011-11-02  Bruno Haible  <bruno@clisp.org>
45572         New module 'fchmodat', split off from module 'openat'.
45573         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
45574         defined.
45575         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
45576         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
45577         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
45578         * modules/fchmodat: New file, extracted from modules/openat.
45579         * modules/openat (Files): Remove lib/fchmodat.c.
45580         (configure.ac): Remove AC_LIBOBJ of fchmodat.
45581         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
45582         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
45583         (Makefile.am): Remove rules for test-fchmodat.
45584         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
45585         of module 'openat'.
45586         * NEWS: Mention the change.
45588 2011-11-02  Jim Meyering  <meyering@redhat.com>
45590         putenv: indent #definition of "environ" to placate cppi
45591         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
45593         gitlog-to-changelog: provide a ChangeLog-repair mechanism
45594         Git logs are often treated as immutable, because editing them
45595         changes the SHA1 checksums of all descendants.  Thus, errors in
45596         git logs tend to stay there forever.  However, when we generate
45597         a ChangeLog file -- typically for distribution -- from that git log,
45598         we can actually make corrections in the generated file.  The key
45599         lies in recording in machine-readable/applicable form the desired
45600         corrections.  See --help for description and an example.
45601         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
45602         (usage): Describe it; alphabetize option descriptions.
45603         (main): Honor the new option, carefully.
45605 2011-11-01  Jim Meyering  <meyering@redhat.com>
45607         gitlog-to-changelog: avoid an infloop
45608         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
45609         that ends up being empty.
45611 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45613         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
45614         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
45615         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
45616         contains (possibly-quoted) backslashes.  This should avoid
45617         all-too-common shell bugs if COMPLICATED contains backslashes in
45618         the "wrong" places.  Reported by David Evans in
45619         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00013.html>.
45620         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
45621         because we want ASCII ranges.  Is there some reason we don't use
45622         the C locale everywhere in this script?
45623         (func_module, top level): Avoid unwanted pathname expansion when
45624         $repo_url_prefix or $repo_url_suffix_repl contain shell
45625         metacharacters like '?' and '*'.
45627 2011-11-01  Bruno Haible  <bruno@clisp.org>
45629         fchownat: Improve description.
45630         * modules/fchownat (Description): Add link to function.
45632 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
45634         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
45635         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
45636         <http://lists.gnu.org/r/bug-gnulib/2011-11/msg00006.html>.
45637         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
45639 2011-11-01  Bruno Haible  <bruno@clisp.org>
45641         alignof: Avoid collision with stdalign module.
45642         * lib/alignof.h (alignof): Remove macro.
45643         * NEWS: Mention the change.
45644         Reported by Paul Eggert.
45646 2011-11-01  Bruno Haible  <bruno@clisp.org>
45648         New module 'fchownat', split off from module 'openat'.
45649         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
45650         defined.
45651         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
45652         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
45653         invoke gl_FUNC_FCHOWNAT.
45654         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
45655         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
45656         * modules/fchownat: New file, extracted from modules/openat.
45657         * modules/openat (Files): Remove lib/fchownat.c.
45658         (Depends-on): Remove lchown.
45659         (configure.ac): Remove AC_LIBOBJ of fchownat.
45660         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
45661         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
45662         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
45663         (Depends-on): Remove mgetgroups, usleep, stat-time.
45664         (configure.ac): Remove test for getegid.
45665         (Makefile.am): Remove rules for test-fchownat.
45666         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
45667         of module 'openat'.
45668         * NEWS: Mention the change.
45670 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45672         stdalign: port better to MSVC and to Sun C 5.11
45673         This fixes some of the problems reported by Bruno Haible in
45674         <http://lists.gnu.org/r/bug-gnulib/2011-10/msg00300.html>.
45675         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
45676         shortcomings of MSVC and of Sun C 5.11.
45677         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
45678         around __declspec arg.
45679         * modules/stdalign-tests (Files): Add tests/macros.h.
45680         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
45681         Include macros.h, for ASSERT.
45682         (DECLARE_ALIGNED): Remove.
45683         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
45684         to catch bug), and to 1 if not (simplifies the rest of the code).
45685         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
45686         (CHECK_AUTO): Remove.
45687         (CHECK_ALIGNED): Check only the alignment of the static vars,
45688         since auto var alignment isn't supported by Sun C 5.11.
45689         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
45690         ASSERT failures are easier to diagnose.
45692 2011-10-31  Bruno Haible  <bruno@clisp.org>
45694         doc about some IRIX 5.3 problems.
45695         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
45696         on IRIX 5.3.
45697         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
45698         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
45699         5.3.
45700         * doc/posix-functions/grantpt.texi: Likewise.
45701         * doc/posix-functions/unlockpt.texi: Likewise.
45702         * doc/posix-functions/lgamma.texi: Likewise.
45703         * doc/posix-functions/nextafter.texi: Likewise.
45704         * doc/posix-functions/remainder.texi: Likewise.
45705         * doc/posix-functions/select.texi: Mention misplaced declaration on
45706         IRIX 5.3.
45707         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45709 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
45711         gitlog-to-changelog: fix git-log invocation.
45712         git-log mishandles date strings before 1970-01-01 UTC, and there is
45713         no use to specify --since=1970-01-01 by default anyway.
45714         * build-aux/gitlog-to-changelog: By default, when no --since option
45715         was given, do not specify explicit --since option to git-log.
45717 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
45719         gitlog-to-changelog: new option --append-dot.
45720         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
45721         first non-blank line of each commit message terminated with a dot.
45723 2011-10-30  Bruno Haible  <bruno@clisp.org>
45725         ffsl, ffsll: Avoid compilation error due to 'restrict'.
45726         * lib/ffsl.h: Include <config.h>.
45727         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
45729 2011-10-30  Jim Meyering  <meyering@redhat.com>
45731         GNUmakefile: reenable "make syntax-check" for most projects
45732         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
45733         build-aux variable", "syntax-check" would do nothing but succeed with
45734         the "No version control files detected..." diagnostic (unless you
45735         happened to override _build-aux via cfg.mk).
45736         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
45737         to precede inclusion of maint.mk.  Otherwise, these variables would
45738         be used undefined in any project that does not override the default.
45740 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
45742         gitlog-to-changelog: treat a message with only blank lines as empty.
45743         * build-aux/gitlog-to-changelog: Move the code that removes leading and
45744         trailing blank lines before the code that issues a warning about an
45745         empty commit message.
45747 2011-10-30  Jim Meyering  <meyering@redhat.com>
45749         test-parse-datetime.c: avoid new DST-related false positive test failure
45750         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
45751         based on the time/date we'll convert, not the current time.
45752         Otherwise, the moment we cross a DST boundary like today's in
45753         Europe, (CEST to CET), that offset ends up being one hour off.
45755 2011-10-27  Bruno Haible  <bruno@clisp.org>
45757         fstat: Tweak documentation.
45758         * modules/fstat (Description): More precise description.
45760 2011-10-27  Bruno Haible  <bruno@clisp.org>
45762         Update documentation regarding 'largefile' module.
45763         * doc/posix-functions/fstat.texi: Tweak wording.
45764         * doc/posix-functions/opendir.texi: Mention that the module fixes the
45765         problems with huge directories and/or small ino_t types.
45766         * doc/posix-functions/readdir.texi: Likewise.
45767         * doc/posix-functions/rewinddir.texi: Likewise.
45769 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
45771         maint.mk: don't maintain a second build-aux variable.
45772         * maint.mk (build_aux): Removed.  The maintainer-makefile module
45773         depends on GNUmakefile, which already maintains a cfg.mk
45774         overridable $(_build-aux) for projects with a non-standard
45775         build-aux directory location, although without the $(srcdir)
45776         prefix.  Use that variable consistently instead of introducing a
45777         second one.  Adjust all call sites.
45779 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45781         Add stdalign module and use it in other modules.
45782         This is based on a previous proposal by Bruno Haible
45783         <https://lists.gnu.org/r/bug-gnulib/2011-07/msg00226.html>.
45785         stdalign: new module
45786         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
45787         * modules/stdalign: New files.
45788         * MODULES.html.sh (c1x_core_properties): Add stdalign.
45789         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
45791         stdalign-tests: new module
45792         * modules/stdalign-tests, tests/test-stdalign.c: New files.
45794         argp: use stdalign
45795         * lib/argp-parse.c: Include <stdalign.h>.
45796         (alignof): Remove.
45797         * modules/argp (Depends-on): Add stdalign.
45799         crypto libraries: use stdalign
45800         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
45801         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
45802         Do not include <stdlib.h> twice, in md4.c.
45803         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
45804         because we are accessing a pointer's bit-pattern, not a size.
45805         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
45806         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
45807         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
45808         * modules/crypto/sha512: Likewise.
45810         sys_socket: use stdalign, not alignof
45811         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
45812         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
45814 2011-10-27  Bruno Haible  <bruno@clisp.org>
45816         raise test: Avoid a test failure on Linux/MIPS.
45817         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
45818         because 99 is a valid signal on Linux/MIPS.
45820 2011-10-27  Bruno Haible  <bruno@clisp.org>
45822         nonblocking tests: Fix test failure on Linux/MIPS.
45823         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
45824         Set to 270000.
45826 2011-10-27  Bruno Haible  <bruno@clisp.org>
45828         utimensat: Work around problem on Linux/hppa.
45829         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
45830         values.
45831         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
45833 2011-10-25  Jim Meyering  <meyering@redhat.com>
45835         maint.mk: fix a bug in sc_prohibit_stddef_without_use
45836         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
45837         after symbols like NULL, size_t, etc.
45838         Reported by Alfred M. Szmidt.
45840         maint.mk: exempt ENODATA from a syntax-check rule
45841         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
45842         from the sc_prohibit_always-defined_macros syntax-check rule.
45843         Add a comment.  See this for more details:
45844         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
45846 2011-10-23  Jim Meyering  <meyering@redhat.com>
45848         fts: close parent dir FD before returning from post-traversal fts_read
45849         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
45850         unlink A, even though an FD open on A remained.  This is suboptimal
45851         (holding a file descriptor open longer than needed), but otherwise not
45852         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
45853         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
45854         that represents a real problem: it causes the removal of A to fail
45855         with e.g., "rm: cannot remove `A': Device or resource busy"
45857         fts visits each directory twice and keeps a cache (fts_fd_ring) of
45858         directory file descriptors.  After completing the final, FTS_DP,
45859         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
45860         cache, but then proceeded to add a new FD to it via the subsequent
45861         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
45862         final file descriptor would be closed only via fts_close's call to
45863         fd_ring_clear.  Now, it is usually closed earlier, via the final
45864         FTS_DP-returning fts_read call.
45865         * lib/fts.c (restore_initial_cwd): New function, converted from
45866         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
45867         Update callers.
45868         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
45869         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
45871 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
45872             Bruno Haible  <bruno@clisp.org>
45873             Jim Meyering  <jim@meyering.net>
45875         readme-release: improve safety of release prep instructions.
45876         * README-release: Don't git pull all branches when only master
45877         is needed for the release process.
45878         Run make maintainer-clean before changing trees and merging.
45879         Don't try to run ./configure right after git pull in case files
45880         that influence the bootstrap process have changed, move the
45881         ./configure step to after running ./bootstrap.
45882         Don't bootstrap "one last time"... it's the first time!
45884 2011-10-22  Bruno Haible  <bruno@clisp.org>
45886         errno, strerror-override: Support for MSVC 10.
45887         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
45888         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
45889         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
45890         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
45891         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
45892         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
45893         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
45894         Assign values compatible with MSVC 10.
45895         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
45896         New macros.
45897         (GNULIB_defined_EWINSOCK): New macro.
45898         * lib/strerror-override.c (strerror_override): Update accordingly.
45899         * lib/strerror-override.h: Likewise.
45900         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
45901         longer equal to the corresponding errno value.
45902         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45904 2011-10-22  Bruno Haible  <bruno@clisp.org>
45906         perror: Recognize when test program crashes.
45907         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
45908         strerror, set gl_cv_func_perror_works to no.
45909         Reported by Daniel Richard G. <skunk@iskunk.org>.
45911         perror: Fix indentation.
45912         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
45914 2011-10-22  Bruno Haible  <bruno@clisp.org>
45916         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
45917         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
45918         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
45919         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
45920         functions, not as a macro.
45921         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
45922         macros.
45923         (isfinite, isinf, isnan, signbit): Check overloaded functions and
45924         absence of macro.
45925         Suggested by Eric Blake.
45926         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
45928 2011-10-21  Bruno Haible  <bruno@clisp.org>
45930         relocatable-prog-wrapper: Don't leave object files behind.
45931         * build-aux/install-reloc: Re-synchronize list of .o files to be
45932         removed with list of compilation units.
45934 2011-10-20  Bruno Haible  <bruno@clisp.org>
45936         openpty, posix_openpt: Remove code duplication.
45937         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
45938         * lib/openpty.c: Include <stdlib.h>.
45939         (openpty): Use posix_openpt on all platforms except IRIX.
45940         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
45942 2011-10-20  Bruno Haible  <bruno@clisp.org>
45944         unlockpt: Detect invalid argument.
45945         * lib/unlockpt.c: Include <fcntl.h>.
45946         (unlockpt): Check whether fd is valid, using fcntl().
45947         * modules/unlockpt (Depends-on): Add fcntl-h.
45949 2011-10-20  Bruno Haible  <bruno@clisp.org>
45951         openpty: Avoid compilation error on AIX 6.1.
45952         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
45954 2011-10-20  Bruno Haible  <bruno@clisp.org>
45956         posix_openpt: Support for OpenBSD.
45957         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
45958         (posix_openpt) [OpenBSD]: New code.
45959         * lib/grantpt.c: Include <fcntl.h>.
45960         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
45961         * modules/grantpt (Depends-on): Add fcntl-h.
45963 2011-10-20  Bruno Haible  <bruno@clisp.org>
45965         posix_openpt test: Coding style.
45966         * tests/test-posix_openpt.c: Use GNU coding style.
45968 2011-10-20  Bruno Haible  <bruno@clisp.org>
45970         grantpt: Support --avoid=pt_chown.
45971         * modules/grantpt (Files): Add lib/pty-private.h.
45973 2011-10-20  Bruno Haible  <bruno@clisp.org>
45975         posix_openpt: Fix autoconf macro.
45976         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
45977         unneeded check for _getpty.
45979 2011-10-20  Bruno Haible  <bruno@clisp.org>
45981         openpty: Update comments.
45982         * lib/openpty.c: Add comments about Minix.
45984 2011-10-19  Eric Blake  <eblake@redhat.com>
45986         openpty: relax license
45987         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
45989         pt_chown: use configmake to simplify build
45990         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
45992         ptsname and others: relax license
45993         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
45994         * modules/unlockpt (License): Likewise.
45995         * modules/pt_chown (License): Likewise.
45996         * modules/ptsname (License): Likewise.
45997         * modules/ttyname_r (License): Likewise.
45999 2011-10-19  Jim Meyering  <meyering@redhat.com>
46001         posix_openpt: remove spurious #endif
46002         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
46004 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
46006         maint.mk: Respect $(build_aux) in web-manual rule.
46007         * top/maint.mk (web-manual): Find gen-announce script in user's
46008         $(build_aux) directory instead of hard-coding 'build-aux'.
46010 2011-10-19  Bruno Haible  <bruno@clisp.org>
46012         posix_openpt: Fix compilation error.
46013         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
46014         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
46015         Mention the openpty module as an alternative.
46017 2011-10-19  Bruno Haible  <bruno@clisp.org>
46019         Support for old NeXTstep 3.3 frexp().
46020         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
46021         execution time of the test to 5 seconds.
46022         Reported by Daniel Richard G. <skunk@iskunk.org>.
46024 2011-10-19  Bruno Haible  <bruno@clisp.org>
46026         Support for old NeXTstep 3.3 sed.
46027         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
46028         part, use /.../, not \|...|. Escape periods in the header file name.
46029         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
46030         Reported by Daniel Richard G. <skunk@iskunk.org>.
46032 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46034         Support for old NeXTstep 3.3 gcc.
46035         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
46036         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
46037         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
46038         * lib/spawn.in.h (_Restrict_arr_): Likewise.
46039         * lib/regex.h (_Restrict_arr_): Likewise.
46040         * lib/regex_internal.h (re_token_t): Likewise.
46041         * lib/regexec.c (check_node_accept_bytes): Likewise.
46042         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
46044 2011-10-18  Eric Blake  <eblake@redhat.com>
46046         posix_openpt: new module
46047         * modules/posix_openpt: New module.
46048         * m4/posix_openpt.m4: New file.
46049         * lib/posix_openpt.c: Likewise.
46050         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
46051         (gl_STDLIB_H_DEFAULTS): Set defaults.
46052         * modules/stdlib (Makefile.am): Substitute macros.
46053         * lib/stdlib.in.h (posix_openpt): Declare.
46054         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
46055         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
46056         * modules/posix_openpt-tests: New test module.
46057         * tests/test-posix_openpt.c: New test.
46059 2011-10-15  Bruno Haible  <bruno@clisp.org>
46061         xstrtoll: Fix compilation failure.
46062         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
46063         from lib/strtol.c.
46064         * doc/posix-headers/limits.texi: Mention missing numerical limits on
46065         some platforms.
46066         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46068 2011-10-15  Bruno Haible  <bruno@clisp.org>
46070         vasnprintf: Optimize bit search operation.
46071         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
46072         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
46073         gl_DOUBLE_EXPONENT_LOCATION.
46074         * modules/vasnprintf (Files): Add m4/exponentd.m4.
46075         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46076         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46077         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46078         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46079         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46080         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46081         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46082         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
46084 2011-10-15  Bruno Haible  <bruno@clisp.org>
46086         vasnprintf: Fix comments.
46087         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
46089 2011-10-14  Bruno Haible  <bruno@clisp.org>
46091         Tests for module 'integer_length_ll'.
46092         * modules/integer_length_ll-tests: New file.
46093         * tests/test-integer_length_ll.c: New file.
46095         New module 'integer_length_ll'.
46096         * lib/integer_length_ll.c: New file.
46097         * modules/integer_length_ll: New file.
46099 2011-10-14  Bruno Haible  <bruno@clisp.org>
46101         Tests for module 'integer_length_l'.
46102         * modules/integer_length_l-tests: New file.
46103         * tests/test-integer_length_l.c: New file.
46105         New module 'integer_length_l'.
46106         * lib/integer_length_l.c: New file.
46107         * modules/integer_length_l: New file.
46109 2011-10-14  Bruno Haible  <bruno@clisp.org>
46111         Tests for module 'integer_length'.
46112         * modules/integer_length-tests: New file.
46113         * tests/test-integer_length.c: New file.
46115         New module 'integer_length'.
46116         * lib/integer_length.h: New file.
46117         * lib/integer_length.c: New file.
46118         * modules/integer_length: New file.
46120 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46122         popen: Fix dependency conditions.
46123         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
46125 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
46127         perror: Fix autoconf test.
46128         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
46129         <stdlib.h> and <string.h>.
46131 2011-10-14  Bruno Haible  <bruno@clisp.org>
46133         ffsl: Optimize on 64-bit platforms.
46134         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
46135         unrolling.
46137 2011-10-13  Bruno Haible  <bruno@clisp.org>
46139         ffsl: Optimize on 32-bit platforms.
46140         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
46141         use ffs() without a loop.
46143         ffsl, ffsll: Optimize for GCC.
46144         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
46145         * lib/ffsl.c (GCC_BUILTIN): New macro.
46146         * lib/ffsll.c (GCC_BUILTIN): Likewise.
46148 2011-10-13  Bruno Haible  <bruno@clisp.org>
46150         ffs, bcopy, memset: Support symbol renaming via config.h.
46151         * lib/ffs.c: Include <config.h>.
46152         * lib/bcopy.c: Likewise.
46153         * lib/memset.c: Likewise.
46155 2011-10-10  Bruno Haible  <bruno@clisp.org>
46157         atanl: Simplify for platforms where 'long double' == 'double'.
46158         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46159         alternative implementation.
46160         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46161         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46162         * modules/atanl (Depends-on): Add atan. Update conditions.
46164 2011-10-10  Bruno Haible  <bruno@clisp.org>
46166         acosl: Simplify for platforms where 'long double' == 'double'.
46167         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46168         alternative implementation.
46169         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46170         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46171         * modules/acosl (Depends-on): Add acos. Update conditions.
46173 2011-10-10  Bruno Haible  <bruno@clisp.org>
46175         asinl: Simplify for platforms where 'long double' == 'double'.
46176         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46177         alternative implementation.
46178         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46179         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46180         * modules/asinl (Depends-on): Add asin. Update conditions.
46182 2011-10-10  Bruno Haible  <bruno@clisp.org>
46184         tanl: Simplify for platforms where 'long double' == 'double'.
46185         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46186         implementation.
46187         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46188         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46189         * modules/tanl (Depends-on): Add tan. Update conditions.
46190         (configure.ac): Don't compile trigl.c if
46191         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46193 2011-10-10  Bruno Haible  <bruno@clisp.org>
46195         cosl: Simplify for platforms where 'long double' == 'double'.
46196         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46197         implementation.
46198         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46199         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46200         * modules/cosl (Depends-on): Add cos. Update conditions.
46201         (configure.ac): Don't compile sincosl.c and trigl.c if
46202         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46204 2011-10-10  Bruno Haible  <bruno@clisp.org>
46206         sinl: Simplify for platforms where 'long double' == 'double'.
46207         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46208         implementation.
46209         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46210         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46211         * modules/sinl (Depends-on): Add sin. Update conditions.
46212         (configure.ac): Don't compile sincosl.c and trigl.c if
46213         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46215 2011-10-10  Bruno Haible  <bruno@clisp.org>
46217         logl: Simplify for platforms where 'long double' == 'double'.
46218         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46219         implementation.
46220         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46221         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46222         * modules/logl (Depends-on): Add log. Update conditions.
46224 2011-10-10  Bruno Haible  <bruno@clisp.org>
46226         expl: Simplify for platforms where 'long double' == 'double'.
46227         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
46228         implementation.
46229         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46230         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46231         * modules/expl (Depends-on): Add exp. Update conditions.
46233 2011-10-10  Bruno Haible  <bruno@clisp.org>
46235         sqrtl: Simplify for platforms where 'long double' == 'double'.
46236         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46237         alternative implementation.
46238         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46239         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46240         * modules/sqrtl (Depends-on): Update conditions.
46242 2011-10-10  Bruno Haible  <bruno@clisp.org>
46244         ldexpl: Simplify for platforms where 'long double' == 'double'.
46245         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46246         alternative implementation.
46247         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46248         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46249         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
46251 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
46253         ffsll: set correct witness
46254         * modules/ffsll (configure.ac): Fix typo.
46256 2011-10-10  Bruno Haible  <bruno@clisp.org>
46258         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
46259         * lib/printf-frexpl.c: Include <config.h>.
46260         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46261         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
46262         second time.
46263         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
46264         gl_LONG_DOUBLE_VS_DOUBLE.
46265         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
46266         conditions.
46268 2011-10-10  Bruno Haible  <bruno@clisp.org>
46270         frexpl: Simplify for platforms where 'long double' == 'double'.
46271         * lib/frexpl.c: Include <config.h>.
46272         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46273         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46274         time.
46275         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46276         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46277         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
46278         * modules/frexpl (Depends-on): Add frexp. Update conditions.
46279         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
46280         conditions.
46282 2011-10-10  Jim Meyering  <meyering@redhat.com>
46284         test-renameat: don't leave behind a temporary file
46285         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
46286           ERROR: files left in build directory after distclean:
46287           ./gltests/test-renameat.too
46288           make[1]: *** [distcleancheck] Error 1
46289         Reported by Tom G. Christensen.
46291 2011-10-09  Bruno Haible  <bruno@clisp.org>
46293         rint: Determine RINT_LIBM correctly on AIX 7.
46294         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
46295         directly, not only through a function pointer. Also accept an optional
46296         4th argument with extra code.
46297         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
46298         rintf() call by gcc when optimizing.
46300         mathfunc.m4: Refactor.
46301         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
46302         m4 variable.
46304 2011-10-09  Bruno Haible  <bruno@clisp.org>
46306         rintl: Simplify for platforms where 'long double' == 'double'.
46307         * lib/rintl.c: Include <config.h>.
46308         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46309         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46310         time.
46311         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46312         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46313         * modules/rintl (Depends-on): Add rint. Update conditions.
46315 2011-10-09  Bruno Haible  <bruno@clisp.org>
46317         roundl: Simplify for platforms where 'long double' == 'double'.
46318         * lib/roundl.c: Include <config.h>.
46319         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46320         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46321         time.
46322         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46323         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46324         * modules/roundl (Depends-on): Add round. Update conditions.
46326 2011-10-09  Bruno Haible  <bruno@clisp.org>
46328         truncl: Simplify for platforms where 'long double' == 'double'.
46329         * lib/truncl.c: Include <config.h>.
46330         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46331         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46332         time.
46333         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46334         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46335         * modules/truncl (Depends-on): Add trunc. Update conditions.
46337 2011-10-09  Bruno Haible  <bruno@clisp.org>
46339         ceill: Simplify for platforms where 'long double' == 'double'.
46340         * lib/ceill.c: Include <config.h>.
46341         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46342         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46343         time.
46344         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46345         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46346         * modules/ceill (Depends-on): Add ceil. Update conditions.
46348 2011-10-09  Bruno Haible  <bruno@clisp.org>
46350         floorl: Simplify for platforms where 'long double' == 'double'.
46351         * lib/floorl.c: Include <config.h>.
46352         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
46353         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
46354         time.
46355         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46356         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46357         * modules/floorl (Depends-on): Add floor. Update conditions.
46359 2011-10-09  Bruno Haible  <bruno@clisp.org>
46361         rint: Fix ordering constraints.
46362         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
46363         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
46364         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
46366 2011-10-09  Bruno Haible  <bruno@clisp.org>
46368         copysignl: Simplify for platforms where 'long double' == 'double'.
46369         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
46370         alternative.
46371         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46372         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
46373         * modules/copysignl (Depends-on): Add copysign. Update conditions.
46375 2011-10-09  Bruno Haible  <bruno@clisp.org>
46377         Tests for module 'rintl'.
46378         * modules/rintl-tests: New file.
46379         * tests/test-rintl.c: New file.
46381         New module 'rintl'.
46382         * lib/math.in.h (rintl): New declaration.
46383         * lib/rintl.c: New file.
46384         * m4/rintl.m4: New file.
46385         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
46386         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
46387         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
46388         * modules/rintl: New file.
46389         * tests/test-math-c++.cc: Check the declaration of rintl.
46390         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46391         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
46392         * doc/posix-functions/rintl.texi: Mention the new module.
46394 2011-10-09  Bruno Haible  <bruno@clisp.org>
46396         Tests for module 'rintf'.
46397         * modules/rintf-tests: New file.
46398         * tests/test-rintf.c: New file.
46400         New module 'rintf'.
46401         * lib/math.in.h (rintf): New declaration.
46402         * lib/rintf.c: New file.
46403         * m4/rintf.m4: New file.
46404         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
46405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
46406         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
46407         * modules/rintf: New file.
46408         * tests/test-math-c++.cc: Check the declaration of rintf.
46409         * doc/posix-functions/rintf.texi: Mention the new module.
46411 2011-10-09  Bruno Haible  <bruno@clisp.org>
46413         rint: Support for MSVC.
46414         * lib/math.in.h (rint): New declaration.
46415         * lib/rint.c: New file.
46416         * m4/rint.m4: New file.
46417         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
46418         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
46419         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
46420         * modules/rint (Description): Fix.
46421         (Files): Add lib/rint.c, m4/rint.m4.
46422         (Depends-on): Add math.
46423         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
46424         gl_MATH_MODULE_INDICATOR.
46425         * tests/test-math-c++.cc: Check the declaration of rint.
46426         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46427         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
46428         * doc/posix-functions/rint.texi: Mention the replacement provided by
46429         the module.
46431         rint tests: More tests.
46432         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
46433         minus-zero.h, infinity.h, nan.h.
46434         (main): Skip the test if the current rounding mode is not standard. Add
46435         tests for negative numbers, minus zero, infinity, NaN.
46436         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
46437         tests/nan.h.
46438         (Depends-on): Add isnand-nolibm.
46440 2011-10-09  Bruno Haible  <bruno@clisp.org>
46442         Tests for module 'copysignl'.
46443         * modules/copysignl-tests: New file.
46444         * tests/test-copysignl.c: New file.
46446         New module 'copysignl'.
46447         * lib/math.in.h (copysignl): New declaration.
46448         * lib/copysignl.c: New file.
46449         * m4/copysignl.m4: New file.
46450         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
46451         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
46452         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
46453         HAVE_COPYSIGNL.
46454         * modules/copysignl: New file.
46455         * tests/test-math-c++.cc: Check the declaration of copysignl.
46456         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
46457         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
46458         * doc/posix-functions/copysignl.texi: Mention the new module.
46460 2011-10-09  Bruno Haible  <bruno@clisp.org>
46462         Tests for module 'copysignf'.
46463         * modules/copysignf-tests: New file.
46464         * tests/test-copysignf.c: New file.
46466         New module 'copysignf'.
46467         * lib/math.in.h (copysignf): New declaration.
46468         * lib/copysignf.c: New file.
46469         * m4/copysignf.m4: New file.
46470         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
46471         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
46472         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
46473         HAVE_COPYSIGNF.
46474         * modules/copysignf: New file.
46475         * tests/test-math-c++.cc: Check the declaration of copysignf.
46476         * doc/posix-functions/copysignf.texi: Mention the new module.
46478 2011-10-09  Bruno Haible  <bruno@clisp.org>
46480         Ensure that HAVE_* variables are set to 1 before they are set to 0.
46481         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
46482         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
46483         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
46484         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
46485         gl_SIGNAL_H_DEFAULTS.
46487 2011-10-09  Bruno Haible  <bruno@clisp.org>
46489         poll: Make macro safer.
46490         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
46491         ac_cv_header_poll_h is not set.
46493 2011-10-09  Bruno Haible  <bruno@clisp.org>
46495         copysign: Provide replacement.
46496         * lib/math.in.h (copysign): New declaration.
46497         * lib/copysign.c: New file.
46498         * m4/copysign.m4: New file.
46499         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
46500         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
46501         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
46502         HAVE_COPYSIGN.
46503         * modules/copysign (Description): Clarify.
46504         (Files): Add lib/copysign.c, m4/copysign.m4.
46505         (Depends-on): Add math, signbit.
46506         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
46507         gl_MATH_MODULE_INDICATOR.
46508         * tests/test-math-c++.cc: Check the declaration of copysign.
46509         * doc/posix-functions/copysign.texi: Mention the effects of the module
46510         on Minix and MSVC.
46512 2011-10-09  Bruno Haible  <bruno@clisp.org>
46514         isinf: Ensure macro on AIX 5.1.
46515         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
46516         macro.
46517         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
46519 2011-10-09  Bruno Haible  <bruno@clisp.org>
46521         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
46522         * modules/snprintf-posix-tests (configure.ac): Require
46523         gl_LONG_DOUBLE_VS_DOUBLE.
46524         * modules/sprintf-posix-tests (configure.ac): Likewise.
46525         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
46526         * modules/vasprintf-posix-tests (configure.ac): Likewise.
46527         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
46528         * modules/vsprintf-posix-tests (configure.ac): Likewise.
46529         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
46530         tests on platforms where 'long double' is the same as 'double'.
46531         * tests/test-sprintf-posix.h (test_function): Likewise.
46532         * tests/test-vasnprintf-posix.c (test_function): Likewise.
46533         * tests/test-vasprintf-posix.c (test_function): Likewise.
46535         *printf: Fix for platforms where 'long double' == 'double'.
46536         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
46537         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
46538         * modules/dprintf-posix (Files): Add m4/math_h.m4.
46539         * modules/fprintf-posix (Files): Likewise.
46540         * modules/obstack-printf-posix (Files): Likewise.
46541         * modules/snprintf-posix (Files): Likewise.
46542         * modules/sprintf-posix (Files): Likewise.
46543         * modules/vasnprintf (Files): Likewise.
46544         * modules/vasnprintf-posix (Files): Likewise.
46545         * modules/vasprintf-posix (Files): Likewise.
46546         * modules/vdprintf-posix (Files): Likewise.
46547         * modules/vfprintf-posix (Files): Likewise.
46548         * modules/vsnprintf-posix (Files): Likewise.
46549         * modules/vsprintf-posix (Files): Likewise.
46550         * modules/unistdio/u8-vasnprintf (Files): Likewise.
46551         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
46552         * modules/unistdio/u16-vasnprintf (Files): Likewise.
46553         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
46554         * modules/unistdio/u32-vasnprintf (Files): Likewise.
46555         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
46556         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
46558         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
46559         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
46560         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
46561         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
46562         'long double'.
46563         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
46565         isinf: Fix for platforms where 'long double' == 'double'.
46566         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46567         Don't blindly assume 80-bit 'long double'.
46569         isfinite: Fix for platforms where 'long double' == 'double'.
46570         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
46571         Don't blindly assume 80-bit 'long double'.
46573         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
46574         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
46575         * modules/isfinite-tests (configure.ac): Require
46576         gl_LONG_DOUBLE_VS_DOUBLE.
46577         * modules/isinf-tests (configure.ac): Likewise.
46578         * modules/isnan-tests (configure.ac): Likewise.
46579         * modules/isnanl-tests (configure.ac): Likewise.
46580         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
46581         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
46582         tests on platforms where 'long double' is the same as 'double'.
46583         * tests/test-isinf.c (test_isinfl): Likewise.
46584         * tests/test-isnan.c (test_long_double): Likewise.
46585         * tests/test-isnanl.h (main): Likewise.
46587 2011-10-08  Bruno Haible  <bruno@clisp.org>
46589         Tests for module 'tanhf'.
46590         * modules/tanhf-tests: New file.
46591         * tests/test-tanhf.c: New file.
46593         New module 'tanhf'.
46594         * lib/math.in.h (tanhf): New declaration.
46595         * lib/tanhf.c: New file.
46596         * m4/tanhf.m4: New file.
46597         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
46598         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
46599         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
46600         * modules/tanhf: New file.
46601         * tests/test-math-c++.cc: Check the declaration of tanhf.
46602         * doc/posix-functions/tanhf.texi: Mention the new module.
46604         tanh: Use a .m4 file.
46605         * m4/tanh.m4: New file.
46606         * modules/tanh (Files): Add it.
46607         (configure.ac): Just invoke gl_FUNC_TANH.
46609 2011-10-08  Bruno Haible  <bruno@clisp.org>
46611         Tests for module 'coshf'.
46612         * modules/coshf-tests: New file.
46613         * tests/test-coshf.c: New file.
46615         New module 'coshf'.
46616         * lib/math.in.h (coshf): New declaration.
46617         * lib/coshf.c: New file.
46618         * m4/coshf.m4: New file.
46619         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
46620         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
46621         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
46622         * modules/coshf: New file.
46623         * tests/test-math-c++.cc: Check the declaration of coshf.
46624         * doc/posix-functions/coshf.texi: Mention the new module.
46626         cosh: Use a .m4 file.
46627         * m4/cosh.m4: New file.
46628         * modules/cosh (Files): Add it.
46629         (configure.ac): Just invoke gl_FUNC_COSH.
46631 2011-10-08  Bruno Haible  <bruno@clisp.org>
46633         Tests for module 'sinhf'.
46634         * modules/sinhf-tests: New file.
46635         * tests/test-sinhf.c: New file.
46637         New module 'sinhf'.
46638         * lib/math.in.h (sinhf): New declaration.
46639         * lib/sinhf.c: New file.
46640         * m4/sinhf.m4: New file.
46641         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
46642         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
46643         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
46644         * modules/sinhf: New file.
46645         * tests/test-math-c++.cc: Check the declaration of sinhf.
46646         * doc/posix-functions/sinhf.texi: Mention the new module.
46648         sinh: Use a .m4 file.
46649         * m4/sinh.m4: New file.
46650         * modules/sinh (Files): Add it.
46651         (configure.ac): Just invoke gl_FUNC_SINH.
46653 2011-10-08  Bruno Haible  <bruno@clisp.org>
46655         Tests for module 'atan2f'.
46656         * modules/atan2f-tests: New file.
46657         * tests/test-atan2f.c: New file.
46659         New module 'atan2f'.
46660         * lib/math.in.h (atan2f): New declaration.
46661         * lib/atan2f.c: New file.
46662         * m4/atan2f.m4: New file.
46663         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
46664         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
46665         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
46666         * modules/atan2f: New file.
46667         * tests/test-math-c++.cc: Check the declaration of atan2f.
46668         * doc/posix-functions/atan2f.texi: Mention the new module.
46670         atan2: Use a .m4 file.
46671         * m4/atan2.m4: New file.
46672         * modules/atan2 (Files): Add it.
46673         (configure.ac): Just invoke gl_FUNC_ATAN2.
46675 2011-10-08  Bruno Haible  <bruno@clisp.org>
46677         Tests for module 'atanf'.
46678         * modules/atanf-tests: New file.
46679         * tests/test-atanf.c: New file.
46681         New module 'atanf'.
46682         * lib/math.in.h (atanf): New declaration.
46683         * lib/atanf.c: New file.
46684         * m4/atanf.m4: New file.
46685         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
46686         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
46687         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
46688         * modules/atanf: New file.
46689         * tests/test-math-c++.cc: Check the declaration of atanf.
46690         * doc/posix-functions/atanf.texi: Mention the new module.
46692         atan: Use a .m4 file.
46693         * m4/atan.m4: New file.
46694         * modules/atan (Files): Add it.
46695         (configure.ac): Just invoke gl_FUNC_ATAN.
46697 2011-10-08  Bruno Haible  <bruno@clisp.org>
46699         Tests for module 'acosf'.
46700         * modules/acosf-tests: New file.
46701         * tests/test-acosf.c: New file.
46703         New module 'acosf'.
46704         * lib/math.in.h (acosf): New declaration.
46705         * lib/acosf.c: New file.
46706         * m4/acosf.m4: New file.
46707         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
46708         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
46709         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
46710         * modules/acosf: New file.
46711         * tests/test-math-c++.cc: Check the declaration of acosf.
46712         * doc/posix-functions/acosf.texi: Mention the new module.
46714         acos: Use a .m4 file.
46715         * m4/acos.m4: New file.
46716         * modules/acos (Files): Add it.
46717         (configure.ac): Just invoke gl_FUNC_ACOS.
46719 2011-10-08  Bruno Haible  <bruno@clisp.org>
46721         Tests for module 'asinf'.
46722         * modules/asinf-tests: New file.
46723         * tests/test-asinf.c: New file.
46725         New module 'asinf'.
46726         * lib/math.in.h (asinf): New declaration.
46727         * lib/asinf.c: New file.
46728         * m4/asinf.m4: New file.
46729         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
46730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
46731         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
46732         * modules/asinf: New file.
46733         * tests/test-math-c++.cc: Check the declaration of asinf.
46734         * doc/posix-functions/asinf.texi: Mention the new module.
46736         asin: Use a .m4 file.
46737         * m4/asin.m4: New file.
46738         * modules/asin (Files): Add it.
46739         (configure.ac): Just invoke gl_FUNC_ASIN.
46741 2011-10-08  Bruno Haible  <bruno@clisp.org>
46743         Tests for module 'tanf'.
46744         * modules/tanf-tests: New file.
46745         * tests/test-tanf.c: New file.
46747         New module 'tanf'.
46748         * lib/math.in.h (tanf): New declaration.
46749         * lib/tanf.c: New file.
46750         * m4/tanf.m4: New file.
46751         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
46752         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
46753         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
46754         * modules/tanf: New file.
46755         * tests/test-math-c++.cc: Check the declaration of tanf.
46756         * doc/posix-functions/tanf.texi: Mention the new module.
46758         tan: Use a .m4 file.
46759         * m4/tan.m4: New file.
46760         * modules/tan (Files): Add it.
46761         (configure.ac): Just invoke gl_FUNC_TAN.
46763 2011-10-08  Bruno Haible  <bruno@clisp.org>
46765         Tests for module 'cosf'.
46766         * modules/cosf-tests: New file.
46767         * tests/test-cosf.c: New file.
46769         New module 'cosf'.
46770         * lib/math.in.h (cosf): New declaration.
46771         * lib/cosf.c: New file.
46772         * m4/cosf.m4: New file.
46773         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
46774         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
46775         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
46776         * modules/cosf: New file.
46777         * tests/test-math-c++.cc: Check the declaration of cosf.
46778         * doc/posix-functions/cosf.texi: Mention the new module.
46780         cos: Use a .m4 file.
46781         * m4/cos.m4: New file.
46782         * modules/cos (Files): Add it.
46783         (configure.ac): Just invoke gl_FUNC_COS.
46785 2011-10-08  Bruno Haible  <bruno@clisp.org>
46787         Tests for module 'sinf'.
46788         * modules/sinf-tests: New file.
46789         * tests/test-sinf.c: New file.
46791         New module 'sinf'.
46792         * lib/math.in.h (sinf): New declaration.
46793         * lib/sinf.c: New file.
46794         * m4/sinf.m4: New file.
46795         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
46796         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
46797         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
46798         * modules/sinf: New file.
46799         * tests/test-math-c++.cc: Check the declaration of sinf.
46800         * doc/posix-functions/sinf.texi: Mention the new module.
46802         sin: Use a .m4 file.
46803         * m4/sin.m4: New file.
46804         * modules/sin (Files): Add it.
46805         (configure.ac): Just invoke gl_FUNC_SIN.
46807 2011-10-08  Bruno Haible  <bruno@clisp.org>
46809         Tests for module 'powf'.
46810         * modules/powf-tests: New file.
46811         * tests/test-powf.c: New file.
46813         New module 'powf'.
46814         * lib/math.in.h (powf): New declaration.
46815         * lib/powf.c: New file.
46816         * m4/powf.m4: New file.
46817         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
46818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
46819         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
46820         * modules/powf: New file.
46821         * tests/test-math-c++.cc: Check the declaration of powf.
46822         * doc/posix-functions/powf.texi: Mention the new module.
46824         pow: Use a .m4 file.
46825         * m4/pow.m4: New file.
46826         * modules/pow (Files): Add it.
46827         (configure.ac): Just invoke gl_FUNC_POW.
46829 2011-10-08  Bruno Haible  <bruno@clisp.org>
46831         Tests for module 'log10f'.
46832         * modules/log10f-tests: New file.
46833         * tests/test-log10f.c: New file.
46835         New module 'log10f'.
46836         * lib/math.in.h (log10f): New declaration.
46837         * lib/log10f.c: New file.
46838         * m4/log10f.m4: New file.
46839         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
46840         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
46841         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
46842         * modules/log10f: New file.
46843         * tests/test-math-c++.cc: Check the declaration of log10f.
46844         * doc/posix-functions/log10f.texi: Mention the new module.
46846         log10: Use a .m4 file.
46847         * m4/log10.m4: New file.
46848         * modules/log10 (Files): Add it.
46849         (configure.ac): Just invoke gl_FUNC_LOG10.
46851 2011-10-08  Bruno Haible  <bruno@clisp.org>
46853         Tests for module 'logf'.
46854         * modules/logf-tests: New file.
46855         * tests/test-logf.c: New file.
46857         New module 'logf'.
46858         * lib/math.in.h (logf): New declaration.
46859         * lib/logf.c: New file.
46860         * m4/logf.m4: New file.
46861         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
46862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
46863         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
46864         * modules/logf: New file.
46865         * tests/test-math-c++.cc: Check the declaration of logf.
46866         * doc/posix-functions/logf.texi: Mention the new module.
46868         log: Use a .m4 file.
46869         * m4/log.m4: New file.
46870         * modules/log (Files): Add it.
46871         (configure.ac): Just invoke gl_FUNC_LOG.
46873 2011-10-08  Bruno Haible  <bruno@clisp.org>
46875         Tests for module 'expf'.
46876         * modules/expf-tests: New file.
46877         * tests/test-expf.c: New file.
46879         New module 'expf'.
46880         * lib/math.in.h (expf): New declaration.
46881         * lib/expf.c: New file.
46882         * m4/expf.m4: New file.
46883         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
46884         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
46885         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
46886         * modules/expf: New file.
46887         * tests/test-math-c++.cc: Check the declaration of expf.
46888         * doc/posix-functions/expf.texi: Mention the new module.
46890         exp: Use a .m4 file.
46891         * m4/exp.m4: New file.
46892         * modules/exp (Files): Add it.
46893         (configure.ac): Just invoke gl_FUNC_EXP.
46895 2011-10-08  Bruno Haible  <bruno@clisp.org>
46897         Tests for module 'sqrtf'.
46898         * modules/sqrtf-tests: New file.
46899         * tests/test-sqrtf.c: New file.
46901         New module 'sqrtf'.
46902         * lib/math.in.h (sqrtf): New declaration.
46903         * lib/sqrtf.c: New file.
46904         * m4/sqrtf.m4: New file.
46905         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
46906         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
46907         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
46908         * modules/sqrtf: New file.
46909         * tests/test-math-c++.cc: Check the declaration of sqrtf.
46910         * doc/posix-functions/sqrtf.texi: Mention the new module.
46912 2011-10-08  Bruno Haible  <bruno@clisp.org>
46914         Tests: Avoid link failures w.r.t. libintl.
46915         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
46916         $(LIBINTL).
46917         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
46918         $(LIBINTL).
46919         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
46920         against $(LIBINTL).
46921         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
46922         $(LIBINTL).
46923         * modules/openat-tests (Makefile.am): Link test-fchmodat against
46924         $(LIBINTL).
46925         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
46927 2011-10-08  Bruno Haible  <bruno@clisp.org>
46929         pow tests: Defeat compiler optimizations.
46930         * tests/test-pow.c (main): Assign arguments to x and y before use.
46932 2011-10-08  Bruno Haible  <bruno@clisp.org>
46934         gnulib-tool: Improve last commit.
46935         * gnulib-tool (func_modules_transitive_closure): Simplify code.
46936         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
46937         ignore dependencies that are not among the modules list.
46939 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
46941         gnulib-tool: don't follow dependencies to avoided modules
46942         This fixes a bug that is related to the previous one.
46943         * gnulib-tool (func_modules_transitive_closure)
46944         (func_emit_autoconf_snippets):
46945         Check whether a dependency is acceptable before using it.
46946         (--extract-dependencies): Report an error if --avoid is also used,
46947         since this combination of options is not yet supported.
46949         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
46950         Problem reported by Peter Dyballa in
46951         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
46952         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
46953         when echoing "$condition".
46955 2011-10-07  Bruno Haible  <bruno@clisp.org>
46957         Fix documentation about math functions on MacOS X.
46958         * doc/posix-functions/exp2.texi: Don't say the function is missing on
46959         MacOS X 10.5.
46960         * doc/posix-functions/fdim.texi: Likewise.
46961         * doc/posix-functions/feclearexcept.texi: Likewise.
46962         * doc/posix-functions/fegetenv.texi: Likewise.
46963         * doc/posix-functions/fegetround.texi: Likewise.
46964         * doc/posix-functions/feholdexcept.texi: Likewise.
46965         * doc/posix-functions/feraiseexcept.texi: Likewise.
46966         * doc/posix-functions/fesetenv.texi: Likewise.
46967         * doc/posix-functions/fesetround.texi: Likewise.
46968         * doc/posix-functions/fetestexcept.texi: Likewise.
46969         * doc/posix-functions/feupdateenv.texi: Likewise.
46970         * doc/posix-functions/fmax.texi: Likewise.
46971         * doc/posix-functions/fmin.texi: Likewise.
46972         * doc/posix-functions/log2.texi: Likewise.
46973         * doc/posix-functions/modff.texi: Likewise.
46974         * doc/posix-functions/nan.texi: Likewise.
46975         * doc/posix-functions/nanf.texi: Likewise.
46976         * doc/posix-functions/nextafterf.texi: Likewise.
46977         * doc/posix-functions/remquo.texi: Likewise.
46979 2011-10-07  Bruno Haible  <bruno@clisp.org>
46981         modff: Drop assumption about library that defines modff.
46982         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
46983         AC_CHECK_FUNCS.
46984         * modules/modff (Files): Add m4/mathfunc.m4.
46986 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
46988         raise tests: Avoid a GCC warning.
46989         * tests/test-raise.c (handler): Use _Noreturn.
46991 2011-10-07  Bruno Haible  <bruno@clisp.org>
46993         Tests for module 'ldexpf'.
46994         * modules/ldexpf-tests: New file.
46995         * tests/test-ldexpf.c: New file.
46997         New module 'ldexpf'.
46998         * lib/math.in.h (ldexpf): New declaration.
46999         * lib/ldexpf.c: New file.
47000         * m4/ldexpf.m4: New file.
47001         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
47002         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
47003         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
47004         * modules/ldexpf: New file.
47005         * tests/test-math-c++.cc: Check the declaration of ldexpf.
47006         * doc/posix-functions/ldexpf.texi: Mention the new module.
47008 2011-10-06  Bruno Haible  <bruno@clisp.org>
47010         frexpf: Work around problems on IRIX and mingw.
47011         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
47012         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
47013         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
47014         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
47015         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
47016         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
47017         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
47019 2011-10-06  Bruno Haible  <bruno@clisp.org>
47021         fabsf: Drop assumption about library that defines fabsf.
47022         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
47023         AC_CHECK_FUNCS.
47024         * modules/fabsf (Files): Add m4/mathfunc.m4.
47026 2011-10-06  Bruno Haible  <bruno@clisp.org>
47028         frexpf: Drop assumption about library that defines frexpf.
47029         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
47030         'int *', 'float *', 'long double *', 'float', 'long double'.
47031         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
47032         AC_CHECK_FUNCS.
47033         * modules/frexpf (Files): Add m4/mathfunc.m4.
47035         Tests for module 'frexpf'.
47036         * modules/frexpf-tests: New file.
47037         * tests/test-frexpf.c: New file.
47039         New module 'frexpf'.
47040         * lib/math.in.h (frexpf): New declaration.
47041         * lib/frexpf.c: New file.
47042         * m4/frexpf.m4: New file.
47043         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
47044         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
47045         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
47046         * modules/frexpf: New file.
47047         * tests/test-math-c++.cc: Check the declaration of frexpf.
47048         * doc/posix-functions/frexpf.texi: Mention the new module.
47050 2011-10-06  Bruno Haible  <bruno@clisp.org>
47052         math: Sort function declarations of math.in.h.
47053         * lib/math.in.h (frexp, logb): Move declarations.
47055 2011-10-05  Bruno Haible  <bruno@clisp.org>
47057         Tests for module 'modff'.
47058         * modules/modff-tests: New file.
47059         * tests/test-modff.c: New file.
47061         New module 'modff'.
47062         * lib/math.in.h (modff): New declaration.
47063         * lib/modff.c: New file.
47064         * m4/modff.m4: New file.
47065         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
47066         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
47067         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
47068         * modules/modff: New file.
47069         * tests/test-math-c++.cc: Check the declaration of modff.
47070         * doc/posix-functions/modff.texi: Mention the new module.
47072         modf tests: Make test sharper.
47073         * tests/test-modf.c (main): Strengthen upper bound.
47075         modf: Use a .m4 file.
47076         * m4/modf.m4: New file.
47077         * modules/modf (Files): Add it.
47078         (configure.ac): Just invoke gl_FUNC_MODF.
47080 2011-10-05  Bruno Haible  <bruno@clisp.org>
47082         Tests for module 'fmodf'.
47083         * modules/fmodf-tests: New file.
47084         * tests/test-fmodf.c: New file.
47086         New module 'fmodf'.
47087         * lib/math.in.h (fmodf): New declaration.
47088         * lib/fmodf.c: New file.
47089         * m4/fmodf.m4: New file.
47090         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
47091         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
47092         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
47093         * modules/fmodf: New file.
47094         * tests/test-math-c++.cc: Check the declaration of fmodf.
47095         * doc/posix-functions/fmodf.texi: Mention the new module.
47097         fmod: Use a .m4 file.
47098         * m4/fmod.m4: New file.
47099         * modules/fmod (Files): Add it.
47100         (configure.ac): Just invoke gl_FUNC_FMOD.
47102 2011-10-05  Bruno Haible  <bruno@clisp.org>
47104         Tests for module 'fabsf'.
47105         * modules/fabsf-tests: New file.
47106         * tests/test-fabsf.c: New file.
47108         New module 'fabsf'.
47109         * lib/math.in.h (fabsf): New declaration.
47110         * lib/fabsf.c: New file.
47111         * m4/fabsf.m4: New file.
47112         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
47113         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
47114         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
47115         * modules/fabsf: New file.
47116         * tests/test-math-c++.cc: Check the declaration of fabsf.
47117         * doc/posix-functions/fabsf.texi: Mention the new module.
47119         fabs: Use a .m4 file.
47120         * m4/fabs.m4: New file.
47121         * modules/fabs (Files): Add it.
47122         (configure.ac): Just invoke gl_FUNC_FABS.
47124 2011-10-05  Jim Meyering  <meyering@redhat.com>
47126         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
47127         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
47128         ls -lL regression introduced in coreutils-8.12, it does so at the
47129         cost of an additional stat call in the common case.  Besides, now
47130         that the kernel change that prompted commit 95f7c57f has been reverted
47131         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
47132         we have no use for commit 95f7c57f, "file-has-acl: use
47133         acl_extended_file_nofollow if available".
47135 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
47137         file-has-acl: revert unintended change in behavior of ls -L
47138         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
47139         derived from...
47140         (file_has_acl): ...code here.  Call it.
47141         This problem was introduced with 2011-07-22 commit 95f7c57f,
47142         "file-has-acl: use acl_extended_file_nofollow if available".
47143         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
47145 2011-10-03  Bruno Haible  <bruno@clisp.org>
47147         poll: Avoid link errors on MSVC.
47148         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
47149         * modules/poll (Depends-on): Add sockets.
47150         (Link): New section.
47151         * NEWS: Mention the change.
47152         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
47153         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
47154         $(LIB_POLL) instead of $(LIBSOCKET).
47156 2011-10-03  Bruno Haible  <bruno@clisp.org>
47158         sys_select tests: Fix link error on MSVC 9.
47159         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
47160         with $(LIB_SELECT) instead of $(LIBSOCKET).
47162 2011-10-03  Bruno Haible  <bruno@clisp.org>
47164         sys_select: Fix compilation error on mingw.
47165         * lib/sys_select.in.h: On native Windows, include <io.h>.
47167 2011-10-03  Bruno Haible  <bruno@clisp.org>
47169         wmemset: Support for MSVC.
47170         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
47171         whether wmemset() exists.
47173 2011-10-03  Bruno Haible  <bruno@clisp.org>
47175         wmemmove: Support for MSVC.
47176         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
47177         whether wmemmove() exists.
47179 2011-10-03  Bruno Haible  <bruno@clisp.org>
47181         wmemcpy: Support for MSVC.
47182         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
47183         whether wmemcpy() exists.
47185 2011-10-03  Bruno Haible  <bruno@clisp.org>
47187         wmemcmp: Support for MSVC.
47188         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
47189         whether wmemcmp() exists.
47191 2011-10-03  Bruno Haible  <bruno@clisp.org>
47193         wmemchr: Support for MSVC.
47194         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
47195         whether wmemchr() exists.
47197 2011-10-03  Bruno Haible  <bruno@clisp.org>
47199         glthread/*, strsignal: Support for MSVC.
47200         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
47201         including <winsock.h> on MSVC 9.
47202         * lib/glthread/lock.h: Likewise.
47203         * lib/glthread/thread.h: Likewise.
47204         * lib/glthread/tls.h: Likewise.
47205         * lib/glthread/yield.h: Likewise.
47206         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
47207         if HAVE_UNISTD_H is false.
47208         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
47210 2011-10-03  Bruno Haible  <bruno@clisp.org>
47212         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
47213         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
47214         Set to 100000.
47216 2011-10-03  Bruno Haible  <bruno@clisp.org>
47218         acl: Fix specification.
47219         * lib/file-has-acl.c (file_has_acl): Fix specification.
47221 2011-10-03  Bruno Haible  <bruno@clisp.org>
47223         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
47224         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
47225         (compute_curr_prefix, shared_library_fullname,
47226         find_shared_library_fullname, get_shared_library_fullname, relocate):
47227         Use it together with PIC && INSTALLDIR.
47228         Reported by <jojelino@gmail.com>
47229         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
47231 2011-10-01  Jim Meyering  <meyering@redhat.com>
47233         maint.mk: adjust a release-related rule not to require use of gzip
47234         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
47235         Instead, check each file in $(DIST_ARCHIVES).  This is better for
47236         projects that build only .tar.xz files.  Also fix an erroneous test.
47238         test-linkat: don't leave behind a temporary file
47239         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
47240         Otherwise, coreutils' "make distcheck" would fail with this:
47241           Only in /c/cu/tests/torture/coreutils/test/\
47242             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
47243           make[2]: *** [my-distcheck] Error 1
47245         float, math: add omitted file
47246         * lib/itold.c: Add file, required for yesterday's float change.
47248 2011-10-01  Bruno Haible  <bruno@clisp.org>
47250         isinf: Fix for OpenBSD/x86.
47251         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
47252         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
47253         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
47255 2011-10-01  Bruno Haible  <bruno@clisp.org>
47257         isfinite: Fix syntax error in configure test.
47258         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
47260         isfinite: Fix typo.
47261         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
47262         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
47264 2011-10-01  Bruno Haible  <bruno@clisp.org>
47266         nonblocking tests: Fix test failure on Linux/IA-64.
47267         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
47268         Set to 270000.
47270 2011-10-01  Bruno Haible  <bruno@clisp.org>
47272         mkfifoat tests: Fix a test failure on mingw.
47273         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
47274         with error ENOSYS.
47276 2011-09-30  Bruno Haible  <bruno@clisp.org>
47278         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
47279         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
47280         'long double'. Set REPLACE_ITOLD.
47281         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
47282         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
47283         * lib/itold.c: New file.
47284         * modules/float (Files): Add lib/itold.c.
47285         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
47286         (Makefile.am): Substitute REPLACE_ITOLD.
47287         * modules/math (Depends-on): Add float.
47288         (Makefile.am): Substitute REPLACE_ITOLD.
47289         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
47290         * doc/posix-headers/math.texi: Likewise.
47291         * doc/posix-functions/logl.texi: Likewise.
47293 2011-09-30  Bruno Haible  <bruno@clisp.org>
47295         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
47296         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
47297         Set to 140000.
47299 2011-09-30  Bruno Haible  <bruno@clisp.org>
47301         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
47302         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
47303         invocation, say "right after AC_PROG_CC_STDC", not "right after
47304         AC_PROG_CC".
47305         Reported by Gary V. Vaughan <gary@gnu.org>.
47307 2011-09-30  Bruno Haible  <bruno@clisp.org>
47309         Centralize C99 requirement.
47310         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
47311         * modules/stdarg (configure.ac-early): Invoke it instead of
47312         AC_PROG_CC_STDC.
47313         Reported by Gary V. Vaughan and Paul Eggert.
47315 2011-09-29  Bruno Haible  <bruno@clisp.org>
47317         float: Fix LDBL_MAX value on Linux/PowerPC.
47318         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
47319         on Linux/PowerPC.
47320         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
47321         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
47322         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
47323         platform.
47324         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
47326 2011-09-29  Bruno Haible  <bruno@clisp.org>
47328         doc: Improve doc about gl_EARLY.
47329         * doc/gnulib-tool.texi (Initial import): Mention where to place an
47330         AC_PROG_CC_STDC invocation.
47331         Reported by Gary V. Vaughan <gary@gnu.org>.
47333 2011-09-28  Bruno Haible  <bruno@clisp.org>
47335         fgetc, fputc, fread, fwrite tests: Fix link error.
47336         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
47337         on non-MSVC platforms.
47338         * tests/test-fputc.c (main): Likewise.
47339         * tests/test-fread.c (main): Likewise.
47340         * tests/test-fwrite.c (main): Likewise.
47341         Reported by Jim Meyering.
47343 2011-09-27  Bruno Haible  <bruno@clisp.org>
47345         fputc, fwrite tests: Avoid test failure on MSVC.
47346         * tests/test-fgetc.c: Include msvc-inval.h.
47347         (main): Invoke gl_msvc_inval_ensure_handler.
47348         * tests/test-fputc.c: Include msvc-inval.h.
47349         (main): Invoke gl_msvc_inval_ensure_handler.
47350         * tests/test-fread.c: Include msvc-inval.h.
47351         (main): Invoke gl_msvc_inval_ensure_handler.
47352         * tests/test-fwrite.c: Include msvc-inval.h.
47353         (main): Invoke gl_msvc_inval_ensure_handler.
47354         * modules/fgetc-tests (Depends-on): Add msvc-inval.
47355         * modules/fputc-tests (Depends-on): Likewise.
47356         * modules/fread-tests (Depends-on): Likewise.
47357         * modules/fwrite-tests (Depends-on): Likewise.
47359 2011-09-27  Bruno Haible  <bruno@clisp.org>
47361         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
47362         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
47363         (raise): Remove older, duplicated declaration.
47364         (_gl_raise_SIGPIPE): New declaration.
47365         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
47366         (rpl_raise): Remove function.
47367         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
47368         a gnulib-defined SIGPIPE here.
47369         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
47370         'sigprocmask' has detected missing signal-blocking and the module
47371         'sigpipe' is enabled.
47372         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
47374 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
47376         base64-tests: avoid memory leak
47377         * tests/test-base64.c (main): Plug memory leak.
47379         base32: new module
47380         * modules/base32: New module.
47381         * lib/base32.c: New file.
47382         * lib/base32.h: Likewise.
47383         * m4/base32.m4: Likewise.
47384         * modules/base32-tests: New test.
47385         * tests/test-base32.c: Likewise.
47386         * MODULES.html.sh (Misc): Mention it.
47388 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47390         gnulib: use more-standard license notice wording
47391         * gnulib-tool (func_emit_copyright_notice): When emitting a
47392         license notice into a file, use the standard wording as suggested
47393         by the current information for GNU maintainers, except say "file"
47394         rather than "program".  The new wording gives a license version
47395         number, which addresses an issue raised by Glenn Morris in
47396         <http://lists.gnu.org/r/bug-gnulib/2011-09/msg00397.html>.
47397         * m4/onceonly.m4: Use that same wording here, too.
47399         dup2: minor simplification
47400         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
47401         as lib/dup2.c no longer uses 'inline'.
47403 2011-09-25  Bruno Haible  <bruno@clisp.org>
47405         strings: Fix compilation error on MSVC.
47406         * lib/strings.in.h: Include <stddef.h> for size_t.
47408 2011-09-25  Bruno Haible  <bruno@clisp.org>
47410         fflush et al.: Document limitation on MSVC.
47411         * doc/posix-functions/fflush.texi: Document possible crash in handling
47412         mode other than DEFAULT_HANDLING.
47413         * doc/posix-functions/fgetc.texi: Likewise.
47414         * doc/posix-functions/fputc.texi: Likewise.
47415         * doc/posix-functions/fread.texi: Likewise.
47416         * doc/posix-functions/fwrite.texi: Likewise.
47418 2011-09-25  Bruno Haible  <bruno@clisp.org>
47420         msvc-inval: Allow three invalid parameter handling modes.
47421         * lib/msvc-inval.h: Don't include <stdlib.h> here.
47422         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
47423         macros.
47424         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
47425         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
47426         SANE_LIBRARY_HANDLING as a no-op.
47427         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
47428         <stdlib.h>.
47429         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
47431 2011-09-25  Bruno Haible  <bruno@clisp.org>
47433         msvc-inval: Make handler multithread-safe.
47434         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
47435         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
47436         declarations.
47437         (gl_msvc_inval_current): New declaration.
47438         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47439         Operate on the structure returned by gl_msvc_inval_current().
47440         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
47441         Remove varaiables.
47442         (tls_index, tls_initialized): New variables.
47443         (not_per_thread): New variable.
47444         (gl_msvc_inval_current): New function.
47445         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
47446         returned by gl_msvc_inval_current().
47448 2011-09-25  Bruno Haible  <bruno@clisp.org>
47450         msvc-inval: Install handler globally.
47451         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
47452         !_MSC_VER.
47453         (gl_msvc_invalid_parameter_handler): Remove declaration.
47454         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
47455         declarations.
47456         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
47457         Install the handler globally, don't uninstall it.
47458         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
47459         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
47460         currently valid, call RaiseException instead.
47461         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
47462         for !_MSC_VER.
47464 2011-09-25  Bruno Haible  <bruno@clisp.org>
47466         strerror_r-posix: Fix for MSVC 9.
47467         * lib/strerror_r.c (local_snprintf): New function.
47468         (snprintf): Define to local_snprintf, not to _snprintf.
47470 2011-09-25  Bruno Haible  <bruno@clisp.org>
47472         ftruncate: Support for MSVC 9.
47473         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
47474         (chsize_nothrow): New function.
47475         (chsize): Redefine as a macro.
47476         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
47477         * modules/ftruncate (Depends-on): Add msvc-inval.
47479 2011-09-25  Bruno Haible  <bruno@clisp.org>
47481         New module 'fstat'.
47482         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
47483         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
47484         * lib/fchdir.c (rpl_fstat): Remove function.
47485         * m4/fstat.m4: New file.
47486         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
47487         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
47488         declared.
47489         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
47490         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
47491         * modules/fstat: New file.
47492         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
47493         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
47494         is set.
47495         * doc/posix-functions/fstat.texi: Mention the new module and the
47496         problem on MSVC.
47497         * NEWS: Mention the change.
47498         * modules/acl (Depends-on): Add fstat.
47499         * modules/chdir-safer (Depends-on): Likewise.
47500         * modules/chown (Depends-on): Likewise.
47501         * modules/copy-file (Depends-on): Likewise.
47502         * modules/fchdir (Depends-on): Likewise.
47503         * modules/fdopendir (Depends-on): Likewise.
47504         * modules/fopen (Depends-on): Likewise.
47505         * modules/fts (Depends-on): Likewise.
47506         * modules/getcwd (Depends-on): Likewise.
47507         * modules/isapipe (Depends-on): Likewise.
47508         * modules/linkat (Depends-on): Likewise.
47509         * modules/lseek (Depends-on): Likewise.
47510         * modules/mkdir-p (Depends-on): Likewise.
47511         * modules/open (Depends-on): Likewise.
47512         * modules/openat (Depends-on): Likewise.
47513         * modules/read-file (Depends-on): Likewise.
47514         * modules/renameat (Depends-on): Likewise.
47515         * modules/utimens (Depends-on): Likewise.
47517 2011-09-25  Bruno Haible  <bruno@clisp.org>
47519         linkat: Fix compilation on MSVC 9.
47520         * lib/linkat.c: Don't include <stdint.h>.
47522 2011-09-25  Bruno Haible  <bruno@clisp.org>
47524         fclose: Support for MSVC 9.
47525         * lib/fclose.c: Include msvc-inval.h.
47526         (fclose_nothrow): New function.
47527         (rpl_fclose): Use it.
47528         * modules/fclose (Depends-on): Add msvc-inval.
47529         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
47531 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
47533         dup2: minor simplifications
47534         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
47535         that it's a performance win.
47536         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
47537         ! defined __CYGWIN__)" to "ifdef F_GETFL".
47539 2011-09-24  Jim Meyering  <meyering@redhat.com>
47541         test-futimens: avoid a warning from gcc -Wshadow
47542         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
47543         to avoid a shadowing warning.
47545 2011-09-24  Bruno Haible  <bruno@clisp.org>
47547         fdopen: Support for MSVC 9.
47548         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
47549         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
47550         * lib/fdopen.c: Include msvc-inval.h.
47551         (fdopen_nothrow): New function.
47552         (rpl_fdopen): Use it.
47553         * modules/fdopen (Depends-on): Add msvc-inval.
47554         * modules/fclose-tests (Depends-on): Add fdopen.
47555         * modules/fflush-tests (Depends-on): Likewise.
47556         * modules/fgetc-tests (Depends-on): Likewise.
47557         * modules/fputc-tests (Depends-on): Likewise.
47558         * modules/fread-tests (Depends-on): Likewise.
47559         * modules/freopen-tests (Depends-on): Likewise.
47560         * modules/fseeko-tests (Depends-on): Likewise.
47561         * modules/ftello-tests (Depends-on): Likewise.
47562         * modules/fwrite-tests  (Depends-on): Likewise.
47563         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
47565 2011-09-24  Bruno Haible  <bruno@clisp.org>
47567         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
47568         * modules/fgetc-tests (Depends-on): Add unistd.
47569         * modules/fputc-tests (Depends-on): Likewise.
47570         * modules/fread-tests (Depends-on): Likewise.
47571         * modules/fwrite-tests (Depends-on): Likewise.
47573 2011-09-24  Bruno Haible  <bruno@clisp.org>
47575         dup: Simplify autoconf test.
47576         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
47577         on gl_MSVC_INVAL's result.
47579 2011-09-24  Bruno Haible  <bruno@clisp.org>
47581         Tests for function fwrite().
47582         * modules/fwrite-tests: New file.
47583         * tests/test-fwrite.c: New file.
47584         * modules/stdio-tests (Depends-on): Add fwrite-tests.
47586         Tests for function fread().
47587         * modules/fread-tests: New file.
47588         * tests/test-fread.c: New file.
47589         * modules/stdio-tests (Depends-on): Add fread-tests.
47591         Activate fputc tests.
47592         * modules/stdio-tests (Depends-on): Add fputc-tests.
47594         Enhance fgetc, fputc tests.
47595         * tests/test-fgetc.c (main): Also test the stream's error indicator.
47596         * tests/test-fputc.c (main): Likewise.
47598 2011-09-24  Bruno Haible  <bruno@clisp.org>
47600         write: Support for MSVC 9.
47601         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47602         is not 1.
47603         * lib/write.c (write_nothrow): New function.
47604         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
47605         not 1. Use write_nothrow.
47606         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
47607         invalid parameter handler.
47608         (gl_PREREQ_WRITE): New macro.
47609         * modules/write (Depends-on): Add msvc-inval.
47610         (configure.ac): Invoke gl_PREREQ_WRITE.
47611         * doc/posix-functions/write.texi: Mention the problem on MSVC.
47613 2011-09-24  Bruno Haible  <bruno@clisp.org>
47615         read: Fix last commit.
47616         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
47618 2011-09-24  Bruno Haible  <bruno@clisp.org>
47620         dup2: Fix last commit.
47621         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
47622         (rpl_dup2): Disable fcntl workaround on native Windows.
47624         sigprocmask: Make code safer.
47625         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
47626         section that changes macro definitions for this compilation unit.
47628 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
47630         dup2: clarify by coalescing Windows-specific material
47631         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
47632         "msvc-nothrow.h"' to the Windows-specific section, so that the
47633         Emacs source need not contain these include files.
47634         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
47635         Windows-specific fixes into this function rather than just the
47636         nothrow fix, as this shortens and clarifies the code.  Always
47637         define as a function, as that's a bit cleaner than having it be
47638         sometimes a function and sometimes a macro.
47639         (rpl_dup2): Move the Windows-specific stuff out of here and into
47640         ms_windows_dup2.  Don't protect the Haiku-related fix with
47641         "#if !defined __linux__", as the same code also works around
47642         a Linux kernel bug, and it doesn't add any system calls on any
47643         platform.  Add comment about FreeBSD 6.1.
47645         sigprocmask: move #include directive
47646         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
47647         Windows-specific section, so that the Emacs source need not
47648         contain msvc-inval.h.
47650 2011-09-23  Bruno Haible  <bruno@clisp.org>
47652         read: Support for MSVC 9.
47653         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
47654         is not 1.
47655         * lib/read.c (read_nothrow): New function.
47656         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
47657         read_nothrow.
47658         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
47659         invalid parameter handler.
47660         (gl_PREREQ_READ): New macro.
47661         * modules/read (Depends-on): Add msvc-inval.
47662         (configure.ac): Invoke gl_PREREQ_READ.
47663         * doc/posix-functions/read.texi: Mention the problem on MSVC.
47665 2011-09-23  Bruno Haible  <bruno@clisp.org>
47667         close: Support for MSVC 9.
47668         * lib/close.c: Include <errno.h>, msvc-inval.h.
47669         (close_nothrow): New function.
47670         (rpl_close): Use it.
47671         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
47672         invalid parameter handler.
47673         * modules/close (Depends-on): Add msvc-inval.
47674         * modules/dup2-tests (Depends-on): Add close.
47675         * modules/dup3-tests (Depends-on): Likewise.
47676         * modules/fcntl-tests (Depends-on): Likewise.
47677         * modules/spawn-pipe-tests (Depends-on): Likewise.
47678         * modules/unistd-safer-tests (Depends-on): Likewise.
47679         * doc/posix-functions/close.texi: Mention the problem on MSVC.
47681 2011-09-23  Bruno Haible  <bruno@clisp.org>
47683         New module 'dup'.
47684         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
47685         Allow replacement.
47686         * lib/dup.c: New file.
47687         * lib/fchdir.c (rpl_dup): Remove function.
47688         * m4/dup.m4: New file.
47689         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
47690         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
47691         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
47692         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
47693         * modules/dup: New file.
47694         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
47695         'dup' module is in use.
47696         * modules/fdopendir (Depends-on): Add dup.
47697         * modules/fdutimensat-tests (Depends-on): Likewise.
47698         * modules/fts (Depends-on): Likewise.
47699         * modules/futimens-tests (Depends-on): Likewise.
47700         * modules/posix_spawnp-tests (Depends-on): Likewise.
47701         * modules/unistd-safer-tests (Depends-on): Likewise.
47702         * modules/utimens-tests (Depends-on): Likewise.
47703         * doc/posix-functions/dup.texi: Mention the new module and the problem
47704         on MSVC.
47706 2011-09-23  Bruno Haible  <bruno@clisp.org>
47708         getdtablesize: Support for MSVC 9.
47709         * lib/getdtablesize.c: Include msvc-inval.h.
47710         (_setmaxstdio_nothrow): New function.
47711         (_setmaxstdio): Redefine it.
47712         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
47713         * modules/getdtablesize (Depends-on): Add msvc-inval.
47714         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
47716 2011-09-23  Bruno Haible  <bruno@clisp.org>
47718         signal-h: Rename from signal.
47719         * modules/signal-h: Renamed from modules/signal.
47720         * modules/pthread_sigmask (Depends-on): Update.
47721         * modules/raise (Depends-on): Likewise.
47722         * modules/sigaction (Depends-on): Likewise.
47723         * modules/sigpipe (Depends-on): Likewise.
47724         * modules/sigprocmask (Depends-on): Likewise.
47725         * modules/sys_select (Depends-on): Likewise.
47726         * modules/signal-h-tests: Renamed from modules/signal-tests.
47727         (Files, Depends-on, Makefile.am): Update.
47728         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
47729         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
47730         (Files, Makefile.am): Update.
47731         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
47732         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
47733         * modules/signal: New placeholder file.
47734         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
47735         * doc/posix-headers/signal.texi: Update.
47736         * NEWS: Mention the change.
47738 2011-09-23  Bruno Haible  <bruno@clisp.org>
47740         sigprocmask: Avoid crashes through signal() on MSVC 9.
47741         * lib/sigprocmask.c: Include msvc-inval.h.
47742         (signal_nothrow): New function.
47743         (signal): Redefine it.
47744         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
47745         * modules/sigprocmask (Depends-on): Add msvc-inval.
47746         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
47748 2011-09-23  Bruno Haible  <bruno@clisp.org>
47750         Tests for module 'raise'.
47751         * modules/raise-tests: New file.
47752         * tests/test-raise.c: New file.
47754         raise: Support for MSVC.
47755         * lib/signal.in.h (raise): New declaration.
47756         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
47757         for native Windows platforms.
47758         * m4/raise.m4: New file.
47759         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
47760         HAVE_RAISE, REPLACE_RAISE.
47761         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
47762         REPLACE_RAISE.
47763         * modules/raise (Status, Notice): Remove fields.
47764         (Files): Add m4/raise.m4.
47765         (Depends-on): Add signal, msvc-inval.
47766         (configure.ac): Use the common idioms.
47767         (Maintainer): Add me.
47768         * tests/test-signal-c++.cc: Check the signature of raise.
47769         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
47771 2011-09-23  Bruno Haible  <bruno@clisp.org>
47773         pipe2: Fix compilation on pre-C99 compilers.
47774         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
47776 2011-09-23  Bruno Haible  <bruno@clisp.org>
47778         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
47779         * lib/msvc-nothrow.h: New file.
47780         * lib/msvc-nothrow.c: New file.
47781         * m4/msvc-nothrow.m4: New file.
47782         * modules/msvc-nothrow: New file.
47783         * lib/dup2.c: Include msvc-nothrow.h.
47784         (rpl_dup2): No need to protect _get_osfhandle call here.
47785         * lib/accept4.c: Include msvc-nothrow.h.
47786         * lib/error.c: Likewise.
47787         * lib/fcntl.c: Likewise.
47788         * lib/lseek.c: Likewise.
47789         * lib/nonblocking.c: Likewise.
47790         * lib/poll.c: Likewise.
47791         * lib/read.c: Likewise.
47792         * lib/select.c: Likewise.
47793         * lib/sockets.h: Likewise.
47794         * lib/sockets.c: Likewise.
47795         * lib/stdio-read.c: Likewise.
47796         * lib/stdio-write.c: Likewise.
47797         * lib/write.c: Likewise.
47798         * lib/w32sock.h: Likewise.
47799         * lib/w32spawn.h: Likewise.
47800         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
47801         * lib/fsync.c: Likewise.
47802         * lib/isapipe.c: Likewise.
47803         * modules/dup2 (Depends-on): Add msvc-nothrow.
47804         * modules/accept4 (Depends-on): Likewise.
47805         * modules/error (Depends-on): Likewise.
47806         * modules/fcntl (Depends-on): Likewise.
47807         * modules/lseek (Depends-on): Likewise.
47808         * modules/nonblocking (Depends-on): Likewise.
47809         * modules/poll (Depends-on): Likewise.
47810         * modules/read (Depends-on): Likewise.
47811         * modules/select (Depends-on): Likewise.
47812         * modules/sockets (Depends-on): Likewise.
47813         * modules/sigpipe (Depends-on): Likewise.
47814         * modules/write (Depends-on): Likewise.
47815         * modules/accept (Depends-on): Likewise.
47816         * modules/bind (Depends-on): Likewise.
47817         * modules/connect (Depends-on): Likewise.
47818         * modules/gethostname (Depends-on): Likewise.
47819         * modules/getpeername (Depends-on): Likewise.
47820         * modules/getsockname (Depends-on): Likewise.
47821         * modules/getsockopt (Depends-on): Likewise.
47822         * modules/ioctl (Depends-on): Likewise.
47823         * modules/listen (Depends-on): Likewise.
47824         * modules/recv (Depends-on): Likewise.
47825         * modules/recvfrom (Depends-on): Likewise.
47826         * modules/send (Depends-on): Likewise.
47827         * modules/sendto (Depends-on): Likewise.
47828         * modules/setsockopt (Depends-on): Likewise.
47829         * modules/shutdown (Depends-on): Likewise.
47830         * modules/socket (Depends-on): Likewise.
47831         * modules/execute (Depends-on): Likewise.
47832         * modules/spawn-pipe (Depends-on): Likewise.
47833         * modules/flock (Depends-on): Likewise.
47834         * modules/fsync (Depends-on): Likewise.
47835         * modules/isapipe (Depends-on): Likewise.
47836         * tests/test-cloexec.c: Include msvc-nothrow.h.
47837         * tests/test-dup-safer.c: Likewise.
47838         * tests/test-dup2.c: Likewise.
47839         * tests/test-dup3.c: Likewise.
47840         * tests/test-fcntl.c: Likewise.
47841         * tests/test-pipe.c: Likewise.
47842         * tests/test-pipe2.c: Likewise.
47843         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
47844         * modules/unistd-safer-tests (Depends-on): Likewise.
47845         * modules/dup2-tests (Depends-on): Likewise.
47846         * modules/dup3-tests (Depends-on): Likewise.
47847         * modules/fcntl-tests (Depends-on): Likewise.
47848         * modules/pipe-posix-tests (Depends-on): Likewise.
47849         * modules/pipe2-tests (Depends-on): Likewise.
47851 2011-09-23  Bruno Haible  <bruno@clisp.org>
47853         dup2: Make code more maintainable.
47854         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
47855         (rpl_dup2): Use it.
47856         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
47857         * modules/dup2 (configure.ac): Invoke it.
47858         Reported by Paul Eggert.
47860 2011-09-23  Bruno Haible  <bruno@clisp.org>
47862         msvc-inval: Fix compilation error.
47863         * lib/msvc-inval.h: Include <excpt.h>.
47865 2011-09-23  Bruno Haible  <bruno@clisp.org>
47867         mkdir: Tweak for MSVC 9.
47868         * lib/sys_stat.in.h: Update comments.
47869         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
47871         Tests for module 'chdir'.
47872         * modules/chdir-tests: New file.
47873         * tests/test-chdir.c: New file.
47875         New module 'chdir'.
47876         * modules/chdir: New file.
47877         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
47878         (chdir): New declaration.
47879         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
47880         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
47881         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
47882         * tests/test-unistd-c++.cc: Check signature of chdir.
47883         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
47884         * modules/chdir-long (Depends-on): Add chdir.
47885         * modules/fchdir (Depends-on): Likewise.
47886         * modules/rename (Depends-on): Likewise.
47887         * modules/savewd (Depends-on): Likewise.
47889         rmdir: Support for mingw, MSVC 9.
47890         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
47891         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
47893         getcwd: Tweak for MSVC 9.
47894         * lib/unistd.in.h: Update comments.
47895         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
47897 2011-09-22  Bruno Haible  <bruno@clisp.org>
47899         strerror_r-posix: Avoid a link error on MSVC.
47900         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
47901         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
47903 2011-09-22  Bruno Haible  <bruno@clisp.org>
47905         select: Avoid link errors on MSVC.
47906         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
47907         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
47908         * modules/pselect (Link): Likewise.
47909         * NEWS: Mention the change.
47910         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
47911         test-select-stdin against $(LIB_SELECT).
47912         * modules/pselect-tests (Makefile.am): Link test-pselect against
47913         $(LIB_SELECT).
47915 2011-09-22  Bruno Haible  <bruno@clisp.org>
47917         select: Avoid compilation error on MSVC.
47918         * lib/select.c: Don't include <stdbool.h>.
47920 2011-09-21  Bruno Haible  <bruno@clisp.org>
47922         Consolidate all uses of PATH_MAX in *.m4 files.
47923         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
47924         macros.
47925         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
47926         and gl_PATHMAX_SNIPPET.
47927         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
47928         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
47929         * modules/chdir-long (Files): Add m4/pathmax.m4.
47930         * modules/getcwd (Files): Likewise.
47932 2011-09-21  Bruno Haible  <bruno@clisp.org>
47934         ftruncate: Un-deprecate, concentrate on Win32 support.
47935         * modules/ftruncate (Status, Notice): Remove sections.
47936         (Depends-on): Add largefile.
47937         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
47938         non-mingw platforms.
47939         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
47940         include <io.h>.
47941         * modules/perror-tests (Depends-on): Add ftruncate.
47942         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
47943         'ftruncate' module.
47945 2011-09-21  Bruno Haible  <bruno@clisp.org>
47947         Add dependencies to new dirent related modules.
47948         * modules/opendir (Depends-on): Add closedir.
47949         * modules/getcwd (Depends-on): Add opendir, closedir.
47950         * modules/dirent-safer-tests (Depends-on): Likewise.
47951         * modules/fdopendir-tests (Depends-on): Likewise.
47952         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
47953         * modules/renameat-tests (Depends-on): Likewise.
47955 2011-09-21  Bruno Haible  <bruno@clisp.org>
47957         opendir: Avoid compilation error on mingw.
47958         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
47959         * modules/opendir (Depends-on): Add unistd.
47961 2011-09-21  Bruno Haible  <bruno@clisp.org>
47963         ftruncate tests: Avoid a test failure on mingw.
47964         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
47966 2011-09-21  Bruno Haible  <bruno@clisp.org>
47968         select tests: Avoid test failures on OSF/1 5.1 and mingw.
47969         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
47970         native Windows.
47972 2011-09-21  Bruno Haible  <bruno@clisp.org>
47974         New module 'fdopen'.
47975         * lib/stdio.in.h (fdopen): New declaration.
47976         * lib/fdopen.c: New file.
47977         * m4/fdopen.m4: New file.
47978         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
47979         REPLACE_FDOPEN.
47980         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
47981         REPLACE_FDOPEN.
47982         * modules/fdopen: New file.
47983         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
47984         * tests/test-stdio-c++.cc: Check signature of fdopen.
47985         * doc/posix-functions/fdopen.texi: Mention the new module.
47987 2011-09-21  Bruno Haible  <bruno@clisp.org>
47989         unlockpt tests: Avoid test failure on NetBSD 5.1.
47990         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
47991         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
47993 2011-09-21  Bruno Haible  <bruno@clisp.org>
47995         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
47996         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
47997         * tests/test-getlogin_r.c (main): Likewise.
47999 2011-09-20  Bruno Haible  <bruno@clisp.org>
48001         time tests: Don't require pid_t.
48002         * doc/posix-headers/time.texi: Revert last change.
48003         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
48004         * tests/test-time.c: Comment out the check for pid_t.
48006 2011-09-20  Bruno Haible  <bruno@clisp.org>
48008         fsync tests: Avoid a test failure on mingw.
48009         * tests/test-fsync.c (main): Allow a failure with EIO.
48011 2011-09-20  Bruno Haible  <bruno@clisp.org>
48013         euidaccess: Update comments.
48014         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
48016 2011-09-20  Bruno Haible  <bruno@clisp.org>
48018         Ensure EBADF returns for socket functions on mingw.
48019         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
48020         descriptor is invalid.
48021         * lib/bind.c (rpl_bind): Likewise.
48022         * lib/connect.c (rpl_connect): Likewise.
48023         * lib/getpeername.c (rpl_getpeername): Likewise.
48024         * lib/getsockname.c (rpl_getsockname): Likewise.
48025         * lib/getsockopt.c (rpl_getsockopt): Likewise.
48026         * lib/listen.c (rpl_listen): Likewise.
48027         * lib/recv.c (rpl_recv): Likewise.
48028         * lib/recvfrom.c (rpl_recvfrom): Likewise.
48029         * lib/send.c (rpl_send): Likewise.
48030         * lib/sendto.c (rpl_sendto): Likewise.
48031         * lib/setsockopt.c (rpl_setsockopt): Likewise.
48032         * lib/shutdown.c (rpl_shutdown): Likewise.
48034 2011-09-20  Bruno Haible  <bruno@clisp.org>
48036         select tests: EBADF tests.
48037         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
48038         test_bad_fd): New functions.
48039         (test_function): Invoke also test_bad_fd.
48041 2011-09-20  Bruno Haible  <bruno@clisp.org>
48043         Tests for module 'posix_spawn_file_actions_addopen.
48044         * modules/posix_spawn_file_actions_addopen-tests: New file.
48045         * tests/test-posix_spawn_file_actions_addopen.c: New file.
48047         Tests for module 'posix_spawn_file_actions_adddup2'.
48048         * modules/posix_spawn_file_actions_adddup2-tests: New file.
48049         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
48051         Tests for module 'posix_spawn_file_actions_addclose'.
48052         * modules/posix_spawn_file_actions_addclose-tests: New file.
48053         * tests/test-posix_spawn_file_actions_addclose.c: New file.
48055 2011-09-20  Bruno Haible  <bruno@clisp.org>
48057         Tests for module 'unlockpt'.
48058         * modules/unlockpt-tests: New file.
48059         * tests/test-unlockpt.c: New file.
48060         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
48062         Tests for module 'grantpt'.
48063         * modules/grantpt-tests: New file.
48064         * tests/test-grantpt.c: New file.
48065         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
48067 2011-09-20  Bruno Haible  <bruno@clisp.org>
48069         freopen tests: EBADF tests.
48070         * tests/test-freopen.c: Include errno.h, unistd.h.
48071         (main): Add tests for EBADF, commented out for the moment.
48073         fclose tests: EBADF tests.
48074         * tests/test-fclose.c (main): Add tests for EBADF.
48076         fflush tests: EBADF tests.
48077         * tests/test-fflush.c: Include errno.h, macros.h.
48078         (main): Add tests for EBADF.
48080         ftello tests: EBADF tests.
48081         * tests/test-ftello4.sh: New file.
48082         * tests/test-ftello4.c: New file.
48083         * modules/ftello-tests (Files): Add them.
48084         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
48086         fseeko tests: EBADF tests.
48087         * tests/test-fseeko4.sh: New file.
48088         * tests/test-fseeko4.c: New file.
48089         * modules/fseeko-tests (Files): Add them.
48090         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
48092         Tests for function fputc().
48093         * modules/fputc-tests: New file.
48094         * tests/test-fputc.c: New file.
48095         * modules/stdio-tests (Depends-on): Add fputc-tests.
48097         Tests for function fgetc().
48098         * modules/fgetc-tests: New file.
48099         * tests/test-fgetc.c: New file.
48100         * modules/stdio-tests (Depends-on): Add fgetc-tests.
48102         Tests for function fdopen().
48103         * modules/fdopen-tests: New file.
48104         * tests/test-fdopen.c: New file.
48105         * modules/stdio-tests (Depends-on): Add fdopen-tests.
48107         Tests for module 'vdprintf'.
48108         * modules/vdprintf-tests: New file.
48109         * tests/test-vdprintf.c: New file.
48111         Tests for module 'dprintf'.
48112         * modules/dprintf-tests: New file.
48113         * tests/test-dprintf.c: New file.
48115 2011-09-20  Bruno Haible  <bruno@clisp.org>
48117         Tests for module 'ioctl'.
48118         * modules/ioctl-tests: New file.
48119         * tests/test-ioctl.c: New file.
48121 2011-09-20  Bruno Haible  <bruno@clisp.org>
48123         fcntl tests: EBADF tests.
48124         * tests/test-fcntl.c (main): Add more tests for EBADF.
48126 2011-09-20  Bruno Haible  <bruno@clisp.org>
48128         utimensat tests: EBADF tests.
48129         * tests/test-utimensat.c (main): Add tests for EBADF.
48131         renameat tests: EBADF tests.
48132         * tests/test-renameat.c (main): Add tests for EBADF.
48134         mkfifoat tests: EBADF tests.
48135         * tests/test-mkfifoat.c (main): Add tests for EBADF.
48137         readlinkat tests: EBADF tests.
48138         * tests/test-readlinkat.c (main): Add tests for EBADF.
48140         symlinkat tests: EBADF tests.
48141         * tests/test-symlinkat.c (main): Add tests for EBADF.
48143         linkat tests: EBADF tests.
48144         * tests/test-linkat.c (main): Add tests for EBADF.
48146         Tests for module 'faccessat'.
48147         * modules/faccessat-tests: New file.
48148         * tests/test-faccessat.c: New file.
48150         fdopendir tests: EBADF tests.
48151         * tests/test-fdopendir.c (main): Add more tests for EBADF.
48153         openat tests: EBADF tests.
48154         * tests/test-fchownat.c (main): Add tests for EBADF.
48155         * tests/test-fstatat.c (main): Likewise.
48156         * tests/test-mkdirat.c (main): Likewise.
48157         * tests/test-openat.c (main): Likewise.
48158         * tests/test-unlinkat.c (main): Likewise.
48159         * tests/test-fchmodat.c: New file.
48160         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
48161         (Makefile.am): Also run 'test-fchmodat'.
48163 2011-09-20  Bruno Haible  <bruno@clisp.org>
48165         utimens, futimens, fdutimensat tests: EBADF tests.
48166         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
48168         Tests for function fstat().
48169         * modules/fstat-tests: New file.
48170         * tests/test-fstat.c: New file.
48171         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
48173 2011-09-20  Bruno Haible  <bruno@clisp.org>
48175         test-ttyname_r tests: EBADF tests.
48176         * tests/test-ttyname_r.c (main): Add tests for EBADF.
48178         Tests for module 'isatty'.
48179         * modules/isatty-tests: New file.
48180         * tests/test-isatty.c: New file.
48182         Tests for module 'write'.
48183         * modules/write-tests: New file.
48184         * tests/test-write.c: New file.
48186         Tests for module 'read'.
48187         * modules/read-tests: New file.
48188         * tests/test-read.c: New file.
48190         pwrite tests: EBADF tests.
48191         * tests/test-pwrite.c (main): Add tests for EBADF.
48193         pread tests: EBADF tests.
48194         * tests/test-pread.c (main): Add tests for EBADF.
48196         lseek tests: EBADF tests.
48197         * tests/test-lseek.c (main): Add more tests for EBADF.
48199         Tests for module 'ftruncate'.
48200         * modules/ftruncate-tests: New file.
48201         * tests/test-ftruncate.sh: New file.
48202         * tests/test-ftruncate.c: New file.
48204         fsync tests: EBADF tests.
48205         * tests/test-fsync.c (main): Add more tests for EBADF.
48207         fdatasync tests: EBADF tests.
48208         * tests/test-fdatasync.c (main): Add more tests for EBADF.
48210         Tests for module 'fchown'.
48211         * modules/fchown-tests: New file.
48212         * tests/test-fchown.c: New file.
48214         Tests for module 'fchmod'.
48215         * modules/fchmod-tests: New file.
48216         * tests/test-fchmod.c: New file.
48218         fchdir tests: EBADF tests.
48219         * tests/test-fchdir.c (main): Add more tests for EBADF.
48221         dup2 tests: EBADF tests.
48222         * tests/test-dup2.c (main): Add more tests for EBADF.
48224         Tests for module 'dup'.
48225         * modules/dup-tests: New file.
48226         * tests/test-dup.c: New file.
48228         Tests for module 'close'.
48229         * modules/close-tests: New file.
48230         * tests/test-close.c: New file.
48232 2011-09-20  Bruno Haible  <bruno@clisp.org>
48234         Tests for module 'shutdown'.
48235         * modules/shutdown-tests: New file.
48236         * tests/test-shutdown.c: New file.
48238         Tests for module 'setsockopt'.
48239         * modules/setsockopt-tests: New file.
48240         * tests/test-setsockopt.c: New file.
48242         Tests for module 'sendto'.
48243         * modules/sendto-tests: New file.
48244         * tests/test-sendto.c: New file.
48246         Tests for module 'send'.
48247         * modules/send-tests: New file.
48248         * tests/test-send.c: New file.
48250         Tests for module 'recvfrom'.
48251         * modules/recvfrom-tests: New file.
48252         * tests/test-recvfrom.c: New file.
48254         Tests for module 'recv'.
48255         * modules/recv-tests: New file.
48256         * tests/test-recv.c: New file.
48258         Tests for module 'listen'.
48259         * modules/listen-tests: New file.
48260         * tests/test-listen.c: New file.
48262         Tests for module 'getsockopt'.
48263         * modules/getsockopt-tests: New file.
48264         * tests/test-getsockopt.c: New file.
48266         Tests for module 'getsockname'.
48267         * modules/getsockname-tests: New file.
48268         * tests/test-getsockname.c: New file.
48270         Tests for module 'getpeername'.
48271         * modules/getpeername-tests: New file.
48272         * tests/test-getpeername.c: New file.
48274         Tests for module 'connect'.
48275         * modules/connect-tests: New file.
48276         * tests/test-connect.c: New file.
48278         Tests for module 'bind'.
48279         * modules/bind-tests: New file.
48280         * tests/test-bind.c: New file.
48282         accept4 tests: Fix for native Windows.
48283         * tests/test-accept4.c: Include sockets.h.
48284         (main): Invoke gl_sockets_startup.
48285         * modules/accept4-tests (Depends-on): Add sockets.
48287         accept tests: Fix for native Windows.
48288         * tests/test-accept.c: Include sockets.h.
48289         (main): Invoke gl_sockets_startup.
48290         * modules/accept-tests (Depends-on): Add sockets.
48292 2011-09-19  Bruno Haible  <bruno@clisp.org>
48294         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
48295         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
48296         do...while(0).
48297         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
48298         Suggested by Paul Eggert.
48300 2011-09-19  Bruno Haible  <bruno@clisp.org>
48302         sched: Ensure pid_t is defined.
48303         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
48304         not define pid_t.
48305         * lib/sched.in.h: Include <sys/types.h>.
48306         * doc/posix-headers/sched.texi: Mention the pid_t problem.
48307         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
48309 2011-09-19  Bruno Haible  <bruno@clisp.org>
48311         msvc-inval: Ensure the entire expansion is a single statement.
48312         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
48313         of braces.
48315 2011-09-19  Jim Meyering  <meyering@redhat.com>
48317         tests: use printf, not echo in init.sh's warn_ function
48318         * tests/init.sh (warn_): Use printf, not echo.  The latter would
48319         misbehave when given strings containing a backslash or starting
48320         with e.g., -n.  James Youngman suggested setting IFS.
48322 2011-09-19  Eric Blake  <eblake@redhat.com>
48324         futimens: enhance test
48325         * tests/test-futimens.h (test_futimens): Also check for EBADF on
48326         closed non-negative fd.
48328         date: accept 'hence' as opposite of 'ago'
48329         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
48330         * tests/test-parse-datetime.c (main): Enhance test.
48331         Suggested by Jesse Wilson.
48333 2011-09-19  Jim Meyering  <meyering@redhat.com>
48335         getcwd: don't fail in a deep directory on a system without openat
48336         Before this change, getcwd would fail when called from a directory
48337         of depth PATH_MAX / 3 or greater.  That was due to the fact that
48338         the non-openat implementation used "..", "../..", "../../..", etc.
48339         to access ancestor directories.  With too many, that string would
48340         be longer than PATH_MAX.
48341         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
48342         using gnulib's openat replacement.
48343         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
48344         we're using the replacement function.
48346 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
48348         maint.mk: avoid warnings from perl about missing files
48349         * top/maint.mk (def_sym_regex): Ignore files listed in
48350         $(gl_other_headers_) that do not exist, say because a project
48351         does not use a corresponding module.
48353 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
48355         stat: use pathmax.h only if needed
48356         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
48357         This is better for Emacs, which does not have a mingw port and
48358         therefore can avoid the pathmax module.
48360         utimens: remove dependency on dup2
48361         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
48362         to work around the Linux kernel bug.
48363         * modules/utimens (Depends-on): Remove dup2.
48365 2011-09-18  Bruno Haible  <bruno@clisp.org>
48367         inet_ntop, inet_pton: Look for it also in libresolv.
48368         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
48369         libnsl, search for it in libresolv.
48370         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48371         Needed on Solaris 7.
48373 2011-09-18  Bruno Haible  <bruno@clisp.org>
48375         accept, accept4 tests: Avoid link error on Solaris.
48376         * modules/accept-tests (Makefile.am): Link test-accept against
48377         $(LIBSOCKET).
48378         * modules/accept4-tests (Makefile.am): Link test-accept4 against
48379         $(LIBSOCKET).
48381         accept4: Avoid link error on Solaris.
48382         * modules/accept4 (Link): New section.
48384         socket functions: Avoid link errors on Solaris.
48385         * modules/accept (Depends-on): Add socketlib.
48386         (Link): New section.
48387         * modules/bind (Depends-on): Add socketlib.
48388         (Link): New section.
48389         * modules/connect (Depends-on): Add socketlib.
48390         (Link): New section.
48391         * modules/getpeername (Depends-on): Add socketlib.
48392         (Link): New section.
48393         * modules/getsockname (Depends-on): Add socketlib.
48394         (Link): New section.
48395         * modules/getsockopt (Depends-on): Add socketlib.
48396         (Link): New section.
48397         * modules/listen (Depends-on): Add socketlib.
48398         (Link): New section.
48399         * modules/recv (Depends-on): Add socketlib.
48400         (Link): New section.
48401         * modules/recvfrom (Depends-on): Add socketlib.
48402         (Link): New section.
48403         * modules/send (Depends-on): Add socketlib.
48404         (Link): New section.
48405         * modules/sendto (Depends-on): Add socketlib.
48406         (Link): New section.
48407         * modules/setsockopt (Depends-on): Add socketlib.
48408         (Link): New section.
48409         * modules/shutdown (Depends-on): Add socketlib.
48410         (Link): New section.
48411         * modules/socket (Depends-on): Add socketlib.
48412         (Link): New section.
48414 2011-09-18  Bruno Haible  <bruno@clisp.org>
48416         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
48417         * tests/test-ptsname.c (main): Terminate the test if it takes longer
48418         than 5 seconds.
48419         * modules/ptsname-tests (configure.ac): Test for alarm.
48421 2011-09-18  Bruno Haible  <bruno@clisp.org>
48423         posix_spawn_file_actions_add*: Fix module dependencies.
48424         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
48425         posix_spawn_file_actions_init.
48426         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
48427         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
48429 2011-09-18  Bruno Haible  <bruno@clisp.org>
48431         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
48432         * tests/test-rename.h (test_rename): Allow error code EEXIST.
48433         * tests/test-renameat.c (main): Likewise.
48435 2011-09-18  Bruno Haible  <bruno@clisp.org>
48437         Tests for module 'accept4'.
48438         * modules/accept4-tests: New file.
48439         * tests/test-accept4.c: New file.
48441 2011-09-18  Bruno Haible  <bruno@clisp.org>
48443         Tests for module 'accept'.
48444         * modules/accept-tests: New file.
48445         * tests/test-accept.c: New file.
48447 2011-09-18  Bruno Haible  <bruno@clisp.org>
48449         dup2: Support for MSVC.
48450         * lib/dup2.c: Include msvc-inval.h.
48451         (rpl_dup2): Handle invalid parameter notifications during dup2 and
48452         _get_osfhandle calls.
48453         * modules/dup2 (Depends-on): Add msvc-inval.
48454         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
48456         New module 'msvc-inval'.
48457         * lib/msvc-inval.h: New file.
48458         * lib/msvc-inval.c: New file.
48459         * m4/msvc-inval.m4: New file.
48460         * modules/msvc-inval: New file.
48462 2011-09-17  Bruno Haible  <bruno@clisp.org>
48464         Tests for module 'pclose'.
48465         * modules/pclose-tests: New file.
48467         New module 'pclose'.
48468         * lib/stdio.in.h (pclose): New declaration.
48469         * lib/pclose.c: New file.
48470         * m4/pclose.m4: New file.
48471         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
48472         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
48473         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
48474         * modules/pclose: New file.
48475         * modules/popen-tests (Depends-on): Add pclose.
48476         * modules/popen-safer-tests (Depends-on): Likewise.
48477         * doc/posix-functions/pclose.texi: Mention the new module.
48479 2011-09-17  Bruno Haible  <bruno@clisp.org>
48481         popen: Support for MSVC.
48482         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
48483         * lib/popen.c (popen): Provide alternate definition for native Windows.
48484         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
48485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
48486         * modules/popen (Depends-on, configure.ac): Update condition.
48487         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
48488         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
48489         fixed.
48491 2011-09-17  Bruno Haible  <bruno@clisp.org>
48493         isnanl, isnand, isnanf: Work around MSVC bug.
48494         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
48496 2011-09-17  Bruno Haible  <bruno@clisp.org>
48498         sys_socket tests: Fix recent mistake.
48499         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
48501 2011-09-17  Bruno Haible  <bruno@clisp.org>
48503         putenv: Support for MSVC.
48504         * modules/putenv (Depends-on): Add environ.
48505         * lib/putenv.c (environ): Disable declaration.
48506         * lib/unistd.in.h: Update comment.
48508 2011-09-17  Bruno Haible  <bruno@clisp.org>
48510         math: Avoid macro redefinition warnings on MSVC.
48511         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
48512         Undefine before redefining.
48514 2011-09-17  Bruno Haible  <bruno@clisp.org>
48516         doc: Mention functions which are declared as macros.
48517         * doc/posix-functions/*[fl].texi: Mention that some functions are
48518         defined as macros with arguments only.
48520 2011-09-17  Bruno Haible  <bruno@clisp.org>
48522         Add dependencies to new dirent related modules.
48523         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
48524         * modules/fts (Depends-on): Likewise.
48525         * modules/glob (Depends-on): Likewise.
48526         * modules/savedir (Depends-on): Likewise.
48527         * modules/scandir (Depends-on): Likewise.
48528         * modules/dirent-safer (Depends-on): Add opendir, closedir.
48529         * modules/fdopendir (Depends-on): Add opendir.
48531 2011-09-17  Bruno Haible  <bruno@clisp.org>
48533         inet_pton: Support for MSVC on Windows Vista or newer.
48534         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
48535         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
48536         HAVE_DECL_INET_PTON is defined.
48537         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48538         On platforms with <winsock2.h>, test whether inet_pton is declared in
48539         <ws2tcpip.h>. If so, arrange to replace it.
48540         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48541         REPLACE_INET_PTON.
48542         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
48543         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
48544         (Depends-on, configure.ac): Update condition.
48545         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
48547 2011-09-17  Bruno Haible  <bruno@clisp.org>
48549         inet_ntop: Support for MSVC on Windows Vista or newer.
48550         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
48551         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
48552         HAVE_DECL_INET_NTOP is defined.
48553         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
48554         On platforms with <winsock2.h>, test whether inet_ntop is declared in
48555         <ws2tcpip.h>. If so, arrange to replace it.
48556         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
48557         REPLACE_INET_NTOP.
48558         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
48559         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
48560         (Depends-on, configure.ac): Update condition.
48561         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
48563 2011-09-16  Eric Blake  <eblake@redhat.com>
48565         test-fsync: yet another enhancement
48566         * tests/test-fsync.c (main): Also test behavior on read-only text
48567         file.
48569 2011-09-16  Bruno Haible  <bruno@clisp.org>
48571         Enhance fsync, fdatasync tests.
48572         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
48573         * tests/test-fdatasync.c (main): Likewise.
48575 2011-09-16  Bruno Haible  <bruno@clisp.org>
48577         Support for MSVC compiler: Ensure mode_t gets defined.
48578         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
48579         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
48580         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48581         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
48582         * tests/test-fcntl-h.c: Check that mode_t is defined.
48583         * tests/test-sys_stat.c: Likewise.
48584         * tests/test-sys_types.c: Likewise.
48585         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
48586         * doc/posix-headers/sys_stat.texi: Likewise.
48587         * doc/posix-headers/sys_types.texi: Likewise.
48589 2011-09-16  Bruno Haible  <bruno@clisp.org>
48591         sys_stat: Support for MSVC.
48592         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
48593         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
48594         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
48595         MSVC.
48597 2011-09-16  Bruno Haible  <bruno@clisp.org>
48599         Support for MSVC compiler: Ensure off_t gets defined.
48600         * lib/unistd.in.h: Include <sys/types.h>.
48601         * tests/test-fcntl-h.c: Check that off_t is defined.
48602         * tests/test-sys_stat.c: Likewise.
48603         * tests/test-sys_types.c: Likewise.
48605 2011-09-16  Eric Blake  <eblake@redhat.com>
48607         fdatasync: port to Solaris
48608         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
48609         * modules/fdatasync (Link): Document it.
48610         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
48612         fdatasync: port to MacOS X 10.7
48613         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
48614         declared.
48615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
48616         * modules/unistd (Makefile.am): Substitute it.
48617         * lib/unistd.in.h (fdatasync): Declare on MacOS.
48618         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
48620         fdatasync: minor improvements
48621         * modules/fdatasync (Depends-on): Add condition for fsync.
48622         * lib/fdatasync.c (fdatasync): Add comment.
48623         * tests/test-unistd-c++.cc: Test fdatasync.
48625         unistd: update refs to newer POSIX
48626         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
48627         Suggested by Bruno Haible.
48629         fdatasync: new module
48630         * modules/fsync (Description): Document difference to fdatasync.
48631         * modules/fdatasync: New module.
48632         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
48633         * lib/fdatasync.c (fdatasync): Likewise.
48634         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
48635         defaults.
48636         * modules/unistd (Makefile.am): Set witnesses.
48637         * lib/unistd.in.h (fdatasync): Declare.
48638         * MODULES.html.sh: Document it.
48639         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
48640         * modules/fdatasync-tests: New test.
48641         * tests/test-fdatasync.c: Likewise.
48643 2011-09-16  Eric Blake  <eblake@redhat.com>
48645         test-fsync: enhance tests
48646         * modules/fsync-tests (Depends-on): Add errno, for mingw.
48647         * tests/test-fsync.c (main): Enhance test.
48649 2011-09-15  Bruno Haible  <bruno@clisp.org>
48651         Support for MSVC compiler: Ensure ssize_t gets defined.
48652         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
48653         * doc/posix-headers/stdio.texi: Likewise.
48654         * modules/stdio (Depends-on): Add ssize_t.
48655         * modules/sys_socket (Depends-on): Likewise.
48656         * modules/sys_types (Depends-on): Likewise.
48657         * modules/sys_uio (Depends-on): Likewise.
48658         * modules/unistd (Depends-on): Likewise.
48659         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
48660         * tests/test-sys_types.c: Check that ssize_t is defined.
48662 2011-09-14  Bruno Haible  <bruno@clisp.org>
48664         Avoid using #, the m4 comment starter character, near brackets.
48665         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
48666         delimiter character in sed expressions.
48667         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
48668         Suggested by Eric Blake.
48670         Properly quote AC_CHECK_DECLS' 4th argument.
48671         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
48672         argument.
48673         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
48674         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
48675         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
48676         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
48677         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
48678         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
48679         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
48680         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
48681         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
48682         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
48683         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
48684         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
48685         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
48686         * m4/isinf.m4 (gl_ISINF): Likewise.
48687         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
48688         * m4/readutmp.m4 (gl_READUTMP): Likewise.
48689         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48690         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
48691         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
48692         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
48693         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
48694         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
48695         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
48696         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
48697         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
48698         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
48699         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
48700         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48701         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48702         Reported by Eric Blake.
48704         Properly quote AC_CHECK_DECL's 4th argument.
48705         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
48706         argument.
48707         * m4/argp.m4 (gl_ARGP): Likewise.
48708         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
48709         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
48710         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
48711         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
48712         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
48713         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
48714         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
48715         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
48716         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
48717         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
48718         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
48719         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
48720         Reported by Eric Blake.
48722 2011-09-14  Eric Blake  <eblake@redhat.com>
48724         opendir: avoid compile warning
48725         * lib/opendir.c (includes): Always include errno.h.
48726         Reported by Tatsuro MATSUOKA.
48728 2011-09-14  Jim Meyering  <meyering@redhat.com>
48730         maint.mk: sc_tight_scope: propagate failure from sub-make
48731         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
48732         Reported by Martin von Gagern.
48734 2011-09-13  Bruno Haible  <bruno@clisp.org>
48736         tempname: Support for MSVC.
48737         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
48738         MSVC.
48739         * modules/tempname (Depends-on): Add fcntl-h.
48741 2011-09-13  Bruno Haible  <bruno@clisp.org>
48743         sys_time: Support for MSVC.
48744         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
48745         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
48746         include <winsock2.h>.
48747         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
48748         function declarations that collide with POSIX.
48749         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
48750         (Makefile.am): Substitute HAVE_WINSOCK2_H.
48752 2011-09-13  Bruno Haible  <bruno@clisp.org>
48754         stat: Support for MSVC.
48755         * lib/stat.c: Include pathmax.h.
48756         * modules/stat (Depends-on): Add pathmax.
48758         pathmax: Support for native Windows.
48759         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
48761 2011-09-12  Bruno Haible  <bruno@clisp.org>
48763         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
48764         * lib/dirent.in.h (struct dirent): New type.
48765         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
48766         DT_WHT): New macros.
48767         (DIR): New type.
48768         (opendir, closedir): Declare only if the module 'opendir' is enabled.
48769         (readdir, rewinddir): New declarations.
48770         * lib/dirent-private.h: New file.
48771         * lib/opendir.c: New file.
48772         * lib/readdir.c: New file.
48773         * lib/rewinddir.c: New file.
48774         * lib/closedir.c: New file.
48775         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
48776         * m4/opendir.m4: New file.
48777         * m4/readdir.m4: New file.
48778         * m4/rewinddir.m4: New file.
48779         * m4/closedir.m4: New file.
48780         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
48781         REPLACE_CLOSEDIR here.
48782         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
48783         readdir, rewinddir are declared.
48784         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
48785         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
48786         HAVE_REWINDDIR, HAVE_CLOSEDIR.
48787         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
48788         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
48789         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
48790         * modules/opendir: New file.
48791         * modules/readdir: New file.
48792         * modules/rewinddir: New file.
48793         * modules/closedir: New file.
48794         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
48795         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
48796         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
48797         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
48798         * NEWS: Mention the 'fchdir' change.
48800 2011-09-11  Bruno Haible  <bruno@clisp.org>
48802         asm-underscore.m4: Support for MSVC.
48803         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
48804         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
48806 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
48808         Doc about crypt functions.
48809         * doc/posix-functions/crypt.texi: Expand range of glibc versions
48810         needing for _GNU_SOURCE to get crypt.
48811         * doc/posix-functions/encrypt.texi: Likewise.
48812         * doc/posix-functions/setkey.texi: Likewise.
48814 2011-09-11  Bruno Haible  <bruno@clisp.org>
48816         doc: Update regarding MSVC 9.
48817         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
48818         tested".
48819         * doc/posix-functions/*.texi: Update with info about MSVC 9.
48820         * doc/posix-headers/*.texi: Likewise.
48821         * doc/pastposix-functions/*.texi: Likewise.
48822         * doc/glibc-functions/*.texi: Likewise.
48823         * doc/glibc-headers/*.texi: Likewise.
48825 2011-09-11  Bruno Haible  <bruno@clisp.org>
48827         unistd et al.: Don't assume <unistd.h> exists.
48828         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
48829         does not exist.
48830         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
48831         exist. But include <stdlib.h>.
48832         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
48833         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
48834         symlink() does not exist.
48835         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
48836         include <io.h> instead.
48837         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
48838         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
48839         include <direct.h> instead.
48840         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
48841         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
48842         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
48843         <io.h> instead.
48844         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
48845         correctly if the system does not have hard links.
48846         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
48847         <direct.h> instead.
48848         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
48849         it when looking for function declarations.
48850         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
48851         <direct.h> and <io.h> instead.
48852         * doc/posix-headers/unistd.texi: More details about MSVC problem.
48854 2011-09-11  Bruno Haible  <bruno@clisp.org>
48856         strcase: Support for MSVC.
48857         * modules/strcase (Status, Notice): Remove obsoletion mark.
48858         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
48859         * doc/posix-functions/strncasecmp.texi: Likewise.
48861         strings: Don't assume <strings.h> exists.
48862         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
48863         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
48864         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
48865         * doc/posix-headers/strings.texi: Mention the MSVC problem.
48867 2011-09-11  Bruno Haible  <bruno@clisp.org>
48869         dirent: Don't assume <dirent.h> exists.
48870         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
48871         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
48872         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
48873         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
48875 2011-09-11  Bruno Haible  <bruno@clisp.org>
48877         Fix wint_t on MSVC.
48878         * lib/wchar.in.h (wint_t): On MSVC, override it.
48879         * lib/wctype.in.h (wint_t): Likewise.
48880         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
48881         MSVC.
48882         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
48883         * doc/posix-headers/wctype.texi: Likewise.
48885 2011-09-11  Bruno Haible  <bruno@clisp.org>
48887         sys_types: Fix typo.
48888         * lib/sys_types.in.h: Fix typo in comment.
48889         Reported by Paul Eggert.
48891         Support for MSVC compiler: Ensure size_t gets defined.
48892         * modules/strings (Depends-on): Add 'sys_types'.
48893         * modules/sys_uio (Depends-on): Likewise.
48894         * lib/sys_uio.in.h: Update comment.
48896         C++ tests for module 'sys_types'.
48897         * modules/sys_types-c++-tests: New file.
48898         * tests/test-sys_types-c++.cc: New file.
48900         Tests for module 'sys_types'.
48901         * modules/sys_types-tests: New file.
48902         * tests/test-sys_types.c: New file.
48904         New module 'sys_types'.
48905         * lib/sys_types.in.h: New file.
48906         * m4/sys_types_h.m4: New file.
48907         * modules/sys_types: New file.
48908         * doc/posix-headers/sys_types.texi: Mention the new module and the
48909         size_t problem on MSVC 9.
48911 2011-09-11  Bruno Haible  <bruno@clisp.org>
48913         Support for MSVC compiler: Avoid division by a literal 0.
48914         * lib/math.in.h (NAN): Define through a function call also on MSVC.
48915         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
48916         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
48917         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
48918         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
48919         * tests/infinity.h: New file.
48920         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
48921         on MSVC.
48922         * tests/test-ceilf1.c: Include infinity.h.
48923         (main): Use Infinityf.
48924         * tests/test-ceil1.c: Include infinity.h.
48925         (main): Use Infinityd.
48926         * tests/test-ceill.c: Include infinity.h.
48927         (main): Use Infinityl.
48928         * tests/test-dprintf-posix.c: Include infinity.h.
48929         (test_function): Use Infinityd.
48930         * tests/test-floorf1.c: Include infinity.h.
48931         (main): Use Infinityf.
48932         * tests/test-floor1.c: Include infinity.h.
48933         (main): Use Infinityd.
48934         * tests/test-floorl.c: Include infinity.h.
48935         (main): Use Infinityl.
48936         * tests/test-fprintf-posix.c: Include infinity.h.
48937         (test_function): Use Infinityd.
48938         * tests/test-frexp.c: Include infinity.h.
48939         (main): Use Infinityd.
48940         * tests/test-frexpl.c: Include infinity.h.
48941         (main): Use Infinityl.
48942         * tests/test-isfinite.c: Include infinity.h.
48943         (test_isfinitef): Use Infinityf.
48944         (test_isfinited): Use Infinityd.
48945         (test_isfinitel): Use Infinityl.
48946         * tests/test-isinf.c: Include infinity.h.
48947         (test_isinff): Use Infinityf.
48948         (test_isinfd): Use Infinityd.
48949         (test_isinfl): Use Infinityl.
48950         * tests/test-isnan.c: Include infinity.h.
48951         (test_float): Use Infinityf.
48952         (test_double): Use Infinityd.
48953         (test_long_double): Use Infinityl.
48954         * tests/test-isnanf.h: Include infinity.h.
48955         (main): Use Infinityf.
48956         * tests/test-isnand.h: Include infinity.h.
48957         (main): Use Infinityd.
48958         * tests/test-isnanl.h: Include infinity.h.
48959         (main): Use Infinityl.
48960         * tests/test-ldexpl.c: Include infinity.h.
48961         (main): Use Infinityl.
48962         * tests/test-printf-posix.h: Include infinity.h.
48963         (test_function): Use Infinityd.
48964         * tests/test-roundf1.c: Include infinity.h.
48965         (main): Use Infinityf.
48966         * tests/test-round1.c: Include infinity.h.
48967         (main): Use Infinityd.
48968         * tests/test-roundl.c: Include infinity.h.
48969         (main): Use Infinityl.
48970         * tests/test-signbit.c: Include infinity.h.
48971         (test_signbitf): Use Infinityf.
48972         (test_signbitd): Use Infinityd.
48973         (test_signbitl): Use Infinityl.
48974         * tests/test-snprintf-posix.h: Include infinity.h.
48975         (test_function): Use Infinityd, Infinityl.
48976         * tests/test-sprintf-posix.h: Include infinity.h.
48977         (test_function): Use Infinityd, Infinityl.
48978         * tests/test-truncf1.c: Include infinity.h.
48979         (main): Use Infinityf.
48980         * tests/test-trunc1.c: Include infinity.h.
48981         (main): Use Infinityd.
48982         * tests/test-truncl.c: Include infinity.h.
48983         (main): Use Infinityl.
48984         * tests/test-vasnprintf-posix.c: Include infinity.h.
48985         (test_function): Use Infinityd, Infinityl.
48986         * tests/test-vasprintf-posix.c: Include infinity.h.
48987         (test_function): Use Infinityd, Infinityl.
48988         * modules/ceilf-tests (Files): Add tests/infinity.h.
48989         * modules/ceil-tests (Files): Likewise.
48990         * modules/ceill-tests (Files): Likewise.
48991         * modules/dprintf-posix-tests (Files): Likewise.
48992         * modules/floorf-tests (Files): Likewise.
48993         * modules/floor-tests (Files): Likewise.
48994         * modules/floorl-tests (Files): Likewise.
48995         * modules/fprintf-posix-tests (Files): Likewise.
48996         * modules/frexp-tests (Files): Likewise.
48997         * modules/frexp-nolibm-tests (Files): Likewise.
48998         * modules/frexpl-tests (Files): Likewise.
48999         * modules/frexpl-nolibm-tests (Files): Likewise.
49000         * modules/isfinite-tests (Files): Likewise.
49001         * modules/isinf-tests (Files): Likewise.
49002         * modules/isnan-tests (Files): Likewise.
49003         * modules/isnanf-tests (Files): Likewise.
49004         * modules/isnanf-nolibm-tests (Files): Likewise.
49005         * modules/isnand-tests (Files): Likewise.
49006         * modules/isnand-nolibm-tests (Files): Likewise.
49007         * modules/isnanl-tests (Files): Likewise.
49008         * modules/isnanl-nolibm-tests (Files): Likewise.
49009         * modules/ldexpl-tests (Files): Likewise.
49010         * modules/printf-posix-tests (Files): Likewise.
49011         * modules/roundf-tests (Files): Likewise.
49012         * modules/round-tests (Files): Likewise.
49013         * modules/roundl-tests (Files): Likewise.
49014         * modules/signbit-tests (Files): Likewise.
49015         * modules/snprintf-posix-tests (Files): Likewise.
49016         * modules/sprintf-posix-tests (Files): Likewise.
49017         * modules/truncf-tests (Files): Likewise.
49018         * modules/trunc-tests (Files): Likewise.
49019         * modules/truncl-tests (Files): Likewise.
49020         * modules/vasnprintf-posix-tests (Files): Likewise.
49021         * modules/vasprintf-posix-tests (Files): Likewise.
49022         * modules/vdprintf-posix-tests (Files): Likewise.
49023         * modules/vfprintf-posix-tests (Files): Likewise.
49024         * modules/vprintf-posix-tests (Files): Likewise.
49025         * modules/vsnprintf-posix-tests (Files): Likewise.
49026         * modules/vsprintf-posix-tests (Files): Likewise.
49027         * modules/xprintf-posix-tests (Files): Likewise.
49029 2011-09-11  Bruno Haible  <bruno@clisp.org>
49031         Ensure pid_t gets defined.
49032         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
49033         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
49034         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
49035         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
49036         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
49037         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
49038         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
49039         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
49040         * tests/test-fcntl-h.c: Check that pid_t is defined.
49041         * tests/test-sched.c: Likewise.
49042         * tests/test-termios.c: Likewise.
49043         * tests/test-time.c: Likewise.
49044         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
49045         * doc/posix-headers/signal.texi: Likewise.
49046         * doc/posix-headers/sys_types.texi: Likewise.
49047         * doc/posix-headers/time.texi: Likewise.
49049 2011-09-11  Bruno Haible  <bruno@clisp.org>
49051         acl: Fix compilation on Solaris 10 (older version).
49052         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
49053         of ACE_EVERYONE.
49054         * lib/set-mode-acl.c (qset_acl): Likewise.
49055         Reported by Christian Jullien <eligis@orange.fr>.
49057 2011-09-10  Bruno Haible  <bruno@clisp.org>
49059         iconv, unsetenv: Add support for MSVC compiler.
49060         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
49061         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
49063 2011-09-10  Bruno Haible  <bruno@clisp.org>
49065         *printf: Add support for MSVC compiler.
49066         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
49067         handles the exception caused by the %n directive. When cross-compiling,
49068         guess no on native Windows.
49069         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
49070         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
49071         emulate it through vsnprintf.
49072         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
49073         * doc/posix-functions/dprintf.texi: Update documentation regarding
49074         MSVC 9.
49075         * doc/posix-functions/fprintf.texi: Likewise.
49076         * doc/posix-functions/printf.texi: Likewise.
49077         * doc/posix-functions/snprintf.texi: Likewise.
49078         * doc/posix-functions/sprintf.texi: Likewise.
49079         * doc/posix-functions/swprintf.texi: Likewise.
49080         * doc/posix-functions/vdprintf.texi: Likewise.
49081         * doc/posix-functions/vfprintf.texi: Likewise.
49082         * doc/posix-functions/vprintf.texi: Likewise.
49083         * doc/posix-functions/vsnprintf.texi: Likewise.
49084         * doc/posix-functions/vsprintf.texi: Likewise.
49085         * doc/glibc-functions/asprintf.texi: Likewise.
49086         * doc/glibc-functions/obstack_printf.texi: Likewise.
49087         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49088         * doc/glibc-functions/vasprintf.texi: Likewise.
49090 2011-09-10  Bruno Haible  <bruno@clisp.org>
49092         nocrash: Add support for native Windows.
49093         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
49095 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
49096             Bruno Haible  <bruno@clisp.org>
49098         absolute-header, include-next: Add support for MSVC compiler.
49099         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
49100         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
49101         directory separator in #line directives.
49102         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
49103         recognize also backslash as directory separator in #line directives.
49105 2011-09-08  Jim Meyering  <meyering@redhat.com>
49107         maint.mk: mark the post-release commit log with "maint: " prefix
49108         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
49109         one-line commit-log summary.
49111 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
49112             Bruno Haible  <bruno@clisp.org>
49114         Doc about crypt functions.
49115         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
49116         systems.
49117         * doc/posix-functions/encrypt.texi: Likewise.
49118         * doc/posix-functions/setkey.texi: Likewise.
49120 2011-09-08  Simon Josefsson  <simon@josefsson.org>
49122         * lib/gc.h: Fix copyright header.
49124 2011-09-07  Bruno Haible  <bruno@clisp.org>
49126         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
49127         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
49128         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
49130 2011-09-07  Bruno Haible  <bruno@clisp.org>
49132         openat: Work around compilation error with OSF/1 5.1 DTK cc.
49133         * lib/fopen.c: Use different syntax for include of <stdio.h>.
49134         * lib/freopen.c: Likewise.
49135         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
49136         * lib/lstat.c: Likewise.
49137         * lib/stat.c: Likewise.
49138         * lib/open.c: Use different syntax for include of <fcntl.h>.
49139         * lib/openat.c: Include fcntl.h again, explicitly.
49141 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
49143         parse-datetime: document the newly accepted format
49144         * doc/parse-datetime.texi (Combined date and time of day items):
49145         New section.
49147 2011-09-06  Bruno Haible  <bruno@clisp.org>
49149         acl: Fix a test failure on newer Solaris 10 with ZFS.
49150         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
49151         ENOSYS as no ACL.
49152         Reported by Jim Meyering.
49154 2011-09-06  Bruno Haible  <bruno@clisp.org>
49156         acl: Update for AIX >= 5.3 with NFS.
49157         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
49158         ENOSYS as no ACL.
49160         acl: Fix a test failure on AIX >= 5.3 with NFS.
49161         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
49162         as no ACL.
49164 2011-09-06  Bruno Haible  <bruno@clisp.org>
49166         acl: Fix a test failure on IRIX 6.5 with NFS.
49167         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
49168         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
49169         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
49170         * lib/copy-acl.c (qcopy_acl): Likewise.
49172 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
49174         openat: port to AIX 7.1 with large files
49175         AIX 7.1 does a "#define openat open64at" if large files are in use,
49176         so we can't simply #undef openat.  Use the orig_openat trick (similar
49177         to orig_open in lib/open.c) to work around the problem.  Problem
49178         reported by Kevin Brott for GNU tar, in the thread containing
49179         <http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
49180         * lib/openat.c (__need_system_fcntl_h): Define first.
49181         Include <fcntl.h> and <sys/types.h> before undefining.
49182         (orig_openat) [HAVE_OPENAT]: New inline function.
49183         (openat) [HAVE_OPENAT]: Do not undef.
49184         (rpl_openat): Use orig_openat, not openat.
49186 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
49187             Bruno Haible  <bruno@clisp.org>
49189         acl: Avoid errors on NonStop Kernel.
49190         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
49191         ENOTSUP errors.
49193 2011-09-05  Bruno Haible  <bruno@clisp.org>
49195         acl: Clean up Solaris code.
49196         * lib/acl-internal.h: Remove no-op #if.
49197         * lib/file-has-acl.c: Likewise.
49198         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
49199         * lib/copy-acl.c (qcopy_acl): Likewise.
49201 2011-09-05  Bruno Haible  <bruno@clisp.org>
49203         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
49204         binaries built on the original Solaris 10.
49205         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
49206         trivial.
49208 2011-09-05  Bruno Haible  <bruno@clisp.org>
49210         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49211         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
49212         10.
49213         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
49214         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
49215         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
49216         instead of acl_get, facl_get, acl_set, facl_set.
49218 2011-09-05  Bruno Haible  <bruno@clisp.org>
49220         copy-file: Try unit tests on more file systems.
49221         * tests/test-copy-file-1.sh: New file.
49222         * tests/test-copy-file-2.sh: New file.
49223         * modules/copy-file-tests (Files): Add them.
49224         (Makefile.am): Add them to TESTS.
49226         acl: Try unit tests on more file systems.
49227         * tests/test-file-has-acl-1.sh: New file.
49228         * tests/test-file-has-acl-2.sh: New file.
49229         * tests/test-set-mode-acl-1.sh: New file.
49230         * tests/test-set-mode-acl-2.sh: New file.
49231         * tests/test-copy-acl-1.sh: New file.
49232         * tests/test-copy-acl-2.sh: New file.
49233         * modules/acl-tests (Files): Add them.
49234         (Makefile.am): Add them to TESTS.
49236 2011-09-04  Bruno Haible  <bruno@clisp.org>
49238         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
49239         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
49240         10.
49241         (OLD_ALLOW, OLD_DENY): New macros.
49242         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
49243         ACE_ACCESS_ALLOWED_ACE_TYPE.
49244         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
49245         ACE_ACCESS_DENIED_ACE_TYPE.
49246         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
49247         (NEW_ACE_EXECUTE): Fix value.
49248         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
49249         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
49250         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
49251         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
49252         NEW_ACE_SYNCHRONIZE): New macros.
49253         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
49254         instead of acl_fromtext, acl_set, facl_set.
49255         Fixes a coreutils/tests/cp/perm failure.
49257 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
49259         openat: test for fstatat (..., 0) bug
49260         Further testing with tar suggests that fstatat (..., 0)
49261         does not work in general, on AIX 7.1; see
49262         <http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
49263         So, give up entirely on AIX 7.1's fstatat, and fall back on our
49264         replacement fstatat (which is what older AIX releases were using
49265         anyway).
49266         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
49267         use is now changed to orig_fstatat.  This was probably the right
49268         thing to do anyway.
49269         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
49270         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
49271         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
49272         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
49273         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
49274         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
49275         if the bug is found.
49277         openat: test for fstatat (AT_FDCWD, ..., 0) bug
49278         This tests for another fstatat bug on AIX 7.1:
49279         fstatat (AT_FDCWD, ..., 0) does not work.  See
49280         <http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
49281         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
49282         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
49283         (rpl_fstatat): Adjust so that it works around either (or both)
49284         bugs if present.
49285         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
49287 2011-09-03  Karl Berry  <karl@gnu.org>
49289         * doc/regex.texi (Character Class Operators): Avoid literal ":"
49290         in index entries.
49292 2011-09-02  Bruno Haible  <bruno@clisp.org>
49294         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
49295         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
49296         values of AR, ARFLAGS, RANLIB.
49297         Reported by John W. Eaton <jwe@gnu.org> for Octave.
49299 2011-09-02  Bruno Haible  <bruno@clisp.org>
49301         Find 'ar' program that fits with --host argument.
49302         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
49304 2011-09-02  Bruno Haible  <bruno@clisp.org>
49306         tests: init.sh: Support any non-GNU diff.
49307         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
49308         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
49309         Solaris 8.
49311 2011-09-02  Bruno Haible  <bruno@clisp.org>
49313         tests: init.sh: work also with any non-GNU diff that supports -u
49314         * tests/init.sh: Relax check for diff -u support.
49315         Rather than checking for GNU diff via --version, simply check
49316         for support for -u itself.  Useful at least on OpenBSD 4.9,
49317         AIX 7.1, IRIX 6.5, and Solaris 10.
49319 2011-09-01  Bruno Haible  <bruno@clisp.org>
49321         strtoimax, strtoumax: Document problem on HP-UX 11.
49322         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
49323         * doc/posix-functions/strtoumax.texi: Likewise.
49325 2011-09-01  Bruno Haible  <bruno@clisp.org>
49327         strtoumax: Avoid link error on OSF/1 with DTK cc.
49328         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
49329         defined as a function.
49330         * modules/strtoumax (Depends-on, configure.ac): Test only whether
49331         strtoumax is defined, not whether it is declared.
49333 2011-09-01  Bruno Haible  <bruno@clisp.org>
49335         strtoimax: Avoid link error on OSF/1 with DTK cc.
49336         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
49337         defined as a function.
49338         * modules/strtoimax (Depends-on, configure.ac): Test only whether
49339         strtoimax is defined, not whether it is declared.
49341 2011-09-01  Bruno Haible  <bruno@clisp.org>
49343         imaxdiv: Avoid link error on OSF/1 with DTK cc.
49344         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
49345         as a function.
49346         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
49347         whether it is declared.
49349 2011-09-01  Bruno Haible  <bruno@clisp.org>
49351         imaxabs: Avoid link error on OSF/1 with DTK cc.
49352         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
49353         as a function.
49354         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
49355         whether it is declared.
49357 2011-09-01  Bruno Haible  <bruno@clisp.org>
49359         Tests for module 'strtoumax'.
49360         * modules/strtoumax-tests: New file.
49361         * tests/test-strtoumax.c: New file.
49363         Tests for module 'strtoimax'.
49364         * modules/strtoimax-tests: New file.
49365         * tests/test-strtoimax.c: New file.
49367         Tests for module 'imaxdiv'.
49368         * modules/imaxdiv-tests: New file.
49369         * tests/test-imaxdiv.c: New file.
49371         Tests for module 'imaxabs'.
49372         * modules/imaxabs-tests: New file.
49373         * tests/test-imaxabs.c: New file.
49375 2011-09-01  Bruno Haible  <bruno@clisp.org>
49377         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
49378         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
49379         pthread_create.
49381 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49383         openat: work around AIX 7.1 fstatat issue
49384         This should fix the problem that was not properly fixed
49385         in the previous change, dated 2011-08-30.
49386         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
49387         __need_system_stat_h defined.
49388         (orig_fstatat) [HAVE_FSTATAT]: New function.
49389         (rpl_fstatat): Go back to the old way of doing things,
49390         except call orig_fstatat instead of fstatat.
49391         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
49392         Remove unnecessary check whether fstatat fills in st_size etc.
49394 2011-09-01  Bruno Haible  <bruno@clisp.org>
49396         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
49397         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
49398         just include the system's header.
49400 2011-08-31  Jim Meyering  <meyering@redhat.com>
49402         tests: avoid spurious assertion failure in test-float.c on ppc64
49403         * tests/test-float.c (test_long_double): Comment out an assertion,
49404         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
49405         with gcc-4.4.4.
49407         maint: indent with spaces, not TABs
49408         I need to get in the habit of running gnulib's "make check".
49409         Both of these would have been caught.
49410         * m4/largefile.m4: Indent with spaces, not TABs.
49411         * lib/parse-datetime.y (iso_8601_time): Likewise.
49412         Spotted by Pádraig Brady.
49414         test-parse-datetime.c: accommodate a relatively strict gcc warning
49415         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
49416         to avoid a warning from gcc's -Werror=missing-declarations.
49417         Insert a few spaces-before-funcall-parenthesis.
49419 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
49421         parse-datetime: accept ISO 8601 date and time rep with "T" separator
49422         The parser now accepts ISO 8601 date-time strings with "T" as the
49423         separator.  It has long parsed dates like "2004-02-29 16:21:42"
49424         with a space between the date and time strings.  Now it also parses
49425         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
49426         variants like "2004-02-29T16:21:42.333-07:00"
49427         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
49428         of day representation using the 'T' separator character.
49429         * doc/parse-datetime.texi (General date syntax): replace use of
49430         deprecated --iso-8601 option with --rfc-3339 in example of date
49431         command output formats that can be parsed.
49432         * tests/test-parse-datetime.c (tm_diff): New function, taken from
49433         lib/parse-datetime.y.
49434         (gmt_offset): New function.
49435         (main): Add additional test cases to validate ISO8601 extended
49436         date and time of day parsing.
49438 2011-08-31  Bruno Haible  <bruno@clisp.org>
49440         freopen: Documentation.
49441         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
49442         name.
49443         Reported by Claudio Bley <claudio.bley@gmail.com>.
49445 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
49447         freopen: Don't crash if the filename argument is NULL.
49448         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
49449         NULL.
49451 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49453         openat: work around AIX 7.1 fstatat bug
49454         Problem reported by Kevin Brott for GNU tar, in the thread containing
49455         <http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
49456         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
49457         FSTATAT_ST_SIZE_ETC_BROKEN.
49458         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
49459         rpl_fstatat.
49460         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
49461         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
49462         AC_CHECK_FUNCS_ONCE for fstatat.
49463         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
49464         fchmodat, mkdirat, openat and unlinkat.
49466 2011-08-30  Bruno Haible  <bruno@clisp.org>
49468         Avoid endless recursions if config.h includes some header files.
49469         * lib/fopen.c (__need_FILE): Define already before including config.h.
49470         * lib/freopen.c (__need_FILE): Likewise.
49471         * lib/open.c (__need_system_fcntl_h): Likewise.
49472         * lib/stat.c (__need_system_sys_stat_h): Likewise.
49473         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
49474         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
49476 2011-08-25  Karl Berry  <karl@gnu.org>
49478         * config/srclist.txt (ylwrap): new try.
49479         * build-aux/ylwrap: new file.
49481 2011-08-23  Bruno Haible  <bruno@clisp.org>
49483         tmpdir: Use a good default directory on native Windows.
49484         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
49485         (P_tmpdir): Default to _P_tmpdir on native Windows.
49486         (path_search): On native Windows, try the value returned by GetTempPath
49487         before trying P_tmpdir.
49488         * modules/tmpdir (Depends-on): Add pathmax.
49489         Suggested by John Darrington <john@darrington.wattle.id.au>.
49491 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
49493         doc: fix typo in README-release
49494         * top/README-release: Capitalize first word of a sentence.
49496 2011-08-19  Jim Meyering  <meyering@redhat.com>
49498         fts: do not exhaust memory when processing million-entry directories
49499         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
49500         directory would require about 256*N bytes of memory.  Thus, it was
49501         easy to construct a directory too large to be processed by any of
49502         those tools.  With this change, fts' maximum memory utilization is
49503         now limited to around 30MB.
49504         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
49505         (fts_read): When we've processed the final entry (i.e., when
49506         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
49507         using the parent entry to read any remaining entries.  Dispatch
49508         depending on what fts_build returns:
49509         - NULL+stop, aka failure: stop
49510         - NULL otherwise: move up in the dir hierarchy
49511         - non-NULL: handle this new entry
49512         (fts_build): Declare and use new local, continue_readdir.
49513         Prepare to be called from fts_read, when the entries
49514         from a partially-read directory have just been exhausted.
49515         In that case, we'll skip the opendir and instead use the parent's
49516         fts_dirp and derive dir_fd from that.
49517         Finally, in the readdir loop, if we read max_entries entries,
49518         exit the loop ensuring *not* to call closedir.  This is required
49519         so that fts_dirp can be reused on a subsequent call.
49520         Prompted by Ben England's report of memory exhaustion in find
49521         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
49523         maint: fts: move decl of `dp' down into while loop; split a long line
49524         * lib/fts.c (fts_build): No semantic change.
49526         fts: add/use new struct member, fts_dirp
49527         We are about to use this to manage any directory with
49528         too many entries to read all of them into memory at once.
49529         To do that, we'll need to save the DIR* pointer in each
49530         affected FTSENT struct.
49531         * lib/fts_.h: Include <dirent.h>.
49532         (struct FTSENT) [fts_dirp]: New member.
49533         * lib/fts.c (closedir_and_clear): Define.
49534         Use it in place of closedir so that we are sure to
49535         clear the new fts_dirp member when done with it.
49536         (fts_alloc): Initialize the new member.
49537         (fts_lfree): Free, if needed.
49539         maint: fts: give __opendir2 a new parameter and rename
49540         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
49541         than surreptitiously using sole caller's "dir_fd".
49542         (fts_opendir): Rename from __opendir2.
49544         maint: fts.c: remove __opendir2's now-unused parameter, oflag
49545         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
49547         maint: fts.c: correct off-by-one indentation
49548         * lib/fts.c (fts_build): Correct indentation, change style
49549         of a couple of block comments, and bracing style.
49551         maint: fts.c: move __opendir2 #define "up" out of function body
49552         * lib/fts.c (__opendir2): Move "up".  No semantic change.
49554         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
49555         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
49556         out for a long time and besides was useful only on BSD systems.
49558 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
49560         regex: port to Stratus OpenVOS
49561         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
49562         define to empty, rather than attempting nonportable optimizations.
49563         Problem reported by Paul Green in:
49564         http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
49565         and fix suggested by Eric Blake in:
49566         http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html
49568 2011-08-17  Eric Blake  <eblake@redhat.com>
49570         getcwd: fix test failures on mingw
49571         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
49572         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
49573         test if long directory cannot be created, and allow mingw errno.
49575         getcwd-lgpl: fix m4 to match relaxed test for BSD
49576         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
49577         (gl_FUNC_GETCWD_SIGNATURE): New macro.
49578         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
49579         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
49580         signature problem.
49582         getcwd: fix compilation on mingw64
49583         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
49584         getcwd.
49585         Reported by Marc-André Lureau.
49587         pipe2: silence compiler warning
49588         * lib/pipe2.c (pipe2): Hide label if it is not used.
49590 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
49592         relocatable-prog: fix link error
49593         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
49594         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
49595         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
49596         into modules/relocatable-lib without noticing that
49597         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
49598         also needs to build relocatable.c.
49600 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
49602         getaddrinfo: fix sh typo in gai_strerrorA decl checking
49603         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
49604         shell code: it contained a 'break' that was not in a loop.
49605         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
49606         via a shell-language loop; this may have been true in old Autoconf
49607         versions, but it's not true in Autoconf 2.68.  I found this bug
49608         when testing coreutils git on Solaris 8, whose shell complains
49609         about the syntax error.
49611 2011-08-12  Simon Josefsson  <simon@josefsson.org>
49613         * lib/base64.c: Fix comment to reference RFC 4648.
49614         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
49615         <gvtulder@gmail.com>.
49617 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49619         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
49621         po/Makefile.in.in: fix make -q problem
49622         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
49623         rule, since there's no file named 'check-macro-version' and its
49624         use as a file breaks make -q.
49625         (all): Don't depend on check-macro-version.
49626         (CHECK_MACRO_VERSION): New macro.
49627         (stamp-po): Use it.
49629         configmake: fix make -q problem
49630         * modules/configmake (configmake.h): Update configmake.h's time stamp
49631         even if the file does not change.  Otherwise, 'make -q' fails.
49632         Problem reported by Simon Josefsson in
49633         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.
49635 2011-08-11  Jim Meyering  <meyering@redhat.com>
49637         git-version-gen: correct the advice in a comment
49638         * build-aux/git-version-gen: Correct comment.
49639         Don't recommend to list .tarball-version in .gitignore.
49641 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49643         base64: fix off-by-one buffer size bug
49644         Problem and (trivial) fix reported by Gijs van Tulder in
49645         <http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
49646         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
49647         * tests/test-base64.c (main): Catch the bug.
49649 2011-08-10  Eric Blake  <eblake@redhat.com>
49651         closein: correct comments
49652         * lib/closein.c (close_stdin): Improve comments.
49654 2011-08-09  Bruno Haible  <bruno@clisp.org>
49656         More tests for 'fseeko'.
49657         * tests/test-fseeko3.c: New file, from Eric Blake.
49658         * tests/test-fseeko3.sh: New file.
49659         * modules/fseeko-tests (Files): Add them.
49660         (TESTS): Add test-fseeko3.sh.
49661         (check_PROGRAMS): Add test-fseeko3.
49663 2011-08-09  Eric Blake  <eblake@redhat.com>
49665         fseeko: remove unneeded hack
49666         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
49668         fseeko: fix bug on glibc
49669         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
49670         Reported by John W. Eaton.
49672 2011-08-08  Bruno Haible  <bruno@clisp.org>
49674         unictype/base: Fix interoperability with preinstalled libunistring.
49675         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
49676         Reported by Simon Josefsson.
49678 2011-08-08  Bruno Haible  <bruno@clisp.org>
49680         iswblank: Detect declaration correctly.
49681         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
49682         AC_CHECK_DECLS invocation.
49684 2011-08-08  Bruno Haible  <bruno@clisp.org>
49686         tcgetsid: Detect declaration correctly.
49687         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
49688         AC_CHECK_DECLS invocation.
49689         Reported by Simon Josefsson.
49691 2011-08-08  Eric Blake  <eblake@redhat.com>
49693         largefile: fix typo that regressed large file support
49694         * modules/largefile (configure.ac-early): Fix section name.
49696 2011-08-06  Karl Berry  <karl@gnu.org>
49698         * MODULES.html.sh (func_all_files): _Noreturn is no longer
49699         a separate module.
49701 2011-08-05  Simon Josefsson  <simon@josefsson.org>
49703         openat: Fix warnings and commens when building unlinkat.c on Hurd.
49704         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
49705         get prototype for free.
49707 2011-08-04  Bruno Haible  <bruno@clisp.org>
49709         Tests for module 'pathmax'.
49710         * modules/pathmax-tests: New file.
49711         * tests/test-pathmax.c: New file.
49713         canonicalize-lgpl: Support larger filenames on the Hurd.
49714         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
49715         Reported by Paul Eggert.
49717         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
49718         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
49719         * lib/chdir-long.h: Include pathmax.h.
49720         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
49721         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
49722         (PATH_MAX): Remove code that is done by pathmax.h.
49723         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
49724         * lib/tmpfile.c: Add a comment.
49725         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
49726         * modules/chdir-long (Depends-on): Add pathmax.
49727         * modules/getcwd (Depends-on): Add pathmax.
49728         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
49729         is not defined.
49730         * doc/posix-headers/limits.texi: Mention the pathmax module.
49731         * NEWS: Mention the change.
49733 2011-08-02  Bruno Haible  <bruno@clisp.org>
49735         pthread_sigmask: Actually use results of gl_THREADLIB.
49736         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
49737         gl_THREADLIB, not gl_[]THREADLIB.
49738         Reported by Eric Blake.
49740 2011-08-02  Jim Meyering  <meyering@redhat.com>
49742         maint.mk: relax the default _gl_TS_function_match regexp
49743         * top/maint.mk (_gl_TS_function_match): Don't require at least one
49744         space between function name and "(" in an "extern" declaration.
49745         That would fail to match a decl with no space there: extern void foo();
49747 2011-07-31  Iain Nicol  <iain@thenicols.net>
49749         git-version-gen: document that EXTRA_DIST must include .version
49750         * build-aux/git-version-gen: In the how-to-use comment, document
49751         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
49752         will fail when run from an unpacked distribution tarball.
49754 2011-08-01  Bruno Haible  <bruno@clisp.org>
49756         wctype-h: Fix last change.
49757         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
49758         REPLACE_TOWLOWER to 0.
49759         Reported by Sam Steingold <sds@gnu.org>.
49761 2011-07-31  Bruno Haible  <bruno@clisp.org>
49763         frexpl: Update autoconf test.
49764         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
49765         according to changes of 2011-06-20.
49767 2011-07-31  Bruno Haible  <bruno@clisp.org>
49769         sys_utsname: Add support for Minix.
49770         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
49771         <sys/utsname.h>.
49772         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
49773         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
49775 2011-07-31  Bruno Haible  <bruno@clisp.org>
49777         strings: Add support for Minix.
49778         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
49779         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
49780         * doc/posix-headers/strings.texi: Document the Minix problem.
49782 2011-07-31  Bruno Haible  <bruno@clisp.org>
49784         wctype-h: Add support for Minix.
49785         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
49786         REPLACE_TOWLOWER.
49787         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
49788         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
49789         REPLACE_ISWCNTRL.
49791 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
49793         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
49794         This is a performance improvement for 64-bit hosts: it causes the
49795         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
49797 2011-07-31  Bruno Haible  <bruno@clisp.org>
49799         stdioext: Add support for Minix.
49800         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
49801         * lib/fpurge.c (fpurge): Likewise.
49802         * lib/freadahead.c (freadahead): Likewise.
49803         * lib/freadable.c (freadable): Likewise.
49804         * lib/freading.c (freading): Likewise.
49805         * lib/freadptr.c (freadptr): Likewise.
49806         * lib/freadseek.c (freadptrinc): Likewise.
49807         * lib/fseeko.c (rpl_fseeko): Likewise.
49808         * lib/fseterr.c (fseterr): Likewise.
49809         * lib/fwritable.c (fwritable): Likewise.
49810         * lib/fwriting.c (fwriting): Likewise.
49811         * lib/fflush.c (clear_ungetc_buffer): Update comment.
49812         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
49814 2011-07-31  Bruno Haible  <bruno@clisp.org>
49816         errno: Port to Minix.
49817         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
49818         ECONNABORTED are defined.
49819         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
49820         GNULIB_defined_ECONNABORTED): New macros.
49821         * lib/strerror-override.h (strerror_override): Test also
49822         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
49823         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
49824         ECONNABORTED.
49825         * doc/posix-headers/errno.texi: Mention the Minix problem.
49827 2011-07-31  Bruno Haible  <bruno@clisp.org>
49829         Work around declaration collisions on Minix.
49830         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
49831         defined, set REPLACE_MBSINIT.
49832         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
49833         defined, set REPLACE_MBRTOWC.
49834         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
49835         set REPLACE_MBRLEN.
49836         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
49837         defined, set REPLACE_MBSRTOWCS.
49838         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
49839         defined, set REPLACE_WCRTOMB.
49840         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
49841         defined, set REPLACE_WCSRTOMBS.
49843 2011-07-31  Bruno Haible  <bruno@clisp.org>
49845         Add support for Minix with ACK compiler.
49846         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
49847         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
49848         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
49850 2011-07-31  Bruno Haible  <bruno@clisp.org>
49852         Documentation about Minix.
49853         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
49854         * doc/glibc-headers/*.texi: Likewise.
49855         * doc/posix-functions/*.texi: Likewise.
49856         * doc/glibc-functions/*.texi: Likewise.
49858 2011-07-31  Bruno Haible  <bruno@clisp.org>
49860         snippet/warn-on-use: Fix indentation.
49861         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
49863 2011-07-25  Jim Meyering  <meyering@redhat.com>
49865         tests: test-update-copyright.sh: remove unnecessary "rm" commands
49866         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
49867         commands.
49869 2011-07-27  Jim Meyering  <meyering@redhat.com>
49871         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
49872         * top/maint.mk (gl_extract_significant_defines_): Now that
49873         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
49874         gnulib/lib/signal.in.h, and now that we recommend to
49875         define-if-undefined those two symbols in application code,
49876         we must filter them out of the "significant" list.
49877         This avoids a "make syntax-check" failure in coreutils.
49879 2011-07-26  Eric Blake  <eblake@redhat.com>
49881         warnings: add comments about previous patch
49882         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
49883         * m4/include_next.m4: Likewise.
49884         * m4/warn-on-use.m4: Likewise.
49885         * m4/warnings.m4: Likewise, and simplify use.
49886         Suggested by Stefano Lattarini.
49888         include-next, warnings: support older autoconf
49889         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
49890         AS_VAR_PUSHDEF in a way that works with older autoconf.
49891         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
49892         Reported by Daniel P. Berrange.
49894 2011-07-25  Bruno Haible  <bruno@clisp.org>
49896         fseek, ftell: Fix doc.
49897         * doc/posix-functions/fseek.texi: Reword statement about
49898         AC_SYS_LARGEFILE.
49899         * doc/posix-functions/ftell.texi: Likewise.
49901 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
49902             Bruno Haible  <bruno@clisp.org>
49904         Add dependencies to the 'largefile' module.
49905         * modules/fopen (Depends-on): Add 'largefile'.
49906         * modules/freopen (Depends-on): Likewise.
49907         * modules/fseeko (Depends-on): Likewise.
49908         * modules/ftello (Depends-on): Likewise.
49909         * modules/glob (Depends-on): Likewise.
49910         * modules/lseek (Depends-on): Likewise.
49911         * modules/lstat (Depends-on): Likewise.
49912         * modules/mkostemp (Depends-on): Likewise.
49913         * modules/mkostemps (Depends-on): Likewise.
49914         * modules/mkstemp (Depends-on): Likewise.
49915         * modules/mkstemps (Depends-on): Likewise.
49916         * modules/open (Depends-on): Likewise.
49917         * modules/openat (Depends-on): Likewise.
49918         * modules/pread (Depends-on): Likewise.
49919         * modules/pwrite (Depends-on): Likewise.
49920         * modules/scandir (Depends-on): Likewise.
49921         * modules/stat (Depends-on): Likewise.
49922         * modules/tmpfile (Depends-on): Likewise.
49923         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
49924         since the containing module now depends on the largefile module.
49925         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
49926         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
49927         off_t is fixed by gnulib.
49928         * doc/posix-functions/freopen.texi: Likewise.
49929         * doc/posix-functions/fseeko.texi: Likewise.
49930         * doc/posix-functions/fstatat.texi: Likewise.
49931         * doc/posix-functions/ftello.texi: Likewise.
49932         * doc/posix-functions/glob.texi: Likewise.
49933         * doc/posix-functions/lseek.texi: Likewise.
49934         * doc/posix-functions/lstat.texi: Likewise.
49935         * doc/posix-functions/mkstemp.texi: Likewise.
49936         * doc/posix-functions/open.texi: Likewise.
49937         * doc/posix-functions/openat.texi: Likewise.
49938         * doc/posix-functions/pread.texi: Likewise.
49939         * doc/posix-functions/pwrite.texi: Likewise.
49940         * doc/posix-functions/scandir.texi: Likewise.
49941         * doc/posix-functions/stat.texi: Likewise.
49942         * doc/posix-functions/tmpfile.texi: Likewise.
49943         * doc/glibc-functions/mkostemp.texi: Likewise.
49944         * doc/glibc-functions/mkostemps.texi: Likewise.
49945         * doc/glibc-functions/mkstemps.texi: Likewise.
49947 2011-07-25  Bruno Haible  <bruno@clisp.org>
49949         fcntl: Move AC_LIBOBJ invocation to module description.
49950         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
49951         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
49953         fcntl: Remove call-in from fchdir.m4.
49954         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
49955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
49957         dup3: Remove potential call-in from fchdir.m4.
49958         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
49959         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
49961         dup2: Move AC_LIBOBJ invocation to module description.
49962         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
49963         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
49964         Don't invoke AC_LIBOBJ.
49965         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
49967         dup2: Remove call-in from fchdir.m4.
49968         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
49969         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
49971         fclose: Move AC_LIBOBJ invocation to module description.
49972         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
49973         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
49974         to 1.
49975         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
49977         fclose: Remove call-in from close.m4.
49978         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
49979         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
49981         close: Move AC_LIBOBJ invocation to module description.
49982         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
49983         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
49984         1.
49985         * modules/close (configure.ac): Invoke AC_LIBOBJ.
49987         close: Remove call-in from fchdir.m4.
49988         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
49989         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
49991         open: Move AC_LIBOBJ invocation to module description.
49992         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
49993         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
49994         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
49996         open: Remove call-in from fchdir.m4.
49997         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
49998         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
50000         fchdir: Start to remove gl_REPLACE_* idiom.
50001         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
50002         (gl_FUNC_FCHDIR): Invoke it.
50004 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
50006         * lib/ftell.c (ftell): Comment out cast.
50008         close: use gl_REPLACE_FCLOSE only if defined
50009         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
50010         is defined.  The close module doesn't depend on the fclose module
50011         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
50012         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
50013         I reproduced the problem with "./gnulib-tool --test close sys_socket".
50015 2011-07-24  Jim Meyering  <meyering@redhat.com>
50017         test-select.h: avoid warning when using gcc's -Wmissing-declarations
50018         * tests/test-select.h (test_function): Declare as "static".
50020 2011-07-24  Bruno Haible  <bruno@clisp.org>
50022         doc: Mention the effects of AC_SYS_LARGEFILE.
50023         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
50024         on this function.
50025         * doc/posix-functions/aio_error.texi: Likewise.
50026         * doc/posix-functions/aio_fsync.texi: Likewise.
50027         * doc/posix-functions/aio_read.texi: Likewise.
50028         * doc/posix-functions/aio_return.texi: Likewise.
50029         * doc/posix-functions/aio_suspend.texi: Likewise.
50030         * doc/posix-functions/aio_write.texi: Likewise.
50031         * doc/posix-functions/fgetpos.texi: Likewise.
50032         * doc/posix-functions/fopen.texi: Likewise.
50033         * doc/posix-functions/freopen.texi: Likewise.
50034         * doc/posix-functions/fsetpos.texi: Likewise.
50035         * doc/posix-functions/fstatvfs.texi: Likewise.
50036         * doc/posix-functions/ftruncate.texi: Likewise.
50037         * doc/posix-functions/ftw.texi: Likewise.
50038         * doc/posix-functions/getrlimit.texi: Likewise.
50039         * doc/posix-functions/glob.texi: Likewise.
50040         * doc/posix-functions/lio_listio.texi: Likewise.
50041         * doc/posix-functions/lockf.texi: Likewise.
50042         * doc/posix-functions/mkstemp.texi: Likewise.
50043         * doc/posix-functions/mmap.texi: Likewise.
50044         * doc/posix-functions/nftw.texi: Likewise.
50045         * doc/posix-functions/openat.texi: Likewise.
50046         * doc/posix-functions/opendir.texi: Likewise.
50047         * doc/posix-functions/posix_fadvise.texi: Likewise.
50048         * doc/posix-functions/posix_fallocate.texi: Likewise.
50049         * doc/posix-functions/pread.texi: Likewise.
50050         * doc/posix-functions/pwrite.texi: Likewise.
50051         * doc/posix-functions/readdir.texi: Likewise.
50052         * doc/posix-functions/readdir_r.texi: Likewise.
50053         * doc/posix-functions/rewinddir.texi: Likewise.
50054         * doc/posix-functions/scandir.texi: Likewise.
50055         * doc/posix-functions/seekdir.texi: Likewise.
50056         * doc/posix-functions/setrlimit.texi: Likewise.
50057         * doc/posix-functions/statvfs.texi: Likewise.
50058         * doc/posix-functions/telldir.texi: Likewise.
50059         * doc/posix-functions/tmpfile.texi: Likewise.
50060         * doc/posix-functions/truncate.texi: Likewise.
50061         * doc/glibc-functions/fallocate.texi: Likewise.
50062         * doc/glibc-functions/fstatfs.texi: Likewise.
50063         * doc/glibc-functions/fts_children.texi: Likewise.
50064         * doc/glibc-functions/fts_read.texi: Likewise.
50065         * doc/glibc-functions/getdirentries.texi: Likewise.
50066         * doc/glibc-functions/mkostemp.texi: Likewise.
50067         * doc/glibc-functions/mkostemps.texi: Likewise.
50068         * doc/glibc-functions/mkstemps.texi: Likewise.
50069         * doc/glibc-functions/preadv.texi: Likewise.
50070         * doc/glibc-functions/pwritev.texi: Likewise.
50071         * doc/glibc-functions/sendfile.texi: Likewise.
50072         * doc/glibc-functions/statfs.texi: Likewise.
50074 2011-07-24  Bruno Haible  <bruno@clisp.org>
50076         doc: Fix typo.
50077         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
50079 2011-07-24  Bruno Haible  <bruno@clisp.org>
50081         doc: Mention fsusage.
50082         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
50084 2011-07-24  Bruno Haible  <bruno@clisp.org>
50086         doc: Mention new glibc headers and functions.
50087         * doc/glibc-headers/gshadow.texi: New file.
50088         * doc/glibc-functions/endsgent.texi: New file.
50089         * doc/glibc-functions/fgetsgent.texi: New file.
50090         * doc/glibc-functions/fgetsgent_r.texi: New file.
50091         * doc/glibc-functions/getsgent.texi: New file.
50092         * doc/glibc-functions/getsgent_r.texi: New file.
50093         * doc/glibc-functions/getsgnam.texi: New file.
50094         * doc/glibc-functions/getsgnam_r.texi: New file.
50095         * doc/glibc-functions/putsgent.texi: New file.
50096         * doc/glibc-functions/setsgent.texi: New file.
50097         * doc/glibc-functions/sgetsgent.texi: New file.
50098         * doc/glibc-functions/sgetsgent_r.texi: New file.
50099         * doc/glibc-functions/malloc_info.texi: New file.
50100         * doc/glibc-functions/preadv.texi: New file.
50101         * doc/glibc-functions/pwritev.texi: New file.
50102         * doc/glibc-functions/register_printf_modifier.texi: New file.
50103         * doc/glibc-functions/register_printf_specifier.texi: New file.
50104         * doc/glibc-functions/register_printf_type.texi: New file.
50105         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
50106         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
50107         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
50108         * doc/glibc-functions/pthread_getname_np.texi: New file.
50109         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
50110         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
50111         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
50112         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
50113         * doc/glibc-functions/pthread_setname_np.texi: New file.
50114         * doc/glibc-functions/pthread_sigqueue.texi: New file.
50115         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
50116         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
50117         * doc/glibc-functions/qsort_r.texi: New file.
50118         * doc/glibc-functions/quick_exit.texi: New file.
50119         * doc/glibc-functions/syncfs.texi: New file.
50120         * doc/gnulib.texi: Include them.
50121         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
50122         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
50123         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
50124         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
50125         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
50126         * doc/glibc-functions/execvpe.texi: Likewise.
50128 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50130         ftell: don't include <unistd.h>
50131         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
50132         guaranteed to define off_t, and the ftell module depends on the
50133         stdio module.
50135         ftell: do not assume wraparound signed arithmetic
50136         * lib/ftell.c: Include <limits.h>.
50137         (ftell): Don't assume wraparound signed arithmetic.
50139 2011-07-24  Bruno Haible  <bruno@clisp.org>
50141         close: No longer depend on module 'fclose'.
50142         * modules/close (Depends-on): Remove fclose.
50143         * NEWS: Mention the change.
50144         Suggested by Sam Steingold <sds@gnu.org>.
50146 2011-07-24  Bruno Haible  <bruno@clisp.org>
50148         fsusage: Enable large volume support on AIX >= 5.2.
50149         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
50150         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
50151         instead of STAT_STATVFS.
50152         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
50154         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
50155         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
50156         f_blocks field only on MacOS X.
50158         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
50159         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
50160         * modules/fsusage (Depends-on): Add largefile.
50162 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
50164         * README: Modernize discussion of signed integers.
50165         Assuming overflow wraparound is no longer safe.
50166         Mention ones' complement and signed magnitude.
50168 2011-07-22  Bruno Haible  <bruno@clisp.org>
50170         select tests, pselect tests: Refactor.
50171         * tests/test-select.h: New file, extracted from tests/test-select.c.
50172         (select_fn): New type.
50173         (test, do_select, do_select_nowait, do_select_wait, test_tty,
50174         test_connect_first, test_accept_first, test_pair, test_socket_pair,
50175         test_pipe): Add my_select argument.
50176         (test_function): Renamed from main. Add my_select argument.
50177         * tests/test-select.c: Move most code to tests/test-select.h. Include
50178         test-select.h.
50179         * modules/select-tests (Files): Add tests/test-select.h.
50180         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
50181         (my_select, main): New functions.
50182         * modules/pselect-tests (Files): Add tests/test-select.h,
50183         tests/macros.h, tests/signature.h.
50184         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
50185         (configure.ac): Check for <sys/wait.h>.
50187 2011-07-22  Bruno Haible  <bruno@clisp.org>
50189         sys_select tests: Check the signature of FD_*.
50190         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
50191         signature tests from here...
50192         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
50193         here.
50194         * modules/sys_select-tests (Files): Add tests/signature.h.
50196 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
50198         largefile: new module, replacing large-inode
50199         Pádraig Brady suggested this in <http://debbugs.gnu.org/9140#20>.
50200         * MODULES.html.sh: Add largefile, remove large-inode.
50201         * modules/largefile, m4/largefile.m4: New files.
50202         * modules/large-inode, m4/large-inode.m4: Remove.
50204         fsusage: port to MacOS X 10.7 with 4 TiB file systems
50205         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
50206         implementations that use only 32 bits to count blocks.
50207         On typical hosts with 1024-byte blocks, this fails with file
50208         systems as small as 4 TiB.  Problem reported by Herb Wartens
50209         <http://debbugs.gnu.org/9140> and this should also fix a similar
50210         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
50212         large-inode: New module
50213         * MODULES.html.sh: Add it.
50214         * modules/large-inode, m4/large-inode.m4: New files.
50216         extensions: Enable extensions on MacOS X 10.5 and later.
50217         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
50219 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
50221         file-has-acl: use acl_extended_file_nofollow if available
50222         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
50223         (acl_extended_file): New macro.
50224         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
50225         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
50227 2011-07-21  Bruno Haible  <bruno@clisp.org>
50229         Declare system functions in a way that works with C++.
50230         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
50231         declare fdopendir as extern "C".
50232         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
50233         declare frexpl as extern "C".
50234         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
50235         declare gai_strerror as extern "C".
50236         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
50237         programs, declare gai_strerror as extern "C".
50238         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
50239         declare getlogin_r as extern "C".
50240         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
50241         as extern "C".
50242         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
50243         declare ldexpl as extern "C".
50244         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
50245         as extern "C".
50246         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
50247         program, declare getmntinfo as extern "C".
50248         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
50249         stpncpy as extern "C".
50250         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
50251         program, declare __xpg_strerror_r as extern "C".
50252         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
50253         strndup as extern "C".
50254         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
50255         declare memset and bzero as extern "C".
50256         Reported by Sam Steingold <sds@gnu.org>.
50258 2011-07-12  Jim Meyering  <meyering@redhat.com>
50260         maint.mk: prohibit inclusion of "verify.h" without use
50261         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
50263 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50265         timer-time: A new module to check for timer_settime()
50266         * m4/timer_time.m4: Check for the posix function.
50267         * modules/timer-time: Add the new module.
50268         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
50269         Mention it.
50271 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
50272             Bruno Haible  <bruno@clisp.org>
50274         pthread_sigmask: assume POSIX threads if --avoid=threadlib
50275         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
50276         not defined, assume POSIX threads and look for pthread_sigmask in
50277         $LIBS, without changing $CPPFLAGS.
50279 2011-07-19  Bruno Haible  <bruno@clisp.org>
50281         strstr: Update cross-compilation guess.
50282         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
50283         CPUs, guess no, in view of glibc
50284         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
50285         Suggested by Eric Blake. Reported by Reuben Thomas.
50287 2011-07-19  Pádraig Brady  <P@draigBrady.com>
50289         getopt-gnu: suppress core dumps from detection code
50290         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
50291         to suppress core dumps that may well occur on glibc systems.
50292         * modules/getopt-gnu: Depend on nocrash.
50294 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50296         pthread_sigmask: ensure usleep is declared
50297         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
50298         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
50300 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50302         doc: Document NonStop portability issues.
50303         * doc/posix-functions/sigaction.texi (sigaction):
50304         * doc/posix-headers/signal.texi (signal.h):
50305         Document NonStop.  See Joachim Schmitz in
50306         http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html
50308 2011-07-15  Bruno Haible  <bruno@clisp.org>
50310         ffsl, ffsll: Avoid unportable behaviour.
50311         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
50313 2011-07-15  Bruno Haible  <bruno@clisp.org>
50315         ffs: More tests.
50316         * tests/test-ffs.c (NBITS): New macro.
50317         (main): Add more tests.
50318         * tests/test-ffsl.c (NBITS): New macro.
50319         (main): Add more tests.
50320         * tests/test-ffsll.c (NBITS): New macro.
50321         (main): Add more tests.
50323 2011-07-15  Eric Blake  <eblake@redhat.com>
50325         ffsl, ffsll: new modules
50326         * modules/ffsl: New file.
50327         * modules/ffsll: Likewise.
50328         * m4/ffsl.m4: Likewise.
50329         * m4/ffsll.m4: Likewise.
50330         * lib/ffsl.c: Likewise.
50331         * lib/ffsl.h: Likewise.
50332         * lib/ffsll.c: Likewise.
50333         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
50334         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
50335         * modules/string (Makefile.am): Substitute witnesses.
50336         * lib/strings.in.h (ffsl, ffsll): Declare.
50337         * modules/ffsl-tests: New test file.
50338         * modules/ffsll-tests: Likewise.
50339         * tests/test-ffsl.c: Likewise.
50340         * tests/test-ffsll.c: Likewise.
50341         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50342         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
50343         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
50345         ffs: fix m4 prerequisite
50346         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
50348         ffs: avoid undefined behavior
50349         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
50350         * tests/test-ffs.c (naive, main): Avoid signed shifts.
50351         Reported by Bruno Haible.
50353 2011-07-12  Bruno Haible  <bruno@clisp.org>
50355         pthread_sigmask: Rely on module 'threadlib'.
50356         * modules/pthread_sigmask (Depends-on): Add threadlib.
50357         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
50358         is defined.
50360 2011-07-12  Bruno Haible  <bruno@clisp.org>
50362         regex: Depend on module 'strcase'.
50363         * modules/regex (Depends-on): Add strcase, for strcasecmp().
50365 2011-07-12  Jim Meyering  <meyering@redhat.com>
50367         warn-on-use: fix typo in file name
50368         * modules/snippet/warn-on-use (Files): Correct file name:
50369         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
50371 2011-07-12  Bruno Haible  <bruno@clisp.org>
50373         strings: Document module.
50374         * doc/posix-headers/strings.texi: Mention module 'strings'.
50376 2011-07-12  Bruno Haible  <bruno@clisp.org>
50378         Rename module '_Noreturn' to 'snippet/_Noreturn'.
50379         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
50380         (Files, Makefile.am): Update.
50381         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
50382         * modules/stdlib (Depends-on): Update.
50384 2011-07-12  Bruno Haible  <bruno@clisp.org>
50386         * NEWS: Mention the changes.
50388         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
50389         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
50390         (Files, Makefile.am): Update.
50391         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
50392         * modules/arpa_inet (Depends-on): Update.
50393         * modules/ctype (Depends-on): Update.
50394         * modules/dirent (Depends-on): Update.
50395         * modules/fcntl-h (Depends-on): Update.
50396         * modules/glob (Depends-on): Update.
50397         * modules/iconv-h (Depends-on): Update.
50398         * modules/inttypes-incomplete (Depends-on): Update.
50399         * modules/langinfo (Depends-on): Update.
50400         * modules/locale (Depends-on): Update.
50401         * modules/math (Depends-on): Update.
50402         * modules/netdb (Depends-on): Update.
50403         * modules/poll-h (Depends-on): Update.
50404         * modules/pty (Depends-on): Update.
50405         * modules/search (Depends-on): Update.
50406         * modules/signal (Depends-on): Update.
50407         * modules/spawn (Depends-on): Update.
50408         * modules/stdio (Depends-on): Update.
50409         * modules/stdlib (Depends-on): Update.
50410         * modules/string (Depends-on): Update.
50411         * modules/strings (Depends-on): Update.
50412         * modules/sys_file (Depends-on): Update.
50413         * modules/sys_ioctl (Depends-on): Update.
50414         * modules/sys_select (Depends-on): Update.
50415         * modules/sys_socket (Depends-on): Update.
50416         * modules/sys_stat (Depends-on): Update.
50417         * modules/sys_time (Depends-on): Update.
50418         * modules/sys_times (Depends-on): Update.
50419         * modules/sys_utsname (Depends-on): Update.
50420         * modules/sys_wait (Depends-on): Update.
50421         * modules/termios (Depends-on): Update.
50422         * modules/time (Depends-on): Update.
50423         * modules/unistd (Depends-on): Update.
50424         * modules/wchar (Depends-on): Update.
50425         * modules/wctype-h (Depends-on): Update.
50426         * MODULES.html.sh (Support for building libraries and executables):
50427         Update.
50429         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
50430         * modules/snippet/unused-parameter: Renamed from
50431         modules/unused-parameter.
50432         (Files, Makefile.am): Update.
50433         * build-aux/snippet/unused-parameter.h: Renamed from
50434         build-aux/unused-parameter.h.
50435         * modules/selinux-h (Depends-on): Update.
50436         * modules/unistr/base (Depends-on): Update.
50437         * MODULES.html.sh (Core language properties): Update.
50439         Rename module 'link-warning' to 'snippet/link-warning'.
50440         * modules/snippet/link-warning: Renamed from modules/link-warning.
50441         (Files, Makefile.am): Update.
50442         * build-aux/snippet/link-warning.h: Renamed from
50443         build-aux/link-warning.h.
50444         * MODULES.html.sh (Support for building libraries and executables):
50445         Update.
50447         Rename module 'c++defs' to 'snippet/c++defs'.
50448         * modules/snippet/c++defs: Renamed from modules/c++defs.
50449         (Files, Makefile.am): Update.
50450         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
50451         * modules/arpa_inet (Depends-on): Update.
50452         * modules/ctype (Depends-on): Update.
50453         * modules/dirent (Depends-on): Update.
50454         * modules/fcntl-h (Depends-on): Update.
50455         * modules/glob (Depends-on): Update.
50456         * modules/iconv-h (Depends-on): Update.
50457         * modules/langinfo (Depends-on): Update.
50458         * modules/locale (Depends-on): Update.
50459         * modules/math (Depends-on): Update.
50460         * modules/netdb (Depends-on): Update.
50461         * modules/poll-h (Depends-on): Update.
50462         * modules/pty (Depends-on): Update.
50463         * modules/search (Depends-on): Update.
50464         * modules/signal (Depends-on): Update.
50465         * modules/spawn (Depends-on): Update.
50466         * modules/stdio (Depends-on): Update.
50467         * modules/stdlib (Depends-on): Update.
50468         * modules/string (Depends-on): Update.
50469         * modules/strings (Depends-on): Update.
50470         * modules/sys_ioctl (Depends-on): Update.
50471         * modules/sys_select (Depends-on): Update.
50472         * modules/sys_socket (Depends-on): Update.
50473         * modules/sys_stat (Depends-on): Update.
50474         * modules/sys_time (Depends-on): Update.
50475         * modules/sys_wait (Depends-on): Update.
50476         * modules/termios (Depends-on): Update.
50477         * modules/time (Depends-on): Update.
50478         * modules/unistd (Depends-on): Update.
50479         * modules/wchar (Depends-on): Update.
50480         * modules/wctype-h (Depends-on): Update.
50482         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
50483         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
50484         (Files, Makefile.am): Update.
50485         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
50486         * modules/argv-iter (Depends-on): Update.
50487         * modules/arpa_inet (Depends-on): Update.
50488         * modules/dirent (Depends-on): Update.
50489         * modules/fcntl-h (Depends-on): Update.
50490         * modules/fnmatch (Depends-on): Update.
50491         * modules/getopt-posix (Depends-on): Update.
50492         * modules/glob (Depends-on): Update.
50493         * modules/iconv-h (Depends-on): Update.
50494         * modules/inttypes-incomplete (Depends-on): Update.
50495         * modules/locale (Depends-on): Update.
50496         * modules/math (Depends-on): Update.
50497         * modules/netdb (Depends-on): Update.
50498         * modules/search (Depends-on): Update.
50499         * modules/signal (Depends-on): Update.
50500         * modules/spawn (Depends-on): Update.
50501         * modules/stdio (Depends-on): Update.
50502         * modules/stdlib (Depends-on): Update.
50503         * modules/string (Depends-on): Update.
50504         * modules/strings (Depends-on): Update.
50505         * modules/sys_socket (Depends-on): Update.
50506         * modules/sys_stat (Depends-on): Update.
50507         * modules/sys_time (Depends-on): Update.
50508         * modules/sys_times (Depends-on): Update.
50509         * modules/sys_utsname (Depends-on): Update.
50510         * modules/time (Depends-on): Update.
50511         * modules/unistd (Depends-on): Update.
50512         * modules/wchar (Depends-on): Update.
50513         * MODULES.html.sh (Support for building libraries and executables):
50514         Update.
50516 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50518         Improvements on _Noreturn and related modules.
50520         modules/_Exit-tests: test _Noreturn too
50521         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
50522         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
50523         (main): Use them.
50525         stdnoreturn, stdnoreturn-tests: remove modules
50526         They're not needed here and a bit premature for use elsewhere.  See
50527         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
50528         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
50529         * tests/test-stdnoreturn.c: Remove files.
50530         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
50531         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
50532         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
50533         and using noreturn.
50534         * modules/openat, modules/sigpipe-die, modules/xalloc:
50535         * modules/xmemdup0, modules/xstrtol:
50536         Remove dependency on stdnoreturn.
50538         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
50539         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
50540         Reparenthesize to avoid GCC warning.
50541         Support Microsoft's syntax.
50542         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
50544         _Noreturn-tests: remove module
50545         * modules/_Noreturn-tests: Remove.
50546         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
50547         * tests/test-_Noreturn.c: Remove.
50548         * tests/test-stdnoreturn.c: Merge from the old
50549         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
50551 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
50553         _Noreturn, stdnoreturn, and related modules.
50555         * top/maint.mk: Adjust to new noreturn support.
50556         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
50557         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
50559         xalloc: use stdnoreturn.h
50560         * lib/xalloc.h: Include <stdnoreturn.h>.
50561         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50562         * modules/xalloc (Depends-on): Add stdnoreturn.
50564         xstrtol: use stdnoreturn.h
50565         * lib/xstrtol.h: Include <stdnoreturn.h>.
50566         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50567         * modules/xstrtol (Depends-on): Add stdnoreturn.
50569         xmemdup0: use stdnoreturn.h
50570         * lib/xmemdup0.h: Include <stdnoreturn.h>.
50571         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50572         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
50574         sigpipe-die: use stdnoreturn.h
50575         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
50576         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50577         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
50579         openat: use stdnoreturn.h
50580         * lib/openat.h: Include <stdnoreturn.h>.
50581         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
50582         * modules/openat (Depends-on): Add stdnoreturn.
50584         * lib/openat-die.c (openat_save_fail): Modernize comment.
50586         * lib/xalloc-die.c (xalloc_die): Modernize comment.
50588         * lib/glthread/thread.h: Modernize comment.
50590         obstack: use _Noreturn
50591         * lib/obstack.c (__attribute__): Remove macro.
50592         (print_and_abort): Use _Noreturn.
50594         c-stack: use _Noreturn
50595         * lib/c-stack.c (die, overflow_handler, segv_handler):
50596         Use _Noreturn rather than __attribute__((noreturn)).
50598         argmatch-tests, exclude_tests: use _Noreturn
50599         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
50600         Remove.
50601         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
50603         stdlib: use _Noreturn
50604         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
50605         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
50606         * modules/stdlib (Depends-on): Add _Noreturn.
50607         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
50609         stdnoreturn-tests: new module
50610         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
50612         stdnoreturn: new module
50613         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
50614         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
50616         _Noreturn-tests: new module
50617         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
50619         _Noreturn: new module
50620         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
50621         New section, mentioning it.
50622         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
50624         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
50626 2011-07-11  Eric Blake  <eblake@redhat.com>
50628         ffs: new module
50629         * modules/ffs: New file.
50630         * m4/ffs.m4: Likewise.
50631         * lib/ffs.c: Likewise.
50632         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
50633         * modules/strings (Makefile.am): Substitute witness.
50634         (Depends-on): Add c++defs.
50635         * lib/strings.in.h (ffs): Declare.
50636         * modules/ffs-tests: New test file.
50637         * tests/test-ffs.c: Test new module.
50638         * MODULES.html.sh (Integer arithmetic functions): Mention it.
50639         * doc/posix-functions/ffs.texi (ffs): Likewise.
50641         regex: avoid compiler warning
50642         * lib/regex.c (includes): Include <strings.h>, for use of
50643         strcasecmp in regcomp.c.
50644         Reported by Joachim Schmitz.
50646 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50648         stdint: respect system's intmax_t if INTMAX_MAX
50649         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
50650         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
50651         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
50652         long but int64_t is long long, and where we will clash with the
50653         system intmax_t if we override it.  See
50654         <http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
50655         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
50656         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
50657         similarly for UINTMAX_C.
50659 2011-07-08  Bruno Haible  <bruno@clisp.org>
50661         pthread_sigmask tests: Avoid a compiler warning.
50662         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
50663         non-zero.
50665         sigprocmask tests: A better way to avoid a compiler warning.
50666         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
50667         (main): Complain if system() returns non-zero.
50668         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
50670 2011-07-08  Bruno Haible  <bruno@clisp.org>
50672         pthread_sigmask: Work around IRIX bug.
50673         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
50674         bug.
50675         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
50676         there may be unblocked pending signals.
50677         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
50679 2011-07-08  Bruno Haible  <bruno@clisp.org>
50681         pthread_sigmask: Work around Cygwin bug.
50682         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
50683         bug.
50684         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
50685         the system's pthread_sigmask function.
50686         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
50688 2011-07-08  Bruno Haible  <bruno@clisp.org>
50690         pthread_sigmask: Work around bug in single-threaded implementation.
50691         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
50692         FreeBSD, HP-UX, Solaris bug.
50693         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
50694         * lib/pthread_sigmask.c: Include <stddef.h>.
50695         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
50696         the system's pthread_sigmask function.
50697         * modules/pthread_sigmask (configure.ac): Invoke
50698         gl_PREREQ_PTHREAD_SIGMASK.
50699         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
50700         HP-UX, Solaris.
50702 2011-07-08  Eric Blake  <eblake@redhat.com>
50704         test-sigprocmask: avoid compiler warning
50705         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
50706         * tests/test-sigprocmask.c (main): Use it to silence warning.
50707         Reported by Jim Meyering.
50709         test-snprintf: avoid compiler warning
50710         * tests/test-snprintf.c (main): Avoid shadowed declaration.
50711         * tests/test-vsnprintf.c (main): Likewise.
50712         Reported by Jim Meyering.
50714 2011-07-08  Bruno Haible  <bruno@clisp.org>
50716         Tests for module 'pthread_sigmask'.
50717         * modules/pthread_sigmask-tests: New file.
50718         * tests/test-pthread_sigmask1.c: New file, based on
50719         tests/test-sigprocmask.c.
50720         * tests/test-pthread_sigmask2.c: New file.
50722 2011-07-08  Jim Meyering  <meyering@redhat.com>
50724         test-getopt.h: avoid warning about an unused variable
50725         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
50727 2011-07-07  Jim Meyering  <meyering@redhat.com>
50729         maint: reduce list of files exempt from sc_prohibit_leading_TABs
50730         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
50731         now that it no longer contains leading TABs.
50732         Remove unused "url=FIXME" statement.
50734 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50736         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
50737         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50738         When gl_THREADLIB is not in use, assume that the POSIX sematics
50739         are desired.  This is better for Emacs, which uses POSIX semantics
50740         on GNUish and/or POSIXish platforms, and does not use threads at
50741         all otherwise.
50743         pthread_sigmask: fix typo when testing for libraries
50744         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
50745         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
50747 2011-07-08  Eric Blake  <eblake@redhat.com>
50749         fts: introduce FTS_NOATIME
50750         * lib/fts_.h (FTS_NOATIME): New bit flag.
50751         (FTS_OPTIONMASK): Adjust.
50752         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
50753         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
50755 2011-07-08  Bruno Haible  <bruno@clisp.org>
50757         Tests for module 'thread'.
50758         * modules/thread-tests: New file.
50759         * tests/test-thread_self.c: New file.
50760         * tests/test-thread_create.cc: New file.
50762 2011-07-08  Bruno Haible  <bruno@clisp.org>
50764         thread: Avoid gcc warnings when using gl_thread_self().
50765         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
50766         'void *'.
50767         (gl_thread_self_pointer): Update.
50769 2011-07-07  Bruno Haible  <bruno@clisp.org>
50771         signal-c++-tests: Check declaration of pthread_sigmask.
50772         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
50773         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
50774         $(LIB_PTHREAD_SIGMASK).
50776 2011-07-07  Bruno Haible  <bruno@clisp.org>
50778         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
50779         * lib/signal.in.h (pthread_sigmask): Override if
50780         REPLACE_PTHREAD_SIGMASK is 1.
50781         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50782         REPLACE_PTHREAD_SIGMASK.
50783         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
50784         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
50785         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
50786         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50787         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
50789 2011-07-07  Bruno Haible  <bruno@clisp.org>
50791         pthread_sigmask: Ensure declaration in <signal.h>.
50792         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
50793         include <pthread.h>.
50794         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
50795         problem.
50797 2011-07-07  Bruno Haible  <bruno@clisp.org>
50799         pthread_sigmask: Document the module.
50800         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
50802 2011-07-07  Bruno Haible  <bruno@clisp.org>
50804         pthread_sigmask: Follow gnulib conventions.
50805         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
50806         gl_PTHREAD_SIGMASK.
50807         * modules/pthread_sigmask (configure.ac): Update.
50809 2011-07-07  Bruno Haible  <bruno@clisp.org>
50811         pthread_sigmask: Make declaration C++ safe.
50812         * lib/signal.in.h: In two special conditions, just do an #include_next.
50813         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50814         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
50815         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50816         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
50817         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
50818         not REPLACE_PTHREAD_MASK.
50819         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
50820         not REPLACE_PTHREAD_MASK.
50821         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
50823 2011-07-07  Bruno Haible  <bruno@clisp.org>
50825         pthread_sigmask: Fix return value.
50826         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
50827         * lib/pthread_sigmask.c: New file.
50828         * modules/pthread_sigmask (Files): Add it.
50829         (configure.ac): Invoke AC_LIBOBJ.
50831 2011-07-07  Eric Blake  <eblake@redhat.com>
50833         getopt: more portable argv creation
50834         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
50835         const, use char arrays rather than strings.
50836         Suggested by Paul Eggert.
50838 2011-07-07  Bruno Haible  <bruno@clisp.org>
50840         Tests for module 'sigprocmask'.
50841         * modules/sigprocmask-tests: New file.
50842         * tests/test-sigprocmask.c: New file.
50844 2011-07-07  Bruno Haible  <bruno@clisp.org>
50846         float tests: Tweak.
50847         * tests/test-float.c (main): Tweak skip message.
50849 2011-07-07  Eric Blake  <eblake@redhat.com>
50851         getopt: avoid compiler warning during configure
50852         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
50853         assigning string literals to non-const pointer.
50855         getopt-gnu: avoid crash in glibc getopt
50856         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
50857         * tests/test-getopt.h (test_getopt): Enhance test.
50858         * tests/test-getopt_long.h (test_getopt_long): Likewise.
50859         * doc/posix-functions/getopt.texi (getopt): Document it.
50860         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
50861         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
50862         Likewise.
50864 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
50866         getopt: handle W; without long options in getopt [BZ #12922]
50867         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
50868         but no long options are defined, just return 'W'.
50870 2011-07-07  Bruno Haible  <bruno@clisp.org>
50872         Avoid literal tabs.
50873         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
50874         variable containing a tab instead of a literal tab.
50875         Reported by Jim Meyering.
50877 2011-07-07  Bruno Haible  <bruno@clisp.org>
50879         Comments.
50880         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
50882 2011-07-06  Bruno Haible  <bruno@clisp.org>
50884         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
50885         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
50886         <winsock2.h>.
50887         (rpl_fd_isset, FD_ISSET): New definitions, copied from
50888         lib/sys_socket.in.h.
50889         (close, gethostname): Hide declarations from <winsock2.h>.
50890         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
50891         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
50892         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
50893         (select): Don't override if gnulib's <sys/select.h> was already
50894         included.
50895         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
50896         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
50897         setsockopt, shutdown, select): Tweak indentation.
50899 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50901         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
50902         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
50903         in an application that does not use the sys_select module.
50905 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
50907         poll: do not return 0 on timeout=-1
50908         * lib/poll.c: Loop with yield if no events occurred.
50910 2011-07-06  Eric Blake  <eblake@redhat.com>
50912         pthread_sigmask: always replace when not using pthread
50913         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
50914         replacement when using some threading other than pthread.  Fix
50915         logic bug.
50917 2011-07-06  Bruno Haible  <bruno@clisp.org>
50919         Comments.
50920         * m4/printf.m4: Update comments about mingw.
50922 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50924         sys_select: define sigset_t more portably
50925         * lib/sys_select.in.h: Always include <sys/types.h>, since
50926         we now need sigset_t and mingw defines it there.
50927         Include <signal.h> before split inclusion guard, to avoid
50928         mishaps on Solaris, whose <signal.h> eventually includes us.
50929         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
50930         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
50931         which come from ...
50932         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
50933         gl_CHECK_TYPE_SIGSET_T.
50934         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
50935         does the real work.
50936         * modules/sys_select (Depends-on): Add 'signal'.
50938         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
50939         Suggested by Bruno Haible.
50941         pselect: Use pthread_sigmask, not sigprocmask.
50942         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
50943         multithreaded apps better than sigprocmask does.
50944         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
50945         sigprocmask directly.
50947 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50949         * lib/pselect.c (pselect): Use plain name, without "rpl_".
50950         Don't #undef,  since we don't need any underlying pselect.
50951         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
50952         (Depends-on): Add select.
50953         (Link): Add $(LIBSOCKET).
50954         These changes suggested by Bruno Haible.
50956         pselect: document better
50957         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50958         * doc/posix-functions/pselect.texi (pselect): Document new module.
50960         pthread_sigmask: new module
50961         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
50962         * doc/posix-functions/pthread_sigmask.texi: Document new module.
50963         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
50964         This is done only as a macro; I don't know how well that'll
50965         work for C++.  Move <sys/types.h> include before the include_next,
50966         to avoid mishap on Solaris.
50967         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
50968         * modules/signal (Makefile.am): Substitute the check's results.
50969         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
50971         test-pselect: new module
50972         * modules/pselect-tests, tests/test-pselect.c: New files.
50973         * tests/test-select.c, tests/test-sys_select-c++.cc:
50974         If TEST_PSELECT is defined, test pselect instead of testing select.
50976         * tests/test-sys_select.c (sigset_t): Test for it, too.
50977         Suggested by Bruno Haible.
50979 2011-07-05  Eric Blake  <eblake@redhat.com>
50981         snprintf: guarantee %1$d, for libintl
50982         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
50983         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
50984         * doc/posix-functions/snprintf.texi (snprintf): Update.
50985         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50986         * tests/test-snprintf.c (main): Enhance test.
50987         * tests/test-vsnprintf.c (main): Likewise.
50989 2011-07-05  Jim Meyering  <meyering@redhat.com>
50991         maint: exempt stdio-read.c and stdio-write.c from the cppi check
50992         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
50993         per Bruno's request, to accommodate this idiom (no space after "#")
50994         even when the function is inside an #if block:
50995         char *
50996         gets (char *s)
50997         #undef gets
50998         {
50999           ...
51000         }
51002 2011-07-04  Jim Meyering  <meyering@redhat.com>
51004         maint: indent with spaces, not TABs, and add a rule to check this
51005         * tests/test-userspec.c: Indent with spaces, not TABs.
51006         * tests/test-argp.c: Likewise.
51007         * tests/test-c-stack2.sh: Likewise.
51008         * tests/test-parse-duration.sh: Likewise
51009         * m4/strtod.m4: Likewise.
51010         * m4/alloca.m4: Likewise.
51011         * m4/pselect.m4: Likewise.
51012         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
51014 2011-07-03  Jim Meyering  <meyering@redhat.com>
51016         maint.mk: correct omissions in prohibit_argmatch_without_use check
51017         This rule would mistakenly report that argmatch.h is included without
51018         use even when both the argmatch and invalid_arg macro were used.
51019         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
51020         of argmatch and invalid_arg.
51022 2011-07-03  Bruno Haible  <bruno@clisp.org>
51024         Comments about EINTR.
51025         * lib/safe-read.h: Explain the purpose of this module.
51026         * lib/safe-write.h: Likewise.
51027         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
51028         module.
51029         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
51030         module.
51031         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51033 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
51035         xnanosleep: Rewrite to use new dtotimespec module.
51036         It has the conversion code that used to be in xnanosleep.
51037         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
51038         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
51039         (TIME_T_MAX): Remove.
51040         (xnanosleep): Rewrite in terms of dtotimespec.
51041         * modules/xnanosleep (Depends-on): Add dtotimespec.
51042         Remove intprops, stdbool.
51044         timespec-add, timespec-sub: new modules
51045         * lib/timespec.h (timespec_add, timespec_sub): New decls.
51046         * lib/timespec-add.c, lib/timespec-sub.c:
51047         * modules/timespec-add, modules/timespec-sub: New files.
51049         dtotimespec: new module
51050         * lib/timespec.h (dtotimespec): New decl.
51051         * lib/dtotimespec.c, modules/dtotimespec: New files.
51053         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
51055         pselect: new module
51056         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
51057         (pselect): New decls.
51058         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
51059         since the standard pselect decl uses 'restrict'.
51060         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
51061         HAVE_PSELECT, REPLACE_PSELECT.
51062         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
51063         HAVE_PSELECT, REPLACE_PSELECT.
51064         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
51066         sys_select: don't depend on sys_socket
51067         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
51068         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
51069         This fix works on GNU and GNU-like platforms, but has not been tested
51070         on native Windows.
51071         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
51072         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
51073         gl_HEADER_SYS_SOCKET.
51074         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
51075         gl_PREREQ_SYS_H_WINSOCK2.
51077 2011-06-29  Eric Blake  <eblake@redhat.com>
51079         pipe2: fix C89 compile problem
51080         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
51081         Reported by Bruno Haible.
51083         pipe, pipe2: don't corrupt fd on error
51084         * lib/pipe.c (pipe): Leave fd unchanged on error.
51085         * lib/pipe2.c (pipe2): Likewise.
51086         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
51087         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
51089 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
51091         mmap-anon: do not use regular expressions inadvertently
51092         * m4/mmap-anon.m4: Remove trailing period from strings sought
51093         in the output.
51095 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
51097         nanosleep: fix integer overflow problem
51098         * lib/nanosleep.c (my_usleep): Don't assume signed integer
51099         arithmetic wraps around on overflow.
51101         nanosleep: simplify carrying
51102         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
51103         first call to the underyling nanosleep, not for the last one.
51104         This doesn't fix any bugs, but it simplifies the computation of
51105         the remaining delay.  Found while auditing integer overflow issues.
51107         dup2: remove test for existence of fcntl
51108         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
51109         "#if HAVE_FCNTL", in the configure-time test program.
51110         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
51111         and therefore speeds up "configure" a bit.  Found while
51112         adding the dup2 module to Emacs.
51114 2011-06-24  Eric Blake  <eblake@redhat.com>
51116         maint.mk: enhance useless header checks
51117         * top/maint.mk (_sc_header_without_use): Check both include
51118         styles.
51119         (sc_prohibit_assert_without_use)
51120         (sc_prohibit_close_stream_without_use)
51121         (sc_prohibit_getopt_without_use)
51122         (sc_prohibit_quotearg_without_use)
51123         (sc_prohibit_quote_without_use)
51124         (sc_prohibit_long_options_without_use)
51125         (sc_prohibit_inttostr_without_use)
51126         (sc_prohibit_ignore_value_without_use)
51127         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
51128         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
51129         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
51130         (sc_prohibit_hash_pjw_without_use)
51131         (sc_prohibit_safe_read_without_use)
51132         (sc_prohibit_argmatch_without_use)
51133         (sc_prohibit_canonicalize_without_use)
51134         (sc_prohibit_root_dev_ino_without_use)
51135         (sc_prohibit_openat_without_use)
51136         (sc_prohibit_c_ctype_without_use)
51137         (sc_prohibit_signal_without_use)
51138         (sc_prohibit_stdio--_without_use)
51139         (sc_prohibit_stdio-safer_without_use)
51140         (sc_prohibit_strings_without_use)
51141         (sc_prohibit_intprops_without_use)
51142         (sc_prohibit_stddef_without_use)
51143         (sc_prohibit_xfreopen_without_use): Update clients.
51145 2011-06-24  Jim Meyering  <meyering@redhat.com>
51147         syntax-check: keep one maint.mk rule in sync with its header
51148         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
51149         of the bug Eric has just fixed, with today's commit 25e4c2ec.
51150         I prefer to avoid temporary files here, so use <(...), but that
51151         is not supported by /bin/sh, so...
51152         (SHELL): Define to /bin/bash.
51154 2011-06-24  Eric Blake  <eblake@redhat.com>
51156         maint.mk: update sc_prohibit_intprops_without_use
51157         * top/maint.mk (_intprops_names): Match recent changes.
51159 2011-06-24  Bruno Haible  <bruno@clisp.org>
51161         strerror-override: No-op tweak.
51162         * lib/strerror-override.h (strerror_override): Reorder conditions,
51163         for consistency with lib/strerror-override.c.
51165 2011-06-23  Eric Blake  <eblake@redhat.com>
51167         maint.mk: test further PATH_MAX issues
51168         * top/maint.mk (sc_prohibit_path_max_array): Rename...
51169         (sc_prohibit_path_max_allocation): ...and also test alloca.
51170         Suggested by Jim Meyering.
51172 2011-06-22  Eric Blake  <eblake@redhat.com>
51174         maint.mk: add syntax-check to avoid char[PATH_MAX]
51175         * top/maint.mk (sc_prohibit_path_max_array): New rule.
51177         stat: be robust to PATH_MAX definition
51178         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
51179         * modules/stat (Depends-on): Add verify.
51181         link: work around IRIX bug
51182         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
51183         * lib/link.c (rpl_link): Work around it.
51184         * tests/test-link.h (test_link): Enhance test.
51185         * doc/posix-functions/link.texi (link): Document the bug.
51187         getopt: silence clang warning
51188         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
51189         dereference.
51190         Reported by Gustavo Martin Domato.
51192 2011-06-22  Jim Meyering  <meyering@redhat.com>
51194         bootstrap: do not insert a blank line into each .gitignore file
51195         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
51197 2011-06-21  Eric Blake  <eblake@redhat.com>
51199         perror: test for output mismatch
51200         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
51201         perror on IRIX.
51203         strerror_r: fix OpenBSD behavior on out-of-range
51204         * lib/strerror_r.c (strerror_r): Always use maximal string.
51205         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
51207         strerror_r: fix OpenBSD behavior on 0
51208         * lib/strerror-override.c (strerror_override): Also override 0
51209         when needed.
51210         * lib/strerror-override.h (strerror_override): Likewise.
51211         * lib/strerror.c (strerror): Simplify, now that 0 override is done
51212         earlier.
51213         * lib/strerror_r.c (strerror_r): Likewise.
51214         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
51215         behavior...
51216         (gl_FUNC_STRERROR_0): ...into new macro.
51217         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
51218         is overridden.
51219         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
51220         * modules/strerror-override (Files): Add strerror.m4.
51221         (configure.ac): Also provide override for 0 when needed.
51222         * doc/posix-functions/strerror.texi (strerror): Document this.
51223         * doc/posix-functions/perror.texi (perror): Likewise.
51225         perror: adjust array size
51226         * modules/perror (Depends-on): Add strerror-override.
51227         * lib/perror.c (perror): Use it to avoid magic number.
51229         strerror-override: reduce size
51230         * lib/strerror-override.c (strerror_override): Use fewer lines.
51232 2011-06-20  Bruno Haible  <bruno@clisp.org>
51234         pathmax: Ensure correct value for PATH_MAX on HP-UX.
51235         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
51237 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51239         alloca: port to compilers that can optimize like GCC 4.6.0
51240         * lib/alloca.c (find_stack_direction): New signature, taken from
51241         Autoconf git.  This works with GCC 4.6.0.  This code should never
51242         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
51243         be used with other compilers that optimize as well as GCC 4.6.0 does.
51244         (alloca): Adjust to new signature.
51245         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
51246         New macro, which patches Autoconf in a similar way.
51248         c-stack: stop worrying about stack direction
51249         * lib/c-stack.c (find_stack_direction): Remove.
51250         (segv_handler): Don't worry about stack direction growth, as it's
51251         too much of a pain to configure this correctly, given how compilers
51252         are optimizing-away our stack-growth detection code.  Instead, assume
51253         that any access to just before or just after the stack is OK.
51254         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51255         Don't require AC_FUNC_ALLOCA; no longer needed.
51257 2011-06-20  Eric Blake  <eblake@redhat.com>
51259         test-stat: don't allocate PATH_MAX bytes
51260         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
51261         PATH_MAX-sized buffer.
51262         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
51263         * modules/stat-tests (Depends-on): Likewise.
51264         * tests/test-fstatat.c (includes): Drop pathmax.h.
51265         * tests/test-stat.c (includes): Likewise.
51266         Reported by Bruno Haible.
51268 2011-06-20  Bruno Haible  <bruno@clisp.org>
51270         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
51271         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
51272         * lib/float.c: New file.
51273         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
51274         REPLACE_FLOAT_LDBL.
51275         * modules/float (Files): Add lib/float.c.
51276         (configure.ac): Invoke AC_LIBOBJ.
51277         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
51279 2011-06-20  Bruno Haible  <bruno@clisp.org>
51281         Tests for module 'float'.
51282         * modules/float-tests: New file.
51283         * tests/test-float.c: New file.
51285 2011-06-19  Bruno Haible  <bruno@clisp.org>
51287         isinf: Coding style.
51288         * lib/isinf.c: Use GNU coding style.
51290 2011-06-19  Bruno Haible  <bruno@clisp.org>
51292         linkat test: Avoid test failure on AIX 7.1.
51293         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
51294         * tests/test-link.h (test_link): Likewise.
51296 2011-06-19  Bruno Haible  <bruno@clisp.org>
51298         pread test: Avoid test failure on OpenBSD 4.9.
51299         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
51301 2011-06-19  Bruno Haible  <bruno@clisp.org>
51303         sprintf-posix: Fix test failure on AIX 7.1.
51304         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
51305         * doc/posix-functions/dprintf.texi: Mention limited precision problem
51306         on AIX.
51307         * doc/posix-functions/fprintf.texi: Likewise.
51308         * doc/posix-functions/printf.texi: Likewise.
51309         * doc/posix-functions/snprintf.texi: Likewise.
51310         * doc/posix-functions/sprintf.texi: Likewise.
51311         * doc/posix-functions/vdprintf.texi: Likewise.
51312         * doc/posix-functions/vfprintf.texi: Likewise.
51313         * doc/posix-functions/vprintf.texi: Likewise.
51314         * doc/posix-functions/vsnprintf.texi: Likewise.
51315         * doc/posix-functions/vsprintf.texi: Likewise.
51317 2011-06-19  Bruno Haible  <bruno@clisp.org>
51319         roundl-ieee: Fix test failure on AIX 7.1.
51320         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
51321         * doc/posix-functions/roundl.texi: Mention problem with negative
51322         arguments.
51324 2011-06-19  Bruno Haible  <bruno@clisp.org>
51326         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51327         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
51328         * doc/posix-functions/round.texi: Mention problem with negative
51329         arguments.
51330         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
51332 2011-06-19  Bruno Haible  <bruno@clisp.org>
51334         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
51335         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
51336         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
51337         * doc/posix-functions/roundf.texi: Mention problem with negative
51338         arguments.
51339         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
51341 2011-06-19  Bruno Haible  <bruno@clisp.org>
51343         ceilf-ieee: Work around bug on MacOS X 10.5.
51344         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
51346         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
51347         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
51348         IEEE compliant, avoid compiler optimizations.
51349         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
51350         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
51351         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
51352         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
51353         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
51354         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
51355         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
51356         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
51357         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
51358         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
51360 2011-06-19  Bruno Haible  <bruno@clisp.org>
51362         ceilf-ieee: Work around bug on AIX 7.1.
51363         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
51364         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
51366 2011-06-19  Bruno Haible  <bruno@clisp.org>
51368         ceil-ieee: Work around bug on AIX 7.1.
51369         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
51370         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
51372 2011-06-18  Bruno Haible  <bruno@clisp.org>
51374         fsync test: Avoid test failure on MacOS X and AIX.
51375         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
51376         EINVAL.
51378 2011-06-18  Bruno Haible  <bruno@clisp.org>
51380         openat, fdopendir tests: Fix link errors.
51381         * modules/openat-tests (Depends-on): Add progname.
51382         * modules/fdopendir-tests (Depends-on): Likewise.
51383         * tests/test-fchownat.c: Include progname.h.
51384         (main): Call set_program_name.
51385         * tests/test-fstatat.c: Include progname.h.
51386         (main): Call set_program_name.
51387         * tests/test-mkdirat.c: Include progname.h.
51388         (main): Call set_program_name.
51389         * tests/test-openat.c: Include progname.h.
51390         (main): Call set_program_name.
51391         * tests/test-unlinkat.c: Include progname.h.
51392         (main): Call set_program_name.
51393         * tests/test-fdopendir.c: Include progname.h.
51394         (main): Call set_program_name.
51396 2011-06-18  Bruno Haible  <bruno@clisp.org>
51398         Doc update.
51399         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
51400         HP-UX.
51401         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
51403 2011-06-18  Bruno Haible  <bruno@clisp.org>
51405         getcwd tests: Avoid compilation error on HP-UX 11.31.
51406         * modules/getcwd-tests (Depends-on): Add pathmax.
51407         * tests/test-getcwd.c: Include pathmax.h.
51409 2011-06-18  Bruno Haible  <bruno@clisp.org>
51411         isfinite, isinf: Fix link error on AIX 6 and 7.
51412         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
51413         needed, also test the macro with a 'float' argument.
51414         * m4/isinf.m4 (gl_ISINF): Likewise.
51416 2011-06-18  Bruno Haible  <bruno@clisp.org>
51418         getloadavg: Don't clobber LIBS. Regression from previous commit.
51419         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
51420         AC_CHECK_LIB from here...
51421         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
51422         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
51423         gl_func_getloadavg_done.
51424         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51426 2011-06-18  Bruno Haible  <bruno@clisp.org>
51428         clean-temp: Improve documentation.
51429         * lib/clean-temp.h: Explain better how to use this module.
51430         Reported by John Darrington <john@darrington.wattle.id.au>.
51432 2011-06-17  Bruno Haible  <bruno@clisp.org>
51434         pread, pwrite: Avoid cc warning on AIX.
51435         * lib/unistd.in.h (pread): Undefine before defining as a macro.
51436         (pwrite): Likewise.
51438 2011-06-17  Bruno Haible  <bruno@clisp.org>
51440         spawn-pipe tests: Fix link error.
51441         * tests/test-spawn-pipe-child.c: Undefine fprintf.
51442         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51444 2011-06-17  Bruno Haible  <bruno@clisp.org>
51446         Tests: Remove unnecessary dependency.
51447         * modules/canonicalize-tests (Depends-on): Remove progname.
51448         * modules/chown-tests (Depends-on): Likewise.
51449         * modules/dirname-tests (Depends-on): Likewise.
51450         * modules/fdopendir-tests (Depends-on): Likewise.
51451         * modules/fdutimensat-tests (Depends-on): Likewise.
51452         * modules/hash-tests (Depends-on): Likewise.
51453         * modules/lchown-tests (Depends-on): Likewise.
51454         * modules/linkat-tests (Depends-on): Likewise.
51455         * modules/renameat-tests (Depends-on): Likewise.
51456         * modules/spawn-pipe-tests (Depends-on): Likewise.
51457         * modules/utimensat-tests (Depends-on): Likewise.
51459 2011-06-17  Bruno Haible  <bruno@clisp.org>
51461         spawn-pipe tests: Fix link error.
51462         * tests/test-spawn-pipe-child.c: Undefine fflush.
51464 2011-06-17  Bruno Haible  <bruno@clisp.org>
51466         Fix tests link errors.
51467         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
51468         * modules/chown-tests (Makefile.am): Don't link test-chown with
51469         LIBINTL.
51470         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
51471         LIBINTL.
51472         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
51473         LIBINTL.
51474         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
51475         LIBINTL.
51477 2011-06-16  Bruno Haible  <bruno@clisp.org>
51479         crypto/gc-sha1: Fix recent regression.
51480         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
51481         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
51483         crypto/gc-md5: Fix recent regression.
51484         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
51486         crypto/gc-md4: Fix recent regression.
51487         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
51488         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
51490         crypto/gc-arctwo: Fix recent regression.
51491         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
51492         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
51494         crypto/gc-rijndael: Fix recent regression.
51495         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
51496         (configure.ac): Invoke AC_LIBOBJ here.
51497         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
51498         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51500         crypto/gc-hmac-sha1: Fix recent regression.
51501         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
51502         (configure.ac): Invoke AC_LIBOBJ here.
51503         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
51504         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51506         crypto/gc-hmac-md5: Fix recent regression.
51507         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
51508         (configure.ac): Invoke AC_LIBOBJ here.
51509         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
51510         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51512         crypto/gc-des: Fix recent regression.
51513         * modules/crypto/gc-des (Files): Remove m4/des.m4.
51514         (configure.ac): Invoke AC_LIBOBJ here.
51515         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
51516         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51518         crypto/gc-arcfour: Fix recent regression.
51519         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
51520         (configure.ac): Invoke AC_LIBOBJ here.
51521         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
51522         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51524 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
51526         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
51527         After the 2011-05-21 change, this macro requires
51528         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
51529         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
51531 2011-06-16  Bruno Haible  <bruno@clisp.org>
51533         fprintftime: Move AC_LIBOBJ invocations to module description.
51534         * m4/fprintftime.m4: Remove file.
51535         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
51536         (configure.ac): Remove gl_FPRINTFTIME call.
51537         (Makefile.am): Augment lib_SOURCES.
51538         Reported by Jim Meyering.
51540 2011-06-16  Bruno Haible  <bruno@clisp.org>
51542         tmpfile-safer: Finish 2011-05-23 commit.
51543         * m4/stdio-safer.m4: Really remove file.
51544         Reported by Jim Meyering.
51546 2011-06-16  Bruno Haible  <bruno@clisp.org>
51548         syntax-check: Fix typo.
51549         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
51550         printf-posix.m4.
51551         Reported by Jim Meyering.
51553 2011-06-13  Jim Meyering  <meyering@redhat.com>
51555         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
51556         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
51558 2011-05-23  Bruno Haible  <bruno@clisp.org>
51560         yesno: Move AC_LIBOBJ invocations to module description.
51561         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
51562         * modules/yesno (Makefile.am): Augment lib_SOURCES.
51564 2011-05-23  Bruno Haible  <bruno@clisp.org>
51566         xstrtol: Move AC_LIBOBJ invocations to module description.
51567         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
51568         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
51570 2011-05-23  Bruno Haible  <bruno@clisp.org>
51572         xstrtold: Move AC_LIBOBJ invocations to module description.
51573         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
51574         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
51576 2011-05-23  Bruno Haible  <bruno@clisp.org>
51578         xstrtod: Move AC_LIBOBJ invocations to module description.
51579         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
51580         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
51582 2011-05-23  Bruno Haible  <bruno@clisp.org>
51584         xnanosleep: Move AC_LIBOBJ invocations to module description.
51585         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
51586         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
51588 2011-05-23  Bruno Haible  <bruno@clisp.org>
51590         xgetcwd: Move AC_LIBOBJ invocations to module description.
51591         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
51592         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
51594 2011-05-23  Bruno Haible  <bruno@clisp.org>
51596         xalloc: Move AC_LIBOBJ invocations to module description.
51597         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
51598         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
51600 2011-05-23  Bruno Haible  <bruno@clisp.org>
51602         write-any-file: Move AC_LIBOBJ invocations to module description.
51603         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
51604         invocation.
51605         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
51607 2011-05-23  Bruno Haible  <bruno@clisp.org>
51609         utimens: Move AC_LIBOBJ invocations to module description.
51610         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
51611         * modules/utimens (Makefile.am): Augment lib_SOURCES.
51613 2011-05-23  Bruno Haible  <bruno@clisp.org>
51615         utimecmp: Move AC_LIBOBJ invocations to module description.
51616         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
51617         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
51619 2011-05-23  Bruno Haible  <bruno@clisp.org>
51621         userspec: Move AC_LIBOBJ invocations to module description.
51622         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
51623         * modules/userspec (Makefile.am): Augment lib_SOURCES.
51625 2011-05-23  Bruno Haible  <bruno@clisp.org>
51627         unlinkdir: Move AC_LIBOBJ invocations to module description.
51628         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
51629         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
51631 2011-05-23  Bruno Haible  <bruno@clisp.org>
51633         unistd-safer: Move AC_LIBOBJ invocations to module description.
51634         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
51635         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
51637 2011-05-23  Bruno Haible  <bruno@clisp.org>
51639         tempname: Move AC_LIBOBJ invocations to module description.
51640         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
51641         * modules/tempname (Makefile.am): Augment lib_SOURCES.
51643 2011-05-23  Bruno Haible  <bruno@clisp.org>
51645         strftime: Move AC_LIBOBJ invocations to module description.
51646         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
51647         * modules/strftime (Makefile.am): Augment lib_SOURCES.
51649 2011-05-23  Bruno Haible  <bruno@clisp.org>
51651         stdlib-safer: Move AC_LIBOBJ invocations to module description.
51652         * m4/stdlib-safer.m4: Remove file.
51653         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
51654         (configure.ac): Remove gl_STDLIB_SAFER call.
51655         (Makefile.am): Augment lib_SOURCES.
51657 2011-05-23  Bruno Haible  <bruno@clisp.org>
51659         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
51660         * m4/stdio-safer.m4: Remove file.
51661         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
51662         (configure.ac): Remove gl_TMPFILE_SAFER call.
51663         (Makefile.am): Augment lib_SOURCES.
51665 2011-05-23  Bruno Haible  <bruno@clisp.org>
51667         popen-safer: Move AC_LIBOBJ invocations to module description.
51668         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
51669         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
51670         (configure.ac): Remove gl_POPEN_SAFER call.
51671         (Makefile.am): Augment lib_SOURCES.
51673 2011-05-23  Bruno Haible  <bruno@clisp.org>
51675         freopen-safer: Move AC_LIBOBJ invocations to module description.
51676         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
51677         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
51678         (configure.ac): Remove gl_FREOPEN_SAFER call.
51679         (Makefile.am): Augment lib_SOURCES.
51681 2011-05-23  Bruno Haible  <bruno@clisp.org>
51683         fopen-safer: Move AC_LIBOBJ invocations to module description.
51684         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
51685         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
51686         (configure.ac): Remove gl_FOPEN_SAFER call.
51687         (Makefile.am): Augment lib_SOURCES.
51689 2011-05-23  Bruno Haible  <bruno@clisp.org>
51691         crypto/sha512: Move AC_LIBOBJ invocations to module description.
51692         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
51693         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
51695 2011-05-23  Bruno Haible  <bruno@clisp.org>
51697         crypto/sha256: Move AC_LIBOBJ invocations to module description.
51698         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
51699         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
51701 2011-05-23  Bruno Haible  <bruno@clisp.org>
51703         crypto/sha1: Move AC_LIBOBJ invocations to module description.
51704         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
51705         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
51707 2011-05-23  Bruno Haible  <bruno@clisp.org>
51709         settime: Move AC_LIBOBJ invocations to module description.
51710         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
51711         * modules/settime (Makefile.am): Augment lib_SOURCES.
51713 2011-05-23  Bruno Haible  <bruno@clisp.org>
51715         savedir: Move AC_LIBOBJ invocations to module description.
51716         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
51717         * modules/savedir (Makefile.am): Augment lib_SOURCES.
51719 2011-05-23  Bruno Haible  <bruno@clisp.org>
51721         save-cwd: Move AC_LIBOBJ invocations to module description.
51722         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
51723         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
51725 2011-05-23  Bruno Haible  <bruno@clisp.org>
51727         same: Move AC_LIBOBJ invocations to module description.
51728         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
51729         * modules/same (Makefile.am): Augment lib_SOURCES.
51731 2011-05-23  Bruno Haible  <bruno@clisp.org>
51733         safe-write: Move AC_LIBOBJ invocations to module description.
51734         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
51735         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
51736         instead of gl_SAFE_WRITE.
51737         (Makefile.am): Augment lib_SOURCES.
51739 2011-05-23  Bruno Haible  <bruno@clisp.org>
51741         safe-read: Move AC_LIBOBJ invocations to module description.
51742         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
51743         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
51744         of gl_SAFE_READ.
51745         (Makefile.am): Augment lib_SOURCES.
51747 2011-05-23  Bruno Haible  <bruno@clisp.org>
51749         safe-alloc: Move AC_LIBOBJ invocations to module description.
51750         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
51751         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
51753 2011-05-23  Bruno Haible  <bruno@clisp.org>
51755         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
51756         * m4/rijndael.m4: Remove file.
51757         * modules/crypto/rijndael (Files): Remove it.
51758         (configure.ac): Remove gl_RIJNDAEL call.
51759         (Makefile.am): Augment lib_SOURCES.
51761 2011-05-23  Bruno Haible  <bruno@clisp.org>
51763         readtokens: Move AC_LIBOBJ invocations to module description.
51764         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
51765         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
51767 2011-05-23  Bruno Haible  <bruno@clisp.org>
51769         read-file: Move AC_LIBOBJ invocations to module description.
51770         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
51771         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
51772         of gl_FUNC_READ_FILE.
51773         (Makefile.am): Augment lib_SOURCES.
51775 2011-05-23  Bruno Haible  <bruno@clisp.org>
51777         quotearg: Move AC_LIBOBJ invocations to module description.
51778         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
51779         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
51781 2011-05-23  Bruno Haible  <bruno@clisp.org>
51783         quote: Move AC_LIBOBJ invocations to module description.
51784         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
51785         * modules/quote (Makefile.am): Augment lib_SOURCES.
51787 2011-05-23  Bruno Haible  <bruno@clisp.org>
51789         posixver: Move AC_LIBOBJ invocations to module description.
51790         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
51791         * modules/posixver (Makefile.am): Augment lib_SOURCES.
51793 2011-05-23  Bruno Haible  <bruno@clisp.org>
51795         posixtm: Move AC_LIBOBJ invocations to module description.
51796         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
51797         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
51799 2011-05-23  Bruno Haible  <bruno@clisp.org>
51801         physmem: Move AC_LIBOBJ invocations to module description.
51802         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
51803         * modules/physmem (Makefile.am): Augment lib_SOURCES.
51805 2011-05-23  Bruno Haible  <bruno@clisp.org>
51807         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
51808         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
51809         invocation.
51810         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
51812 2011-05-23  Bruno Haible  <bruno@clisp.org>
51814         mpsort: Move AC_LIBOBJ invocations to module description.
51815         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
51816         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
51818 2011-05-23  Bruno Haible  <bruno@clisp.org>
51820         modechange: Move AC_LIBOBJ invocations to module description.
51821         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
51822         * modules/modechange (Makefile.am): Augment lib_SOURCES.
51824 2011-05-23  Bruno Haible  <bruno@clisp.org>
51826         mkdir-p: Move AC_LIBOBJ invocations to module description.
51827         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
51828         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
51830 2011-05-23  Bruno Haible  <bruno@clisp.org>
51832         mkancesdirs: Move AC_LIBOBJ invocations to module description.
51833         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
51834         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
51836 2011-05-23  Bruno Haible  <bruno@clisp.org>
51838         mgetgroups: Move AC_LIBOBJ invocations to module description.
51839         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
51840         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
51842 2011-05-23  Bruno Haible  <bruno@clisp.org>
51844         memxor: Move AC_LIBOBJ invocations to module description.
51845         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
51846         * modules/memxor (Makefile.am): Augment lib_SOURCES.
51848 2011-05-23  Bruno Haible  <bruno@clisp.org>
51850         memcoll: Move AC_LIBOBJ invocations to module description.
51851         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
51852         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
51854 2011-05-23  Bruno Haible  <bruno@clisp.org>
51856         memcasecmp: Move AC_LIBOBJ invocations to module description.
51857         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
51858         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
51860 2011-05-23  Bruno Haible  <bruno@clisp.org>
51862         crypto/md5: Move AC_LIBOBJ invocations to module description.
51863         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
51864         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
51866 2011-05-23  Bruno Haible  <bruno@clisp.org>
51868         crypto/md4: Move AC_LIBOBJ invocations to module description.
51869         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
51870         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
51872 2011-05-23  Bruno Haible  <bruno@clisp.org>
51874         crypto/md2: Move AC_LIBOBJ invocations to module description.
51875         * m4/md2.m4: Remove file.
51876         * modules/crypto/md2 (Files): Remove it.
51877         (configure.ac): Remove gl_MD2 call.
51878         (Makefile.am): Augment lib_SOURCES.
51880 2011-05-23  Bruno Haible  <bruno@clisp.org>
51882         long-options: Move AC_LIBOBJ invocations to module description.
51883         * m4/long-options.m4: Remove file.
51884         * modules/long-options (Files): Remove it.
51885         (configure.ac): Remove gl_LONG_OPTIONS call.
51886         (Makefile.am): Augment lib_SOURCES.
51888 2011-05-23  Bruno Haible  <bruno@clisp.org>
51890         i-ring: Move AC_LIBOBJ invocations to module description.
51891         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
51892         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
51894 2011-05-23  Bruno Haible  <bruno@clisp.org>
51896         idcache: Move AC_LIBOBJ invocations to module description.
51897         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
51898         * modules/idcache (Makefile.am): Augment lib_SOURCES.
51900 2011-05-23  Bruno Haible  <bruno@clisp.org>
51902         human: Move AC_LIBOBJ invocations to module description.
51903         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
51904         * modules/human (Makefile.am): Augment lib_SOURCES.
51906 2011-05-23  Bruno Haible  <bruno@clisp.org>
51908         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
51909         * m4/hmac-sha1.m4: Remove file.
51910         * modules/crypto/hmac-sha1 (Files): Remove it.
51911         (configure.ac): Remove gl_HMAC_SHA1 call.
51912         (Makefile.am): Augment lib_SOURCES.
51914 2011-05-23  Bruno Haible  <bruno@clisp.org>
51916         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
51917         * m4/hmac-md5.m4: Remove file.
51918         * modules/crypto/hmac-md5 (Files): Remove it.
51919         (configure.ac): Remove gl_HMAC_MD5 call.
51920         (Makefile.am): Augment lib_SOURCES.
51922 2011-05-23  Bruno Haible  <bruno@clisp.org>
51924         hash: Move AC_LIBOBJ invocations to module description.
51925         * m4/hash.m4: Remove file.
51926         * modules/hash (Files): Remove it.
51927         (configure.ac): Remove gl_HASH call.
51928         (Makefile.am): Augment lib_SOURCES.
51930 2011-05-23  Bruno Haible  <bruno@clisp.org>
51932         hard-locale: Move AC_LIBOBJ invocations to module description.
51933         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
51934         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
51936 2011-05-23  Bruno Haible  <bruno@clisp.org>
51938         getugroups: Move AC_LIBOBJ invocations to module description.
51939         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
51940         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
51942 2011-05-23  Bruno Haible  <bruno@clisp.org>
51944         gettime: Move AC_LIBOBJ invocations to module description.
51945         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
51946         * modules/gettime (Makefile.am): Augment lib_SOURCES.
51948 2011-05-23  Bruno Haible  <bruno@clisp.org>
51950         getndelim2: Move AC_LIBOBJ invocations to module description.
51951         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
51952         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
51954 2011-05-23  Bruno Haible  <bruno@clisp.org>
51956         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
51957         * m4/gc-pbkdf2-sha1.m4: Remove file.
51958         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
51959         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
51960         (Makefile.am): Augment lib_SOURCES.
51962 2011-05-23  Bruno Haible  <bruno@clisp.org>
51964         fts: Move AC_LIBOBJ invocations to module description.
51965         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
51966         * modules/fts (configure.ac): ... to here.
51968 2011-05-23  Bruno Haible  <bruno@clisp.org>
51970         file-type: Move AC_LIBOBJ invocations to module description.
51971         * m4/file-type.m4: Remove file.
51972         * modules/file-type (Files): Remove it.
51973         (configure.ac): Remove gl_FILE_TYPE call.
51974         (Makefile.am): Augment lib_SOURCES.
51976 2011-05-23  Bruno Haible  <bruno@clisp.org>
51978         filenamecat*: Respect rules for use of AC_LIBOBJ.
51979         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
51980         Remove AC_LIBOBJ invocation.
51981         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
51982         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
51984 2011-05-23  Bruno Haible  <bruno@clisp.org>
51986         filemode: Move AC_LIBOBJ invocations to module description.
51987         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
51988         * modules/filemode (Makefile.am): Augment lib_SOURCES.
51990 2011-05-23  Bruno Haible  <bruno@clisp.org>
51992         openat-safer: Move AC_LIBOBJ invocations to module description.
51993         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
51994         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
51996 2011-05-23  Bruno Haible  <bruno@clisp.org>
51998         fcntl-safer: Move AC_LIBOBJ invocations to module description.
51999         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
52000         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
52002 2011-05-23  Bruno Haible  <bruno@clisp.org>
52004         exclude: Move AC_LIBOBJ invocations to module description.
52005         * m4/exclude.m4: Remove file.
52006         * modules/exclude (Files): Remove it.
52007         (configure.ac): Remove gl_EXCLUDE call.
52008         (Makefile.am): Augment lib_SOURCES.
52010 2011-05-23  Bruno Haible  <bruno@clisp.org>
52012         dirname*: Respect rules for use of AC_LIBOBJ.
52013         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
52014         invocations.
52015         * modules/dirname (Makefile.am): Augment lib_SOURCES.
52016         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
52018 2011-05-23  Bruno Haible  <bruno@clisp.org>
52020         dirent-safer: Move AC_LIBOBJ invocations to module description.
52021         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
52022         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
52024 2011-05-23  Bruno Haible  <bruno@clisp.org>
52026         crypto/des: Move AC_LIBOBJ invocations to module description.
52027         * m4/des.m4: Remove file.
52028         * modules/crypto/des (Files): Remove it.
52029         (configure.ac): Remove gl_DES call.
52030         (Makefile.am): Augment lib_SOURCES.
52032 2011-05-23  Bruno Haible  <bruno@clisp.org>
52034         cycle-check: Move AC_LIBOBJ invocations to module description.
52035         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
52036         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
52038 2011-05-23  Bruno Haible  <bruno@clisp.org>
52040         c-strtold: Move AC_LIBOBJ invocations to module description.
52041         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
52042         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
52044 2011-05-23  Bruno Haible  <bruno@clisp.org>
52046         c-strtod: Move AC_LIBOBJ invocations to module description.
52047         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
52048         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
52050 2011-05-23  Bruno Haible  <bruno@clisp.org>
52052         crc: Move AC_LIBOBJ invocations to module description.
52053         * m4/crc.m4: Remove file.
52054         * modules/crc (Files): Remove it.
52055         (configure.ac): Remove gl_CRC call.
52056         (Makefile.am): Augment lib_SOURCES.
52058 2011-05-23  Bruno Haible  <bruno@clisp.org>
52060         close-stream: Move AC_LIBOBJ invocations to module description.
52061         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
52062         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
52064 2011-05-23  Bruno Haible  <bruno@clisp.org>
52066         closeout: Move AC_LIBOBJ invocations to module description.
52067         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
52068         * modules/closeout (Makefile.am): Augment lib_SOURCES.
52070 2011-05-23  Bruno Haible  <bruno@clisp.org>
52072         closein: Move AC_LIBOBJ invocations to module description.
52073         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
52074         * modules/closein (Makefile.am): Augment lib_SOURCES.
52076 2011-05-23  Bruno Haible  <bruno@clisp.org>
52078         cloexec: Move AC_LIBOBJ invocations to module description.
52079         * m4/cloexec.m4: Remove file.
52080         * modules/cloexec (Files): Remove it.
52081         (configure.ac): Remove gl_CLOEXEC call.
52082         (Makefile.am): Augment lib_SOURCES.
52084 2011-05-23  Bruno Haible  <bruno@clisp.org>
52086         check-version: Move AC_LIBOBJ invocations to module description.
52087         * m4/check-version.m4: Remove file.
52088         * modules/check-version (Files): Remove it.
52089         (configure.ac): Remove gl_CHECK_VERSION call.
52090         (Makefile.am): Augment lib_SOURCES.
52092 2011-05-23  Bruno Haible  <bruno@clisp.org>
52094         chdir-safer: Move AC_LIBOBJ invocations to module description.
52095         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
52096         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
52098 2011-05-23  Bruno Haible  <bruno@clisp.org>
52100         canonicalize: Move AC_LIBOBJ invocations to module description.
52101         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
52102         AC_LIBOBJ invocation.
52103         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
52105 2011-05-23  Bruno Haible  <bruno@clisp.org>
52107         canon-host: Move AC_LIBOBJ invocations to module description.
52108         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
52109         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
52110         instead of gl_CANON_HOST.
52111         (Makefile.am): Augment lib_SOURCES.
52113 2011-05-23  Bruno Haible  <bruno@clisp.org>
52115         backupfile: Move AC_LIBOBJ invocations to module description.
52116         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
52117         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
52119 2011-05-23  Bruno Haible  <bruno@clisp.org>
52121         argmatch: Move AC_LIBOBJ invocations to module description.
52122         * m4/argmatch.m4: Remove file.
52123         * modules/argmatch (Files): Remove it.
52124         (configure.ac): Remove gl_ARGMATCH call.
52125         (Makefile.am): Augment lib_SOURCES.
52127 2011-05-23  Bruno Haible  <bruno@clisp.org>
52129         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
52130         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
52131         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
52133 2011-05-23  Bruno Haible  <bruno@clisp.org>
52135         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
52136         * m4/arcfour.m4: Remove file.
52137         * modules/crypto/arcfour (Files): Remove it.
52138         (configure.ac): Remove gl_ARCFOUR call.
52139         (Makefile.am): Augment lib_SOURCES.
52141 2011-05-22  Bruno Haible  <bruno@clisp.org>
52143         write: Move AC_LIBOBJ invocations to module description.
52144         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
52145         * modules/write (configure.ac): ... to here.
52147 2011-05-22  Bruno Haible  <bruno@clisp.org>
52149         wmemset: Move AC_LIBOBJ invocations to module description.
52150         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
52151         here...
52152         * modules/wmemset (configure.ac): ... to here.
52154 2011-05-22  Bruno Haible  <bruno@clisp.org>
52156         wmemmove: Move AC_LIBOBJ invocations to module description.
52157         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
52158         here...
52159         * modules/wmemmove (configure.ac): ... to here.
52161 2011-05-22  Bruno Haible  <bruno@clisp.org>
52163         wmemcpy: Move AC_LIBOBJ invocations to module description.
52164         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
52165         here...
52166         * modules/wmemcpy (configure.ac): ... to here.
52168 2011-05-22  Bruno Haible  <bruno@clisp.org>
52170         wmemcmp: Move AC_LIBOBJ invocations to module description.
52171         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
52172         here...
52173         * modules/wmemcmp (configure.ac): ... to here.
52175 2011-05-22  Bruno Haible  <bruno@clisp.org>
52177         wmemchr: Move AC_LIBOBJ invocations to module description.
52178         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
52179         here...
52180         * modules/wmemchr (configure.ac): ... to here.
52182 2011-05-22  Bruno Haible  <bruno@clisp.org>
52184         wcswidth: Move AC_LIBOBJ invocations to module description.
52185         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
52186         here...
52187         * modules/wcswidth (configure.ac): ... to here.
52189 2011-05-22  Bruno Haible  <bruno@clisp.org>
52191         wcwidth: Respect rules for use of AC_LIBOBJ.
52192         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
52193         invocation from here...
52194         * modules/wcwidth (configure.ac): ... to here.
52195         (Depends-on): Update conditions.
52197 2011-05-22  Bruno Haible  <bruno@clisp.org>
52199         wctype: Move AC_LIBOBJ invocations to module description.
52200         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
52201         invocation from here...
52202         * modules/wctype (configure.ac): ... to here.
52203         (Depends-on): Update conditions.
52205 2011-05-22  Bruno Haible  <bruno@clisp.org>
52207         wctrans: Move AC_LIBOBJ invocations to module description.
52208         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
52209         invocation from here...
52210         * modules/wctrans (configure.ac): ... to here.
52212 2011-05-22  Bruno Haible  <bruno@clisp.org>
52214         wctomb: Move AC_LIBOBJ invocations to module description.
52215         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
52216         invocations from here...
52217         * modules/wctomb (configure.ac): ... to here.
52219 2011-05-22  Bruno Haible  <bruno@clisp.org>
52221         wctob: Move AC_LIBOBJ invocations to module description.
52222         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
52223         gl_PREREQ_WCTOB invocations from here...
52224         * modules/wctob (configure.ac): ... to here.
52225         (Depends-on): Update conditions.
52227 2011-05-22  Bruno Haible  <bruno@clisp.org>
52229         wcsxfrm: Move AC_LIBOBJ invocations to module description.
52230         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
52231         here...
52232         * modules/wcsxfrm (configure.ac): ... to here.
52234 2011-05-22  Bruno Haible  <bruno@clisp.org>
52236         wcstok: Move AC_LIBOBJ invocations to module description.
52237         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
52238         * modules/wcstok (configure.ac): ... to here.
52240 2011-05-22  Bruno Haible  <bruno@clisp.org>
52242         wcsstr: Move AC_LIBOBJ invocations to module description.
52243         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
52244         * modules/wcsstr (configure.ac): ... to here.
52246 2011-05-22  Bruno Haible  <bruno@clisp.org>
52248         wcsspn: Move AC_LIBOBJ invocations to module description.
52249         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
52250         * modules/wcsspn (configure.ac): ... to here.
52252 2011-05-22  Bruno Haible  <bruno@clisp.org>
52254         wcsrtombs: Move AC_LIBOBJ invocations to module description.
52255         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
52256         gl_PREREQ_WCSRTOMBS invocations from here...
52257         * modules/wcsrtombs (configure.ac): ... to here.
52259 2011-05-22  Bruno Haible  <bruno@clisp.org>
52261         wcsrchr: Move AC_LIBOBJ invocations to module description.
52262         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
52263         here...
52264         * modules/wcsrchr (configure.ac): ... to here.
52266 2011-05-22  Bruno Haible  <bruno@clisp.org>
52268         wcspbrk: Move AC_LIBOBJ invocations to module description.
52269         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
52270         here...
52271         * modules/wcspbrk (configure.ac): ... to here.
52273 2011-05-22  Bruno Haible  <bruno@clisp.org>
52275         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
52276         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
52277         gl_PREREQ_WCSNRTOMBS invocations from here...
52278         * modules/wcsnrtombs (configure.ac): ... to here.
52280 2011-05-22  Bruno Haible  <bruno@clisp.org>
52282         wcsnlen: Move AC_LIBOBJ invocations to module description.
52283         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
52284         here...
52285         * modules/wcsnlen (configure.ac): ... to here.
52287 2011-05-22  Bruno Haible  <bruno@clisp.org>
52289         wcsncpy: Move AC_LIBOBJ invocations to module description.
52290         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
52291         here...
52292         * modules/wcsncpy (configure.ac): ... to here.
52294 2011-05-22  Bruno Haible  <bruno@clisp.org>
52296         wcsncmp: Move AC_LIBOBJ invocations to module description.
52297         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
52298         here...
52299         * modules/wcsncmp (configure.ac): ... to here.
52301 2011-05-22  Bruno Haible  <bruno@clisp.org>
52303         wcsncat: Move AC_LIBOBJ invocations to module description.
52304         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
52305         here...
52306         * modules/wcsncat (configure.ac): ... to here.
52308 2011-05-22  Bruno Haible  <bruno@clisp.org>
52310         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
52311         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
52312         from here...
52313         * modules/wcsncasecmp (configure.ac): ... to here.
52315 2011-05-22  Bruno Haible  <bruno@clisp.org>
52317         wcslen: Move AC_LIBOBJ invocations to module description.
52318         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
52319         * modules/wcslen (configure.ac): ... to here.
52321 2011-05-22  Bruno Haible  <bruno@clisp.org>
52323         wcsdup: Move AC_LIBOBJ invocations to module description.
52324         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
52325         * modules/wcsdup (configure.ac): ... to here.
52327 2011-05-22  Bruno Haible  <bruno@clisp.org>
52329         wcscspn: Move AC_LIBOBJ invocations to module description.
52330         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
52331         here...
52332         * modules/wcscspn (configure.ac): ... to here.
52334 2011-05-22  Bruno Haible  <bruno@clisp.org>
52336         wcscpy: Move AC_LIBOBJ invocations to module description.
52337         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
52338         * modules/wcscpy (configure.ac): ... to here.
52340 2011-05-22  Bruno Haible  <bruno@clisp.org>
52342         wcscoll: Move AC_LIBOBJ invocations to module description.
52343         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
52344         here...
52345         * modules/wcscoll (configure.ac): ... to here.
52347 2011-05-22  Bruno Haible  <bruno@clisp.org>
52349         wcscmp: Move AC_LIBOBJ invocations to module description.
52350         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
52351         * modules/wcscmp (configure.ac): ... to here.
52353 2011-05-22  Bruno Haible  <bruno@clisp.org>
52355         wcschr: Move AC_LIBOBJ invocations to module description.
52356         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
52357         * modules/wcschr (configure.ac): ... to here.
52359 2011-05-22  Bruno Haible  <bruno@clisp.org>
52361         wcscat: Move AC_LIBOBJ invocations to module description.
52362         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
52363         * modules/wcscat (configure.ac): ... to here.
52365 2011-05-22  Bruno Haible  <bruno@clisp.org>
52367         wcscasecmp: Move AC_LIBOBJ invocations to module description.
52368         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
52369         here...
52370         * modules/wcscasecmp (configure.ac): ... to here.
52372 2011-05-22  Bruno Haible  <bruno@clisp.org>
52374         wcrtomb: Move AC_LIBOBJ invocations to module description.
52375         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
52376         invocations from here...
52377         * modules/wcrtomb (configure.ac): ... to here.
52379 2011-05-22  Bruno Haible  <bruno@clisp.org>
52381         wcpncpy: Move AC_LIBOBJ invocations to module description.
52382         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
52383         here...
52384         * modules/wcpncpy (configure.ac): ... to here.
52386 2011-05-22  Bruno Haible  <bruno@clisp.org>
52388         wcpcpy: Move AC_LIBOBJ invocations to module description.
52389         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
52390         * modules/wcpcpy (configure.ac): ... to here.
52392 2011-05-22  Bruno Haible  <bruno@clisp.org>
52394         waitpid: Move AC_LIBOBJ invocations to module description.
52395         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
52396         invocation from here...
52397         * modules/waitpid (configure.ac): ... to here.
52399 2011-05-22  Bruno Haible  <bruno@clisp.org>
52401         utimensat: Move AC_LIBOBJ invocations to module description.
52402         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
52403         here...
52404         * modules/utimensat (configure.ac): ... to here.
52406 2011-05-22  Bruno Haible  <bruno@clisp.org>
52408         usleep: Move AC_LIBOBJ invocations to module description.
52409         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
52410         here...
52411         * modules/usleep (configure.ac): ... to here.
52413 2011-05-22  Bruno Haible  <bruno@clisp.org>
52415         unlockpt: Move AC_LIBOBJ invocations to module description.
52416         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
52417         gl_PREREQ_UNLOCKPT invocations from here...
52418         * modules/unlockpt (configure.ac): ... to here.
52420 2011-05-22  Bruno Haible  <bruno@clisp.org>
52422         unlink: Respect rules for use of AC_LIBOBJ.
52423         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
52424         * modules/unlink (configure.ac): ... to here.
52426 2011-05-22  Bruno Haible  <bruno@clisp.org>
52428         uname: Move AC_LIBOBJ invocations to module description.
52429         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
52430         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
52431         here...
52432         * modules/uname (configure.ac): ... to here.
52434 2011-05-22  Bruno Haible  <bruno@clisp.org>
52436         ttyname_r: Move AC_LIBOBJ invocations to module description.
52437         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
52438         gl_PREREQ_TTYNAME_R invocations from here...
52439         * modules/ttyname_r (configure.ac): ... to here.
52441 2011-05-22  Bruno Haible  <bruno@clisp.org>
52443         tsearch: Move AC_LIBOBJ invocations to module description.
52444         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
52445         invocations from here...
52446         * modules/tsearch (configure.ac): ... to here.
52448 2011-05-22  Bruno Haible  <bruno@clisp.org>
52450         towctrans: Move AC_LIBOBJ invocations to module description.
52451         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
52452         AC_LIBOBJ invocation from here...
52453         * modules/towctrans (configure.ac): ... to here.
52455 2011-05-22  Bruno Haible  <bruno@clisp.org>
52457         tmpfile: Move AC_LIBOBJ invocations to module description.
52458         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
52459         invocations from here...
52460         * modules/tmpfile (configure.ac): ... to here.
52462 2011-05-22  Bruno Haible  <bruno@clisp.org>
52464         times: Move AC_LIBOBJ invocations to module description.
52465         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
52466         * modules/times (configure.ac): ... to here.
52468 2011-05-22  Bruno Haible  <bruno@clisp.org>
52470         time_r: Move AC_LIBOBJ invocations to module description.
52471         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
52472         invocations from here...
52473         * modules/time_r (configure.ac): ... to here.
52475 2011-05-22  Bruno Haible  <bruno@clisp.org>
52477         timegm: Move AC_LIBOBJ invocations to module description.
52478         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
52479         invocations from here...
52480         * modules/timegm (configure.ac): ... to here.
52482 2011-05-22  Bruno Haible  <bruno@clisp.org>
52484         tcgetsid: Move AC_LIBOBJ invocations to module description.
52485         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
52486         and gl_PREREQ_TCGETSID invocations from here...
52487         * modules/tcgetsid (configure.ac): ... to here.
52488         (Depends-on): Update conditions.
52490 2011-05-22  Bruno Haible  <bruno@clisp.org>
52492         symlinkat: Move AC_LIBOBJ invocations to module description.
52493         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
52494         here...
52495         * modules/symlinkat (configure.ac): ... to here.
52497 2011-05-22  Bruno Haible  <bruno@clisp.org>
52499         symlink: Move AC_LIBOBJ invocations to module description.
52500         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
52501         here...
52502         * modules/symlink (configure.ac): ... to here.
52504 2011-05-22  Bruno Haible  <bruno@clisp.org>
52506         strverscmp: Move AC_LIBOBJ invocations to module description.
52507         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
52508         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
52509         from here...
52510         * modules/strverscmp (configure.ac): ... to here.
52512 2011-05-22  Bruno Haible  <bruno@clisp.org>
52514         strtok_r: Move AC_LIBOBJ invocations to module description.
52515         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
52516         and gl_PREREQ_STRTOK_R invocations from here...
52517         * modules/strtok_r (configure.ac): ... to here.
52518         (Depends-on): Update conditions.
52520 2011-05-22  Bruno Haible  <bruno@clisp.org>
52522         strtoumax: Move AC_LIBOBJ invocations to module description.
52523         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
52524         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
52525         from here...
52526         * modules/strtoumax (configure.ac): ... to here.
52528 2011-05-22  Bruno Haible  <bruno@clisp.org>
52530         strtoimax: Move AC_LIBOBJ invocations to module description.
52531         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
52532         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
52533         from here...
52534         * modules/strtoimax (configure.ac): ... to here.
52536 2011-05-22  Bruno Haible  <bruno@clisp.org>
52538         strtoull: Move AC_LIBOBJ invocations to module description.
52539         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
52540         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
52541         from here...
52542         * modules/strtoull (configure.ac): ... to here.
52544 2011-05-22  Bruno Haible  <bruno@clisp.org>
52546         strtoll: Move AC_LIBOBJ invocations to module description.
52547         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
52548         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
52549         here...
52550         * modules/strtoll (configure.ac): ... to here.
52552 2011-05-22  Bruno Haible  <bruno@clisp.org>
52554         strtoul: Move AC_LIBOBJ invocations to module description.
52555         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
52556         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52557         * modules/strtoul (configure.ac): ... to here.
52559 2011-05-22  Bruno Haible  <bruno@clisp.org>
52561         strtol: Move AC_LIBOBJ invocations to module description.
52562         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
52563         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
52564         * modules/strtol (configure.ac): ... to here.
52566 2011-05-22  Bruno Haible  <bruno@clisp.org>
52568         strtod: Move AC_LIBOBJ invocations to module description.
52569         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
52570         invocations from here...
52571         * modules/strtod (configure.ac): ... to here.
52573 2011-05-22  Bruno Haible  <bruno@clisp.org>
52575         strstr*: Move AC_LIBOBJ invocations to module description.
52576         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
52577         invocations from here...
52578         * modules/strstr-simple (configure.ac): ... to here.
52579         * modules/strstr (configure.ac): ... and here.
52581 2011-05-22  Bruno Haible  <bruno@clisp.org>
52583         strsignal: Move AC_LIBOBJ invocations to module description.
52584         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
52585         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
52586         * modules/strsignal (configure.ac): ... to here.
52587         (Depends-on): Update conditions.
52589 2011-05-22  Bruno Haible  <bruno@clisp.org>
52591         strsep: Move AC_LIBOBJ invocations to module description.
52592         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
52593         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
52594         here...
52595         * modules/strsep (configure.ac): ... to here.
52597 2011-05-22  Bruno Haible  <bruno@clisp.org>
52599         strptime: Move AC_LIBOBJ invocations to module description.
52600         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
52601         gl_PREREQ_STRPTIME invocations from here...
52602         * modules/strptime (configure.ac): ... to here.
52604 2011-05-22  Bruno Haible  <bruno@clisp.org>
52606         strpbrk: Move AC_LIBOBJ invocations to module description.
52607         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
52608         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
52609         here...
52610         * modules/strpbrk (configure.ac): ... to here.
52612 2011-05-22  Bruno Haible  <bruno@clisp.org>
52614         strnlen: Move AC_LIBOBJ invocations to module description.
52615         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
52616         invocations from here...
52617         * modules/strnlen (configure.ac): ... to here.
52619 2011-05-22  Bruno Haible  <bruno@clisp.org>
52621         strndup: Move AC_LIBOBJ invocations to module description.
52622         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
52623         invocations from here...
52624         * modules/strndup (configure.ac): ... to here.
52625         (Depends-on): Update conditions.
52627 2011-05-22  Bruno Haible  <bruno@clisp.org>
52629         strncat: Move AC_LIBOBJ invocations to module description.
52630         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
52631         invocations from here...
52632         * modules/strncat (configure.ac): ... to here.
52634 2011-05-22  Bruno Haible  <bruno@clisp.org>
52636         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
52637         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
52638         invocations from here...
52639         * modules/strdup (configure.ac): ... to here.
52640         * modules/strdup-posix (configure.ac): ... and here.
52642 2011-05-22  Bruno Haible  <bruno@clisp.org>
52644         strcspn: Move AC_LIBOBJ invocations to module description.
52645         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
52646         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
52647         here...
52648         * modules/strcspn (configure.ac): ... to here.
52650 2011-05-22  Bruno Haible  <bruno@clisp.org>
52652         strchrnul: Move AC_LIBOBJ invocations to module description.
52653         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
52654         gl_PREREQ_STRCHRNUL invocations from here...
52655         * modules/strchrnul (configure.ac): ... to here.
52657 2011-05-22  Bruno Haible  <bruno@clisp.org>
52659         strcasestr*: Move AC_LIBOBJ invocations to module description.
52660         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
52661         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
52662         * modules/strcasestr-simple (configure.ac): ... to here.
52663         * modules/strcasestr (configure.ac): ... and here.
52665 2011-05-22  Bruno Haible  <bruno@clisp.org>
52667         strcase: Move AC_LIBOBJ invocations to module description.
52668         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
52669         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
52670         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
52671         gl_PREREQ_STRNCASECMP invocations from here...
52672         * modules/strcase (configure.ac): ... to here.
52674 2011-05-22  Bruno Haible  <bruno@clisp.org>
52676         stpncpy: Move AC_LIBOBJ invocations to module description.
52677         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
52678         here...
52679         * modules/stpncpy (configure.ac): ... to here.
52681 2011-05-22  Bruno Haible  <bruno@clisp.org>
52683         stpcpy: Move AC_LIBOBJ invocations to module description.
52684         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
52685         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
52686         here...
52687         * modules/stpcpy (configure.ac): ... to here.
52689 2011-05-21  Bruno Haible  <bruno@clisp.org>
52691         stat: Move AC_LIBOBJ invocations to module description.
52692         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
52693         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
52694         here...
52695         * modules/stat (configure.ac): ... to here.
52697 2011-05-21  Bruno Haible  <bruno@clisp.org>
52699         sleep: Move AC_LIBOBJ invocations to module description.
52700         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
52701         * modules/sleep (configure.ac): ... to here.
52703 2011-05-21  Bruno Haible  <bruno@clisp.org>
52705         signbit: Move AC_LIBOBJ invocations to module description.
52706         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
52707         * modules/signbit (configure.ac): ... to here.
52709 2011-05-21  Bruno Haible  <bruno@clisp.org>
52711         sigprocmask: Move AC_LIBOBJ invocations to module description.
52712         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
52713         gl_PREREQ_SIGPROMASK invocations from here...
52714         * modules/sigprocmask (configure.ac): ... to here.
52716 2011-05-21  Bruno Haible  <bruno@clisp.org>
52718         sigaction: Move AC_LIBOBJ invocations to module description.
52719         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
52720         gl_PREREQ_SIGACTION invocations from here...
52721         * modules/sigaction (configure.ac): ... to here.
52723 2011-05-21  Bruno Haible  <bruno@clisp.org>
52725         sig2str: Move AC_LIBOBJ invocations to module description.
52726         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
52727         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
52728         here...
52729         * modules/sig2str (configure.ac): ... to here.
52731 2011-05-21  Bruno Haible  <bruno@clisp.org>
52733         setlocale: Move AC_LIBOBJ invocations to module description.
52734         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
52735         gl_PREREQ_SETLOCALE invocations from here...
52736         * modules/setlocale (configure.ac): ... to here.
52738 2011-05-21  Bruno Haible  <bruno@clisp.org>
52740         unsetenv: Move AC_LIBOBJ invocations to module description.
52741         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
52742         and gl_PREREQ_UNSETENV invocations from here...
52743         * modules/unsetenv (configure.ac): ... to here.
52744         (Depends-on): Update.
52746 2011-05-21  Bruno Haible  <bruno@clisp.org>
52748         setenv: Move AC_LIBOBJ invocations to module description.
52749         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
52750         here...
52751         * modules/setenv (configure.ac): ... to here.
52753 2011-05-21  Bruno Haible  <bruno@clisp.org>
52755         selinux-h: Move AC_LIBOBJ invocations to module description.
52756         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
52757         AC_LIBOBJ invocation from here...
52758         * modules/selinux-h (configure.ac): ... to here.
52760 2011-05-21  Bruno Haible  <bruno@clisp.org>
52762         select: Respect rules for use of AC_LIBOBJ.
52763         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
52764         here...
52765         * modules/select (configure.ac): ... to here.
52767 2011-05-21  Bruno Haible  <bruno@clisp.org>
52769         scandir: Move AC_LIBOBJ invocations to module description.
52770         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
52771         invocations from here...
52772         * modules/scandir (configure.ac): ... to here.
52774 2011-05-21  Bruno Haible  <bruno@clisp.org>
52776         rpmatch: Move AC_LIBOBJ invocations to module description.
52777         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
52778         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
52779         here...
52780         * modules/rpmatch (configure.ac): ... to here.
52782 2011-05-21  Bruno Haible  <bruno@clisp.org>
52784         rmdir: Respect rules for use of AC_LIBOBJ.
52785         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
52786         * modules/rmdir (configure.ac): ... to here.
52788 2011-05-21  Bruno Haible  <bruno@clisp.org>
52790         renameat: Move AC_LIBOBJ invocations to module description.
52791         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
52792         here...
52793         * modules/renameat (configure.ac): ... to here.
52795 2011-05-21  Bruno Haible  <bruno@clisp.org>
52797         rename: Respect rules for use of AC_LIBOBJ.
52798         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
52799         here...
52800         * modules/rename (configure.ac): ... to here.
52802 2011-05-21  Bruno Haible  <bruno@clisp.org>
52804         remove: Move AC_LIBOBJ invocations to module description.
52805         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
52806         here...
52807         * modules/remove (configure.ac): ... to here.
52809 2011-05-21  Bruno Haible  <bruno@clisp.org>
52811         relocatable-lib: Move AC_LIBOBJ invocations to module description.
52812         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
52813         macro.
52814         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
52815         * modules/relocatable-lib (configure.ac): ... to here.
52816         * modules/relocatable-prog-wrapper (configure.ac): Invoke
52817         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
52819 2011-05-21  Bruno Haible  <bruno@clisp.org>
52821         relocatable-prog: Move AC_LIBOBJ invocations to module description.
52822         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
52823         here...
52824         * modules/relocatable-prog (configure.ac): ... to here.
52826 2011-05-21  Bruno Haible  <bruno@clisp.org>
52828         regex: Move AC_LIBOBJ invocations to module description.
52829         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
52830         invocations from here...
52831         * modules/regex (configure.ac): ... to here.
52833 2011-05-21  Bruno Haible  <bruno@clisp.org>
52835         realloc-*: Move AC_LIBOBJ invocations to module description.
52836         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
52837         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
52838         AC_LIBOBJ invocations from here...
52839         * modules/realloc-gnu (configure.ac): ... to here.
52840         * modules/realloc-posix (configure.ac): ... and here.
52842 2011-05-21  Bruno Haible  <bruno@clisp.org>
52844         readutmp: Move AC_LIBOBJ invocations to module description.
52845         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
52846         * modules/readutmp (configure.ac): ... to here.
52848 2011-05-21  Bruno Haible  <bruno@clisp.org>
52850         readlinkat: Move AC_LIBOBJ invocations to module description.
52851         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
52852         here...
52853         * modules/readlinkat (configure.ac): ... to here.
52855 2011-05-21  Bruno Haible  <bruno@clisp.org>
52857         readlink: Move AC_LIBOBJ invocations to module description.
52858         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
52859         gl_PREREQ_READLINK invocations from here...
52860         * modules/readlink (configure.ac): ... to here.
52862 2011-05-21  Bruno Haible  <bruno@clisp.org>
52864         readline: Move AC_LIBOBJ invocations to module description.
52865         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
52866         gl_PREREQ_READLINE invocations from here...
52867         * modules/readline (configure.ac): ... to here.
52869 2011-05-21  Bruno Haible  <bruno@clisp.org>
52871         read: Move AC_LIBOBJ invocations to module description.
52872         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
52873         * modules/read (configure.ac): ... to here.
52875 2011-05-21  Bruno Haible  <bruno@clisp.org>
52877         rawmemchr: Move AC_LIBOBJ invocations to module description.
52878         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
52879         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
52880         from here...
52881         * modules/rawmemchr (configure.ac): ... to here.
52883 2011-05-21  Bruno Haible  <bruno@clisp.org>
52885         random_r: Move AC_LIBOBJ invocations to module description.
52886         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
52887         gl_PREREQ_RANDOM_R invocations from here...
52888         * modules/random_r (configure.ac): ... to here.
52890 2011-05-21  Bruno Haible  <bruno@clisp.org>
52892         pwrite: Move AC_LIBOBJ invocations to module description.
52893         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
52894         * modules/pwrite (configure.ac): ... to here.
52896 2011-05-21  Bruno Haible  <bruno@clisp.org>
52898         putenv: Move AC_LIBOBJ invocations to module description.
52899         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
52900         * modules/putenv (configure.ac): ... to here.
52902 2011-05-21  Bruno Haible  <bruno@clisp.org>
52904         login_tty: Move AC_LIBOBJ invocations to module description.
52905         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
52906         * modules/login_tty (configure.ac): ... to here.
52908 2011-05-21  Bruno Haible  <bruno@clisp.org>
52910         openpty: Move AC_LIBOBJ invocations to module description.
52911         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
52912         * modules/openpty (configure.ac): ... to here.
52914 2011-05-21  Bruno Haible  <bruno@clisp.org>
52916         forkpty: Move AC_LIBOBJ invocations to module description.
52917         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
52918         * modules/forkpty (configure.ac): ... to here.
52920 2011-05-21  Bruno Haible  <bruno@clisp.org>
52922         ptsname: Move AC_LIBOBJ invocations to module description.
52923         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
52924         invocations from here...
52925         * modules/ptsname (configure.ac): ... to here.
52927 2011-05-21  Bruno Haible  <bruno@clisp.org>
52929         pread: Move AC_LIBOBJ invocations to module description.
52930         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
52931         * modules/pread (configure.ac): ... to here.
52933 2011-05-21  Bruno Haible  <bruno@clisp.org>
52935         posix_spawn*: Move AC_LIBOBJ invocations to module description.
52936         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
52937         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
52938         * modules/posix_spawn (configure.ac): ... to here.
52939         * modules/posix_spawnp (configure.ac): ... and here.
52941 2011-05-21  Bruno Haible  <bruno@clisp.org>
52943         popen: Move AC_LIBOBJ invocations to module description.
52944         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
52945         invocations from here...
52946         * modules/popen (configure.ac): ... to here.
52948 2011-05-21  Bruno Haible  <bruno@clisp.org>
52950         poll: Move AC_LIBOBJ invocations to module description.
52951         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
52952         invocations from here...
52953         * modules/poll (configure.ac): ... to here.
52955 2011-05-21  Bruno Haible  <bruno@clisp.org>
52957         pipe-posix: Move AC_LIBOBJ invocations to module description.
52958         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
52959         * modules/pipe-posix (configure.ac): ... to here.
52961 2011-05-21  Bruno Haible  <bruno@clisp.org>
52963         openat: Respect rules for use of AC_LIBOBJ.
52964         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
52965         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
52966         * modules/openat (configure.ac): ... to here.
52968 2011-05-21  Bruno Haible  <bruno@clisp.org>
52970         obstack-printf*: Move AC_LIBOBJ invocations to module description.
52971         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
52972         invocation from here...
52973         * modules/obstack-printf (configure.ac): ... to here.
52974         * modules/obstack-printf-posix (configure.ac): ... and here.
52976 2011-05-21  Bruno Haible  <bruno@clisp.org>
52978         nl_langinfo: Move AC_LIBOBJ invocations to module description.
52979         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
52980         from here...
52981         * modules/nl_langinfo (configure.ac): ... to here.
52983 2011-05-21  Bruno Haible  <bruno@clisp.org>
52985         nanosleep: Move AC_LIBOBJ invocations to module description.
52986         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
52987         gl_PREREQ_NANOSLEEP invocations from here...
52988         * modules/nanosleep (configure.ac): ... to here.
52990 2011-05-21  Bruno Haible  <bruno@clisp.org>
52992         mountlist: Move AC_LIBOBJ invocations to module description.
52993         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
52994         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
52995         * modules/mountlist (configure.ac): ... to here.
52997 2011-05-21  Bruno Haible  <bruno@clisp.org>
52999         mktime: Respect rules for use of AC_LIBOBJ.
53000         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
53001         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
53002         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
53003         (gl_FUNC_MKTIME_INTERNAL): ... and here...
53004         * modules/mktime (configure.ac): ... to here.
53005         * modules/mktime-internal (configure.ac): ... and here.
53006         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
53008 2011-05-21  Bruno Haible  <bruno@clisp.org>
53010         mkstemps: Move AC_LIBOBJ invocations to module description.
53011         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
53012         here...
53013         * modules/mkstemps (configure.ac): ... to here.
53015 2011-05-21  Bruno Haible  <bruno@clisp.org>
53017         mkstemp: Move AC_LIBOBJ invocations to module description.
53018         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
53019         gl_PREREQ_MKSTEMP invocations from here...
53020         * modules/mkstemp (configure.ac): ... to here.
53022 2011-05-21  Bruno Haible  <bruno@clisp.org>
53024         mkostemps: Move AC_LIBOBJ invocations to module description.
53025         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
53026         here...
53027         * modules/mkostemps (configure.ac): ... to here.
53029 2011-05-21  Bruno Haible  <bruno@clisp.org>
53031         mkostemp: Move AC_LIBOBJ invocations to module description.
53032         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
53033         gl_PREREQ_MKOSTEMP invocations from here...
53034         * modules/mkostemp (configure.ac): ... to here.
53036 2011-05-21  Bruno Haible  <bruno@clisp.org>
53038         mknod: Move AC_LIBOBJ invocations to module description.
53039         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
53040         * modules/mknod (configure.ac): ... to here.
53042 2011-05-21  Bruno Haible  <bruno@clisp.org>
53044         mkfifoat: Move AC_LIBOBJ invocations to module description.
53045         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
53046         here...
53047         * modules/mkfifoat (configure.ac): ... to here.
53049 2011-05-21  Bruno Haible  <bruno@clisp.org>
53051         mkfifo: Respect rules for use of AC_LIBOBJ.
53052         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
53053         here...
53054         * modules/mkfifo (configure.ac): ... to here.
53056 2011-05-21  Bruno Haible  <bruno@clisp.org>
53058         mkdtemp: Move AC_LIBOBJ invocations to module description.
53059         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
53060         invocations from here...
53061         * modules/mkdtemp (configure.ac): ... to here.
53063 2011-05-21  Bruno Haible  <bruno@clisp.org>
53065         mkdir: Move AC_LIBOBJ invocations to module description.
53066         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
53067         * modules/mkdir (configure.ac): ... to here.
53069 2011-05-21  Bruno Haible  <bruno@clisp.org>
53071         memset: Move AC_LIBOBJ invocations to module description.
53072         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
53073         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
53074         here...
53075         * modules/memset (configure.ac): ... to here.
53077 2011-05-21  Bruno Haible  <bruno@clisp.org>
53079         memrchr: Move AC_LIBOBJ invocations to module description.
53080         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
53081         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
53082         here...
53083         * modules/memrchr (configure.ac): ... to here.
53085 2011-05-21  Bruno Haible  <bruno@clisp.org>
53087         mempcpy: Move AC_LIBOBJ invocations to module description.
53088         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
53089         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
53090         here...
53091         * modules/mempcpy (configure.ac): ... to here.
53093 2011-05-21  Bruno Haible  <bruno@clisp.org>
53095         memmove: Move AC_LIBOBJ invocations to module description.
53096         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
53097         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
53098         here...
53099         * modules/memmove (configure.ac): ... to here.
53101 2011-05-21  Bruno Haible  <bruno@clisp.org>
53103         memmem*: Move AC_LIBOBJ invocations to module description.
53104         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
53105         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
53106         here...
53107         (gl_FUNC_MEMMEM): ... and here...
53108         * modules/memmem-simple (configure.ac): ... to here.
53109         * modules/memmem (configure.ac): ... and here.
53111 2011-05-21  Bruno Haible  <bruno@clisp.org>
53113         memcpy: Move AC_LIBOBJ invocations to module description.
53114         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
53115         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
53116         here...
53117         * modules/memcpy (configure.ac): ... to here.
53119 2011-05-21  Bruno Haible  <bruno@clisp.org>
53121         memcmp: Simplify autoconf macro.
53122         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
53123         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
53124         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
53126 2011-05-21  Bruno Haible  <bruno@clisp.org>
53128         memcmp: Move AC_LIBOBJ invocations to module description.
53129         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
53130         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
53131         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
53132         * modules/memcmp (configure.ac): ... to here.
53133         (Depends-on): Update conditions.
53135 2011-05-21  Bruno Haible  <bruno@clisp.org>
53137         memchr: Respect rules for use of AC_LIBOBJ.
53138         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
53139         invocations from here...
53140         * modules/memchr (configure.ac): ... to here.
53142 2011-05-21  Bruno Haible  <bruno@clisp.org>
53144         mbtowc: Move AC_LIBOBJ invocations to module description.
53145         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
53146         invocations from here...
53147         * modules/mbtowc (configure.ac): ... to here.
53149 2011-05-21  Bruno Haible  <bruno@clisp.org>
53151         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
53152         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
53153         gl_PREREQ_MBSRTOWCS invocations from here...
53154         * modules/mbsrtowcs (configure.ac): ... to here.
53156 2011-05-21  Bruno Haible  <bruno@clisp.org>
53158         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
53159         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
53160         gl_PREREQ_MBSNRTOWCS invocations from here...
53161         * modules/mbsnrtowcs (configure.ac): ... to here.
53163 2011-05-21  Bruno Haible  <bruno@clisp.org>
53165         mbsinit: Move AC_LIBOBJ invocations to module description.
53166         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
53167         invocations from here...
53168         * modules/mbsinit (configure.ac): ... to here.
53170 2011-05-21  Bruno Haible  <bruno@clisp.org>
53172         mbrlen: Move AC_LIBOBJ invocations to module description.
53173         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
53174         invocations from here...
53175         * modules/mbrlen (configure.ac): ... to here.
53177 2011-05-21  Bruno Haible  <bruno@clisp.org>
53179         mbrtowc: Respect rules for use of AC_LIBOBJ.
53180         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
53181         invocations from here...
53182         * modules/mbrtowc (configure.ac): ... to here.
53184 2011-05-21  Bruno Haible  <bruno@clisp.org>
53186         malloc-*: Move AC_LIBOBJ invocations to module description.
53187         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
53188         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
53189         AC_LIBOBJ invocations from here...
53190         * modules/malloc-gnu (configure.ac): ... to here.
53191         * modules/malloc-posix (configure.ac): ... and here.
53193 2011-05-21  Bruno Haible  <bruno@clisp.org>
53195         lstat, openat: Respect rules for use of AC_LIBOBJ.
53196         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
53197         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
53198         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
53199         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
53200         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
53201         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
53202         here.
53203         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
53205 2011-05-21  Bruno Haible  <bruno@clisp.org>
53207         lseek: Move AC_LIBOBJ invocations to module description.
53208         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
53209         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
53210         * modules/lseek (configure.ac): ... to here.
53212 2011-05-21  Bruno Haible  <bruno@clisp.org>
53214         linkat: Move AC_LIBOBJ invocations to module description.
53215         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
53216         here...
53217         * modules/linkat (configure.ac): ... to here.
53219 2011-05-21  Bruno Haible  <bruno@clisp.org>
53221         link: Respect rules for use of AC_LIBOBJ.
53222         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
53223         * modules/link (configure.ac): ... to here.
53225 2011-05-21  Bruno Haible  <bruno@clisp.org>
53227         lchown: Move AC_LIBOBJ invocations to module description.
53228         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53229         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
53230         * modules/lchown (configure.ac): ... to here.
53232 2011-05-21  Bruno Haible  <bruno@clisp.org>
53234         iswctype: Move AC_LIBOBJ invocations to module description.
53235         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
53236         here...
53237         * modules/iswctype (configure.ac): ... to here.
53239 2011-05-21  Bruno Haible  <bruno@clisp.org>
53241         iswblank: Move AC_LIBOBJ invocations to module description.
53242         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
53243         here...
53244         * modules/iswblank (configure.ac): ... to here.
53246 2011-05-21  Bruno Haible  <bruno@clisp.org>
53248         atanl: Move AC_LIBOBJ invocations to module description.
53249         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
53250         * modules/atanl (configure.ac): ... to here.
53252 2011-05-21  Bruno Haible  <bruno@clisp.org>
53254         acosl: Move AC_LIBOBJ invocations to module description.
53255         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
53256         * modules/acosl (configure.ac): ... to here.
53258 2011-05-21  Bruno Haible  <bruno@clisp.org>
53260         asinl: Respect rules for use of AC_LIBOBJ.
53261         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
53262         * modules/asinl (configure.ac): ... to here.
53264 2011-05-21  Bruno Haible  <bruno@clisp.org>
53266         tanl: Move AC_LIBOBJ invocations to module description.
53267         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
53268         * modules/tanl (configure.ac): ... to here.
53270 2011-05-21  Bruno Haible  <bruno@clisp.org>
53272         cosl: Move AC_LIBOBJ invocations to module description.
53273         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
53274         * modules/cosl (configure.ac): ... to here.
53276 2011-05-21  Bruno Haible  <bruno@clisp.org>
53278         sinl: Move AC_LIBOBJ invocations to module description.
53279         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
53280         * modules/sinl (configure.ac): ... to here.
53282 2011-05-21  Bruno Haible  <bruno@clisp.org>
53284         logl: Move AC_LIBOBJ invocations to module description.
53285         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
53286         * modules/logl (configure.ac): ... to here.
53288 2011-05-21  Bruno Haible  <bruno@clisp.org>
53290         expl: Move AC_LIBOBJ invocations to module description.
53291         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
53292         * modules/expl (configure.ac): ... to here.
53294 2011-05-21  Bruno Haible  <bruno@clisp.org>
53296         roundl: Move AC_LIBOBJ invocations to module description.
53297         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
53298         * modules/roundl (configure.ac): ... to here.
53300 2011-05-21  Bruno Haible  <bruno@clisp.org>
53302         round: Move AC_LIBOBJ invocations to module description.
53303         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
53304         * modules/round (configure.ac): ... to here.
53306 2011-05-21  Bruno Haible  <bruno@clisp.org>
53308         roundf: Move AC_LIBOBJ invocations to module description.
53309         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
53310         * modules/roundf (configure.ac): ... to here.
53312 2011-05-21  Bruno Haible  <bruno@clisp.org>
53314         truncl: Move AC_LIBOBJ invocations to module description.
53315         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
53316         * modules/truncl (configure.ac): ... to here.
53318 2011-05-21  Bruno Haible  <bruno@clisp.org>
53320         trunc: Move AC_LIBOBJ invocations to module description.
53321         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
53322         * modules/trunc (configure.ac): ... to here.
53324 2011-05-21  Bruno Haible  <bruno@clisp.org>
53326         truncf: Move AC_LIBOBJ invocations to module description.
53327         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
53328         * modules/truncf (configure.ac): ... to here.
53330 2011-05-21  Bruno Haible  <bruno@clisp.org>
53332         ceill: Move AC_LIBOBJ invocations to module description.
53333         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
53334         * modules/ceill (configure.ac): ... to here.
53336 2011-05-21  Bruno Haible  <bruno@clisp.org>
53338         ceil: Move AC_LIBOBJ invocations to module description.
53339         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
53340         * modules/ceil (configure.ac): ... to here.
53342 2011-05-21  Bruno Haible  <bruno@clisp.org>
53344         ceilf: Move AC_LIBOBJ invocations to module description.
53345         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
53346         * modules/ceilf (configure.ac): ... to here.
53348 2011-05-21  Bruno Haible  <bruno@clisp.org>
53350         floorl: Respect rules for use of AC_LIBOBJ.
53351         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
53352         * modules/floorl (configure.ac): ... to here.
53354 2011-05-21  Bruno Haible  <bruno@clisp.org>
53356         floor: Respect rules for use of AC_LIBOBJ.
53357         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
53358         * modules/floor (configure.ac): ... to here.
53360 2011-05-21  Bruno Haible  <bruno@clisp.org>
53362         floorf: Move AC_LIBOBJ invocations to module description.
53363         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
53364         * modules/floorf (configure.ac): ... to here.
53366 2011-05-20  Bruno Haible  <bruno@clisp.org>
53368         sqrtl: Respect rules for use of AC_LIBOBJ.
53369         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
53370         * modules/sqrtl (configure.ac): ... to here.
53372 2011-05-20  Bruno Haible  <bruno@clisp.org>
53374         ldexpl: Respect rules for use of AC_LIBOBJ.
53375         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
53376         * modules/ldexpl (configure.ac): ... to here.
53378 2011-05-20  Bruno Haible  <bruno@clisp.org>
53380         frexpl*: Respect rules for use of AC_LIBOBJ.
53381         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
53382         invocation from here...
53383         * modules/frexpl (configure.ac): ... to here.
53384         * modules/frexpl-nolibm (configure.ac): ... and here.
53386 2011-05-20  Bruno Haible  <bruno@clisp.org>
53388         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
53389         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
53390         invocation from here...
53391         * modules/frexp (configure.ac): ... to here.
53392         * modules/frexp-nolibm (configure.ac): ... and here.
53394 2011-05-20  Bruno Haible  <bruno@clisp.org>
53396         isnan: Respect rules for use of AC_LIBOBJ.
53397         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
53398         invocations here.
53399         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
53400         REPLACE_ISNAN.
53401         * modules/isnand (configure.ac): Likewise.
53402         * modules/isnanl (configure.ac): Likewise.
53404 2011-05-20  Bruno Haible  <bruno@clisp.org>
53406         isnanl*: Respect rules for use of AC_LIBOBJ.
53407         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
53408         invocation from here...
53409         * modules/isnanl (configure.ac): ... to here.
53410         * modules/isnanl-nolibm (configure.ac): ... and here.
53412 2011-05-20  Bruno Haible  <bruno@clisp.org>
53414         isnand*: Move AC_LIBOBJ invocations to module description.
53415         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
53416         invocation from here...
53417         * modules/isnand (configure.ac): ... to here.
53418         * modules/isnand-nolibm (configure.ac): ... and here.
53420 2011-05-20  Bruno Haible  <bruno@clisp.org>
53422         isnanf*: Move AC_LIBOBJ invocations to module description.
53423         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
53424         invocation from here...
53425         * modules/isnanf (configure.ac): ... to here.
53426         * modules/isnanf-nolibm (configure.ac): ... and here.
53428 2011-05-20  Bruno Haible  <bruno@clisp.org>
53430         isnan*: Separate the AC_LIBOBJ invocations.
53431         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
53432         AC_LIBOBJ invocation.
53433         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
53434         here.
53435         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
53436         AC_LIBOBJ invocation.
53437         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
53438         here.
53439         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
53440         AC_LIBOBJ invocation.
53441         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
53442         here.
53443         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
53445 2011-05-08  Bruno Haible  <bruno@clisp.org>
53447         isinf: Move AC_LIBOBJ invocations to module description.
53448         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
53449         * modules/isinf (configure.ac): ... to here.
53451 2011-05-08  Bruno Haible  <bruno@clisp.org>
53453         isfinite: Move AC_LIBOBJ invocations to module description.
53454         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
53455         * modules/isfinite (configure.ac): ... to here.
53457 2011-05-08  Bruno Haible  <bruno@clisp.org>
53459         isblank: Move AC_LIBOBJ invocations to module description.
53460         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
53461         here...
53462         * modules/isblank (configure.ac): ... to here.
53464 2011-05-08  Bruno Haible  <bruno@clisp.org>
53466         isapipe: Move AC_LIBOBJ invocations to module description.
53467         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
53468         gl_PREREQ_ISAPIPE invocations from here...
53469         * modules/isapipe (configure.ac): ... to here.
53470         (Depends-on): Update condition.
53472 2011-05-08  Bruno Haible  <bruno@clisp.org>
53474         ioctl: Move AC_LIBOBJ invocations to module description.
53475         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
53476         invocations from here...
53477         * modules/ioctl (configure.ac): ... to here.
53478         (Depends-on): Update condition.
53480 2011-05-08  Bruno Haible  <bruno@clisp.org>
53482         imaxdiv: Move AC_LIBOBJ invocations to module description.
53483         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
53484         invocations from here...
53485         * modules/imaxdiv (configure.ac): ... to here.
53487 2011-05-08  Bruno Haible  <bruno@clisp.org>
53489         imaxabs: Move AC_LIBOBJ invocations to module description.
53490         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
53491         invocations from here...
53492         * modules/imaxabs (configure.ac): ... to here.
53494 2011-05-08  Bruno Haible  <bruno@clisp.org>
53496         getaddrinfo: Move AC_LIBOBJ invocations to module description.
53497         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
53498         AC_LIBOBJ invocations from here...
53499         * modules/getaddrinfo (configure.ac): ... to here.
53500         (Depends-on): Add conditions.
53502 2011-05-08  Bruno Haible  <bruno@clisp.org>
53504         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53505         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
53506         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53507         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
53508         (gl_PREREQ_INET_PTON): ... from here.
53509         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
53510         gl_PREREQ_INET_PTON here.
53511         (Depends-on): Update condition.
53513 2011-05-08  Bruno Haible  <bruno@clisp.org>
53515         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
53516         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
53517         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
53518         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
53519         (gl_PREREQ_INET_NTOP): ... from here.
53520         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
53521         gl_PREREQ_INET_NTOP here.
53522         (Depends-on): Update condition.
53524 2011-05-08  Bruno Haible  <bruno@clisp.org>
53526         iconv_open: Move AC_LIBOBJ invocations to module description.
53527         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
53528         AC_LIBOBJ invocations from here...
53529         * modules/iconv_open (configure.ac): ... to here.
53531 2011-05-08  Bruno Haible  <bruno@clisp.org>
53533         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
53534         If module 'iconv_open' is among the main modules and module
53535         'iconv_open-utf' is among the tests dependencies, then
53536         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
53537         return the special iconv_t values. Therefore iconv() and iconv_close()
53538         must support these special iconv_t values, already in lib, not only in
53539         tests.
53540         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
53541         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
53542         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
53543         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
53544         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
53545         (Depends-on): Add the dependencies of iconv_open-utf.
53546         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
53547         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
53548         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
53550 2011-05-08  Bruno Haible  <bruno@clisp.org>
53552         group-member: Move AC_LIBOBJ invocations to module description.
53553         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
53554         gl_PREREQ_GROUP_MEMBER invocations from here...
53555         * modules/group-member (configure.ac): ... to here.
53557 2011-05-08  Bruno Haible  <bruno@clisp.org>
53559         grantpt: Move AC_LIBOBJ invocations to module description.
53560         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
53561         invocations from here...
53562         * modules/grantpt (configure.ac): ... to here.
53564 2011-05-08  Bruno Haible  <bruno@clisp.org>
53566         glob: Move AC_LIBOBJ invocations to module description.
53567         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
53568         from here...
53569         * modules/glob (configure.ac): ... to here.
53571 2011-05-08  Bruno Haible  <bruno@clisp.org>
53573         getusershell: Move AC_LIBOBJ invocations to module description.
53574         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
53575         Move AC_LIBOBJ invocation from here...
53576         * modules/getusershell (configure.ac): ... to here.
53577         (Depends-on): Update condition.
53579 2011-05-08  Bruno Haible  <bruno@clisp.org>
53581         gettimeofday: Move AC_LIBOBJ invocations to module description.
53582         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
53583         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
53584         gl_PREREQ_GETTIMEOFDAY invocations from here...
53585         * modules/gettimeofday (configure.ac): ... to here.
53587 2011-05-08  Bruno Haible  <bruno@clisp.org>
53589         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
53590         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
53591         just gl_FUNC_TZSET.
53592         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
53593         (gl_FUNC_TZSET_CLOBBER): Remove actions.
53594         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
53595         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
53597 2011-05-08  Bruno Haible  <bruno@clisp.org>
53599         getsubopt: Move AC_LIBOBJ invocations to module description.
53600         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
53601         gl_PREREQ_GETSUBOPT invocations from here...
53602         * modules/getsubopt (configure.ac): ... to here.
53604 2011-05-08  Bruno Haible  <bruno@clisp.org>
53606         getpass-gnu: Move AC_LIBOBJ invocations to module description.
53607         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
53608         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
53609         * modules/getpass-gnu (configure.ac): ... to here.
53611 2011-05-08  Bruno Haible  <bruno@clisp.org>
53613         getpass: Move AC_LIBOBJ invocations to module description.
53614         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
53615         gl_PREREQ_GETPASS invocations from here...
53616         * modules/getpass (configure.ac): ... to here.
53618 2011-05-08  Bruno Haible  <bruno@clisp.org>
53620         getpagesize: Move AC_LIBOBJ invocations to module description.
53621         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
53622         from here...
53623         * modules/getpagesize (configure.ac): ... to here.
53625 2011-05-08  Bruno Haible  <bruno@clisp.org>
53627         getopt: Move AC_LIBOBJ invocations to module description.
53628         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
53629         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
53630         invocations from here...
53631         * modules/getopt-gnu (configure.ac): ... to here.
53632         * modules/getopt-posix (configure.ac): ... and here.
53633         (Depends-on): Update condition.
53635 2011-05-08  Bruno Haible  <bruno@clisp.org>
53637         getopt, argp: Respect rules for use of AC_LIBOBJ.
53638         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
53639         (gl_REPLACE_GETOPT_ALWAYS): New macro.
53640         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
53641         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
53643 2011-05-08  Bruno Haible  <bruno@clisp.org>
53645         getlogin_r: Move AC_LIBOBJ invocations to module description.
53646         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
53647         gl_PREREQ_GETLOGIN_R invocations from here...
53648         * modules/getlogin_r (configure.ac): ... to here.
53650 2011-05-08  Bruno Haible  <bruno@clisp.org>
53652         getlogin: Move AC_LIBOBJ invocations to module description.
53653         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
53654         here...
53655         * modules/getlogin (configure.ac): ... to here.
53657 2011-05-08  Bruno Haible  <bruno@clisp.org>
53659         getloadavg: Move AC_LIBOBJ invocations to module description.
53660         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
53661         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
53662         * modules/getloadavg (configure.ac): ... to here.
53664 2011-05-08  Bruno Haible  <bruno@clisp.org>
53666         gethrxtime: Move AC_LIBOBJ invocations to module description.
53667         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
53668         LIB_GETHRXTIME from here...
53669         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
53670         invocations from here...
53671         * modules/gethrxtime (configure.ac): ... to here.
53673 2011-05-08  Bruno Haible  <bruno@clisp.org>
53675         gethostname: Move AC_LIBOBJ invocations to module description.
53676         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
53677         gl_PREREQ_GETHOSTNAME invocations from here...
53678         * modules/gethostname (configure.ac): ... to here.
53680 2011-05-08  Bruno Haible  <bruno@clisp.org>
53682         getgroups: Move AC_LIBOBJ invocations to module description.
53683         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
53684         here...
53685         * modules/getgroups (configure.ac): ... to here.
53687 2011-05-08  Bruno Haible  <bruno@clisp.org>
53689         getdtablesize: Move AC_LIBOBJ invocations to module description.
53690         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
53691         invocation from here...
53692         * modules/getdtablesize (configure.ac): ... to here.
53694 2011-05-08  Bruno Haible  <bruno@clisp.org>
53696         getdomainname: Move AC_LIBOBJ invocations to module description.
53697         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
53698         gl_PREREQ_GETDOMAINNAME invocations from here...
53699         * modules/getdomainname (configure.ac): ... to here.
53701 2011-05-08  Bruno Haible  <bruno@clisp.org>
53703         getline: Move AC_LIBOBJ invocations to module description.
53704         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
53705         invocations from here...
53706         * modules/getline (configure.ac): ... to here.
53708 2011-05-08  Bruno Haible  <bruno@clisp.org>
53710         getline: Simplify.
53711         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
53712         It's already handled through the module dependency.
53714 2011-05-08  Bruno Haible  <bruno@clisp.org>
53716         getdelim: Move AC_LIBOBJ invocations to module description.
53717         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
53718         and gl_PREREQ_GETDELIM invocations from here...
53719         * modules/getdelim (configure.ac): ... to here.
53720         (Depends-on): Fix condition.
53722 2011-05-08  Bruno Haible  <bruno@clisp.org>
53724         getcwd: Move AC_LIBOBJ invocations to module description.
53725         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
53726         invocations from here...
53727         * modules/getcwd (configure.ac): ... to here.
53729 2011-05-08  Bruno Haible  <bruno@clisp.org>
53731         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
53732         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
53733         here...
53734         * modules/getcwd-lgpl (configure.ac): ... to here.
53736 2011-05-07  Bruno Haible  <bruno@clisp.org>
53738         crypto/gc: Move AC_LIBOBJ invocations to module description.
53739         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
53740         * modules/crypto/gc (configure.ac): ... to here.
53742 2011-05-07  Bruno Haible  <bruno@clisp.org>
53744         fwriting: Move AC_LIBOBJ invocations to module description.
53745         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
53746         here...
53747         * modules/fwriting (configure.ac): ... to here.
53749 2011-05-07  Bruno Haible  <bruno@clisp.org>
53751         fwritable: Move AC_LIBOBJ invocations to module description.
53752         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
53753         here...
53754         * modules/fwritable (configure.ac): ... to here.
53756 2011-05-07  Bruno Haible  <bruno@clisp.org>
53758         futimens: Move AC_LIBOBJ invocations to module description.
53759         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
53760         here...
53761         * modules/futimens (configure.ac): ... to here.
53763 2011-05-07  Bruno Haible  <bruno@clisp.org>
53765         ftruncate: Move AC_LIBOBJ invocations to module description.
53766         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
53767         gl_PREREQ_FTRUNCATE invocations from here...
53768         * modules/ftruncate (configure.ac): ... to here.
53770 2011-05-07  Bruno Haible  <bruno@clisp.org>
53772         fsync: Move AC_LIBOBJ invocations to module description.
53773         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
53774         invocations from here...
53775         * modules/fsync (configure.ac): ... to here.
53777 2011-05-07  Bruno Haible  <bruno@clisp.org>
53779         fsusage: Move AC_LIBOBJ invocations to module description.
53780         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
53781         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
53782         * modules/fsusage (configure.ac): ... to here.
53784 2011-05-07  Bruno Haible  <bruno@clisp.org>
53786         freopen: Move AC_LIBOBJ invocations to module description.
53787         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
53788         invocations from here...
53789         * modules/freopen (configure.ac): ... to here.
53791 2011-05-07  Bruno Haible  <bruno@clisp.org>
53793         free: Move AC_LIBOBJ invocations to module description.
53794         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
53795         invocations from here...
53796         * modules/free (configure.ac): ... to here.
53798 2011-05-07  Bruno Haible  <bruno@clisp.org>
53800         freadable: Move AC_LIBOBJ invocations to module description.
53801         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
53802         here...
53803         * modules/freadable (configure.ac): ... to here.
53805 2011-05-07  Bruno Haible  <bruno@clisp.org>
53807         fpurge: Move AC_LIBOBJ invocations to module description.
53808         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
53809         invocations from here...
53810         * modules/fpurge (configure.ac): ... to here.
53812 2011-05-07  Bruno Haible  <bruno@clisp.org>
53814         fpending: Move AC_LIBOBJ invocations to module description.
53815         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
53816         gl_FUNC_FPENDING.
53817         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
53818         invocations from here...
53819         * modules/fpending (configure.ac): ... to here.
53821 2011-05-07  Bruno Haible  <bruno@clisp.org>
53823         fopen: Move AC_LIBOBJ invocations to module description.
53824         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
53825         invocations from here...
53826         * modules/fopen (configure.ac): ... to here.
53828 2011-05-07  Bruno Haible  <bruno@clisp.org>
53830         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
53831         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
53832         gl_FUNC_FNMATCH_POSIX.
53833         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
53834         invocations from here...
53835         * modules/fnmatch (configure.ac): ... to here.
53836         * modules/fnmatch-gnu (configure.ac): ... and here.
53838 2011-05-07  Bruno Haible  <bruno@clisp.org>
53840         flock: Move AC_LIBOBJ invocations to module description.
53841         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
53842         invocations from here...
53843         * modules/flock (configure.ac): ... to here.
53845 2011-05-07  Bruno Haible  <bruno@clisp.org>
53847         fileblocks: Move AC_LIBOBJ invocations to module description.
53848         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
53849         gl_PREREQ_FILEBLOCKS invocations from here...
53850         * modules/fileblocks (configure.ac): ... to here.
53852 2011-05-06  Bruno Haible  <bruno@clisp.org>
53854         fflush: Move AC_LIBOBJ invocations to module description.
53855         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
53856         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
53857         invocations from here...
53858         * modules/fflush (configure.ac): ... to here.
53860 2011-05-06  Bruno Haible  <bruno@clisp.org>
53862         fdopendir: Move AC_LIBOBJ invocations to module description.
53863         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
53864         here...
53865         * modules/fdopendir (configure.ac): ... to here.
53866         (Depends-on): Improve conditions.
53868 2011-05-06  Bruno Haible  <bruno@clisp.org>
53870         _Exit: Move AC_LIBOBJ invocations to module description.
53871         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
53872         invocations from here...
53873         * modules/_Exit (configure.ac): ... to here.
53875 2011-05-21  Bruno Haible  <bruno@clisp.org>
53877         euidaccess: Respect rules for use of AC_LIBOBJ.
53878         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
53879         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
53880         from here...
53881         * modules/euidaccess (configure.ac): ... to here.
53883 2011-05-06  Bruno Haible  <bruno@clisp.org>
53885         error: Move AC_LIBOBJ invocations to module description.
53886         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
53887         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
53888         invocations from here...
53889         * modules/error (configure.ac): ... to here.
53891 2011-05-06  Bruno Haible  <bruno@clisp.org>
53893         duplocale: Move AC_LIBOBJ invocations to module description.
53894         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
53895         gl_PREREQ_DUPLOCALE invocations from here...
53896         * modules/duplocale (configure.ac): ... to here.
53898 2011-05-05  Bruno Haible  <bruno@clisp.org>
53900         dirfd: Move AC_LIBOBJ invocations to module description.
53901         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
53902         gl_FUNC_DIRFD.
53903         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
53904         here...
53905         * modules/dirfd (configure.ac): ... to here.
53906         (Depends-on): Fix condition.
53908 2011-05-05  Bruno Haible  <bruno@clisp.org>
53910         chown: Respect rules for use of AC_LIBOBJ.
53911         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
53912         * modules/chown (configure.ac): ... to here.
53914 2011-05-05  Bruno Haible  <bruno@clisp.org>
53916         chdir-long: Move AC_LIBOBJ invocations to module description.
53917         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
53918         gl_PREREQ_CHDIR_LONG invocations from here...
53919         * modules/chdir-long (configure.ac): ... to here.
53921 2011-05-05  Bruno Haible  <bruno@clisp.org>
53923         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
53924         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
53925         from here...
53926         * modules/canonicalize-lgpl (configure.ac): ... to here.
53928 2011-05-05  Bruno Haible  <bruno@clisp.org>
53930         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
53931         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
53932         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
53933         REPLACE_CALLOC.
53934         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
53935         * modules/calloc-gnu (configure.ac): Likewise.
53937 2011-05-05  Bruno Haible  <bruno@clisp.org>
53939         btowc: Move AC_LIBOBJ invocations to module description.
53940         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
53941         invocations from here...
53942         * modules/btowc (configure.ac): ... to here.
53944 2011-05-21  Bruno Haible  <bruno@clisp.org>
53946         atexit: Move AC_LIBOBJ invocations to module description.
53947         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
53948         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
53949         here...
53950         * modules/atexit (configure.ac): ... to here.
53952 2011-05-05  Bruno Haible  <bruno@clisp.org>
53954         atoll: Move AC_LIBOBJ invocations to module description.
53955         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
53956         invocations from here...
53957         * modules/atoll (configure.ac): ... to here.
53959 2011-05-05  Bruno Haible  <bruno@clisp.org>
53961         argz: Move AC_LIBOBJ invocations to module description.
53962         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
53963         * modules/argz (configure.ac): ... to here.
53965 2011-05-05  Bruno Haible  <bruno@clisp.org>
53967         alphasort: Move AC_LIBOBJ invocations to module description.
53968         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
53969         gl_PREREQ_ALPHASORT invocations from here...
53970         * modules/alphasort (configure.ac): ... to here.
53972 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
53974         verify: new macro verify_expr; verify_true deprecated
53975         * NEWS: Mention this.
53976         * doc/verify.texi (Compile-time Assertions): Document this.
53977         * lib/verify.h (verify_true): Deprecate.
53978         (verify_expr): New macro.
53979         * tests/test-verify.c (function): Test verify_expr.
53981 2011-06-14  Jim Meyering  <meyering@redhat.com>
53983         init.sh: give more portable redirection-related advice in a comment
53984         * tests/init.sh (stderr_fileno_): Update the advice in comments.
53985         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
53986         for lots of discussion.  Stefano Lattarini suggested the solution
53987         of putting "9>&2" after the command.  Reported by Bruno Haible.
53989 2011-06-13  Bruno Haible  <bruno@clisp.org>
53991         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
53992         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
53993         'none'.
53995 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
53997         ftoastr: use strtof only if HAVE_STRTOF
53998         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
53999         <http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
54000         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
54001         * modules/ftoastr (configure.ac): Check for strtof.
54003 2011-06-13  Bruno Haible  <bruno@clisp.org>
54005         gnulib-tool: Addendum to 2011-06-08 commit.
54006         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
54007         and --witness-c-macro have been given, augment AM_CPPFLAGS.
54009 2011-06-13  Bruno Haible  <bruno@clisp.org>
54011         fseeko: Provide a non-inline replacement of fseek().
54012         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
54013         * modules/fseeko (Depends-on): Add fseek.
54014         * modules/fseek (License): Change to LGPLv2+.
54016 2011-06-13  Bruno Haible  <bruno@clisp.org>
54018         ftello: Provide a non-inline replacement of ftell().
54019         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
54020         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
54021         not have ftello() (such as on mingw).
54022         * modules/ftello (Depends-on): Add ftell.
54023         * modules/ftell (License): Change to LGPLv2+.
54025 2011-05-07  Bruno Haible  <bruno@clisp.org>
54027         ftell: Move AC_LIBOBJ invocations to module description.
54028         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
54029         * modules/ftell (configure.ac): ... to here.
54031 2011-05-07  Bruno Haible  <bruno@clisp.org>
54033         ftello: Respect rules for use of AC_LIBOBJ.
54034         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
54035         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
54036         here...
54037         * modules/ftello (configure.ac): ... to here.
54039 2011-05-07  Bruno Haible  <bruno@clisp.org>
54041         fseeko: Simplify.
54042         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
54043         (gl_FUNC_FSEEKO): Inline it here.
54045 2011-05-07  Bruno Haible  <bruno@clisp.org>
54047         fseek: Move AC_LIBOBJ invocations to module description.
54048         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
54049         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
54050         * modules/fseek (configure.ac): ... to here.
54052 2011-05-07  Bruno Haible  <bruno@clisp.org>
54054         fseek: Respect rules for use of AC_LIBOBJ.
54055         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
54056         here...
54057         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
54059 2011-05-07  Bruno Haible  <bruno@clisp.org>
54061         fseeko: Respect rules for use of AC_LIBOBJ.
54062         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
54063         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
54064         here...
54065         * modules/fseeko (configure.ac): ... to here.
54067 2011-06-13  Bruno Haible  <bruno@clisp.org>
54069         gnulib-tool: Allow comments in the 'Depends-on' section.
54070         * doc/gnulib.texi (Module description): Mention comment syntax in the
54071         Depends-on section.
54072         * gnulib-tool (func_get_dependencies): Filter out comment lines.
54074 2011-06-13  Bruno Haible  <bruno@clisp.org>
54076         file-set.h: guard __attibute__ use, now that it's not always defined
54077         * lib/file-set.h (record_file): Use __attribute__ only with compiler
54078         versions that support it.  This fixes a coreutils build failure with
54079         the vendor cc on HP-UX 11.31.
54081 2011-06-12  Bruno Haible  <bruno@clisp.org>
54083         acl: Add support for HP-UX >= 11.11 JFS ACLs.
54084         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
54085         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
54086         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
54087         (acl, aclsort): New declarations.
54088         (aclv_nontrivial): New declaration.
54089         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
54090         (file_has_acl): Read also the second kind of HP-UX ACLs.
54091         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
54092         kind of HP-UX ACLs if the first kind fails.
54093         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
54094         second kind of HP-UX ACLs.
54095         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
54096         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
54097         agree.
54098         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54099         hpuxjfs.
54100         Handle hpuxjfs.
54101         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
54102         hpuxjfs.
54103         Handle hpuxjfs.
54104         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54105         (func_test_same_acls): Use both lsacl and getacl.
54106         Handle hpuxjfs.
54107         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
54108         (func_test_same_acls): Use both lsacl and getacl.
54109         Handle hpuxjfs.
54111 2011-06-12  Bruno Haible  <bruno@clisp.org>
54113         acl: Complete the 2010-08-10 fix.
54114         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
54115         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
54116         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
54117         explicitly.
54118         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
54119         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
54121 2011-06-12  Bruno Haible  <bruno@clisp.org>
54123         spawn-pipe tests: Comments.
54124         * tests/test-spawn-pipe-child.c (main): Update comment.
54125         Reported by James Youngman <jay@gnu.org>.
54127 2011-06-11  James Youngman  <jay@gnu.org>
54129         New module 'stat-size'.
54130         * modules/stat-size: New module.  Provides macros for accessing
54131         file size information in instances of struct stat.  Depends on the
54132         fileblocks module because it calls st_blocks.
54133         * lib/stat-size.h: New file, adapted from coreutils' system.h.
54134         * doc/gnulib.texi: Include stat-size.texi.
54135         * doc/stat-size.texi: Documentation for this module.
54136         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
54137         * m4/fileblocks.m4: Mention that stat-size depends on the call to
54138         AC_STRUCT_ST_BLOCKS.
54140 2011-06-09  Bruno Haible  <bruno@clisp.org>
54142         thread: Support pthreads-win32.
54143         * lib/glthread/thread.h (gl_thread_self): Define differently on
54144         pthreads-win32.
54145         (gl_null_thread): New declaration.
54146         (gl_thread_self_pointer): New macro.
54147         * lib/glthread/thread.c (gl_null_thread): New constant.
54148         * tests/test-lock.c: Use gl_thread_self_pointer instead of
54149         gl_thread_self.
54150         * tests/test-tls.c: Likewise.
54151         Suggested by Paul Eggert. Reported by Eric Blake.
54153 2011-06-09  Bruno Haible  <bruno@clisp.org>
54155         thread: Fix confusion between NULL and 0.
54156         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
54157         Reported by Paul Eggert.
54159 2011-06-09  Bruno Haible  <bruno@clisp.org>
54161         spawn-pipe tests: Avoid test failure on HP-UX 11.
54162         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
54163         is closed.
54165 2011-06-09  Bruno Haible  <bruno@clisp.org>
54167         acl tests: Fix compilation error on HP-UX 11.
54168         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
54170 2011-06-09  Bruno Haible  <bruno@clisp.org>
54172         rmdir: Avoid test failure on HP-UX 10.20.
54173         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
54174         EEXIST.
54176 2011-06-08  Eric Blake  <eblake@redhat.com>
54178         perror: fix test on mingw
54179         * modules/perror-tests (Depends-on): Add dup2.
54181         strerror_r-posix: fix on MacOS
54182         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
54183         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
54184         logic bug.
54185         * lib/strerror_r.c (strerror_r): Fix the bug.
54186         * lib/strerror.c (strerror): Likewise.
54187         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
54188         problem.
54189         * doc/posix-functions/strerror.texi (strerror): Likewise.
54190         * doc/posix-functions/perror.texi (perror): Likewise.
54191         * tests/test-strerror.c (main): Enhance test.
54192         * tests/test-strerror_r.c (main): Likewise.
54194 2011-06-08  Bruno Haible  <bruno@clisp.org>
54196         gnulib-tool: Better isolation between different gnulib-tool invocations.
54197         * gnulib-tool: New option --witness-c-macro.
54198         (witness_c_macro): New variable.
54199         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
54200         AM_CPPFLAGS define it as a C macro.
54201         (func_emit_tests_Makefile_am): Likewise.
54202         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
54203         read it from there.
54204         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
54205         m4_define, not AC_DEFUN.
54206         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
54207         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
54208         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
54209         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
54210         s|...|...|, to substitute the values of the GNULIB_* module indicator
54211         variables.
54212         * modules/dirent (Makefile.am): Likewise.
54213         * modules/fcntl-h (Makefile.am): Likewise.
54214         * modules/iconv-h (Makefile.am): Likewise.
54215         * modules/langinfo (Makefile.am): Likewise.
54216         * modules/locale (Makefile.am): Likewise.
54217         * modules/math (Makefile.am): Likewise.
54218         * modules/netdb (Makefile.am): Likewise.
54219         * modules/poll-h (Makefile.am): Likewise.
54220         * modules/pty (Makefile.am): Likewise.
54221         * modules/search (Makefile.am): Likewise.
54222         * modules/signal (Makefile.am): Likewise.
54223         * modules/spawn (Makefile.am): Likewise.
54224         * modules/stdio (Makefile.am): Likewise.
54225         * modules/stdlib (Makefile.am): Likewise.
54226         * modules/string (Makefile.am): Likewise.
54227         * modules/sys_ioctl (Makefile.am): Likewise.
54228         * modules/sys_select (Makefile.am): Likewise.
54229         * modules/sys_socket (Makefile.am): Likewise.
54230         * modules/sys_stat (Makefile.am): Likewise.
54231         * modules/sys_times (Makefile.am): Likewise.
54232         * modules/sys_utsname (Makefile.am): Likewise.
54233         * modules/sys_wait (Makefile.am): Likewise.
54234         * modules/termios (Makefile.am): Likewise.
54235         * modules/time (Makefile.am): Likewise.
54236         * modules/unistd (Makefile.am): Likewise.
54237         * modules/wchar (Makefile.am): Likewise.
54239 2011-06-08  Eric Blake  <eblake@redhat.com>
54241         strerror: simplify replacement
54242         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
54243         * modules/strerror (configure.ac): No prereqs needed here...
54244         * modules/strerror-override (configure.ac): ...but this needs it.
54245         (Files): Add file for needed prereq macro.
54247 2011-06-08  Bruno Haible  <bruno@clisp.org>
54249         strerror_r-posix: Tweaks.
54250         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
54251         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
54252         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
54253         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
54254         (gl_FUNC_STRERROR_R): ... to here.
54255         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
54257 2011-06-07  Eric Blake  <eblake@redhat.com>
54259         perror: document fixed bugs
54260         * doc/posix-functions/perror.texi (perror): Document recent
54261         patches.
54263 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
54265         stat-time: get_stat_birthtime failure is better-defined
54266         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
54267         return a timestamp whose tv_sec and tv_nsec values are both -1.
54268         Previously, the spec said only that the tv_nsec value was negative.
54269         This upward-compatible change simplifies GNU tar a bit.
54271 2011-06-07  Eric Blake  <eblake@redhat.com>
54273         strerror_r-posix: work around cygwin 1.7.9
54274         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
54275         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
54276         bug without replacing strerror_r.
54277         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
54278         strerror_r is buggy, but without requiring strerror_r compilation.
54279         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
54281         test-perror: relax test to ignore cygwin bug
54282         * tests/test-perror2.c (main): Relax test on requiring detection
54283         of stream errors, and use unbuffered stream.
54284         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
54285         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
54286         * doc/posix-functions/fputc.texi (fputc): Likewise.
54287         * doc/posix-functions/fputs.texi (fputs): Likewise.
54288         * doc/posix-functions/fputws.texi (fputws): Likewise.
54289         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
54290         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
54291         * doc/posix-functions/getopt.texi (getopt): Likewise.
54292         * doc/posix-functions/perror.texi (perror): Likewise.
54293         * doc/posix-functions/printf.texi (printf): Likewise.
54294         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
54295         * doc/posix-functions/psignal.texi (psignal): Likewise.
54296         * doc/posix-functions/putc.texi (putc): Likewise.
54297         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
54298         Likewise.
54299         * doc/posix-functions/putchar.texi (putchar): Likewise.
54300         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
54301         Likewise.
54302         * doc/posix-functions/puts.texi (puts): Likewise.
54303         * doc/posix-functions/putwc.texi (putwc): Likewise.
54304         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
54305         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
54306         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54307         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
54308         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54309         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
54310         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
54311         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
54313 2011-05-22  Bruno Haible  <bruno@clisp.org>
54315         strerror: Move AC_LIBOBJ invocations to module description.
54316         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
54317         gl_PREREQ_STRERROR invocations from here...
54318         * modules/strerror (configure.ac): ... to here.
54320 2011-05-21  Bruno Haible  <bruno@clisp.org>
54322         perror: Use common idiom.
54323         * modules/perror (configure.ac): Reorder statements.
54325 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54327         tests: fix usage message in 'mktempd_'
54328         * tests/init.sh (mktempd_): In the usage message, use literal
54329         'mktempd_', not '$ME' (which is even undefined), as the name of
54330         the subroutine.
54332 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
54334         tests init: new function 'fatal_', for hard errors
54335         Before this patch, the only way offered by tests/init.sh to
54336         properly signal a hard error was the `framework_failure_'
54337         function.  But the error message issued by that function,
54338         as its name would suggest, refers to a set-up failure in the
54339         testsuite, while hard errors can obviously also be due to
54340         other reasons.  The best way to fix this inconsistency is to
54341         introduce a new function with a more general error message.
54342         * tests/init.sh (fatal_): New function.
54344 2011-06-06  Eric Blake  <eblake@redhat.com>
54346         canonicalize-lgpl: use common idiom
54347         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
54348         over newer POSIX -Rf.
54349         Reported by Bruno Haible.
54351         canonicalize-lgpl: work around AIX realpath bug
54352         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
54353         * doc/posix-functions/realpath.texi (realpath): Document it.
54354         Reported by Bruno Haible.
54356         strerror: work around FreeBSD bug
54357         * lib/strerror.c (strerror): Special case 0.
54358         Reported by Bruno Haible.
54360         strerror-override: avoid bloating errno module
54361         * modules/errno (Files, configure.ac): Move replacement strings...
54362         * modules/strerror-override: ...to new module.
54363         * modules/strerror (Depends-on): Add strerror-override.
54364         * modules/strerror_r-posix (Depends-on): Likewise.
54365         * MODULES.html.sh: Document new module.
54366         Reported by Bruno Haible.
54368 2011-06-06  Bruno Haible  <bruno@clisp.org>
54370         spawn-pipe tests: Rename program.
54371         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
54372         * tests/test-spawn-pipe-child.c: Update comment.
54373         * tests/test-spawn-pipe.sh: Update.
54374         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
54376         spawn-pipe tests: Link the child program only against libc.
54377         * tests/test-spawn-pipe-child.c: New file, extracted from
54378         tests/test-spawn-pipe.c.
54379         (main): Expect only one argument.
54380         (is_open): New function, copied from tests/test-pipe.c.
54381         * tests/test-spawn-pipe.c: Don't include <errno.h>.
54382         (child_main): Remove function.
54383         (test_pipe): Pass only one argument to the child program.
54384         (main): Remove child process code. Expect the child program's name as
54385         first argument.
54386         * tests/test-spawn-pipe.sh: Pass the child program's name as first
54387         argument.
54388         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
54389         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
54390         test-spawn-pipe-child against no libraries.
54392 2011-06-06  Bruno Haible  <bruno@clisp.org>
54394         careadlinkat: Avoid mismatch between ssize_t and int.
54395         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
54396         * lib/careadlinkat.c (careadlinkatcwd): Define always.
54398 2011-06-06  Jim Meyering  <meyering@redhat.com>
54400         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
54401         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
54402         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
54404 2011-06-05  Bruno Haible  <bruno@clisp.org>
54406         ansi-c++-opt: Interoperability with libtool.
54407         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
54408         set the variable to "no", not to ":".
54409         * NEWS: Mention the change.
54411 2011-06-05  Bruno Haible  <bruno@clisp.org>
54413         acl: Fix test failure on AIX 7.
54414         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
54415         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
54417 2011-06-05  Bruno Haible  <bruno@clisp.org>
54419         pipe-filter-ii: Fix test failure on AIX and IRIX.
54420         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
54421         with EAGAIN, retry with a smaller buffer size.
54423 2011-06-05  Bruno Haible  <bruno@clisp.org>
54425         localename: Fix link dependencies.
54426         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
54427         * modules/localename-tests (Makefile.am): Link test-localename with
54428         $(LIBTHREAD).
54430 2011-06-05  Bruno Haible  <bruno@clisp.org>
54432         error: Avoid gcc warning.
54433         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
54435 2011-06-05  Bruno Haible  <bruno@clisp.org>
54437         unsetenv: Avoid gcc warning.
54438         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
54440 2011-06-05  Bruno Haible  <bruno@clisp.org>
54442         setenv: Avoid gcc warning.
54443         * lib/setenv.c (setenv): Provide declaration if system lacks it.
54445 2011-06-05  Bruno Haible  <bruno@clisp.org>
54447         sys_select: Ensure memset is declared also on AIX 7.
54448         * lib/sys_select.in.h: Include <string.h> also on AIX.
54449         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
54450         self-contained also on AIX 7.1.
54452 2011-06-04  Jim Meyering  <meyering@redhat.com>
54454         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
54455         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
54456         function name, "error".
54457         (_gl_translatable_diag_func_re): New configurable variable.
54459 2011-06-04  Bruno Haible  <bruno@clisp.org>
54461         getopt: Avoid gcc warning.
54462         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
54464 2011-06-04  Bruno Haible  <bruno@clisp.org>
54466         strerror_r: Fix comments.
54467         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
54468         commit.
54470 2011-06-04  Bruno Haible  <bruno@clisp.org>
54472         perror: Fix compilation error.
54473         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
54474         Undefine fprintf, not sprintf.
54475         * modules/perror (Depends-on): Remove intprops, verify.
54477 2011-06-04  Bruno Haible  <bruno@clisp.org>
54479         setlocale: Enable replacement on Cygwin 1.5.
54480         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
54481         Cygwin 1.5.x.
54482         * doc/posix-functions/setlocale.texi: Mention that the problem with the
54483         LC_CTYPE category also exists on Cygwin 1.5.x.
54485 2011-06-04  Bruno Haible  <bruno@clisp.org>
54487         strerror-override: Don't disable symbol renamings.
54488         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
54489         * lib/strerror-override.c: Include config.h.
54490         (strerror_override): Don't undefine.
54492 2011-06-03  Bruno Haible  <bruno@clisp.org>
54494         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
54495         * lib/localename.h: Update copyright header.
54496         * lib/localename.c: Likewise.
54497         * lib/relocatable.h: Likewise.
54498         * lib/relocatable.c: Likewise.
54500 2011-06-02  Bruno Haible  <bruno@clisp.org>
54502         doc: Fix a module name.
54503         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
54505 2011-06-02  Bruno Haible  <bruno@clisp.org>
54507         pipe2: Remove dependency on 'nonblocking' module.
54508         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
54509         O_NONBLOCK is defined by gnulib.
54510         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
54511         is zero.
54512         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
54513         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
54514         defined by gnulib.
54515         (get_nonblocking_flag): New function.
54516         (main): Test O_NONBLOCK flag only if it is nonzero.
54517         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
54519 2011-06-03  Jim Meyering  <meyering@redhat.com>
54521         maint: three new prohibit-header-without-use rules
54522         Prohibit use of cloexec.h, posixver.h, same.h without use.
54523         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
54524         (sc_prohibit_posixver_without_use): Likewise.
54525         (sc_prohibit_same_without_use): Likewise.
54527 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
54529         allocator: 'die' routine is now given requested size
54530         * lib/allocator.h (struct allocator.die): New size arg.
54531         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
54532         If the actual problem is an ssize_t limitation, not a size_t or
54533         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
54535 2011-06-01  Eric Blake  <eblake@redhat.com>
54537         strerror: drop strerror_r dependency
54538         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
54539         * lib/strerror-override.c (strerror_override): ...to new file.
54540         * lib/strerror-override.h: Add prototype.
54541         * lib/strerror-impl.h: Delete.
54542         * lib/strerror.c (strerror): New implementation.
54543         * modules/errno (Files): Add new files.
54544         (configure.ac): Compile new file as appropriate.
54545         * modules/strerror (Files): Drop unused file.
54546         (Depends-on): Drop strerror_r-posix.
54547         * MODULES.html.sh: Document strerror_r-posix.
54548         Requested by Sam Steingold.
54550         perror: call strerror_r directly
54551         * modules/perror (Files): Drop strerror-impl.h.
54552         * lib/perror.c (perror): Use our own stack buffer, rather than
54553         calling a wrapper that uses static storage.
54554         * doc/posix-functions/perror.texi (perror): Document a limitation
54555         of our replacement.
54557         strerror_r: fix includes for FreeBSD
54558         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
54559         since we use abort on some platforms.
54560         Reported by Matthias Bolte.
54562 2011-05-31  Bruno Haible  <bruno@clisp.org>
54564         Fix link errors in tests: openat-die uses gettext-h.
54565         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
54566         against $(LIBINTL).
54567         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
54568         against $(LIBINTL).
54569         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
54570         $(LIBINTL).
54571         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
54572         against $(LIBINTL).
54573         * modules/linkat-tests (Makefile.am): Link test-linkat against
54574         $(LIBINTL).
54575         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
54576         $(LIBINTL).
54577         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
54578         against $(LIBINTL).
54579         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
54580         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
54581         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
54582         $(LIBINTL).
54583         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
54584         $(LIBINTL).
54585         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
54586         $(LIBINTL).
54587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54589 2011-05-31  Bruno Haible  <bruno@clisp.org>
54591         Fix link errors in tests: wait-process uses gettext-h.
54592         * modules/nonblocking-pipe-tests (Makefile.am): Set
54593         test_nonblocking_pipe_main_LDADD.
54594         * modules/nonblocking-socket-tests (Makefile.am): Link
54595         test-nonblocking-socket-main against $(LIBINTL).
54596         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54598 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
54600         assert-h: work around 'verify' incompatibility
54601         * lib/verify.h: Use @...@ directives, not ifdef.
54602         * modules/assert-h (assert.h): Implement the directives.
54603         (assert.h): Substitute the symbol-prefix more consistently.
54605 2011-05-29  Jim Meyering  <meyering@redhat.com>
54607         trim: remove three superfluous assignments
54608         * lib/trim.c (trim2): Remove three superfluous assignments
54609         and correct brace positioning.
54611 2011-05-29  Bruno Haible  <bruno@clisp.org>
54613         wctype-h: Avoid namespace pollution on Solaris 2.6.
54614         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
54615         identifiers.
54616         * doc/posix-headers/wctype.texi: Mention the problem.
54617         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
54619 2011-05-28  Jim Meyering  <meyering@redhat.com>
54621         parse-datetime.y: accommodate -Wstrict-overflow
54622         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
54623         placate -Wstrict-overflow.
54625         trim: avoid a warning from -O2 -Wstrict-overflow
54626         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
54628 2011-05-29  Bruno Haible  <bruno@clisp.org>
54630         gnulib-tool: Fix bug in yesterday's commit.
54631         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
54632         twice.
54634 2011-05-29  Bruno Haible  <bruno@clisp.org>
54636         Allow multiple gnulib generated include files to be combined.
54637         * gnulib-tool (func_compute_include_guard_prefix): New function.
54638         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
54639         ${gl_include_guard_prefix} references.
54640         (func_import, func_create_testdir): Invoke
54641         func_compute_include_guard_prefix.
54642         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
54643         * lib/ctype.in.h: Likewise.
54644         * lib/dirent.in.h: Likewise.
54645         * lib/errno.in.h: Likewise.
54646         * lib/fcntl.in.h: Likewise.
54647         * lib/float.in.h: Likewise.
54648         * lib/getopt.in.h: Likewise.
54649         * lib/iconv.in.h: Likewise.
54650         * lib/langinfo.in.h: Likewise.
54651         * lib/locale.in.h: Likewise.
54652         * lib/math.in.h: Likewise.
54653         * lib/netdb.in.h: Likewise.
54654         * lib/netinet_in.in.h: Likewise.
54655         * lib/poll.in.h: Likewise.
54656         * lib/pthread.in.h: Likewise.
54657         * lib/pty.in.h: Likewise.
54658         * lib/sched.in.h: Likewise.
54659         * lib/se-selinux.in.h: Likewise.
54660         * lib/search.in.h: Likewise.
54661         * lib/signal.in.h: Likewise.
54662         * lib/spawn.in.h: Likewise.
54663         * lib/stdarg.in.h: Likewise.
54664         * lib/stddef.in.h: Likewise.
54665         * lib/stdint.in.h: Likewise.
54666         * lib/stdio.in.h: Likewise.
54667         * lib/stdlib.in.h: Likewise.
54668         * lib/string.in.h: Likewise.
54669         * lib/strings.in.h: Likewise.
54670         * lib/sys_file.in.h: Likewise.
54671         * lib/sys_ioctl.in.h: Likewise.
54672         * lib/sys_select.in.h: Likewise.
54673         * lib/sys_socket.in.h: Likewise.
54674         * lib/sys_stat.in.h: Likewise.
54675         * lib/sys_time.in.h: Likewise.
54676         * lib/sys_times.in.h: Likewise.
54677         * lib/sys_uio.in.h: Likewise.
54678         * lib/sys_utsname.in.h: Likewise.
54679         * lib/sys_wait.in.h: Likewise.
54680         * lib/sysexits.in.h: Likewise.
54681         * lib/termios.in.h: Likewise.
54682         * lib/time.in.h: Likewise.
54683         * lib/unistd.in.h: Likewise.
54684         * lib/wchar.in.h: Likewise.
54685         * lib/wctype.in.h: Likewise.
54686         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
54687         * modules/ctype (Makefile.am): Likewise.
54688         * modules/dirent (Makefile.am): Likewise.
54689         * modules/errno (Makefile.am): Likewise.
54690         * modules/fcntl-h (Makefile.am): Likewise.
54691         * modules/float (Makefile.am): Likewise.
54692         * modules/getopt-posix (Makefile.am): Likewise.
54693         * modules/iconv-h (Makefile.am): Likewise.
54694         * modules/langinfo (Makefile.am): Likewise.
54695         * modules/locale (Makefile.am): Likewise.
54696         * modules/math (Makefile.am): Likewise.
54697         * modules/netdb (Makefile.am): Likewise.
54698         * modules/netinet_in (Makefile.am): Likewise.
54699         * modules/poll-h (Makefile.am): Likewise.
54700         * modules/pthread (Makefile.am): Likewise.
54701         * modules/pty (Makefile.am): Likewise.
54702         * modules/sched (Makefile.am): Likewise.
54703         * modules/search (Makefile.am): Likewise.
54704         * modules/selinux-h (Makefile.am): Likewise.
54705         * modules/signal (Makefile.am): Likewise.
54706         * modules/spawn (Makefile.am): Likewise.
54707         * modules/stdarg (Makefile.am): Likewise.
54708         * modules/stddef (Makefile.am): Likewise.
54709         * modules/stdint (Makefile.am): Likewise.
54710         * modules/stdio (Makefile.am): Likewise.
54711         * modules/stdlib (Makefile.am): Likewise.
54712         * modules/string (Makefile.am): Likewise.
54713         * modules/strings (Makefile.am): Likewise.
54714         * modules/sys_file (Makefile.am): Likewise.
54715         * modules/sys_ioctl (Makefile.am): Likewise.
54716         * modules/sys_select (Makefile.am): Likewise.
54717         * modules/sys_socket (Makefile.am): Likewise.
54718         * modules/sys_stat (Makefile.am): Likewise.
54719         * modules/sys_time (Makefile.am): Likewise.
54720         * modules/sys_times (Makefile.am): Likewise.
54721         * modules/sys_uio (Makefile.am): Likewise.
54722         * modules/sys_utsname (Makefile.am): Likewise.
54723         * modules/sys_wait (Makefile.am): Likewise.
54724         * modules/sysexits (Makefile.am): Likewise.
54725         * modules/termios (Makefile.am): Likewise.
54726         * modules/time (Makefile.am): Likewise.
54727         * modules/unistd (Makefile.am): Likewise.
54728         * modules/wchar (Makefile.am): Likewise.
54729         * modules/wctype-h (Makefile.am): Likewise.
54730         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
54732 2011-05-29  Bruno Haible  <bruno@clisp.org>
54734         assert-h: Allow multiple gnulib generated replacements to coexist.
54735         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
54737 2011-05-29  Bruno Haible  <bruno@clisp.org>
54739         argp: Allow coexistence with strerror_r-posix module.
54740         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
54741         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
54742         by gnulib's <string.h> replacement), assume it has the POSIX signature,
54743         not the glibc signature.
54745 2011-05-28  Bruno Haible  <bruno@clisp.org>
54747         gnulib-tool: Alternative structure of testdirs, similar to --import.
54748         * gnulib-tool: New option --single-configure.
54749         (func_usage): Document it.
54750         (single_configure): New variable.
54751         (func_modules_transitive_closure_separately,
54752         func_modules_transitive_closure_separately,
54753         func_determine_use_libtests, func_modules_add_dummy_separately,
54754         func_modules_to_filelist_separately): New functions, extracted from
54755         func_import.
54756         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
54757         (func_import): Use the new functions.
54758         (func_create_testdir): Set final_modules. Handle $single_configure =
54759         true case.
54761 2011-05-28  Bruno Haible  <bruno@clisp.org>
54763         getloadavg: Remove an unreliable safety check.
54764         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
54765         getloadavg.c is in place.
54766         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
54767         Reported by Sam Steingold <sds@gnu.org>.
54769 2011-05-28  Bruno Haible  <bruno@clisp.org>
54771         doc: Cleanup yet another file produced by texinfo.tex.
54772         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
54774 2011-05-28  Bruno Haible  <bruno@clisp.org>
54776         Finish the conditional dependencies mechanism.
54777         * gnulib-tool: New option --no-conditional-dependencies.
54778         (func_usage): Document it. Don't mark --conditional-dependencies as
54779         experimental.
54780         (cond_dependencies): The possible values can now be true, false, empty.
54781         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
54782         (func_import): Store setting in gnulib-cache.m4 and read it from there.
54783         * doc/gnulib-tool.texi (Conditional dependencies): New section.
54785 2011-05-28  Bruno Haible  <bruno@clisp.org>
54787         doc: Use a recent texinfo.tex.
54788         * doc/Makefile (tex_opts): New variable.
54789         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
54791 2011-05-28  Jim Meyering  <meyering@redhat.com>
54793         intprops.h: adjust comment to match code change
54794         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
54795         only once, it *may* have side effects.  Also fix an unrelated typo.
54796         (_GL_INT_SIGNED): Likewise.
54798 2011-05-26  Simon Josefsson  <simon@josefsson.org>
54800         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
54802 2011-05-26  Bruno Haible  <bruno@clisp.org>
54804         mbsrchr: Avoid collision with system function on Interix.
54805         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
54806         Reported by Markus Duft <mduft@gentoo.org>.
54808 2011-05-15  James Youngman  <jay@gnu.org>
54810         getopt: for ambiguous options, enumerate the possibilities.
54811         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
54812         the ambiguous options when an ambiguous prefix is given. This was
54813         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
54814         glibc change was
54815         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
54817 2011-05-25  Eric Blake  <eblake@redhat.com>
54819         getcwd: work around mingw bug
54820         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
54821         * doc/posix-functions/getcwd.texi (getcwd): Document it.
54822         Reported by Matthias Bolte.
54824 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
54826         test-intprops: disable -Wtype-limits diagnostics
54827         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
54828         diagnostics.  Otherwise, the integer overflow macros generate many
54829         diagnostics.  Reported by Jim Meyering in
54830         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54832         intprops: shorten, to pacify gcc -Woverlength-strings
54833         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
54834         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
54835         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
54836         likely to run afoul of C compiler limits for string constant lengths.
54837         See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.
54839 2011-05-24  Eric Blake  <eblake@redhat.com>
54841         docs: document recently fixed glibc printf bug
54842         * doc/posix-functions/fprintf.texi (fprintf): Document it.
54843         * doc/posix-functions/printf.texi (printf): Likewise.
54844         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
54845         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
54847         closein-tests: convert to init.sh
54848         * modules/closein-tests (Files): Add init.sh
54849         * tests/test-closein.sh Use it.
54851         yesno-tests: convert to init.sh
54852         * modules/yesno-tests (Files): Add init.sh.
54853         * tests/test-yesno.sh: Use it.
54855         atexit-tests: ensure reliable exit status
54856         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
54857         Reported by Bruno Haible.
54859 2011-05-24  Bruno Haible  <bruno@clisp.org>
54861         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
54862         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
54863         gl_PREREQ_STRERROR_R invocations from here...
54864         * modules/strerror_r-posix (configure.ac): ... to here.
54866 2011-05-24  Eric Blake  <eblake@redhat.com>
54868         strerror_r: fix missing header
54869         * lib/strerror_r.c: Avoid compiler warning about snprintf.
54871         strerror_r: fix AIX test failures
54872         * lib/strerror_r.c (strerror_r): Convert silent truncation to
54873         ERANGE failure.
54875         strerror_r: fix Solaris test failures
54876         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
54877         failures.
54878         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54880         strerror_r: enforce POSIX recommendations
54881         * lib/strerror_r.c (safe_copy): New helper method.
54882         (strerror_r): Guarantee a non-empty string.
54883         * tests/test-strerror_r.c (main): Enhance tests to incorporate
54884         recent POSIX rulings and to match our strerror guarantees.
54885         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
54887 2011-05-24  Jim Meyering  <meyering@redhat.com>
54889         test-perror2.c: avoid warning about unused variable
54890         * tests/test-perror2.c (main): Remove declaration of unused "fp".
54892 2011-05-24  Eric Blake  <eblake@redhat.com>
54894         perror: avoid spurious test failure on HP-UX
54895         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
54897         tests: fix logic bug in init.sh
54898         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
54899         shell.
54901 2011-05-24  Jim Meyering  <meyering@redhat.com>
54903         utimensat: do not reference an out-of-scope buffer
54904         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
54905         declared in an inner scope, yet "times" would be dereferenced outside
54906         the scope in which "ts" was valid.
54907         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
54908         of ts[2] "out/up", so that the use of aliased "times" (via
54909         "times = ts;") does not end up referencing an out-of-scope "ts"
54911         opendir-safer.c: don't clobber errno; don't close negative FD
54912         * lib/opendir-safer.c (opendir_safer):
54913         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
54914         file descriptor, and more importantly, don't clobber the
54915         offending errno value with EINVAL.  Before, upon failure
54916         of dup_safer, we would pass the negative file descriptor to
54917         fdopendir, which would clobber errno.
54919 2011-05-23  Bruno Haible  <bruno@clisp.org>
54921         idcache: Fix module description.
54922         * modules/idcache (Include): Set to "idcache.h".
54924 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
54926         gnulib-tool: fix portability problem with MacOS sed
54927         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
54928         before the "}".  Problem reported by Leo in
54929         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
54930         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
54931         sed_extract_condition1, sed_extract_condition2.
54933 2011-05-23  Bruno Haible  <bruno@clisp.org>
54935         hash: Simplify autoconf macro.
54936         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
54938 2011-05-23  Bruno Haible  <bruno@clisp.org>
54940         getugroups: Fix module description.
54941         * modules/getugroups (Include): Set to "getugroups.h".
54943 2011-05-23  Bruno Haible  <bruno@clisp.org>
54945         linkat: Simplify autoconf macro.
54946         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
54948 2011-05-23  Bruno Haible  <bruno@clisp.org>
54949             Eric Blake  <eblake@redhat.com>
54951         linkat, renameat: Update dependencies.
54952         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
54953         * modules/linkat (Depends-on): Likewise. Remove also readlink,
54954         symlinkat.
54956 2011-05-23  Jim Meyering  <meyering@redhat.com>
54958         maint.mk: more tight_scope improvements
54959         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
54960         (_gl_TS_headers): Define only in if-0'd block.
54961         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
54962         sometimes we must *not* use it.  Adjust uses accordingly.
54963         (sc_tight_scope): Use much simpler grep-based test to determine
54964         whether we skip this rule.
54966         maint.mk: generalize/improve the tight-scope rule
54967         * top/maint.mk: Emit a warning when the test is skipped.
54968         (_gl_TS_dir): Add $(srcdir)/ prefix.
54969         (_gl_TS_function_match): Simplify, rather than trying
54970         to enumerate common types.  Otherwise, it would fail to match an
54971         "extern unsigned char const *" declaration in idutils.
54972         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
54973         a way to support use of that type of macro.
54974         (_gl_TS_var_match): Simplify regexp.
54975         (_gl_TS_obj_files): New configurable variable.
54976         (_gl_TS_headers): Likewise.
54978 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54980         verify: fix bug when gnulib <assert.h> is also included
54981         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
54982         is defined, not if _GL_STATIC_ASSERT_H is not defined.
54983         Perhaps there's a better way, but this fixes the immediate problem.
54984         Problem reported by Bruno Haible in
54985         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.
54987 2011-05-22  Bruno Haible  <bruno@clisp.org>
54989         xgetcwd: Simplify autoconf macro.
54990         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
54992 2011-05-22  Bruno Haible  <bruno@clisp.org>
54994         New module 'mktime-internal'.
54995         * modules/mktime-internal: New file.
54996         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
54997         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
54998         mktime_internal as a C macro if libc has __mktime_internal.
54999         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
55000         conditions.
55001         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
55003 2011-05-22  Bruno Haible  <bruno@clisp.org>
55005         timegm: Correct mktime replacement statements.
55006         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
55007         defining mktime as a C macro. This completes a 2009-07-28 commit.
55009 2011-05-22  Bruno Haible  <bruno@clisp.org>
55011         timegm: Simplify autoconf macro.
55012         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
55014 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
55016         clock-time: change to LGPLv2+.
55017         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
55018         BSD-like but we have no mark for that; this is good enough for now.
55020 2011-05-21  Bruno Haible  <bruno@clisp.org>
55022         strerror_r: Fix comments.
55023         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
55025 2011-05-21  Bruno Haible  <bruno@clisp.org>
55027         relocatable-prog-wrapper: Fix possible link error.
55028         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
55029         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
55030         (gl_FUNC_SETENV): ... to here.
55031         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
55032         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
55034 2011-05-21  Bruno Haible  <bruno@clisp.org>
55036         relocatable-prog-wrapper: Assume strerror() exists.
55037         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
55038         m4/strerror.m4.
55039         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
55040         * lib/relocwrapper.c: Remove mention of strerror module.
55041         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
55042         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
55043         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
55044         C macro.
55046 2011-05-21  Bruno Haible  <bruno@clisp.org>
55048         select: Simplify replacement idiom.
55049         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
55050         Win32 platforms.
55051         * lib/sys_select.in.h (select): Simplify accordingly.
55052         * modules/select (Depends-on): Likewise.
55054 2011-05-21  Bruno Haible  <bruno@clisp.org>
55056         mkdir-p: Simplify autoconf macro.
55057         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
55058         gl_FUNC_LCHOWN.
55060 2011-05-21  Eric Blake  <eblake@redhat.com>
55062         strerror_r: avoid clobbering strerror on cygwin
55063         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
55064         fall back instead to sys_errlist.
55065         * modules/strerror (configure.ac): Add witness.
55066         * tests/test-strerror_r.c (main): Enhance test.
55067         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55068         * tests/test-perror2.c (main): Free memory before exit.
55070 2011-05-21  Bruno Haible  <bruno@clisp.org>
55072         mkdtemp: Use gnulib naming conventions.
55073         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
55074         * modules/mkdtemp (configure.ac): Update.
55076 2011-05-20  Eric Blake  <eblake@redhat.com>
55078         strerror_r: avoid corrupting errno on Solaris
55079         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
55080         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
55082         strerror_r: avoid compiler warning
55083         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
55085         strerror_r: simplify AIX code
55086         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
55088         test-perror: avoid spurious failure on FreeBSD
55089         * modules/perror-tests (Depends-on): Add strerror, now that
55090         strerror_r no longer pulls it in.
55092 2011-05-20  Bruno Haible  <bruno@clisp.org>
55094         strerror_r-posix: Remove unused dependencies.
55095         * modules/strerror_r-posix (Depends-on): Remove strerror.
55096         Reported by Eric Blake.
55098 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
55100         intprops: remove assumption about A|B representation
55101         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
55102         is a valid integer if both A and B are.  Although this is true for
55103         all known practical hosts, the C standard doesn't guarantee it,
55104         and the code need not assume it.  Also, this change may work around
55105         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
55106         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.
55108 2011-05-20  Eric Blake  <eblake@redhat.com>
55110         perror: work around FreeBSD bug
55111         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
55112         is broken.  Move AC_LIBOBJ...
55113         * modules/perror (configure.ac): Here.
55114         * doc/posix-functions/perror.texi (perror): Document this.
55115         * tests/test-perror2.c (main): Enhance test.
55117         test-perror: check for strerror interactions
55118         * tests/macros.h (STREQ): Add macro.
55119         * modules/perror-tests (Files): Add second test.
55120         * tests/test-perror2.c (main): New file.
55121         * doc/posix-functions/perror.texi (perror): Document glibc bug.
55123         test-perror: rewrite to use init script
55124         * modules/perror-tests (Files): Add init.sh.
55125         * tests/test-perror.sh: Use temporary directory.
55127 2011-05-20  Jim Meyering  <meyering@redhat.com>
55129         maint: replace misused "a" with "an"
55130         * doc/intprops.texi: "a integer"
55131         * doc/regex.texi: "a explanation"
55132         * lib/alignof.h: "a object"
55133         * lib/argmatch.h: "a explanation"
55134         * lib/argp-help.c: "a option" and "a OPTION_DOC"
55135         * lib/stdint.in.h: "a integer"
55136         * lib/userspec.c: "a owner"
55137         * doc/gnulib.texi: Fix "a idea", and reword.
55139 2011-05-19  Jim Meyering  <meyering@redhat.com>
55141         maint: correct misuse of "a" and "an"
55142         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
55143         * lib/argp-help.c: "an docum...": s/an/a/
55144         * lib/argp-parse.c: "An vector": s/An/A/
55145         * lib/execute.c: "an native": s/an/a/
55146         * lib/spawn-pipe.c: Likewise.
55147         * lib/gc.h: "an Gc_rc": s/an/a/
55148         * lib/unigbrk.in.h: "an grapheme": s/an/a/
55149         * lib/fts.c: "an stat.st_dev": s/an/a/
55151 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55153         intprops-tests: work around HP-UX 11.23 cc bug with constants
55154         * tests/test-intprops.c (VERIFY): New macro.
55155         (main): Use it, instead of verify, to work around the compiler bug; see
55156         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55158         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
55159         See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
55160         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
55161         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
55162         (_GL_REMAINDER_OVERFLOW): Use it.
55164         intprops-tests: revert unsigned part of previous change
55165         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
55166         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
55167         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
55168         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.
55170 2011-05-19  Bruno Haible  <bruno@clisp.org>
55172         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
55173         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
55174         strerror_r() returned without filling the buffer.
55175         Reported by Eric Blake.
55177 2011-05-19  Eric Blake  <eblake@redhat.com>
55179         strerror_r: guarantee unchanged errno
55180         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
55181         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
55182         failure.
55183         * tests/test-strerror_r.c (main): Enhance test.
55185 2011-05-19  Bruno Haible  <bruno@clisp.org>
55187         strerror_r: Reorder #if blocks.
55188         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
55189         for consistency with the previous commit.
55191 2011-05-19  Bruno Haible  <bruno@clisp.org>
55193         perror: Avoid clobbering the strerror buffer when possible.
55194         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
55195         * lib/strerror.c: Include it.
55196         * modules/strerror (Files): Add lib/strerror-impl.h.
55197         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
55198         (my_strerror): New function, defined through lib/strerror-impl.h.
55199         (perror): Use it instead of strerror.
55200         * modules/perror (Files): Add lib/strerror-impl.h.
55201         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
55203 2011-05-19  Eric Blake  <eblake@redhat.com>
55205         strerror_r: fix on newer cygwin
55206         * lib/strerror_r.c (strerror_r): Cygwin now has
55207         __xpg_strerror_r, use it.
55209 2011-05-19  Bruno Haible  <bruno@clisp.org>
55211         strerror_r: Avoid clobbering the strerror buffer when possible.
55212         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
55213         (sys_nerr, sys_errlist): New declarations.
55214         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
55215         HP-UX, native Win32, IRIX, and 32-bit Solaris.
55216         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
55218 2011-05-19  Bruno Haible  <bruno@clisp.org>
55220         strerror_r: Fix test failure on mingw.
55221         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
55222         EXTEND_STRERROR_R.
55223         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
55224         macros from errno.in.h instead.
55226 2011-05-19  Eric Blake  <eblake@redhat.com>
55228         strerror: relax test for Solaris
55229         * tests/test-strerror.c (main): Permit Solaris behavior.
55230         * tests/test-strerror_r.c (main): Likewise.
55232         strerror: enforce POSIX ruling on strerror(0)
55233         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
55234         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
55235         * lib/strerror_r.c (rpl_strerror_r): Work around it.
55236         * doc/posix-functions/strerror.texi (strerror): Document it.
55237         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
55238         * tests/test-strerror.c (main): Strengthen test.
55239         * tests/test-strerror_r.c (main): Likewise.
55241 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55243         intprop-tests: port to older and more-pedantic compilers
55244         * modules/intprops-tests (Files): Add tests/macros.h.
55245         * tests/test-intprops.c: Include macros.h.
55246         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
55247         it's no longer documented to expand to an integer constant expression.
55248         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
55249         argument is floating point, as it's no longer documented to expand
55250         to an integer constant expression in that case.
55251         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
55252         compiler bugs reported by Bruno Haible.  See
55253         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55254         (U0, U1): New constants, to work around the same bugs.  Also,
55255         in tests, use e.g., "(unsigned int) 39" rather than "39u".
55257         intprops: work around C compiler bugs
55258         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
55259         bug in Sun C 5.11 2010/08/13 and other compilers; see
55260         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
55262         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
55263         * doc/intprops.texi (Integer Type Determination): Fix
55264         documentation for TYPE_IS_INTEGER: it returns an constant
55265         expression, not an integer constant expression.  Fix doc for
55266         TYPE_SIGNED: it returns an integer constant expression only if its
55267         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
55268         hardly worth documented that way....)
55270 2011-05-18  Bruno Haible  <bruno@clisp.org>
55272         strerror_r: Avoid clobbering the strerror buffer when possible.
55273         * lib/strerror_r.c (strerror_r): Merge the three implementations.
55274         Handle gnulib defined errno values here. When strerror() returns NULL
55275         or an empty string, return EINVAL.
55276         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
55277         gnulib defined errno values here.
55278         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
55280 2011-05-18  Eric Blake  <eblake@redhat.com>
55282         fnmatch: avoid compiler warning
55283         * lib/fnmatch_loop.c (FCT): Use correct type.
55284         Reported by Matthias Bolte.
55286 2011-05-13  Jim Meyering  <meyering@redhat.com>
55288         maint.mk: three new prohibit_<HDR>_without_use rules
55289         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
55290         (sc_prohibit_stdio-safer_without_use): Likewise.
55291         (sc_prohibit_xfreopen_without_use): Likewise.
55293 2011-05-17  Jim Meyering  <meyering@redhat.com>
55295         announce-gen: fail if the NEWS delta is empty
55296         If there's nothing noteworthy in NEWS, then either you forgot
55297         or you shouldn't be releasing.
55298         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
55300 2011-05-17  Pádraig Brady  <P@draigBrady.com>
55302         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
55303         reserved symbols starting with double underscore from the check.
55305 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
55307         intprops: add doc
55308         * doc/intprops.texi: New file, documenting intprops.
55309         * doc/gnulib.texi (Particular Modules): Include it.
55311         verify: add doc to gnulib manual and fix example
55312         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
55313         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
55314         (Compile-time Assertions): Fix example so it can't overflow.
55316 2011-05-17  Jim Meyering  <meyering@redhat.com>
55318         warnings.m4: don't usurp save_CPPFLAGS variable name
55319         * m4/warnings.m4: Prefix local temporary variable name with gl_.
55321         doc: fix typo
55322         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
55324 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55325             Bruno Haible  <bruno@clisp.org>
55327         doc: Tweak recent change.
55328         * README (Portability guidelines): Tweak new text.
55329         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
55330         Interix 6.1.
55332 2011-05-16  Eric Blake  <eblake@redhat.com>
55334         inttypes: avoid autoconf warning
55335         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
55336         * m4/stdint.m4 (gl_STDINT_H): Likewise.
55338 2011-05-16  Sam Steingold  <sds@gnu.org>
55339         and Eric Blake  <eblake@redhat.com>
55341         vc-list-files: accept multiple directory operands
55342         * build-aux/vc-list-files: Iterate over all remaining operands.
55344 2011-05-16  Bruno Haible  <bruno@clisp.org>
55346         Fix confusion regarding deprecated modules.
55347         * modules/calloc (Status, Notice): Mark module as deprecated, not
55348         obsolete.
55349         * modules/fnmatch-posix (Status, Notice): Likewise.
55350         * modules/getdate (Status, Notice): Likewise.
55351         * modules/getopt (Status, Notice): Likewise.
55352         * modules/malloc (Status, Notice): Likewise.
55353         * modules/pipe (Status, Notice): Likewise.
55354         * modules/realloc (Status, Notice): Likewise.
55355         * modules/rename-dest-slash (Status, Notice): Likewise.
55356         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
55357         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
55358         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
55359         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
55360         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
55362 2011-05-16  Bruno Haible  <bruno@clisp.org>
55364         doc: List the target platforms.
55365         * doc/gnulib-intro.texi (Target Platforms): New section.
55366         * doc/gnulib.texi (Introduction): Update menu.
55367         * README (Portability guidelines): Refer to the new section. Update
55368         statement about oldest supported environment. Remove rationale why
55369         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
55370         unportable C89 function.
55371         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
55372         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
55374 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
55376         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
55378 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
55380         intprops-tests: new module
55381         * modules/intprops-tests, tests/test-intprops.c: New files.
55383         intprops: add safe, portable integer overflow checking
55384         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
55385         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
55386         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
55387         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
55388         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
55389         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
55390         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
55391         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
55392         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
55393         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
55394         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
55396 2011-05-12  James Youngman  <jay@gnu.org>
55398         Add a test for glibc's Bugzilla bug #12378.
55399         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
55400         doesn't allow the literal matching of a lone "[" (which is
55401         required by POSIX).
55402         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
55404 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
55406         Sync glibc change fixing Bugzilla bug #12378.
55407         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
55408         beginning and fall back to matching as normal character if the
55409         string ends before the matching ']' is found.  This is what POSIX
55410         requires.
55412 2011-05-13  Eric Blake  <eblake@redhat.com>
55414         getcwd-lgpl: relax test for FreeBSD
55415         * doc/posix-functions/getcwd.texi (getcwd): Document portability
55416         issue.
55417         * tests/test-getcwd-lgpl.c (main): Relax test.
55418         Reported by Matthias Bolte.
55420 2011-05-11  Eric Blake  <eblake@redhat.com>
55422         test-fflush: silence compiler warning
55423         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
55425 2011-05-11  Bruno Haible  <bruno@clisp.org>
55427         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
55428         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
55429         * modules/canonicalize (Depends-on): Add 'nocrash'.
55430         * modules/canonicalize-lgpl (Depends-on): Likewise.
55431         * doc/posix-functions/realpath.texi: Update platforms list.
55432         Reported by Ryan Schmidt <ryandesign@macports.org>.
55434 2011-05-11  Bruno Haible  <bruno@clisp.org>
55436         group-member: Declare function in <unistd.h>.
55437         * lib/unistd.in.h (group_member): New declaration.
55438         * lib/group-member.h: Remove file.
55439         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
55440         * tests/test-unistd-c++.cc: Check signature of group_member.
55441         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
55442         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
55443         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
55444         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
55445         HAVE_GROUP_MEMBER.
55446         * modules/group-member (Files): Remove lib/group-member.h.
55447         (Depends-on): Add unistd. Specify conditions.
55448         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55449         (Include): Change to <unistd.h>.
55450         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
55451         HAVE_GROUP_MEMBER.
55452         * NEWS: Mention the change.
55453         * lib/euidaccess.c: Don't include group-member.h.
55455 2011-05-11  Bruno Haible  <bruno@clisp.org>
55457         group-member: Document module.
55458         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
55459         module.
55461 2011-05-11  Bruno Haible  <bruno@clisp.org>
55463         fclose: Fix mistake earlier today.
55464         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
55466 2011-05-11  Eric Blake  <eblake@redhat.com>
55468         fclose: preserve fflush errors
55469         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
55470         Reported by Jim Meyering.
55472         bootstrap: support a prereq of 'rpcgen -' on RHEL5
55473         * build-aux/bootstrap (check_versions): When no specific version
55474         is required, merely check that the app produces an exit status
55475         that indicates its existence.
55477         maint.mk: drop redundant check
55478         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
55479         the same but better.
55481 2011-05-11  Bruno Haible  <bruno@clisp.org>
55483         fclose: Fix possible link error.
55484         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
55485         unregister_shadow_fd. Improve comments.
55486         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
55487         Eric Blake.
55489 2011-05-11  Jim Meyering  <meyering@redhat.com>
55491         maint.mk: improve "can not" detection and generalize rule name
55492         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
55493         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
55494         Use the same technique as in sc_prohibit_doubled_word, so that
55495         we recognize "can not" also when the words are separated by a newline.
55496         Suggested by Eric Blake.
55497         (perl_filename_lineno_text_): Define.  Factored out of...
55498         (prohibit_doubled_word_): ...here.  Use the new definition.
55499         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
55500         (prohibit_undesirable_word_seq_RE_): New overridable variable.
55501         (ignore_undesirable_word_sequence_RE_): New overridable variable.
55503 2011-05-10  Eric Blake  <eblake@redhat.com>
55505         fclose: avoid double close race when possible
55506         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
55507         all but WINDOWS_SOCKETS.
55509 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
55511         openat: correct new comment
55512         * lib/openat-proc.c (openat_proc_name): Correct the comment.
55514 2011-05-10  Jim Meyering  <meyering@redhat.com>
55516         openat: add comments
55517         * lib/openat-proc.c (openat_proc_name): Add comments,
55518         mostly from Eric Blake.
55520 2011-05-09  Eric Blake  <eblake@redhat.com>
55522         openat: reduce syscalls in first probe of /proc
55523         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
55524         be a directory.  Simplify the probe for .. bugs.
55525         * modules/openat (Depends-on): Drop same-inode.
55526         Reported by Bastien ROUCARIES.
55528 2011-05-09  Jim Meyering  <meyering@redhat.com>
55530         maint.mk: change semantics/name of tight_scope variables
55531         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
55532         Rename variables to align with semantics that make them more useful.
55534         maint.mk: tweak new rule's name not to impinge
55535         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
55536         (sc_tight_scope): Use new rule name rather than $@-0.
55538         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
55539         * top/maint.mk (sc_tight_scope): New rule.
55540         (sc_tight_scope-0): New rule, ifdef'd out.
55541         (_gl_TS_dir): Default.
55542         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
55543         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
55545 2011-05-09  Simon Josefsson  <simon@josefsson.org>
55547         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
55548         Haible <bruno@clisp.org>.
55550 2011-05-08  Bruno Haible  <bruno@clisp.org>
55552         Comments.
55553         * m4/isnanf.m4: Add comment.
55554         * m4/isnanl.m4: Likewise.
55556 2011-05-08  Bruno Haible  <bruno@clisp.org>
55558         glob: Remove obsolete macro.
55559         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
55561 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
55563         intprops: Sun C 5.11 supports __typeof__
55564         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
55565         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
55566         which is new.
55567         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
55569         intprops: switch to usual gnulib indenting and naming
55570         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
55571         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
55573         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
55575 2011-05-08  Jim Meyering  <meyering@redhat.com>
55577         maint.mk: suppress "Entering/Leaving directory" diag in announcement
55578         * top/maint.mk (release-prep): Use make's --no-print-directory
55579         option when generating the announcement.  This eliminates the
55580         pesky "make[2]: Entering/Leaving directory" diagnostics in the
55581         generated announcement template.
55583 2011-05-08  Bruno Haible  <bruno@clisp.org>
55585         tzset: Fix gettimeofday wrapper on Solaris 2.6.
55586         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
55587         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
55589 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
55591         ignore-value, verify: Omit include files from lib_SOURCES.
55592         * modules/ignore-value, modules/verify (Makefile.am):
55593         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
55594         that leads Automake to duplicate use of am__objects_... variables
55595         in Makefile.in.  See
55596         <http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.
55598 2011-05-07  Bruno Haible  <bruno@clisp.org>
55600         fclose: Simplify autoconf macro.
55601         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
55602         defined.
55604 2011-05-07  Bruno Haible  <bruno@clisp.org>
55606         canonicalize-lgpl: Fix autoconf macro ordering bug.
55607         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
55608         gl_STDLIB_H_DEFAULTS.
55610 2011-05-06  Eric Blake  <eblake@redhat.com>
55612         maintainer-makefile: make sc_po_check easier to tune
55613         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
55614         to probe for strings, such as an alternate location for gnulib.
55616         fclose: guarantee behavior on seekable stdin
55617         * modules/fclose (Depends-on): Add fflush.
55618         * doc/posix-functions/fclose.texi (fclose): Document this.
55619         * tests/test-fclose.c (main): Make test for this unconditional.
55621 2011-05-06  Bruno Haible  <bruno@clisp.org>
55623         fflush, fpurge: Relicense under LGPLv2+.
55624         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
55625         * modules/fpurge (License): Likewise.
55626         With permission from Eric Blake and Jim Meyering.
55627         Suggested by Eric Blake.
55629 2011-05-06  Karl Berry  <karl@gnu.org>
55631         * MODULES.html.sh (func_all_modules): remove exit.
55633 2011-05-06  Jim Meyering  <meyering@redhat.com>
55635         maint.mk: use info-gnu@ as the default only for a stable release
55636         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
55637         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
55638         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
55639         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
55641 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
55643         assert-h: new module, which supports C1X-style static_assert
55644         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
55645         * lib/verify.h: Revamp so that this can be copied into assert.h,
55646         while retaining the ability to use it standalone as before.
55647         Rename private identifiers so as not to encroach on the
55648         standard C namespace, since this is now used by assert.h.
55649         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
55650         the old verify_true.
55651         (_GL_VERIFY_TRUE): New macro, with much of the contents of
55652         the old verify_true.  Use _GL_VERIFY_TYPE.
55653         (_GL_VERIFY): New macro, with much of the contents of the old verify.
55654         (static_assert): New macro, if _GL_STATIC_ASSERT_H
55655         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
55656         defined when this file is copied into the replacement assert.h.
55657         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
55658         and _Static_assert is not built in.
55659         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
55660         defined, and use the new macros mentioned above.
55661         * doc/posix-headers/assert.texi: Document this.
55663 2011-05-05  Bruno Haible  <bruno@clisp.org>
55665         fclose, fflush: Respect rules for use of AC_LIBOBJ.
55666         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
55667         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
55668         gl_REPLACE_FCLOSE here.
55669         * modules/fflush (Depends-on): Remove fclose.
55670         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
55671         combination with module 'fclose'.
55673 2011-05-05  Bruno Haible  <bruno@clisp.org>
55675         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
55676         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
55677         gl_FUNC_FFLUSH.
55678         (gl_FUNC_FFLUSH): Use it.
55679         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
55680         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
55681         gl_REPLACE_FSEEKO here.
55683 2011-05-05  Bruno Haible  <bruno@clisp.org>
55685         tzset: Relicense under LGPL.
55686         * modules/tzset (License): Change to LGPL.
55687         No agreement needed; it's a no-op.
55689         strtoimax, strtoumax: Relicense under LGPL.
55690         * modules/strtoimax (License): Change to LGPL.
55691         * modules/strtoumax (License): Likewise.
55692         With permission from Jim Meyering, Paul Eggert:
55693         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
55694         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>
55696         getgroups: Relicense under LGPL.
55697         * modules/getgroups (License): Change to LGPL.
55698         With permission from Jim Meyering, Paul Eggert, Eric Blake:
55699         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55700         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55701         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55703         nanosleep: Relicense under LGPL.
55704         * modules/nanosleep (License): Change to LGPL.
55705         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
55706         Haible:
55707         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
55708         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
55709         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55710         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55712         futimens: Relicense under LGPL.
55713         * modules/futimens (License): Change to LGPL.
55714         With permission from Eric Blake:
55715         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55717         fflush: Relicense under LGPL.
55718         * modules/fflush (License): Change to LGPL.
55719         With permission from Eric Blake, Bruno Haible, Jim Meyering:
55720         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
55721         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
55722         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>
55724         tmpfile: Relicense under LGPL.
55725         * modules/tmpfile (License): Change to LGPL.
55726         With permission from Ben Pfaff:
55727         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55729         isfinite: Relicense under LGPL.
55730         * modules/isfinite (License): Change to LGPL.
55731         With permission from Ben Pfaff, Bruno Haible:
55732         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
55733         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>
55735         acosl..tanl: Relicense under LGPL.
55736         * modules/acosl (License): Change to LGPL.
55737         * modules/asinl (License): Likewise.
55738         * modules/atanl (License): Likewise.
55739         * modules/cosl (License): Likewise.
55740         * modules/expl (License): Likewise.
55741         * modules/logl (License): Likewise.
55742         * modules/sinl (License): Likewise.
55743         * modules/sqrtl (License): Likewise.
55744         * modules/tanl (License): Likewise.
55745         Source code originally from glibc and Paolo Bonzini. Agreements:
55746         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
55747         <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>
55749 2011-05-05  Bruno Haible  <bruno@clisp.org>
55751         signal: Define sighandler_t.
55752         * lib/signal.in.h (sighandler_t): New type.
55753         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
55754         whether sighandler_t is defined.
55755         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
55756         * modules/signal (Depends-on): Add extensions.
55757         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
55758         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
55759         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
55761 2011-05-05  Eric Blake  <eblake@redhat.com>
55763         maint: remove useless REPLACE_*_H macros
55764         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
55765         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
55766         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
55767         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
55768         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
55769         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
55770         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
55771         * m4/btowc.m4: Update callers.
55772         * m4/dirfd.m4: Likewise.
55773         * m4/duplocale.m4: Likewise.
55774         * m4/fchdir.m4: Likewise.
55775         * m4/fdopendir.m4: Likewise.
55776         * m4/inet_ntop.m4: Likewise.
55777         * m4/inet_pton.m4: Likewise.
55778         * m4/ioctl.m4: Likewise.
55779         * m4/mbrlen.m4: Likewise.
55780         * m4/mbrtowc.m4: Likewise.
55781         * m4/mbsinit.m4: Likewise.
55782         * m4/mbsnrtowcs.m4: Likewise.
55783         * m4/mbsrtowcs.m4: Likewise.
55784         * m4/poll.m4: Likewise.
55785         * m4/setlocale.m4: Likewise.
55786         * m4/wcrtomb.m4: Likewise.
55787         * m4/wcsnrtombs.m4: Likewise.
55788         * m4/wcsrtombs.m4: Likewise.
55789         * m4/wctob.m4: Likewise.
55790         * m4/wcwidth.m4: Likewise.
55791         * modules/posix_spawn: Likewise.
55792         * modules/posix_spawn_file_actions_addclose: Likewise.
55793         * modules/posix_spawn_file_actions_adddup2: Likewise.
55794         * modules/posix_spawn_file_actions_addopen: Likewise.
55795         * modules/posix_spawn_file_actions_destroy: Likewise.
55796         * modules/posix_spawn_file_actions_init: Likewise.
55797         * modules/posix_spawnattr_destroy: Likewise.
55798         * modules/posix_spawnattr_getflags: Likewise.
55799         * modules/posix_spawnattr_getpgroup: Likewise.
55800         * modules/posix_spawnattr_getschedparam: Likewise.
55801         * modules/posix_spawnattr_getschedpolicy: Likewise.
55802         * modules/posix_spawnattr_getsigdefault: Likewise.
55803         * modules/posix_spawnattr_getsigmask: Likewise.
55804         * modules/posix_spawnattr_init: Likewise.
55805         * modules/posix_spawnattr_setflags: Likewise.
55806         * modules/posix_spawnattr_setpgroup: Likewise.
55807         * modules/posix_spawnattr_setschedparam: Likewise.
55808         * modules/posix_spawnattr_setschedpolicy: Likewise.
55809         * modules/posix_spawnattr_setsigdefault: Likewise.
55810         * modules/posix_spawnattr_setsigmask: Likewise.
55811         * modules/posix_spawnp: Likewise.
55813 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
55815         Add option to do-release-commit-and-tag to specify branch.
55816         * build-aux/do-release-commit-and-tag: Add --branch.
55818 2011-05-03  Bruno Haible  <bruno@clisp.org>
55820         Avoid unnecessary compilation units, through conditional dependencies.
55821         * modules/accept (Depends-on): Add conditions to the dependencies.
55822         * modules/acosl (Depends-on): Likewise.
55823         * modules/argz (Depends-on): Likewise.
55824         * modules/asinl (Depends-on): Likewise.
55825         * modules/atanl (Depends-on): Likewise.
55826         * modules/atoll (Depends-on): Likewise.
55827         * modules/bind (Depends-on): Likewise.
55828         * modules/btowc (Depends-on): Likewise.
55829         * modules/canonicalize-lgpl (Depends-on): Likewise.
55830         * modules/ceil (Depends-on): Likewise.
55831         * modules/ceilf (Depends-on): Likewise.
55832         * modules/ceill (Depends-on): Likewise.
55833         * modules/chdir-long (Depends-on): Likewise.
55834         * modules/chown (Depends-on): Likewise.
55835         * modules/close (Depends-on): Likewise.
55836         * modules/connect (Depends-on): Likewise.
55837         * modules/cosl (Depends-on): Likewise.
55838         * modules/dirfd (Depends-on): Likewise.
55839         * modules/dprintf (Depends-on): Likewise.
55840         * modules/dprintf-posix (Depends-on): Likewise.
55841         * modules/error (Depends-on): Likewise.
55842         * modules/euidaccess (Depends-on): Likewise.
55843         * modules/expl (Depends-on): Likewise.
55844         * modules/faccessat (Depends-on): Likewise.
55845         * modules/fchdir (Depends-on): Likewise.
55846         * modules/fclose (Depends-on): Likewise.
55847         * modules/fcntl (Depends-on): Likewise.
55848         * modules/fdopendir (Depends-on): Likewise.
55849         * modules/fflush (Depends-on): Likewise.
55850         * modules/floor (Depends-on): Likewise.
55851         * modules/floorf (Depends-on): Likewise.
55852         * modules/floorl (Depends-on): Likewise.
55853         * modules/fnmatch (Depends-on): Likewise.
55854         * modules/fopen (Depends-on): Likewise.
55855         * modules/fprintf-posix (Depends-on): Likewise.
55856         * modules/frexp (Depends-on): Likewise.
55857         * modules/frexp-nolibm (Depends-on): Likewise.
55858         * modules/frexpl (Depends-on): Likewise.
55859         * modules/frexpl-nolibm (Depends-on): Likewise.
55860         * modules/fseek (Depends-on): Likewise.
55861         * modules/fsusage (Depends-on): Likewise.
55862         * modules/ftell (Depends-on): Likewise.
55863         * modules/ftello (Depends-on): Likewise.
55864         * modules/futimens (Depends-on): Likewise.
55865         * modules/getcwd (Depends-on): Likewise.
55866         * modules/getcwd-lgpl (Depends-on): Likewise.
55867         * modules/getdelim (Depends-on): Likewise.
55868         * modules/getdomainname (Depends-on): Likewise.
55869         * modules/getgroups (Depends-on): Likewise.
55870         * modules/gethostname (Depends-on): Likewise.
55871         * modules/getline (Depends-on): Likewise.
55872         * modules/getlogin_r (Depends-on): Likewise.
55873         * modules/getopt-posix (Depends-on): Likewise.
55874         * modules/getpeername (Depends-on): Likewise.
55875         * modules/getsockname (Depends-on): Likewise.
55876         * modules/getsockopt (Depends-on): Likewise.
55877         * modules/getsubopt (Depends-on): Likewise.
55878         * modules/getusershell (Depends-on): Likewise.
55879         * modules/glob (Depends-on): Likewise.
55880         * modules/grantpt (Depends-on): Likewise.
55881         * modules/iconv_open (Depends-on): Likewise.
55882         * modules/iconv_open-utf (Depends-on): Likewise.
55883         * modules/inet_ntop (Depends-on): Likewise.
55884         * modules/inet_pton (Depends-on): Likewise.
55885         * modules/ioctl (Depends-on): Likewise.
55886         * modules/isapipe (Depends-on): Likewise.
55887         * modules/isfinite (Depends-on): Likewise.
55888         * modules/isinf (Depends-on): Likewise.
55889         * modules/lchown (Depends-on): Likewise.
55890         * modules/ldexpl (Depends-on): Likewise.
55891         * modules/link (Depends-on): Likewise.
55892         * modules/linkat (Depends-on): Likewise.
55893         * modules/listen (Depends-on): Likewise.
55894         * modules/logl (Depends-on): Likewise.
55895         * modules/lstat (Depends-on): Likewise.
55896         * modules/mbrlen (Depends-on): Likewise.
55897         * modules/mbrtowc (Depends-on): Likewise.
55898         * modules/mbsinit (Depends-on): Likewise.
55899         * modules/mbsnrtowcs (Depends-on): Likewise.
55900         * modules/mbsrtowcs (Depends-on): Likewise.
55901         * modules/mbtowc (Depends-on): Likewise.
55902         * modules/memcmp (Depends-on): Likewise.
55903         * modules/mkdir (Depends-on): Likewise.
55904         * modules/mkdtemp (Depends-on): Likewise.
55905         * modules/mkfifo (Depends-on): Likewise.
55906         * modules/mkfifoat (Depends-on): Likewise.
55907         * modules/mknod (Depends-on): Likewise.
55908         * modules/mkostemp (Depends-on): Likewise.
55909         * modules/mkostemps (Depends-on): Likewise.
55910         * modules/mkstemp (Depends-on): Likewise.
55911         * modules/mkstemps (Depends-on): Likewise.
55912         * modules/mktime (Depends-on): Likewise.
55913         * modules/nanosleep (Depends-on): Likewise.
55914         * modules/open (Depends-on): Likewise.
55915         * modules/openat (Depends-on): Likewise.
55916         * modules/perror (Depends-on): Likewise.
55917         * modules/poll (Depends-on): Likewise.
55918         * modules/popen (Depends-on): Likewise.
55919         * modules/posix_spawn (Depends-on): Likewise.
55920         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
55921         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55922         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55923         * modules/posix_spawnp (Depends-on): Likewise.
55924         * modules/pread (Depends-on): Likewise.
55925         * modules/printf-posix (Depends-on): Likewise.
55926         * modules/ptsname (Depends-on): Likewise.
55927         * modules/putenv (Depends-on): Likewise.
55928         * modules/pwrite (Depends-on): Likewise.
55929         * modules/readline (Depends-on): Likewise.
55930         * modules/readlink (Depends-on): Likewise.
55931         * modules/readlinkat (Depends-on): Likewise.
55932         * modules/recv (Depends-on): Likewise.
55933         * modules/recvfrom (Depends-on): Likewise.
55934         * modules/regex (Depends-on): Likewise.
55935         * modules/remove (Depends-on): Likewise.
55936         * modules/rename (Depends-on): Likewise.
55937         * modules/renameat (Depends-on): Likewise.
55938         * modules/rmdir (Depends-on): Likewise.
55939         * modules/round (Depends-on): Likewise.
55940         * modules/roundf (Depends-on): Likewise.
55941         * modules/roundl (Depends-on): Likewise.
55942         * modules/rpmatch (Depends-on): Likewise.
55943         * modules/select (Depends-on): Likewise.
55944         * modules/send (Depends-on): Likewise.
55945         * modules/sendto (Depends-on): Likewise.
55946         * modules/setenv (Depends-on): Likewise.
55947         * modules/setlocale (Depends-on): Likewise.
55948         * modules/setsockopt (Depends-on): Likewise.
55949         * modules/shutdown (Depends-on): Likewise.
55950         * modules/sigaction (Depends-on): Likewise.
55951         * modules/signbit (Depends-on): Likewise.
55952         * modules/sigprocmask (Depends-on): Likewise.
55953         * modules/sinl (Depends-on): Likewise.
55954         * modules/sleep (Depends-on): Likewise.
55955         * modules/snprintf (Depends-on): Likewise.
55956         * modules/snprintf-posix (Depends-on): Likewise.
55957         * modules/socket (Depends-on): Likewise.
55958         * modules/sprintf-posix (Depends-on): Likewise.
55959         * modules/sqrtl (Depends-on): Likewise.
55960         * modules/stat (Depends-on): Likewise.
55961         * modules/strchrnul (Depends-on): Likewise.
55962         * modules/strdup-posix (Depends-on): Likewise.
55963         * modules/strerror (Depends-on): Likewise.
55964         * modules/strerror_r-posix (Depends-on): Likewise.
55965         * modules/strndup (Depends-on): Likewise.
55966         * modules/strnlen (Depends-on): Likewise.
55967         * modules/strptime (Depends-on): Likewise.
55968         * modules/strsep (Depends-on): Likewise.
55969         * modules/strsignal (Depends-on): Likewise.
55970         * modules/strstr-simple (Depends-on): Likewise.
55971         * modules/strtod (Depends-on): Likewise.
55972         * modules/strtoimax (Depends-on): Likewise.
55973         * modules/strtok_r (Depends-on): Likewise.
55974         * modules/strtoumax (Depends-on): Likewise.
55975         * modules/symlink (Depends-on): Likewise.
55976         * modules/symlinkat (Depends-on): Likewise.
55977         * modules/tanl (Depends-on): Likewise.
55978         * modules/tcgetsid (Depends-on): Likewise.
55979         * modules/tmpfile (Depends-on): Likewise.
55980         * modules/trunc (Depends-on): Likewise.
55981         * modules/truncf (Depends-on): Likewise.
55982         * modules/truncl (Depends-on): Likewise.
55983         * modules/uname (Depends-on): Likewise.
55984         * modules/unlink (Depends-on): Likewise.
55985         * modules/unlockpt (Depends-on): Likewise.
55986         * modules/unsetenv (Depends-on): Likewise.
55987         * modules/usleep (Depends-on): Likewise.
55988         * modules/utimensat (Depends-on): Likewise.
55989         * modules/vasprintf (Depends-on): Likewise.
55990         * modules/vdprintf (Depends-on): Likewise.
55991         * modules/vdprintf-posix (Depends-on): Likewise.
55992         * modules/vfprintf-posix (Depends-on): Likewise.
55993         * modules/vprintf-posix (Depends-on): Likewise.
55994         * modules/vsnprintf (Depends-on): Likewise.
55995         * modules/vsnprintf-posix (Depends-on): Likewise.
55996         * modules/vsprintf-posix (Depends-on): Likewise.
55997         * modules/wcrtomb (Depends-on): Likewise.
55998         * modules/wcscasecmp (Depends-on): Likewise.
55999         * modules/wcscspn (Depends-on): Likewise.
56000         * modules/wcsdup (Depends-on): Likewise.
56001         * modules/wcsncasecmp (Depends-on): Likewise.
56002         * modules/wcsnrtombs (Depends-on): Likewise.
56003         * modules/wcspbrk (Depends-on): Likewise.
56004         * modules/wcsrtombs (Depends-on): Likewise.
56005         * modules/wcsspn (Depends-on): Likewise.
56006         * modules/wcsstr (Depends-on): Likewise.
56007         * modules/wcstok (Depends-on): Likewise.
56008         * modules/wcswidth (Depends-on): Likewise.
56009         * modules/wctob (Depends-on): Likewise.
56010         * modules/wctomb (Depends-on): Likewise.
56011         * modules/wctype (Depends-on): Likewise.
56012         * modules/wcwidth (Depends-on): Likewise.
56013         * modules/write (Depends-on): Likewise.
56015 2011-05-03  Bruno Haible  <bruno@clisp.org>
56017         Support for conditional dependencies.
56018         * doc/gnulib.texi (Module description): Document the syntax of
56019         conditional dependencies.
56020         * gnulib-tool: New option --conditional-dependencies.
56021         (func_usage): Document it.
56022         (cond_dependencies): New variable.
56023         (func_get_automake_snippet_conditional,
56024         func_get_automake_snippet_unconditional): New functions, extracted from
56025         func_get_automake_snippet.
56026         (func_get_automake_snippet): Use them.
56027         (sed_first_32_chars): New variable.
56028         (func_module_shellfunc_name): New function.
56029         (func_module_shellvar_name): New function.
56030         (func_module_conditional_name): New function.
56031         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
56032         func_cond_module_condition): New functions.
56033         (func_modules_transitive_closure): Add support for conditional
56034         dependencies.
56035         (func_emit_lib_Makefile_am): For a conditional module, enclose the
56036         conditional automake snippet in an automake conditional.
56037         (func_emit_autoconf_snippets): Emit shell functions that contain the
56038         code for conditional modules.
56039         (func_import, func_create_testdir): Update specification.
56041 2011-05-03  Eric Blake  <eblake@redhat.com>
56043         test-getaddrinfo: report error information
56044         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
56046 2011-05-03  Jim Meyering  <meyering@redhat.com>
56048         bootstrap: avoid build failure when $GZIP is set
56049         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
56050         program name.  If defined at all, it is supposed to list gzip options.
56051         Reported by Alan Curry in http://debbugs.gnu.org/8609
56053 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
56055         readme-release: new module with release instructions
56056         * modules/readme-release: New module.
56057         * top/README-release: New file, from coreutils, grep, diffutils.
56058         * MODULES.html.sh (Support for maintaining and releasing): Add it.
56060 2011-05-02  Eric Blake  <eblake@redhat.com>
56062         fflush: also replace fclose when fixing fflush
56063         * modules/fflush (Depends-on): Add fclose.
56064         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
56065         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
56066         memstreams with no backing fd.
56067         * doc/posix-functions/fclose.texi (fclose): Document the use of
56068         fflush module to fix the bug.
56069         * tests/test-fclose.c (main): Relax test when fclose is used in
56070         isolation.
56072         fclose: add some tests
56073         * modules/fclose-tests: New test module.
56074         * tests/test-fclose.c: New file.
56075         * doc/posix-functions/fclose.texi (fclose): Document the bug.
56077         fclose: reduced dependencies
56078         * modules/fclose (Depends-on): Switch from fflush/fseeko to
56079         simpler lseek.
56080         * lib/fclose.c (rpl_fclose): Likewise.
56081         Reported by Simon Josefsson.
56083         exit: drop remaining clients
56084         * modules/argmatch (Depends-on): Replace exit with stdlib.
56085         * modules/copy-file (Depends-on): Likewise.
56086         * modules/execute (Depends-on): Likewise.
56087         * modules/exitfail (Depends-on): Likewise.
56088         * modules/obstack (Depends-on): Likewise.
56089         * modules/pagealign_alloc (Depends-on): Likewise.
56090         * modules/pipe-filter-gi (Depends-on): Likewise.
56091         * modules/pipe-filter-ii (Depends-on): Likewise.
56092         * modules/savewd (Depends-on): Likewise.
56093         * modules/spawn-pipe (Depends-on): Likewise.
56094         * modules/wait-process (Depends-on): Likewise.
56095         * modules/xsetenv (Depends-on): Likewise.
56096         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
56097         * modules/git-merge-changelog (Depends-on): Likewise.
56098         * modules/long-options (Depends-on): Likewise.
56099         * modules/pt_chown (Depends-on): Likewise.
56100         * modules/sysexits (Depends-on): Likewise.
56102         freading: relax license from LGPLv3+ to LGPLv2+
56103         * modules/freading (License): Relax LGPL version.
56105 2011-05-02  Bruno Haible  <bruno@clisp.org>
56107         fchdir: Remove unused dependencies.
56108         * modules/fchdir (Depends-on): Remove include_next.
56110 2011-05-02  Bruno Haible  <bruno@clisp.org>
56112         gnulib-tool: Refactor.
56113         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
56114         from func_emit_autoconf_snippets.
56115         (func_emit_autoconf_snippets): Use it.
56117 2011-05-02  Simon Josefsson  <simon@josefsson.org>
56119         * NEWS: Document removal of 'exit'.
56120         * modules/exit: Remove file.
56122 2011-05-01  Bruno Haible  <bruno@clisp.org>
56124         Update DEPENDENCIES.
56125         * DEPENDENCIES (gettext): Recommend the newest release.
56126         Reported by Simon Josefsson.
56128 2011-05-01  Bruno Haible  <bruno@clisp.org>
56130         gnulib-tool: Reduce code duplication.
56131         * gnulib-tool (func_emit_autoconf_snippets): New function.
56132         (func_import, func_create_testdir): Use it.
56134 2011-04-30  Eric Blake  <eblake@redhat.com>
56136         fclose: don't fail on non-seekable input stream
56137         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
56138         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
56139         since fflush is allowed to fail in that case.
56141 2011-04-30  Bruno Haible  <bruno@clisp.org>
56143         dup3: cleanup
56144         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
56146 2011-04-30  Bruno Haible  <bruno@clisp.org>
56148         netdb: Make it work in C++ mode.
56149         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
56150         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
56151         module.
56152         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
56153         gl_MODULE_INDICATOR_FOR_TESTS.
56154         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
56155         * modules/netdb-c++-tests: New file.
56156         * tests/test-netdb-c++.cc: New file.
56158 2011-04-30  Bruno Haible  <bruno@clisp.org>
56160         New modules 'vfscanf', 'vscanf'.
56161         * modules/vfscanf: New file.
56162         * modules/vscanf: New file.
56163         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
56164         here.
56165         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
56166         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
56168 2011-04-30  Bruno Haible  <bruno@clisp.org>
56170         passfd: Add comments.
56171         * lib/passfd.c: Add comments about platforms.
56173 2011-04-30  Bruno Haible  <bruno@clisp.org>
56175         sys_uio: Make <sys/uio.h> self-contained.
56176         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
56177         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
56179 2011-04-30  Bruno Haible  <bruno@clisp.org>
56181         sys_socket: Ensure 'struct iovec' definition.
56182         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
56183         <sys/socket.h>.
56184         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
56186 2011-04-30  Bruno Haible  <bruno@clisp.org>
56188         sys_uio: Protect definition of 'struct iovec'.
56189         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
56190         it as a C struct.
56192 2011-04-30  Bruno Haible  <bruno@clisp.org>
56194         manywarnings: fix indentation
56195         * m4/manywarnings.m4: Indent by 2 spaces consistently.
56197 2011-04-30  Pádraig Brady  <P@draigBrady.com>
56199         manywarnings: add -Wno-missing-field-initializers if needed.
56200         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
56201         option if it's needed to allow initialization with { 0, }
56203 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
56205         announce-gen: cosmetic improvement
56206         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
56208 2011-04-29  Jim Meyering  <meyering@redhat.com>
56210         vc-list-files: indent with spaces, not TABs
56211         * build-aux/vc-list-files: Convert leading TABs to spaces,
56212         to match the style of most other files in gnulib.
56214         announce-gen: indent with spaces, not TABs
56215         * build-aux/announce-gen: Convert all TABs to spaces, to match
56216         the style of most other files in gnulib.
56218 2011-04-29  Eric Blake  <eblake@redhat.com>
56220         quotearg: avoid uninitialized variable use
56221         * lib/quotearg.c (quoting_options_from_style): Initialize
56222         remaining fields, and ensure that custom styles are only used via
56223         quoting_options rather than quoting_style.
56225 2011-04-29  Jim Meyering  <meyering@redhat.com>
56227         maint.mk: remove unused VC-tag variable
56228         * top/maint.mk (VC-tag): Remove unused variable.
56230 2011-04-29  Bruno Haible  <bruno@clisp.org>
56232         netdb: fix gai_strerror replacements
56233         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
56234         * modules/netdb: Substitute it.
56236 2011-04-29  Jim Meyering  <meyering@redhat.com>
56238         test-getcwd.c: avoid new set-but-not-used warning
56239         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
56240         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
56241         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
56242         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
56244         test-hash.c: avoid a new shadowing warning
56245         * tests/test-hash.c (main): Don't shadow "dup".
56247 2011-04-28  Eric Blake  <eblake@redhat.com>
56249         getaddrinfo: fix gai_strerror signature
56250         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
56251         and work around mingw with UNICODE defined.
56252         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
56253         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
56254         * modules/netdb (Makefile.am): Substitute it.
56255         * lib/netdb.in.h (gai_strerror): Declare replacement.
56256         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
56257         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
56258         the fix.
56260         getsockopt: avoid compiler warning
56261         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
56262         Reported by Matthias Bolte.
56264         tests: drop unused link dependency
56265         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
56266         * modules/dirent-safer-tests (Makefile.am): Likewise.
56267         * modules/fdopendir-tests (Makefile.am): Likewise.
56268         * modules/mkfifoat-tests (Makefile.am): Likewise.
56269         * modules/openat-safer-tests (Makefile.am): Likewise.
56270         * modules/openat-tests (Makefile.am): Likewise.
56271         * modules/readlinkat-tests (Makefile.am): Likewise.
56272         * modules/symlinkat-tests (Makefile.am): Likewise.
56273         * modules/linkat-tests (Makefile.am): Likewise.
56274         (Depends-on): Switch to filenamecat-lgpl.
56275         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
56276         LIBINTL.
56277         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
56278         * tests/test-linkat.c (main): Don't require xalloc.
56280         hash, mgetgroups: drop xalloc dependency
56281         * lib/hash.c (includes): Adjust includes.
56282         * lib/mgetgroups.c (includes): Likewise.
56283         (xgetgroups): Move...
56284         * lib/xgetgroups.c: ...to new file.
56285         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
56286         * modules/xgetgroups: New file, split from...
56287         * modules/mgetgroups: ...here.
56288         (Depends-on): Add xalloc-oversized.
56289         * modules/hash (Depends-on): Likewise.
56290         * modules/hash-tests (Depends-on): Drop xalloc.
56291         (test_hash_LDADD): Drop unused library.
56292         * tests/test-hash.c (main): Break xalloc dependency.
56293         (includes): Drop unused include.
56295         xalloc-oversized: new module
56296         * modules/xalloc-oversized: New module.
56297         * modules/xalloc (Depends-on): Add it.
56298         * lib/xalloc.h (xalloc_oversized): Move...
56299         * lib/xalloc-oversized.h: ...into new file.
56301         utimecmp: drop dependency on xmalloc
56302         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
56303         due to memory pressure.
56304         * modules/utimecmp (Depends-on): Drop xalloc.
56306 2011-04-27  Eric Blake  <eblake@redhat.com>
56308         getcwd: fix mingw bugs
56309         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
56310         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
56311         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
56313 2011-04-27  Bruno Haible  <bruno@clisp.org>
56315         mkstemps: Ensure declaration on MacOS X 10.5.
56316         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
56317         * doc/glibc-functions/mkstemps.texi: Document header file problem on
56318         MacOS X.
56320 2011-04-27  Bruno Haible  <bruno@clisp.org>
56322         mkstemp: More documentation.
56323         * doc/posix-functions/mkstemp.texi: Document header file problem on
56324         MacOS X.
56326 2011-04-27  Bruno Haible  <bruno@clisp.org>
56328         mkstemp: Tweak configure message when cross-compiling.
56329         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
56330         result as a guess.
56332 2011-04-27  Bruno Haible  <bruno@clisp.org>
56334         clean-temp: Clarify what it does.
56335         * lib/clean-temp.h: Add more comments.
56336         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
56337         module.
56338         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
56339         * doc/glibc-functions/mkstemps.texi: Likewise.
56340         * doc/glibc-functions/mkostemps.texi: Likewise.
56342 2011-04-27  Eric Blake  <eblake@redhat.com>
56344         fchdir: avoid extra chdir and fix test
56345         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
56346         getcwd-lgpl.
56347         * lib/fchdir.c (get_name): Any absolute name will do; it does not
56348         have to be canonical.
56349         (canonicalize_file_name): Drop unused macro.
56350         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
56352         filenamecat-lgpl: fix licence
56353         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
56354         when it was first created.
56356         linkat, renameat: add missing dependency
56357         * modules/linkat (Depends-on): Require getcwd-lgpl.
56358         * modules/renameat (Depends-on): Likewise.
56360         tests: reduce dependencies
56361         * tests/test-linkat.c (main): Use lighter-weight getcwd.
56362         * tests/test-renameat.c (main): Likewise.
56363         * modules/linkat-tests (Depends-on): Relax dependency.
56364         * modules/renameat-tests (Depends-on): Likewise.
56365         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
56366         dependency explicit.
56368         save-cwd: reduce default dependency
56369         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
56370         * lib/save-cwd.c: Update comments.
56371         * NEWS: Document the semantic change.
56373         getcwd: enhance tests
56374         * tests/test-getcwd-lgpl.c: New file, taken from...
56375         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
56376         repeat long path stress tests from m4 probe.
56377         * modules/getcwd-lgpl-tests: New module.
56378         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
56379         * m4/getcwd-abort-bug.m4: Update comment.
56380         * m4/getcwd-path-max.m4: Likewise.
56382         getcwd-lgpl: new module
56383         * modules/getcwd-lgpl: New module.
56384         * lib/getcwd-lgpl.c: New file.
56385         * doc/posix-functions/getcwd.texi (getcwd): Document it.
56386         * MODULES.html.sh (lacking POSIX:2008): Likewise.
56387         * modules/getcwd (configure.ac): Set C witness.
56388         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
56390         getcwd: tweak comments
56391         * m4/getcwd-abort-bug.m4: Fix comments.
56392         * m4/getcwd-path-max.m4: Likewise.
56393         * m4/getcwd.m4: Likewise.
56395 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56396         and Eric Blake  <eblake@redhat.com>
56398         mkstemp: replace if system version uses wrong permissions
56399         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
56400         read/write mode bits set in file created by mkstemp.
56401         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
56403 2011-04-27  Eric Blake  <eblake@redhat.com>
56405         passfd: avoid compiler warning
56406         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
56407         Reported by Laine Stump.
56409 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
56411         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
56412         required by the NetBSD (and perhaps other 4.4BSD derived) join.
56414 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
56415         and Eric Blake  <eblake@redhat.com>
56417         mkstemp: mention clean-temp module
56418         * lib/mkstemp.c: Add comment.
56419         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
56421 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
56423         inttypes: also provide default values for 32-bit tests
56424         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
56425         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
56427 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
56429         strtoumax: remove dependency on strtoimax
56430         This is like the strtoull change of yesterday.
56431         * modules/strtoumax (Files): Add lib/strtoimax.c.
56432         (Depends-on): Remove strtoimax and add verify.
56434         inttypes-incomplete: new module
56435         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
56436         all but the PRI* and SCN* parts of gl_INTTYPES_H.
56437         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
56438         of gl_INTTYPES_H.
56439         (gl_INTTYPES_H): Rewrite in terms of these new macros.
56440         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
56441         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
56442         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
56443         * modules/strtoumax, modules/xstrtol (Depends-on):
56444         Depend on inttypes-incomplete, not inttypes.
56445         * modules/inttypes-incomplete: New module, containing the contents
56446         of the old modules/inttypes module, except that the Files: section
56447         omits m4/inttypes-pri.m4, and the configure.ac section invokes
56448         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
56449         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
56450         (Depends-on): Depend only on inttypes-incomplete.
56451         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
56453         inttypes: omit now-redundant strtoimax and strtoumax work
56454         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
56455         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
56457         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
56458         This supports apps that need pointers to strtoimax and strtoumax,
56459         and ports to HP-UX 11.00 64.bit, which has macros that expand to
56460         nonexistent functions.  See
56461         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
56462         et seq.
56463         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
56464         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
56465         a macro.
56466         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
56468 2011-04-25  Simon Josefsson  <simon@josefsson.org>
56470         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
56472 2011-04-25  Bruno Haible  <bruno@clisp.org>
56474         strtol, strtoul: Mark modules as obsolete.
56475         * modules/strtol (Status, Notice): New sections.
56476         * modules/strtoul (Status, Notice): New sections.
56478 2011-04-25  Bruno Haible  <bruno@clisp.org>
56480         strtod: Remove check for strtod, unless supporting old platforms.
56481         * modules/strtod-obsolete: New file.
56482         * m4/strtod-obsolete.m4: New file.
56483         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
56484         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
56485         * modules/strtod (Depends-on): Add strtod-obsolete.
56486         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
56488 2011-04-25  Bruno Haible  <bruno@clisp.org>
56490         strcase: Make module obsolete.
56491         * modules/strcase (Status, Notice): New sections.
56493 2011-04-25  Bruno Haible  <bruno@clisp.org>
56495         dup2: Remove check for dup2, unless supporting old obsolete platforms.
56496         * modules/dup2-obsolete: New file.
56497         * m4/dup2-obsolete.m4: New file.
56498         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
56499         gl_FUNC_DUP2_OBSOLETE is not also defined.
56500         * modules/dup2 (Depends-on): Add dup2-obsolete.
56501         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
56503 2011-04-25  Bruno Haible  <bruno@clisp.org>
56505         strnlen: Avoid memchr related link error on old obsolete platforms.
56506         * modules/memchr-obsolete: New file.
56507         * m4/memchr-obsolete.m4: New file.
56508         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
56509         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
56510         * modules/memchr (Depends-on): Add memchr-obsolete.
56511         * modules/strnlen (Depends-on): Likewise.
56512         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
56514 2011-04-25  Jim Meyering  <meyering@redhat.com>
56516         maint.mk: makefile_at_at_check extend and clean up
56517         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
56518         in addition to */Makefile.am.
56519         Exempt legitimate uses of @VAR@ notation, e.g.,
56520         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
56521         Remove obsolete coreutils-specific comment.
56522         Prompted by discussion here:
56523         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
56525 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
56527         strtoul: remove dependency on strtol
56528         This is so that 'configure' need not check for strtol merely because
56529         the application needs strtoul.
56530         * modules/strtoul (Files): Add lib/strtol.c.
56531         (Depends-on): Remove strtol.
56533         strtoull: remove dependency on strtoul
56534         This is like the strtoll change.
56535         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
56536         (Depends-on): Remove strtoul.
56538         strtoll: remove dependency on strtol
56539         This is so that 'configure' need not check for strtol merely because
56540         the application needs strtoll.
56541         * modules/strtoll (Files): Add lib/strtol.c.
56542         (Depends-on): Remove strtol.
56544 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56546         inttypes: Move some configure check to module 'imaxdiv'.
56547         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
56548         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
56549         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
56551 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56553         inttypes: Move some configure check to module 'imaxabs'.
56554         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
56555         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
56556         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
56558 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56560         inttypes: Remove configure tests that are not needed since 2009-12-31.
56561         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
56562         gl_cv_header_working_inttypes_h.
56564 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
56566         * modules/strnlen (Depends-on): Remove memchr.
56567         The strnlen implementation doesn't need the memchr module's fixes; see
56568         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.
56570         strtol: remove dependency on wchar
56571         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
56572         * modules/strtol (Depends-on): Remove wchar.
56574 2011-04-21  Eric Blake  <eblake@redhat.com>
56576         passfd: fix test regression on Linux
56577         * modules/passfd-tests (configure.ac): Correct socketpair check.
56579         passfd: speed up configure and drop unused code
56580         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
56581         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
56582         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
56583         Instead of probing at configure for unix_scm_rights_bsd44_way,
56584         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
56585         check to a struct member probe.
56586         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
56587         (sendfd, recvfd): Update preprocessor checks.
56588         * modules/passfd (Files): Reflect rename, and drop unused file.
56589         (Depends-on): Drop unused dependency.
56591         passfd: allow compilation on mingw
56592         * modules/sys_socket (Depends-on): Add sys_uio.
56593         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
56594         iovec and a minimal struct msghdr.
56595         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
56596         * tests/test-sys_socket.c (main): Enhance test.
56597         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
56598         guaranteed to provide what we need.
56599         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
56600         * modules/passfd-tests (Depends-on): Add sys_wait.
56601         * tests/test-passfd.c (main): Skip test on mingw, for now.
56602         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
56603         partial 'struct msghdr' implementation.
56605         sys_uio: new module
56606         * modules/sys_uio: New module.
56607         * modules/sys_uio-tests: Likewise.
56608         * lib/sys_uio.in.h: New file.
56609         * m4/sys_uio_h.m4: Likewise.
56610         * tests/test-sys_uio.c: Likewise.
56611         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
56612         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
56614 2011-04-20  Jim Meyering  <meyering@redhat.com>
56616         useless-if-before-free: avoid false-positive
56617         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
56618         disjunct so that it too requires a terminating ";".  Without that,
56619         this script would identify as useless one statement from gcc that
56620         was not:
56621           if (aligned_ptr)
56622             free (((void **) aligned_ptr) [-1]);
56624 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
56626         doc: update users.txt.
56627         * users.txt: Add barcode.
56629 2011-04-19  Bruno Haible  <bruno@clisp.org>
56631         ioctl: Remove link dependency on native Windows.
56632         * lib/fd-hook.h: Renamed from lib/close-hook.h.
56633         (gl_close_fn, gl_ioctl_fn): New types.
56634         (struct fd_hook): Renamed from struct close_hook. Change type of
56635         private_close_fn field. Add private_ioctl_fn field.
56636         (close_hook_fn): Add parameter for primary close method.
56637         (execute_close_hooks, execute_all_close_hooks): Likewise.
56638         (ioctl_hook_fn): New type.
56639         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
56640         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56641         argument.
56642         (unregister_fd_hook): Renamed from unregister_close_hook.
56643         * lib/fd-hook.c: Renamed from lib/close-hook.c.
56644         Don't include <unistd.h>.
56645         (close): Remove undef.
56646         (anchor): Update.
56647         (execute_close_hooks): Add argument for primary close method.
56648         (execute_all_close_hooks): Likewise.
56649         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
56650         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
56651         argument. Allow each argument to be NULL.
56652         (unregister_fd_hook): Renamed from unregister_close_hook.
56653         * lib/close.c (rpl_close): Pass 'close' function pointer to
56654         execute_all_close_hooks.
56655         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
56656         (primary_ioctl): New function.
56657         (ioctl): Don't call ioctlsocket here. Instead, call
56658         execute_all_ioctl_hooks.
56659         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
56660         close method.
56661         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
56662         (fd_sockets_hook): Renamed from close_sockets_hook.
56663         (gl_sockets_startup, gl_sockets_cleanup): Update.
56664         * modules/fd-hook: Renamed from modules/close-hook. Update.
56665         * modules/close (Depends-on): Add fd-hook, remove close-hook.
56666         * modules/sockets (Depends-on): Likewise.
56667         * modules/ioctl (Depends-on): Add fd-hook.
56668         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
56669         GNULIB_SOCKET.
56671 2011-04-19  Bruno Haible  <bruno@clisp.org>
56673         Move the support of O_NONBLOCK in open() to the 'open' module.
56674         * modules/nonblocking (Depends-on): Remove 'open'.
56675         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
56676         gl_cv_have_open_O_NONBLOCK.
56677         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
56678         O_NONBLOCK support.
56679         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
56681 2011-04-17  Bruno Haible  <bruno@clisp.org>
56683         pipe2: Simplify code.
56684         * lib/pipe2.c (pipe2): Reduce code duplication.
56686 2011-04-17  Bruno Haible  <bruno@clisp.org>
56688         nonblocking: Add comment.
56689         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
56691 2011-04-17  Bruno Haible  <bruno@clisp.org>
56693         nonblocking: Add tests for sockets.
56694         * tests/test-nonblocking-socket.sh: New file.
56695         * tests/test-nonblocking-socket-main.c: New file.
56696         * tests/test-nonblocking-socket-child.c: New file.
56697         * tests/test-nonblocking-socket.h: New file.
56698         * tests/socket-server.h: New file.
56699         * tests/socket-client.h: New file.
56700         * modules/nonblocking-socket-tests: New file.
56701         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
56703 2011-04-17  Bruno Haible  <bruno@clisp.org>
56705         nonblocking: Add tests for pipes.
56706         * tests/test-nonblocking-pipe.sh: New file.
56707         * tests/test-nonblocking-pipe-main.c: New file.
56708         * tests/test-nonblocking-pipe-child.c: New file.
56709         * tests/test-nonblocking-pipe.h: New file.
56710         * tests/test-nonblocking-writer.h: New file.
56711         * tests/test-nonblocking-reader.h: New file.
56712         * tests/test-nonblocking-misc.h: New file.
56713         * modules/nonblocking-pipe-tests: New file.
56714         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
56716 2011-04-16  Bruno Haible  <bruno@clisp.org>
56718         gettext: Clarify the needed programmer actions.
56719         * modules/gettext (Notice): New field.
56720         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56722 2011-04-16  Bruno Haible  <bruno@clisp.org>
56724         strchrnul: Tweak last commit.
56725         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
56726         bug.
56727         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
56728         as in _GL_FUNCDECL_SYS.
56729         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
56730         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
56732 2011-04-15  Eric Blake  <eblake@redhat.com>
56734         strchrnul: work around cygwin bug
56735         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
56736         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
56737         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
56738         * modules/string (Makefile.am): Substitute it.
56739         * lib/string.in.h (strchrnul): Use it.
56741 2011-04-15  Bruno Haible  <bruno@clisp.org>
56743         Don't require lib/stdio-write.c when only module 'stdio' is used.
56744         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
56745         invocation.
56746         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
56748 2011-04-14  Bruno Haible  <bruno@clisp.org>
56750         Support non-blocking pipe I/O in read() on native Windows.
56751         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
56752         (read): New declaration.
56753         * lib/read.c: New file.
56754         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
56755         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
56756         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
56757         vscanf): New declarations.
56758         * lib/stdio-read.c: New file.
56759         * m4/read.m4: New file.
56760         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
56761         REPLACE_READ.
56762         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
56763         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56764         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
56765         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
56766         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
56767         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56768         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56769         * modules/read: New file.
56770         * modules/nonblocking (Files): Add lib/stdio-read.c.
56771         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
56772         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
56773         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
56774         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
56775         * modules/pread (Depends-on): Add read.
56776         * modules/safe-read (Depends-on): Likewise.
56777         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
56778         gets, scanf, vfscanf, vscanf): Verify signatures.
56779         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
56780         problem with non-blocking pipes.
56781         * doc/posix-functions/fgetc.texi: Likewise.
56782         * doc/posix-functions/fgets.texi: Likewise.
56783         * doc/posix-functions/fread.texi: Likewise.
56784         * doc/posix-functions/fscanf.texi: Likewise.
56785         * doc/posix-functions/getc.texi: Likewise.
56786         * doc/posix-functions/getchar.texi: Likewise.
56787         * doc/posix-functions/gets.texi: Likewise.
56788         * doc/posix-functions/scanf.texi: Likewise.
56789         * doc/posix-functions/vfscanf.texi: Likewise.
56790         * doc/posix-functions/vscanf.texi: Likewise.
56792 2011-04-14  Bruno Haible  <bruno@clisp.org>
56794         Support non-blocking pipe I/O in write() on native Windows.
56795         * lib/write.c (rpl_write): Split a write request that failed merely
56796         because the byte count was larger than the pipe buffer's size.
56797         * doc/posix-functions/write.texi: Mention the problem with large byte
56798         counts.
56800 2011-04-14  Bruno Haible  <bruno@clisp.org>
56802         wchar: Ensure that wchar_t gets defined on uClibc.
56803         * lib/wchar.in.h: On uClibc, include <stddef.h>.
56804         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
56806 2011-04-13  Bruno Haible  <bruno@clisp.org>
56808         safe-write, full-read: Avoid unnecessary compilation units.
56809         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
56810         (Depends-on): Remove safe-read. Add ssize_t.
56811         * modules/full-read (Files): Add lib/full-write.c.
56812         (Depends-on): Add full-write.
56814 2011-04-13  Bruno Haible  <bruno@clisp.org>
56816         Support non-blocking pipe I/O and SIGPIPE in pwrite().
56817         * modules/pwrite (Depends-on): Add 'write'.
56819 2011-04-13  Bruno Haible  <bruno@clisp.org>
56821         Support non-blocking pipe I/O in write() on native Windows.
56822         * lib/unistd.in.h (write): Enable replacement also if
56823         GNULIB_UNISTD_H_NONBLOCKING is 1.
56824         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
56825         (rpl_write): When failing to write on a non-blocking pipe, change
56826         errno from ENOSPC to EAGAIN.
56827         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
56828         putchar, puts, vfprintf, vprintf): Enable replacement also if
56829         GNULIB_STDIO_H_NONBLOCKING is 1.
56830         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
56831         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
56832         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
56833         CALL_WITH_SIGPIPE_EMULATION.
56834         (CALL_WITH_SIGPIPE_EMULATION): Use them.
56835         * m4/nonblocking.m4: New file.
56836         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
56837         for non-blocking I/O support.
56838         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56839         GNULIB_UNISTD_H_NONBLOCKING.
56840         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
56841         required for non-blocking I/O support.
56842         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
56843         * modules/nonblocking (Files): Add m4/nonblocking.m4,
56844         lib/stdio-write.c, m4/asm-underscore.m4.
56845         (Depends-on): Add stdio, unistd.
56846         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
56847         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
56848         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
56849         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
56850         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
56851         problem with non-blocking pipes.
56852         * doc/posix-functions/fputc.texi: Likewise.
56853         * doc/posix-functions/fputs.texi: Likewise.
56854         * doc/posix-functions/fwrite.texi: Likewise.
56855         * doc/posix-functions/printf.texi: Likewise.
56856         * doc/posix-functions/putc.texi: Likewise.
56857         * doc/posix-functions/putchar.texi: Likewise.
56858         * doc/posix-functions/puts.texi: Likewise.
56859         * doc/posix-functions/vfprintf.texi: Likewise.
56860         * doc/posix-functions/vprintf.texi: Likewise.
56861         * doc/posix-functions/write.texi: Likewise.
56863 2011-04-10  Jim Meyering  <meyering@redhat.com>
56865         maint.mk: prohibit doubled words
56866         Detect them also when they're separated by a newline.
56867         There are 3 ways to customize it:
56868           - disable the test on a per file basis, as usual with rules using
56869             $(VC_LIST_EXCEPT)
56870           - replace the default doubled-word-selecting regexp (affects all files)
56871           - ignore a particular file-vs-doubled-word match
56872         I nearly used that last one to ignore the "is is" match in
56873         coreutils' NEWS file, since the text was "ls -is is ..."
56874         To do that, I would have added this line to cfg.mk:
56875           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
56876         but it would have ignored any "is is" match in NEWS.
56877         Low probability, but still...
56878         Instead, I changed the text, slightly:
56879           -  ls -is is now consistent with ls -lis in ignoring values returned
56880           +  "ls -is" is now consistent with ls -lis in ignoring values returned
56881         * top/maint.mk (prohibit_double_word_RE_): Provide default.
56882         (prohibit_doubled_word_): Define.
56883         (sc_prohibit_doubled_word): New rule.
56884         (sc_prohibit_the_the): Remove.  Subsumed by the above.
56886 2011-04-10  Jim Meyering  <meyering@redhat.com>
56888         maint: fix doubled-word typo in comment
56889         * m4/gethostname.m4: s/is is/it is/
56890         * m4/getdomainname.m4: Likewise.
56892 2011-04-10  Jim Meyering  <meyering@redhat.com>
56894         maint: remove doubled word: s/it it/it/
56895         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
56897 2011-04-10  Jim Meyering  <meyering@redhat.com>
56899         maint.mk: remove useless semicolon and backslash
56900         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
56901         semicolon and backslash.
56903 2011-04-10  Bruno Haible  <bruno@clisp.org>
56905         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
56906         * modules/stdint-tests (Depends-on): Add wchar.
56908 2011-04-10  Jim Meyering  <meyering@redhat.com>
56910         maint: remove doubled words in comments, e.g., s/a a/a/
56911         * lib/strptime.c (day_of_the_week): s/the the/the/
56912         * tests/test-chown.h (test_chown): s/a a/a/
56914         test-chown.h: correct a cast
56915         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
56916         when the destination is a stat.st_gid.
56918 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
56920         getaddrinfo: Fix test for sa_len member.
56921         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
56922         include <sys/types.h> before <sys/socket.h>.
56924 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
56926         maint: change "can not" to "cannot"
56927         * doc/posix-functions/iconv.texi (iconv): This one crossed line
56928         boundaries.
56930 2011-04-09  Jim Meyering  <meyering@redhat.com>
56932         maint: change "a a" to "a"
56933         * tests/test-lchown.h (test_lchown): s/a a/a/
56935         maint.mk: prohibit \<the the\>
56936         * top/maint.mk (sc_prohibit_the_the): New rule.
56938         maint: fix "the the" in comment
56939         * lib/count-one-bits.h: s/the the/the/
56941         maint: change "can not" to "cannot"
56942         But do not change the occurrences in maintain.texi or in
56943         build-aux/po/Makefile.in.in, which I presume comes from gettext.
56944         * doc/gnulib-tool.texi: s/can not/cannot/
56945         * doc/posix-functions/accept.texi (accept): Likewise.
56946         * doc/posix-functions/socket.texi (socket): Likewise.
56947         * lib/mbrtowc.c: Likewise.
56949         maint.mk: prohibit use of "can not"
56950         * top/maint.mk (sc_prohibit_can_not): New rule.
56951         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
56953 2011-04-09  Bruno Haible  <bruno@clisp.org>
56955         careadlinkat: Guard against misuse of careadlinkatcwd.
56956         * lib/careadlinkat.c: Include <stdlib.h>.
56957         (careadlinkatcwd): Check that the fd argument is as expected.
56959 2011-04-09  Bruno Haible  <bruno@clisp.org>
56961         careadlinkat: Use common coding style.
56962         * lib/careadlinkat.c: Move gnulib includes after system includes.
56964 2011-04-09  Bruno Haible  <bruno@clisp.org>
56966         careadlinkat: Clarify specification.
56967         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
56968         (careadlinkatcwd): Add comment.
56969         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
56971 2011-04-09  Bruno Haible  <bruno@clisp.org>
56973         areadlinkat: Avoid link error on many platforms.
56974         * modules/areadlinkat (Depends-on): Add areadlink.
56976 2011-04-09  Bruno Haible  <bruno@clisp.org>
56978         allocator, careadlinkat: Fix double-inclusion guard.
56979         * lib/allocator.h: Fix double-inclusion guard.
56980         * lib/careadlinkat.h: Likewise.
56982 2011-04-09  Bruno Haible  <bruno@clisp.org>
56984         relocatable-prog-wrapper: Update after module 'areadlink' changed.
56985         * lib/relocwrapper.c: Update dependencies hierarchy.
56986         * build-aux/install-reloc: Update list of files to be compiled.
56987         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
56988         lib/allocator.[hc].
56990 2011-04-08  Eric Blake  <eblake@redhat.com>
56992         strftime: silence gnulib-tool warning
56993         * modules/strftime-tests (Depends-on): Drop automatic dependency.
56995 2011-04-08  Bruno Haible  <bruno@clisp.org>
56997         verify: Fix syntax error with GCC 4.6 in C++ mode.
56998         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
56999         (HAVE_STATIC_ASSERT): New macro.
57000         (verify_true, verify): Use 'static_assert' if it is supported and
57001         '_Static_assert' is not supported.
57003 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
57005         allocator: New module.
57006         * modules/allocator, lib/allocator.c: New files.
57007         * lib/allocator.h (stdlib_allocator): New decl.
57008         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
57009         Remove.  Do not include <stdlib.h>.
57010         (careadlinkat): Use stdlib_allocator instead of rolling our own.
57011         * modules/careadlinkat (Files): Remove lib/allocator.h.
57012         (Depends-on): Add allocator.
57014         stdlib: let modules use system malloc, realloc
57015         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
57016         if !_GL_USE_STDLIB_ALLOC.
57017         (malloc, realloc): Limit this change to a smaller scope.
57019         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
57020         (malloc, realloc): Don't #undef; no longer needed.
57021         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57022         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57023         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57024         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57025         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57026         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57027         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
57028         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
57030         careadlinkat: rename members to avoid problem
57031         * lib/allocator.h (struct allocator): Rename members from
57032         malloc/realloc to allocate/reallocate, to avoid problems if malloc
57033         and realloc are #define'd.  Reported by Eric Blake in
57034         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
57035         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
57037 2011-04-08  Eric Blake  <eblake@redhat.com>
57039         nonblocking: reduce dependency
57040         * tests/test-nonblocking.c: Only test sockets when in use.
57041         * modules/nonblocking-tests (Depends-on): Drop socket.
57042         (Makefile.am): Link even if sockets are not present.
57043         * modules/pipe2-tests (Makefile.am): Likewise.
57044         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
57046         pipe2: fix O_NONBLOCK support on mingw
57047         * modules/pipe2 (Depends-on): Add nonblocking.
57048         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
57049         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
57050         * tests/test-nonblocking.c (main): Likewise.
57051         * modules/pipe2-tests (Makefile.am): Avoid link failure.
57053         fcntl-h: fix O_ACCMODE on cygwin
57054         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
57055         * lib/fcntl.in.h (O_ACCMODE): Fix it.
57057         pipe-filter: drop O_NONBLOCK workarounds
57058         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
57059         * modules/pipe-filter-ii (Depends-on): Likewise.
57060         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
57062         nonblocking: provide O_NONBLOCK for mingw
57063         * modules/nonblocking (Depends-on): Add open.
57064         (configure.ac): Set new witness macro.
57065         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
57066         * modules/fcntl-h (Makefile.am): Substitute it.
57067         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
57068         nonblocking module is in use.
57069         * lib/nonblocking.c: Adjust portability test.
57070         * lib/open.c (open): Don't let native open see gnulib flag.
57071         * tests/test-fcntl-h.c (main): Enhance test.
57072         * tests/test-open.h (test_open): Likewise.
57073         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
57075         careadlinkat: fix compilation error on mingw
57076         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
57077         within struct allocator.
57079 2011-04-06  Eric Blake  <eblake@redhat.com>
57081         binary-io: relicense under LGPLv2+
57082         * modules/binary-io (License): Relax to LGPLv2+.
57083         Requested for libvirt, and required by pipe2.
57085 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
57087         verify: use _Static_assert if available
57088         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
57089         (verify_true, verify): Use it if available.  This generates better
57090         diagnostics with GCC 4.6.0 and later.
57092 2011-04-05  Bruno Haible  <bruno@clisp.org>
57094         Remove leftover generated .h files after config.status changed.
57096         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
57097         GL_GENERATE_ALLOCA_H.
57098         * modules/alloca-opt (Makefile.am): Remove alloca.h if
57099         GL_GENERATE_ALLOCA_H evaluates to false.
57101         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
57102         GL_GENERATE_ARGZ_H.
57103         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
57104         evaluates to false.
57106         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
57107         GL_GENERATE_BYTESWAP_H.
57108         * modules/byteswap (Makefile.am): Remove byteswap.h if
57109         GL_GENERATE_BYTESWAP_H evaluates to false.
57111         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
57112         GL_GENERATE_ERRNO_H.
57113         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
57114         evaluates to false.
57116         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
57117         GL_GENERATE_FLOAT_H.
57118         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
57119         evaluates to false.
57121         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
57122         GL_GENERATE_FNMATCH_H.
57123         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
57124         GL_GENERATE_FNMATCH_H evaluates to false.
57126         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
57127         GL_GENERATE_GLOB_H.
57128         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
57129         evaluates to false.
57131         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
57132         automake conditional GL_GENERATE_ICONV_H.
57133         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
57134         evaluates to false.
57136         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
57137         GL_GENERATE_NETINET_IN_H.
57138         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
57139         GL_GENERATE_NETINET_IN_H evaluates to false.
57141         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
57142         conditional GL_GENERATE_PTHREAD_H.
57143         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
57144         * modules/pthread (Makefile.am): Remove pthread.h if
57145         GL_GENERATE_PTHREAD_H evaluates to false.
57147         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
57148         GL_GENERATE_SCHED_H.
57149         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
57150         evaluates to false.
57152         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
57153         conditional GL_GENERATE_SELINUX_CONTEXT_H.
57154         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
57155         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
57157         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
57158         GL_GENERATE_STDARG_H.
57159         * modules/stdarg (Makefile.am): Remove stdarg.h if
57160         GL_GENERATE_STDARG_H evaluates to false.
57162         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
57163         GL_GENERATE_STDBOOL_H.
57164         * modules/stdbool (Makefile.am): Remove stdbool.h if
57165         GL_GENERATE_STDBOOL_H evaluates to false.
57167         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
57168         conditional GL_GENERATE_STDDEF_H.
57169         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
57170         * modules/stddef (Makefile.am): Remove stddef.h if
57171         GL_GENERATE_STDDEF_H evaluates to false.
57173         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
57174         GL_GENERATE_STDINT_H.
57175         * modules/stdint (Makefile.am): Remove stdint.h if
57176         GL_GENERATE_STDINT_H evaluates to false.
57178         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
57179         GL_GENERATE_SYSEXITS_H.
57180         * modules/sysexits (Makefile.am): Remove sysexits.h if
57181         GL_GENERATE_SYSEXITS_H evaluates to false.
57183         Reported by Karl Berry and Ralf Wildenhues.
57185 2011-04-05  Bruno Haible  <bruno@clisp.org>
57187         Ensure to rebuild generated .h files when config.status has changed.
57188         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
57189         config.status.
57190         * modules/ctype (Makefile.am): Likewise.
57191         * modules/dirent (Makefile.am): Likewise.
57192         * modules/errno (Makefile.am): Likewise.
57193         * modules/fcntl-h (Makefile.am): Likewise.
57194         * modules/float (Makefile.am): Likewise.
57195         * modules/getopt-posix (Makefile.am): Likewise.
57196         * modules/glob (Makefile.am): Likewise.
57197         * modules/iconv-h (Makefile.am): Likewise.
57198         * modules/inttypes (Makefile.am): Likewise.
57199         * modules/langinfo (Makefile.am): Likewise.
57200         * modules/locale (Makefile.am): Likewise.
57201         * modules/math (Makefile.am): Likewise.
57202         * modules/netdb (Makefile.am): Likewise.
57203         * modules/netinet_in (Makefile.am): Likewise.
57204         * modules/poll-h (Makefile.am): Likewise.
57205         * modules/pthread (Makefile.am): Likewise.
57206         * modules/pty (Makefile.am): Likewise.
57207         * modules/sched (Makefile.am): Likewise.
57208         * modules/search (Makefile.am): Likewise.
57209         * modules/selinux-h (Makefile.am): Likewise.
57210         * modules/signal (Makefile.am): Likewise.
57211         * modules/spawn (Makefile.am): Likewise.
57212         * modules/stdarg (Makefile.am): Likewise.
57213         * modules/stdbool (Makefile.am): Likewise.
57214         * modules/stddef (Makefile.am): Likewise.
57215         * modules/stdint (Makefile.am): Likewise.
57216         * modules/stdio (Makefile.am): Likewise.
57217         * modules/stdlib (Makefile.am): Likewise.
57218         * modules/string (Makefile.am): Likewise.
57219         * modules/strings (Makefile.am): Likewise.
57220         * modules/sys_file (Makefile.am): Likewise.
57221         * modules/sys_ioctl (Makefile.am): Likewise.
57222         * modules/sys_select (Makefile.am): Likewise.
57223         * modules/sys_socket (Makefile.am): Likewise.
57224         * modules/sys_stat (Makefile.am): Likewise.
57225         * modules/sys_time (Makefile.am): Likewise.
57226         * modules/sys_times (Makefile.am): Likewise.
57227         * modules/sys_utsname (Makefile.am): Likewise.
57228         * modules/sys_wait (Makefile.am): Likewise.
57229         * modules/sysexits (Makefile.am): Likewise.
57230         * modules/termios (Makefile.am): Likewise.
57231         * modules/time (Makefile.am): Likewise.
57232         * modules/unistd (Makefile.am): Likewise.
57233         * modules/wchar (Makefile.am): Likewise.
57234         * modules/wctype-h (Makefile.am): Likewise.
57235         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
57237 2011-04-05  Bruno Haible  <bruno@clisp.org>
57239         pipe2: Relicense under LGPLv2+.
57240         * modules/pipe2 (License): Change to LGPLv2+.
57241         Requested by Eric Blake, for libvirt.
57243 2011-04-05  Bruce Korb  <bkorb@gnu.org>
57245         bootstrap: compute gnulib_extra_files after updating build_aux
57246         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
57247         change build_aux or also supply gnulib_extra_files.  Handle correctly.
57249 2011-04-05  Eric Blake  <eblake@redhat.com>
57251         bootstrap: preserve git whitelist item sorting
57252         * build-aux/bootstrap (sort_patterns): New function.
57253         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
57255 2011-04-05  Simon Josefsson  <simon@josefsson.org>
57257         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
57258         sc_space_tab check.
57260 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
57262         areadlink, areadlinkat: rewrite in terms of careadlinkat
57263         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
57264         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
57265         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
57266         (malloc, realloc): Remove #undefs.
57267         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
57268         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
57269         readlink, ssize_t, stdint, unistd.
57270         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
57271         areadlink, stdint.
57273         careadlinkat: new module
57274         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
57275         * modules/careadlinkat: New files, written by me with
57276         a review and feedback from Ben Pfaff in
57277         <http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.
57279 2011-04-01  Bruno Haible  <bruno@clisp.org>
57281         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
57282         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
57283         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
57284         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
57285         Reported by Bruce Korb <bruce.korb@gmail.com>.
57287 2011-04-01  Bruno Haible  <bruno@clisp.org>
57289         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
57290         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
57291         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
57292         * modules/wcpcpy (Depends-on): Add extensions.
57293         * modules/wcpncpy (Depends-on): Likewise.
57294         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
57295         systems.
57296         * doc/posix-functions/wcpncpy.texi: Likewise.
57297         * doc/posix-functions/wcwidth.texi: Likewise.
57299 2011-03-31  Eric Blake  <eblake@redhat.com>
57301         nonblocking: fix mingw test failures
57302         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
57303         non-blocking flag on regular file.
57304         (get_nonblocking_flag): Set errno on invalid fd.
57305         * tests/test-nonblocking.c (main): Avoid test failure on
57306         directories if fchdir is not active.
57307         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
57309 2011-03-31  Bruno Haible  <bruno@clisp.org>
57311         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
57312         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
57313         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
57314         Reported by Simon Josefsson <simon@josefsson.org>.
57316 2011-03-31  Bruno Haible  <bruno@clisp.org>
57317         and Eric Blake  <eblake@redhat.com>
57319         nonblocking: new module
57320         * modules/nonblocking: New module.
57321         * modules/nonblocking-tests: Likewise.
57322         * lib/nonblocking.h: New file.
57323         * lib/nonblocking.c: Likewise.
57324         * tests/test-nonblocking.c: New test.
57325         * lib/ioctl.c (ioctl) [mingw]: Update comment.
57327 2011-03-30  Bruno Haible  <bruno@clisp.org>
57329         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
57330         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
57331         instead of 'printf' format for GCC >= 4.4.
57332         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
57333         (fprintf, printf, vfprintf, vprintf): Declare with
57334         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
57335         the system's vfprintf() function.
57336         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
57338 2011-03-30  Eric Blake  <eblake@redhat.com>
57340         passfd: fix scoping bug
57341         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
57342         before sendmsg/recvmsg.
57344         passfd: standardize coding conventions
57345         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
57346         can be learned at compile time.
57347         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
57348         ifdefs.
57349         (sendfd, recvfd): Follow gnulib code conventions.
57351         passfd: fix incorrect sendmsg arguments
57352         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
57353         incorrect msg_controllen value.
57354         * modules/passfd-tests (Depends-on): Check for alarm.
57355         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
57356         Reported by Bastien ROUCARIES.
57358 2011-03-30  Bruno Haible  <bruno@clisp.org>
57360         c-strcasestr: Relicense under LGPLv2+.
57361         * modules/c-strcasestr (License): Change to LGPLv2+.
57362         Requested by Eric Blake, for libvirt.
57364 2011-03-30  Simon Josefsson  <simon@josefsson.org>
57366         * users.txt: Add libidn2.  Fix libtasn1 link.
57368 2011-03-30  Jim Meyering  <meyering@redhat.com>
57370         tests: readlink* ("",... fails with EINVAL on newer kernels
57371         readlink and readlinkat have typically failed with ENOENT for
57372         the invalid, empty file name,  "".  However, with the advent
57373         of linux-2.6.39, they fail with EINVAL.
57374         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
57375         when operating on the empty file name.
57376         * tests/test-readlink.h (test_readlink): Likewise.
57378 2011-03-29  Bruno Haible  <bruno@clisp.org>
57380         Relicense some modules under LGPLv2+, for libidn2.
57381         * modules/array-mergesort (License): Change to LGPLv2+.
57382         * modules/c-strcaseeq (License): Likewise.
57383         * modules/striconveh (License): Likewise.
57384         * modules/striconveha (License): Likewise.
57385         * modules/uniconv/base (License): Likewise.
57386         * modules/uniconv/u8-conv-from-enc (License): Likewise.
57387         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
57388         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
57389         * modules/unictype/base (License): Likewise.
57390         * modules/unictype/bidiclass-of (License): Likewise.
57391         * modules/unictype/category-M (License): Likewise.
57392         * modules/unictype/category-none (License): Likewise.
57393         * modules/unictype/category-of (License): Likewise.
57394         * modules/unictype/category-test (License): Likewise.
57395         * modules/unictype/category-test-withtable (License): Likewise.
57396         * modules/unictype/combining-class (License): Likewise.
57397         * modules/unictype/joiningtype-of (License): Likewise.
57398         * modules/unictype/scripts (License): Likewise.
57399         * modules/uninorm/base (License): Likewise.
57400         * modules/uninorm/canonical-decomposition (License): Likewise.
57401         * modules/uninorm/composition (License): Likewise.
57402         * modules/uninorm/decompose-internal (License): Likewise.
57403         * modules/uninorm/decomposition-table (License): Likewise.
57404         * modules/uninorm/nfc (License): Likewise.
57405         * modules/uninorm/nfd (License): Likewise.
57406         * modules/uninorm/u32-normalize (License): Likewise.
57407         * modules/unistr/base (License): Likewise.
57408         * modules/unistr/u32-cpy (License): Likewise.
57409         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
57410         * modules/unistr/u32-to-u8 (License): Likewise.
57411         * modules/unistr/u32-uctomb (License): Likewise.
57412         * modules/unistr/u8-check (License): Likewise.
57413         * modules/unistr/u8-mblen (License): Likewise.
57414         * modules/unistr/u8-mbtouc (License): Likewise.
57415         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
57416         * modules/unistr/u8-mbtoucr (License): Likewise.
57417         * modules/unistr/u8-prev (License): Likewise.
57418         * modules/unistr/u8-strlen (License): Likewise.
57419         * modules/unistr/u8-to-u32 (License): Likewise.
57420         * modules/unistr/u8-uctomb (License): Likewise.
57421         * modules/unitypes (License): Likewise.
57422         Requested by Simon Josefsson.
57424 2011-03-29  Simon Josefsson  <simon@josefsson.org>
57426         lib-symbol-visibility: Add a notice.
57427         * modules/lib-symbol-visibility (Notice): New field.
57429 2011-03-29  Bruno Haible  <bruno@clisp.org>
57431         getaddrinfo: Doc fix.
57432         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
57433         section "fixed in Gnulib".
57435 2011-03-28  Simon Josefsson  <simon@josefsson.org>
57437         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
57438         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
57440 2011-03-26  Bruno Haible  <bruno@clisp.org>
57442         unictype/property-byname: Reduce the number of load-time relocations.
57443         * lib/unictype/pr_byname.c: Include <stdlib.h>.
57444         (UC_PROPERTY_INDEX_*): New enumeration values.
57445         (uc_property_byname): Convert an index from the lookup table to an
57446         uc_property_t.
57447         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
57448         values.
57450 2011-03-26  Bruno Haible  <bruno@clisp.org>
57452         unictype/property-byname: Allow omitted word separators and aliases.
57453         * lib/unictype/pr_byname.gperf: Add property names without word
57454         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
57455         for 'space'.
57457 2011-03-26  Bruno Haible  <bruno@clisp.org>
57459         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
57460         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
57461         also hyphens to space.
57462         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
57463         without spaces.
57464         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
57466 2011-03-26  Bruno Haible  <bruno@clisp.org>
57468         unictype/joiningtype-byname: Recognize long names as well.
57469         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
57470         a long name.
57471         * lib/unictype/joiningtype_byname.c: Include <string.h>,
57472         unictype/joiningtype_byname.h.
57473         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
57474         * lib/unictype/joiningtype_byname.gperf: New file.
57475         * modules/unictype/joiningtype-byname (Files): Add
57476         lib/unictype/joiningtype_byname.gperf.
57477         (Depends-on): Add gperf.
57478         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
57479         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
57480         long names.
57482         Tests for module 'unictype/joiningtype-longname'.
57483         * modules/unictype/joiningtype-longname-tests: New file.
57484         * tests/unictype/test-joiningtype_longname.c: New file.
57486         New module 'unictype/joiningtype-longname'.
57487         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
57488         * lib/unictype/joiningtype_longname.c: New file.
57489         * modules/unictype/joiningtype-longname: New file.
57490         * modules/unictype/joiningtype-all (Depends-on): Add
57491         unictype/joiningtype-longname.
57493 2011-03-26  Bruno Haible  <bruno@clisp.org>
57495         unictype/bidiclass-byname: Recognize long names as well.
57496         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
57497         name.
57498         * lib/unictype/bidi_byname.c: Include <string.h>,
57499         unictype/bidi_byname.h.
57500         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
57501         * lib/unictype/bidi_byname.gperf: New file.
57502         * modules/unictype/bidiclass-byname (Files): Add
57503         lib/unictype/bidi_byname.gperf.
57504         (Depends-on): Add gperf.
57505         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
57506         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
57507         long names.
57509         Tests for module 'unictype/bidiclass-longname'.
57510         * modules/unictype/bidiclass-longname-tests: New file.
57511         * tests/unictype/test-bidi_longname.c: New file.
57513         New module 'unictype/bidiclass-longname'.
57514         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
57515         * lib/unictype/bidi_longname.c: New file.
57516         * modules/unictype/bidiclass-longname: New file.
57517         * modules/unictype/bidiclass-all (Depends-on): Add
57518         unictype/bidiclass-longname.
57520 2011-03-26  Bruno Haible  <bruno@clisp.org>
57522         unictype/bidi*: Rename modules.
57523         * modules/unictype/bidiclass-all: Renamed from
57524         modules/unictype/bidicategory-all.
57525         * modules/unictype/bidiclass-name: Renamed from
57526         modules/unictype/bidiclass-name.
57527         (Description): Update.
57528         * modules/unictype/bidiclass-name-tests: Renamed from
57529         modules/unictype/bidicategory-name-tests.
57530         * modules/unictype/bidiclass-byname: Renamed from
57531         modules/unictype/bidicategory-byname.
57532         (Description): Update.
57533         * modules/unictype/bidiclass-byname-tests: Renamed from
57534         modules/unictype/bidicategory-byname-tests.
57535         * modules/unictype/bidiclass-of: Renamed from
57536         modules/unictype/bidicategory-of.
57537         (Description): Update.
57538         * modules/unictype/bidiclass-of-tests: Renamed from
57539         modules/unictype/bidicategory-of-tests.
57540         * modules/unictype/bidiclass-test: Renamed from
57541         modules/unictype/bidicategory-test.
57542         (Description): Update.
57543         * modules/unictype/bidiclass-test-tests: Renamed from
57544         modules/unictype/bidicategory-test-tests.
57545         * modules/unictype/bidicategory-all: New file, a simple redirection.
57546         * modules/unictype/bidicategory-name: Likewise.
57547         * modules/unictype/bidicategory-byname: Likewise.
57548         * modules/unictype/bidicategory-of: Likewise.
57549         * modules/unictype/bidicategory-test: Likewise.
57550         * modules/unictype/property-bidi-* (Dependencies): Update.
57551         * lib/unictype/bidi_*.c: Update comment.
57553 2011-03-26  Bruno Haible  <bruno@clisp.org>
57555         unictype/bidi*: Rename functions, part 2.
57556         * modules/unictype/bidicategory-name (configure.ac): Update required
57557         libunistring version.
57558         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
57560 2011-03-25  Bruno Haible  <bruno@clisp.org>
57562         New module 'unictype/combining-class-all'.
57563         * modules/unictype/combining-class-all: New file.
57565         Tests for module 'unictype/combining-class-byname'.
57566         * modules/unictype/combining-class-byname-tests: New file.
57567         * tests/unictype/test-combiningclass_byname.c: New file.
57569         New module 'unictype/combining-class-byname'.
57570         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
57571         * lib/unictype/combiningclass_byname.c: New file.
57572         * lib/unictype/combiningclass_byname.gperf: New file.
57573         * modules/unictype/combining-class-byname: New file.
57575         Tests for module 'unictype/combining-class-longname'.
57576         * modules/unictype/combining-class-longname-tests: New file.
57577         * tests/unictype/test-combiningclass_longname.c: New file.
57579         New module 'unictype/combining-class-longname'.
57580         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
57581         * lib/unictype/combiningclass_longname.c: New file.
57582         * modules/unictype/combining-class-longname: New file.
57584         Tests for module 'unictype/combining-class-name'.
57585         * modules/unictype/combining-class-name-tests: New file.
57586         * tests/unictype/test-combiningclass_name.c: New file.
57588         New module 'unictype/combining-class-name'.
57589         * lib/unictype.in.h (uc_combining_class_name): New declaration.
57590         * lib/unictype/combiningclass_name.c: New file.
57591         * modules/unictype/combining-class-name: New file.
57593 2011-03-25  Bruno Haible  <bruno@clisp.org>
57595         unictype/combining-class: Rename source files.
57596         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
57597         of unictype/combining.h.
57598         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
57599         Update.
57600         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
57601         * modules/unictype/combining-class (Description): Fix.
57602         (Files, Makefile.am): Update.
57603         * tests/unictype/test-combiningclass.c: Renamed from
57604         tests/unictype/test-combining.c.
57605         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
57607 2011-03-25  Bruno Haible  <bruno@clisp.org>
57609         unictype: Update list of canonical combining classes.
57610         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
57612 2011-03-25  Bruno Haible  <bruno@clisp.org>
57614         unictype/category-byname: Recognize long names as well.
57615         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
57616         a long name.
57617         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
57618         unictype/categ_byname.h.
57619         (UC_CATEGORY_INDEX_*): New enumeration values.
57620         (uc_general_category_byname): Use uc_general_category_lookup and
57621         convert from index to value.
57622         * lib/unictype/categ_byname.gperf: New file.
57623         * modules/unictype/category-byname (Files): Add
57624         lib/unictype/categ_byname.gperf.
57625         (Depends-on): Add gperf.
57626         (Makefile.am): Add rule for generating unictype/categ_byname.h.
57627         * tests/unictype/test-categ_byname.c (main): Test the recognition of
57628         long names.
57630         Tests for module 'unictype/category-longname'.
57631         * modules/unictype/category-longname-tests: New file.
57632         * tests/unictype/test-categ_longname.c: New file.
57634         New module 'unictype/category-longname'.
57635         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
57636         * lib/unictype/categ_longname.c: New file.
57637         * modules/unictype/category-longname: New file.
57638         * modules/unictype/category-all (Depends-on): Add it.
57640 2011-03-25  Bruno Haible  <bruno@clisp.org>
57642         Tests for module 'unictype/category-LC'.
57643         * modules/unictype/category-LC-tests: New file.
57644         * tests/unictype/test-categ_LC.c: New file, automatically generated.
57646         New module 'unictype/category-LC'.
57647         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
57648         (UC_CATEGORY_LC): New declaration.
57649         (UC_CASED_LETTER): New macro.
57650         * lib/gen-uni-tables.c (is_category_LC): New function.
57651         (output_categories): Also handle category LC.
57652         (UC_CATEGORY_MASK_LC): New enumeration value.
57653         (general_category_byname): Also handle category LC.
57654         * lib/unictype/categ_LC.c: New file.
57655         * lib/unictype/categ_LC.h: New file, automatically generated.
57656         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
57657         category LC.
57658         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
57659         * modules/unictype/category-LC: New file.
57660         * modules/unictype/category-byname (Depends-on): Add
57661         unictype/category-LC.
57662         * modules/unictype/category-all (Depends-on): Likewise.
57664 2011-03-25  Eric Blake  <eblake@redhat.com>
57666         xmalloc: revert yesterday's regression
57667         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
57668         realloc's underlying behavior (allowing allocation of zero-size
57669         objects, especially if malloc-gnu is also in use).
57671 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
57673         maint.mk: add missing version to VC-tag
57674         * top/maint.mk: git tag was missing actual tag name; add it.
57676         valgrind: do leak checking, and exit with code 1 on error (not 0)
57677         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
57678         to VALGRIND.
57680 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
57682         posix-modules: say what it does.
57683         * posix-modules: Add a line to the --help output saying what it does.
57685 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
57687         xmalloc: Do not leak if underlying realloc is C99 compatible.
57688         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
57689         This avoids a leak on C99-based systems.  See
57690         <http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.
57692 2011-03-24  Eric Blake  <eblake@redhat.com>
57694         realloc: document portability problem
57695         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
57696         passing 0 size to realloc.
57698 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
57700         doc: update users.txt
57701         * users.txt: Add cvsps, tmpwatch
57703 2011-03-23  Matt Rice  <ratmice@gmail.com>
57705         doc: update users.txt
57706         * users.txt: Add gdb.
57708 2011-03-23  Jim Meyering  <meyering@redhat.com>
57710         doc: update users.txt
57711         Looking through matches up to the following URL (there are still
57712         several more pages), I found several projects that use gnulib:
57713         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
57714         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
57715         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
57717 2011-03-22  Bruno Haible  <bruno@clisp.org>
57719         unictype/bidi*: Rename functions.
57720         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
57721         uc_bidi_class, uc_is_bidi_class): New declarations.
57722         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
57723         uc_bidi_category_byname.
57724         (uc_bidi_category_byname): New function.
57725         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
57726         u_bidi_category_name.
57727         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
57728         (uc_bidi_category_name): New function.
57729         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
57730         uc_bidi_category.
57731         (uc_bidi_category): New function.
57732         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
57733         uc_is_bidi_category. Invoke uc_bidi_class.
57734         (uc_is_bidi_category): New function.
57735         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
57736         instead of uc_bidi_category_byname.
57737         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
57738         instead of uc_bidi_category_name.
57739         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
57740         uc_bidi_category.
57741         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
57742         instead of uc_is_bidi_category.
57744 2011-03-21  Bruno Haible  <bruno@clisp.org>
57746         New module 'unictype/joininggroup-all'.
57747         * modules/unictype/joininggroup-all: New file.
57749         Tests for module 'unictype/joininggroup-of'.
57750         * modules/unictype/joininggroup-of-tests: New file.
57751         * tests/unictype/test-joininggroup_of.c: New file.
57752         * tests/unictype/test-joininggroup_of.h: New file, automatically
57753         generated by gen-uni-tables.
57755         New module 'unictype/joininggroup-of'.
57756         * modules/unictype/joininggroup-of: New file.
57757         * lib/unictype/joininggroup_of.c: New file.
57758         * lib/unictype/joininggroup_of.h: New file, automatically generated by
57759         gen-uni-tables.
57761         Tests for module 'unictype/joininggroup-byname'.
57762         * modules/unictype/joininggroup-byname-tests: New file.
57763         * tests/unictype/test-joininggroup_byname.c: New file.
57765         New module 'unictype/joininggroup-byname'.
57766         * modules/unictype/joininggroup-byname: New file.
57767         * lib/unictype/joininggroup_byname.c: New file.
57768         * lib/unictype/joininggroup_byname.gperf: New file.
57770         Tests for module 'unictype/joininggroup-name'.
57771         * modules/unictype/joininggroup-name-tests: New file.
57772         * tests/unictype/test-joininggroup_name.c: New file.
57774         New module 'unictype/joininggroup-name'.
57775         * modules/unictype/joininggroup-name: New file.
57776         * lib/unictype/joininggroup_name.c: New file.
57777         * lib/unictype/joininggroup_name.h: New file.
57779         New module 'unictype/joiningtype-all'.
57780         * modules/unictype/joiningtype-all: New file.
57782         Tests for module 'unictype/joiningtype-of'.
57783         * modules/unictype/joiningtype-of-tests: New file.
57784         * tests/unictype/test-joiningtype_of.c: New file.
57785         * tests/unictype/test-joiningtype_of.h: New file, automatically
57786         generated by gen-uni-tables.
57788         New module 'unictype/joiningtype-of'.
57789         * modules/unictype/joiningtype-of: New file.
57790         * lib/unictype/joiningtype_of.c: New file.
57791         * lib/unictype/joiningtype_of.h: New file, automatically generated by
57792         gen-uni-tables.
57794         Tests for module 'unictype/joiningtype-byname'.
57795         * modules/unictype/joiningtype-byname-tests: New file.
57796         * tests/unictype/test-joiningtype_byname.c: New file.
57798         New module 'unictype/joiningtype-byname'.
57799         * modules/unictype/joiningtype-byname: New file.
57800         * lib/unictype/joiningtype_byname.c: New file.
57802         Tests for module 'unictype/joiningtype-name'.
57803         * modules/unictype/joiningtype-name-tests: New file.
57804         * tests/unictype/test-joiningtype_name.c: New file.
57806         New module 'unictype/joiningtype-name'.
57807         * modules/unictype/joiningtype-name: New file.
57808         * lib/unictype/joiningtype_name.c: New file.
57810         unictype: Add support for Arabic shaping properties.
57811         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
57812         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
57813         declarations.
57814         (UC_JOINING_GROUP_*): New enumeration values.
57815         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
57816         declarations.
57817         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
57818         (unicode_joining_type): New variable.
57819         (UC_JOINING_GROUP_*): New enumeration values.
57820         (unicode_joining_group): New variable.
57821         (fill_arabicshaping, joining_type_as_c_identifier,
57822         output_joining_type_test, output_joining_type,
57823         joining_group_as_c_identifier, output_joining_group_test,
57824         output_joining_group): New functions.
57825         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
57826         fill_arabicshaping and output_joining_type_test, output_joining_type,
57827         output_joining_group_test, output_joining_group.
57828         Reported by Simon Josefsson.
57830 2011-03-21  Jim Meyering  <meyering@redhat.com>
57832         strftime: fix a bug in yesterday's change
57833         * lib/strftime.c (add): Accommodate width's initial value of -1.
57834         Otherwise, nstrftime would copy uninitialized data into
57835         the result buffer.
57837 2011-03-21  Jim Meyering  <meyering@redhat.com>
57839         tests: add strftime-tests module
57840         * tests/test-strftime.c: New file.
57841         * modules/strftime-tests: New module.
57843 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57845         strftime: don't assume a byte count fits in 'int'
57846         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
57847         found this problem by static analysis, using gcc -Wstrict-overflow
57848         (GCC 4.5.2, x86-64).  This reported an optimization that depended
57849         on an integer overflow having undefined behavior, but it turns out
57850         that the argument is a size, which might not fit in 'int' anyway,
57852 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57854         stdio: don't require ignore_value around fwrite
57856         This patch works around libc bug 11959
57857         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
57858         Without this patch, applications must often write
57859         ignore_value (fwrite (...)) even though the ignore_value is
57860         not helpful here.  It's common to write many objects, using
57861         fwrite/printf/etc., and then use ferror to detect output error.
57863         I considered making this patch optional, but decided against it,
57864         because libc is obviously being inconsistent here: there is no
57865         reason libc should insist that user code must inspect fwrite
57866         return's value without also insisting that it inspect printf's,
57867         putchar's, etc.  If user code wants to have a strict style where
57868         all these functions' values are checked (so that ferror need not
57869         be checked), we could add support for that style in a new gnulib
57870         module, but in the meantime it's better to be consistent and to
57871         support common usage.
57873         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
57874         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
57875         that we are compiling in checking mode, and if not C++, and
57876         if not already wrapping fwrite for some other reason.
57877         (fwrite): #define to rpl_fwrite if the latter is defined.
57879 2011-03-20  Bruno Haible  <bruno@clisp.org>
57881         verror: Fix compilation error introduced on 2011-02-13.
57882         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
57883         instead of __attribute__.
57884         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57886 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57887             Bruno Haible  <bruno@clisp.org>
57889         socklen: do not depend on sys_socket
57890         While trying to modify Emacs to use gnulib's socklen module,
57891         I discovered a circular dependency: socklen depends on sys_socket
57892         and vice versa.  Emacs can use socklen, but it does not need
57893         sys_socket because it has its own substitute for sys/socket.h.
57894         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
57895         gl_TYPE_SOCKLEN_T.
57896         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
57897         gl_PREREQ_SYS_H_SOCKET.
57898         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
57899         gl_PREREQ_SYS_H_SOCKET.
57900         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
57901         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
57902         * modules/socklen (Depends-on): Do not depend on sys_socket.
57903         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
57905 2011-03-20  Jim Meyering  <meyering@redhat.com>
57907         maint.mk: sort file names *after* new transformation
57908         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
57909         prefix would have led to an unwarranted failure in GNU parted.
57910         Sort after that transformation.
57912 2011-03-19  Jim Meyering  <meyering@redhat.com>
57914         maint.mk: fix po-file syntax-check rule
57915         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
57916         Patch by Bruno Haible.
57918 2011-03-19  Bruno Haible  <bruno@clisp.org>
57920         socklen: Update comment.
57921         * m4/socklen.m4: Update comment about platforms.
57923 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57924             Bruno Haible  <bruno@clisp.org>
57926         inet_ntop, inet_pton: Simplify.
57927         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
57928         documented to provide socklen_t and we already depend on sys_socket.
57929         * modules/inet_pton (Depends-on): Likewise.
57930         * lib/arpa_inet.in.h: Adjust comment.
57932 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57933             Bruno Haible  <bruno@clisp.org>
57935         netdb: Simplify.
57936         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
57937         documented to provide socklen_t and we already depend on sys_socket.
57938         * lib/netdb.in.h: Adjust comment.
57940 2011-03-19  Bruno Haible  <bruno@clisp.org>
57942         sys_socket, netdb: Document problem with socklen_t.
57943         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
57944         platforms.
57945         * doc/posix-headers/netdb.texi: Likewise.
57947 2011-03-18  Eric Blake  <eblake@redhat.com>
57949         maint.mk: let po check work in VPATH build
57950         * top/maint.mk (po_file): Allow cfg.mk override.
57951         (sc_po_check): Allow VPATH use.
57952         Reported by Jiri Denemark.
57954 2011-03-16  Jim Meyering  <meyering@redhat.com>
57956         maint.mk: allow fine-grained syntax-check exclusion via Make variables
57957         Before, you would have had to create one .x-sc_ file per rule in order
57958         to exempt offending files.  Now, you may instead use a Make variable --
57959         usually defined in cfg.mk -- whose name identifies the affected rule.
57960         * top/maint.mk (_sc_excl): Define.
57961         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
57962         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
57964 2011-03-13  Bruno Haible  <bruno@clisp.org>
57966         ignore-value tests: Avoid warnings.
57967         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
57968         empty for gcc < 3.4.
57970 2011-03-13  Bruno Haible  <bruno@clisp.org>
57972         passfd: Fix link error on Solaris.
57973         * modules/passfd (Description): Correct.
57974         (Depends-on): Add socketlib.
57975         (Link): New section.
57976         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
57978 2011-03-13  Bruno Haible  <bruno@clisp.org>
57980         passfd: Fix link error on AIX 5.2.
57981         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
57983 2011-03-13  Bruno Haible  <bruno@clisp.org>
57985         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
57986         * lib/sys_socket.in.h: Include <stddef.h>.
57987         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
57988         CMSG_FIRSTHDR. Remove unused variable.
57990 2011-03-13  Bruno Haible  <bruno@clisp.org>
57992         passfd: Fix compilation error on OpenBSD.
57993         * lib/passfd.c: Include <sys/uio.h>.
57995 2011-03-13  Bruno Haible  <bruno@clisp.org>
57997         passfd test: Fix warnings.
57998         * tests/test-passfd.c: Include <sys/wait.h>.
57999         (main): Fix typo.
58001 2011-03-13  Bruno Haible  <bruno@clisp.org>
58003         passfd module, part 4, tweaks.
58004         * tests/test-passfd.c: Reorder includes.
58005         (main): Fix perror and printf calls.
58007 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58009         passfd module, part 4.
58010         * modules/passfd-tests: New file.
58011         * tests/test-passfd.c: New file.
58013 2011-03-13  Jim Meyering  <meyering@redhat.com>
58015         Makefile: rely on GNU make; derive syntax-check rule names
58016         Rather than requiring that each sc_ rule be listed as a dependent
58017         of "check", use features of GNU make to derive the list.
58018         * Makefile (syntax-check-rules): Define.
58019         (check): Depend on the new variable, not the hard-coded list.
58021 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
58022             Bruno Haible  <bruno@clisp.org>
58024         passfd module, part 3.
58025         * lib/passfd.h (recvfd): Add a flags argument.
58026         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
58027         (recvfd): Add a flags argument.
58028         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
58029         exists.
58030         * modules/passfd (Depends-on): Add cloexec.
58031         Suggested by Eric Blake.
58033 2011-03-13  Bruno Haible  <bruno@clisp.org>
58035         passfd module, part 2, tweaks.
58036         * modules/passfd (Files): Reorder.
58037         (Depends-on): Remove errno.
58038         (Include): Remove <sys/socket.h>, <sys/un.h>.
58039         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
58040         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
58041         specification header. Include <sys/socket.h> always. Don't include
58042         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
58043         (sendfd): Clarify that it sets errno when it fails.
58044         (recvfd): Fix specification.
58046 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58048         passfd module, part 2.
58049         * modules/passfd: New file.
58050         * lib/passfd.h: New file.
58051         * lib/passfd.c: New file.
58053 2011-03-12  Bruno Haible  <bruno@clisp.org>
58055         wcswidth, mbswidth: Avoid integer overflow.
58056         * lib/wcswidth.c: Include <limits.h>.
58057         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
58058         * lib/mbswidth.c: Include <limits.h>.
58059         (mbsnwidth): Avoid 'int' overflow.
58060         Reported by Jim Meyering.
58062 2011-03-12  Bruno Haible  <bruno@clisp.org>
58064         futimens, utimensat: Avoid endless recursion on Solaris 10.
58065         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
58066         Solaris.
58067         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
58068         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
58070 2011-03-11  Jim Meyering  <meyering@redhat.com>
58072         maint.mk: relax a regexp to accommodate other formatting styles
58073         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
58074         between "ngettext" and the following "(".
58076 2011-03-11  Pádraig Brady  <P@draigBrady.com>
58078         maint.mk: suppress a false positive warning
58079         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
58080         diagnostics are marked with ngettext.
58082 2011-03-10  Eric Blake  <eblake@redhat.com>
58084         wchar: add explicit dependencies, for Tru64
58085         * modules/mbmemcasecoll (Depends-on): Add wchar.
58086         * modules/mbtowc (Depends-on): Likewise.
58087         * modules/vasnprintf (Depends-on): Likewise.
58088         * modules/unistdio/u-printf-args (Depends-on): Likewise.
58089         * modules/wctomb (Depends-on): Likewise.
58090         Reported by Peter O'Gorman.
58092 2011-03-08  Bruno Haible  <bruno@clisp.org>
58094         passfd module, part 1, tweaks.
58095         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
58096         Improve indentation. Improve AC_MSG_CHECKING messages.
58097         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
58098         gl_SOCKET_FAMILIES.
58100 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
58102         passfd module, part 1.
58103         * m4/afunix.m4: New file.
58104         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
58105         sockets.
58107 2011-03-08  Bruno Haible  <bruno@clisp.org>
58109         regex-quote: New API.
58110         * lib/regex-quote.h: Include <stdbool.h>.
58111         (struct regex_quote_spec): New type.
58112         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58113         New declarations.
58114         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58115         'const struct regex_quote_spec *' argument.
58116         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
58117         (pcre_special): New constant.
58118         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
58119         New functions.
58120         (regex_quote_length, regex_quote_copy, regex_quote): Take a
58121         'const struct regex_quote_spec *' argument.
58122         * modules/regex-quote (Depends-on): Add stdbool.
58123         * tests/test-regex-quote.c (check): Update for new API. Add test for
58124         anchored results.
58125         * NEWS: Mention the API change.
58126         Reported by Reuben Thomas and Eric Blake.
58128 2011-03-06  Bruno Haible  <bruno@clisp.org>
58130         regex-quote: Fix creation of POSIX extended regular expressions.
58131         * lib/regex-quote.c (ere_special): Add grouping and alternation
58132         operators.
58134 2011-03-05  Bruno Haible  <bruno@clisp.org>
58136         doc: Improve doc regarding autopoint vs. gnulib.
58137         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
58138         disable autopoint while running autoreconf.
58139         Suggested by Ralf Wildenhues.
58141 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58143         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
58144         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
58146 2011-03-03  Bruce Korb  <bkorb@gnu.org>
58148         parse-duration: remove xalloc.h dependency
58149         * lib/parse-duration.c (parse_period): handle NULL return from
58150         strdup instead of calling xstrdup().
58151         * modules/parse-duration: remove "xalloc" dependency
58153 2011-03-03  Matthew Booth  <mbooth@redhat.com>
58155         bootstrap: honor m4_base when running aclocal
58156         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
58158 2011-03-02  Jim Meyering  <meyering@redhat.com>
58160         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
58161         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
58162         on request from Matt Booth.
58164 2011-03-01  Eric Blake  <eblake@redhat.com>
58166         test-link: work on Hurd
58167         * tests/test-link.h (test_link): Hurd rejects linking directories
58168         with EISDIR instead of the POSIX-mandated EPERM.
58170 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
58172         stdio: simplify by moving files to printf-posix, sigpipe
58173         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
58174         since this symbol is needed only if printf is replaced.
58175         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
58176         Require gl_ASM_SYMBOL_PREFIX.
58177         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
58178         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
58179         (Depends-on): Add 'raise'.
58180         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
58181         * modules/stdio (Files): Remove lib/stdio-write.c,
58182         m4/asm-underscore.m4.
58183         (Depends-on): Remove 'raise'.
58185         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
58186         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
58187         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
58188         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
58190 2011-02-28  Bruno Haible  <bruno@clisp.org>
58192         localcharset: Assume ANSI C behaviour of free().
58193         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
58194         calling free().
58195         Suggested by Simon Josefsson <simon@josefsson.org>.
58197 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
58198             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
58199             Bruno Haible  <bruno@clisp.org>  (tiny change)
58201         On Cygwin, use /proc file system instead of win32 API.
58202         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
58203         Win32 file names.
58204         (DllMain): Simplify by removing Cygwin specific code.
58205         (find_shared_library_fullname): Use Linux specific implementation also
58206         for Cygwin.
58207         (get_shared_library_fullname): Update accordingly.
58208         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
58209         Win32 file names.
58210         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
58211         Cygwin specific code.
58213 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
58214             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
58216         Fix OpenMP flag detection for various Fortran compilers.
58217         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
58218         OpenMP-conditional compilation construct, to force compile
58219         failure with missing OpenMP flag.
58220         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
58222 2011-02-25  Eric Blake  <eblake@redhat.com>
58224         strstr: expand test coverage
58225         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
58226         compilation.
58227         * tests/test-memmem.c (main): Duplicate tests.
58228         * tests/test-strcasestr.c (main): Likewise.
58229         * tests/test-c-strcasestr.c (main): Likewise.
58231 2011-02-25  Jim Meyering  <meyering@redhat.com>
58233         maint.mk: detect missing-NL-at-EOF, too
58234         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
58235         it also detects when a file lacks a newline at EOF.
58236         (require_exactly_one_NL_at_EOF_): Renamed from
58237         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
58238         since people may well have .x-sc_... file names tied to the
58239         existing name.  Suggested by Eric Blake.
58241 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58243         dirname: move m4/dos.m4 functionality into lib/dosname.h
58245         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
58246         extracts symbols from it, puts them into config.h; but it's much
58247         easier to use the symbols directly.  filename.h already does this,
58248         but it disagrees with dos.m4 in some respects.  This patch
58249         introduces a different include file dosname.h that packages up
58250         dos.m4, and then later we can work on merging filename.h and
58251         dosname.h.  Applications that need only the easy-to-configure
58252         symbols should consider including dosname.h rather than dirname.h.
58253         * NEWS: Mention incompatible changes.
58254         * m4/dos.m4: Remove.
58255         * lib/dosname.h, modules/dosname: New files.
58256         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
58257         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
58258         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
58259         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
58260         Include dosname.h, not dirname.h.
58261         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
58262         Include dosname.h, for definitions of symbols like ISSLASH
58263         that used to be in config.h.
58264         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
58265         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
58266         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
58267         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
58268         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
58269         * modules/rmdir (Files): Likewise.
58270         * modules/stat (Files): Likewise.
58271         * modules/unlink (Files): Likewise.
58272         * modules/dirname-lgpl (Depends-on): Add dosname.
58273         * modules/lstat (Depends-on): Likewise.
58274         * modules/openat (Depends-on): Likewise.
58275         * modules/rmdir (Depends-on): Likewise.
58276         * modules/savewd (Depends-on): Likewise.
58277         * modules/stat (Depends-on): Likewise.
58278         * modules/unlink (Depends-on): Likewise.
58279         * modules/openat (Depends-on): Remove dirname-lgpl.
58280         * modules/savewd (Depends-on): Likewise.
58281         * tests/test-dirname.c: Do not use removed symbols like
58282         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
58283         the remaining symbols, e.g., ISSLASH ('\\').
58285 2011-02-25  Eric Blake  <eblake@redhat.com>
58287         strstr: revert patches that introduced bug and pessimization
58288         * lib/str-two-way.h: Add another reference.
58289         (two_way_short_needle, two_way_long_needle): Revert changes from
58290         2011-02-24; they pessimize search speed.
58291         (critical_factorization): Partially revert changes from
58292         2010-06-22; they violate the requirement that the left half of the
58293         needle be smaller than the period of the needle.
58295 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
58297         filenamecat: remove unnecessary dependency on dirname-lgpl
58298         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
58299         is no direct dependency, just an indirect one via filenamecat-lgpl.
58301         remove: remove unnecessary use of m4/dos.m4
58302         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
58303         * modules/remove (FILES): Remove m4/dos.m4.
58305         * lib/openat-proc.c: Don't include dirname.h; not needed.
58307         backupfile: remove unnecessary use of m4/dos.m4
58308         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
58309         of its symbols are used by the backupfile code.  backupfile.c does
58310         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
58311         for the rare case of programs that want all their backup file
58312         names to live within 8+3 limits, and dos.m4 doesn't address that.
58313         * modules/backupfile (Files): Remove m4/dos.m4.
58315 2011-02-24  Jim Meyering  <meyering@redhat.com>
58317         strstr: fix a bug whereby strstr would mistakenly return NULL
58318         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
58319         in period calculation.
58320         (two_way_long_needle): Likewise.
58321         The original problem was reported by Mike Stump in
58322         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
58323         Ralf Wildenhues provided the short needle and haystack.
58324         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
58325         Add a more involved test to trigger the bug in two_way_long_needle.
58327 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
58329         gnulib-tool: remove use of bold display in help screen
58330         * gnulib-tool (func_usage): Do not use bold display anymore in the
58331         help screen.  That was just meant to be a temporary emphasis for a
58332         backward-incompatible change.
58334 2011-02-23  Bruno Haible  <bruno@clisp.org>
58336         Fix misindentation of preprocessor directives.
58337         * lib/argp-namefrob.h: Reindent preprocessor directives.
58338         * lib/getopt_int.h (struct _getopt_data): Likewise.
58339         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
58340         * lib/vasnprintf.c (decode_long_double): Likewise.
58341         * tests/test-argmatch.c: Insert blank lines, for clarity.
58342         * tests/test-exclude.c: Likewise.
58344 2011-02-22  Bruno Haible  <bruno@clisp.org>
58346         ioctl: Fix for MacOS X in 64-bit mode.
58347         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
58348         value.
58349         Suggested by Eric Blake.
58350         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
58352 2011-02-22  Jim Meyering  <meyering@redhat.com>
58354         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
58355         * Makefile (sc_cpp_indent_check): Don't limit the check to files
58356         in lib/.
58358 2011-02-22  Eric Blake  <eblake@redhat.com>
58360         maint: avoid any CDPATH issue
58361         * Makefile (sc_cpp_indent_check): Anchor cd argument.
58363         maint: adjust cpp indentation for my modules, as well
58364         * Makefile (sc_cpp_indent_check): Add my name.
58365         * lib/fbufmode.c: Filter through cppi.
58366         * lib/fpurge.c: Likewise.
58367         * lib/freadable.c: Likewise.
58368         * lib/freading.c: Likewise.
58369         * lib/fwritable.c: Likewise.
58370         * lib/fwriting.c: Likewise.
58371         * lib/sigaction.c: Likewise.
58373 2011-02-22  Jim Meyering  <meyering@redhat.com>
58375         maint: adjust cpp indentation to reflect nesting depth
58376         I.e., in a block of code that begins with an unnested "#if",
58377         put one space between the "#" in column 1 and following token.
58378         For example,
58379         -#include <sys/vfs.h>
58380         +# include <sys/vfs.h>
58381         Do this only in .c files that are part of a module I maintain.
58382         * lib/linkat.c: Filter through cppi.
58383         * lib/nanosleep.c: Likewise.
58384         * lib/openat.c: Likewise.
58385         * lib/openat-die.c: Likewise.
58386         * lib/dup3.c: Likewise.
58387         * lib/fchownat.c: Likewise.
58388         * lib/flock.c: Likewise.
58389         * lib/fsync.c: Likewise.
58390         * lib/fts.c: Likewise.
58391         * lib/getpass.c: Likewise.
58392         * lib/gettimeofday.c: Likewise.
58393         * lib/userspec.c: Likewise.
58394         * Makefile (sc_cpp_indent_check): New rule, to check this.
58396 2011-02-22  Bruno Haible  <bruno@clisp.org>
58398         New module 'wctomb'.
58399         * lib/stdlib.in.h (wctomb): New declaration.
58400         * lib/wctomb.c: New file.
58401         * lib/wctomb-impl.h: New file.
58402         * m4/wctomb.m4: New file.
58403         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
58404         REPLACE_WCTOMB.
58405         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
58406         REPLACE_WCTOMB.
58407         * modules/wctomb: New file.
58408         * tests/test-stdlib-c++.cc: Test signature of wctomb.
58409         * doc/posix-functions/wctomb.texi: Mention the new module.
58410         * modules/wctob (Depends-on): Add wctomb.
58412 2011-02-22  Bruno Haible  <bruno@clisp.org>
58414         New module 'mbtowc'.
58415         * lib/stdlib.in.h (mbtowc): New declaration.
58416         * lib/mbtowc.c: New file.
58417         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
58418         * m4/mbtowc.m4: New file.
58419         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
58420         REPLACE_MBTOWC.
58421         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
58422         REPLACE_MBTOWC.
58423         * modules/mbtowc: New file.
58424         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
58425         * doc/posix-functions/mbtowc.texi: Mention the new module.
58426         * modules/btowc (Depends-on): Add mbtowc.
58428 2011-02-22  Bruno Haible  <bruno@clisp.org>
58430         wcrtomb: Add more tests for native Windows platforms.
58431         * tests/test-wcrtomb-w32-1.sh: New file.
58432         * tests/test-wcrtomb-w32-2.sh: New file.
58433         * tests/test-wcrtomb-w32-3.sh: New file.
58434         * tests/test-wcrtomb-w32-4.sh: New file.
58435         * tests/test-wcrtomb-w32-5.sh: New file.
58436         * tests/test-wcrtomb-w32.c: New file.
58437         * modules/wcrtomb-tests (Files): Add them.
58438         (Makefile.am): Arrange to run these tests.
58439         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
58440         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
58442 2011-02-20  Bruno Haible  <bruno@clisp.org>
58444         wcrtomb: Enhance test.
58445         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
58447 2011-02-20  Bruno Haible  <bruno@clisp.org>
58449         mbrtowc: Tiny optimization.
58450         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
58452 2011-02-20  Jim Meyering  <meyering@redhat.com>
58454         test-exclude.c: remove unmatched #endif
58455         * tests/test-exclude.c: Remove stray #endif, left over from
58456         the change of a week ago.
58458 2011-02-19  Jim Meyering  <meyering@redhat.com>
58460         git-version-gen: skip "-dirty" check when appropriate
58461         * build-aux/git-version-gen: Don't run any git commands when the
58462         version string comes from .tarball-version.  Prior to this, we
58463         would run git update-index --refresh even from a just-unpacked
58464         tarball directory, and that could affect a .git/ directory in a
58465         parent of the build directory.  Reported by Mike Frysinger.
58467 2011-02-19  Bruno Haible  <bruno@clisp.org>
58469         unictype/property-byname: Reduce the size of the 'data' segment.
58470         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
58472 2011-02-19  Bruno Haible  <bruno@clisp.org>
58474         unictype/scripts: Reduce the size of the 'data' segment.
58475         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
58476         '%pic'.
58477         * lib/unictype/scripts_byname.gperf: Regenerated.
58479 2011-02-19  Bruno Haible  <bruno@clisp.org>
58481         stdint: Update documentation.
58482         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
58484 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
58486         stdint: omit redundant check for wchar.h
58487         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
58488         always tests whether wchar.h exists, so remove the now-redundant test.
58490 2011-02-18  Bruno Haible  <bruno@clisp.org>
58492         stdint: Cut dependency to module 'wchar'.
58493         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
58494         include the necessary prerequisites.
58495         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
58496         * modules/stdint (Depends-on): Remove wchar.
58497         (Makefile.am): Substitute HAVE_WCHAR_H.
58498         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
58500 2011-02-18  Eric Blake  <eblake@redhat.com>
58502         longlong: skip, rather than fail, on cross-compilation
58503         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
58504         when cross-compiling; regression from 2011-02-16.
58506 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58508         * NEWS: Mention 2011-02-08 change to stdlib.
58510 2011-02-17  Bruno Haible  <bruno@clisp.org>
58512         getloadavg: Add comments about platforms.
58513         * m4/getloadavg.m4: Add comment.
58514         * lib/getloadavg.c: Likewise.
58516 2011-02-17  Bruno Haible  <bruno@clisp.org>
58518         getloadavg: Fix link error on Solaris 2.6.
58519         * modules/getloadavg (Link): New section.
58520         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
58521         linking test-getloadavg.
58522         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
58523         getloadavg.
58525 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
58527         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
58528         It was 'int', but this doesn't match the IRIX 6.5 manual.
58529         Suggested by Bruno Haible in
58530         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.
58532 2011-02-17  Bruno Haible  <bruno@clisp.org>
58534         havelib: Fix comments.
58535         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
58536         change.
58538 2011-02-17  Bruno Haible  <bruno@clisp.org>
58540         havelib: Update config.rpath.
58541         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
58543 2011-02-17  Bruno Haible  <bruno@clisp.org>
58545         getloadavg test: Add some plausibility checks.
58546         * tests/test-getloadavg.c (check_avg): Print a warning when the value
58547         is improbable.
58549 2011-02-16  Eric Blake  <eblake@redhat.com>
58551         maintainer-makefile: make syntax-check a no-op from tarballs
58552         * top/maint.mk (no-vc-detected): New rule.
58553         (local-checks-available): Use it to avoid hanging if someone tries
58554         'make syntax-check' from a tarball.  Also append to any non-syntax
58555         checks already defined in cfg.mk.
58557 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
58559         longlong: tune, particularly for common case of c99
58561         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
58562         or running anything if c99, or if unsigned long long int does not
58563         work.  In either case, we know the answer without further tests.
58564         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
58565         it at most once, and use its results for both long long int and
58566         unsigned long long int.  This is more likely to be efficient in
58567         the common case where the program wants to check for both long
58568         long int and unsigned long long int.
58569         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
58570         since the answer is already known.
58572 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
58574         getloadavg: set errno
58575         * lib/getloadavg.c: Set errno when returning -1.  If no other
58576         error number looks appropriate, set it to ENOSYS if the getloadavg
58577         looks like it can't possibly ever work, ENOTSUP otherwise.
58578         Suggested by Bruno Haible in
58579         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.
58581         getloadavg: trim unused parts and speed up 'configure'
58582         * NEWS: Document this.
58583         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
58584         always compiled if getloadavg is absent.
58585         Move test code to ...
58586         * tests/test-getloadavg.c: New file, containing previous
58587         contents of test from lib/getloadavg.c.  It also contains
58588         suggestions by Bruno Haible in
58589         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
58590         * modules/getloadavg-tests: New file.
58591         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
58592         Do tests in the same order as they're needed for getloadavg.c.
58593         Omit setgid-related tests that generate symbols KMEM_GROUP,
58594         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
58595         Do only the tests that are needed to see whether the system has
58596         getloadavg, moving the other tests into ...
58597         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
58598         NLIST_NAME_UNION; nobody should be using it.  Do not define
58599         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
58600         relevant, as the user of this module shouldn't care how getloadavg
58601         is implemented.
58603         getloadavg: omit unused var
58604         * lib/getloadavg.c (getloadavg): Omit unused local variable.
58606 2011-02-15  Jim Meyering  <meyering@redhat.com>
58608         doc: update users.txt
58609         * users.txt: Update iwhd's URL.
58611 2011-02-13  Bruno Haible  <bruno@clisp.org>
58613         Consistent macro naming for macros that use GCC __attribute__.
58614         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
58615         _ATTRIBUTE_NONNULL_.
58616         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
58617         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
58618         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
58619         ATTRIBUTE_DEPRECATED.
58620         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
58621         ATTRIBUTE_NORETURN.
58622         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58623         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58624         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58625         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
58626         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
58627         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
58628         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
58629         ATTRIBUTE_SENTINEL.
58630         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
58631         ATTRIBUTE_RETURN_CHECK.
58632         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
58633         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
58634         ATTRIBUTE_NORETURN.
58635         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
58636         Reported by Paul Eggert.
58638 2011-02-13  Bruno Haible  <bruno@clisp.org>
58640         Don't interfere with a program's definition of __attribute__.
58641         * lib/argp.h (__attribute__): Remove definition.
58642         (_GL_ATTRIBUTE_FORMAT): New macro.
58643         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
58644         * lib/argp-fmtstream.h (__attribute__): Remove definition.
58645         (_GL_ATTRIBUTE_FORMAT): New macro.
58646         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
58647         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
58648         GCC 3 or newer.
58649         * lib/error.h (__attribute__): Remove definition.
58650         (_GL_ATTRIBUTE_FORMAT): New macro.
58651         (error, error_at_line): Use it.
58652         * lib/hash.h (__attribute__): Remove definition.
58653         (ATTRIBUTE_WUR): Update definition. Define always.
58654         * lib/openat.h (__attribute__): Remove definition.
58655         (ATTRIBUTE_NORETURN): Update definition. Define always.
58656         * lib/sigpipe-die.h (__attribute__): Remove definition.
58657         (ATTRIBUTE_NORETURN): Update definition. Define always.
58658         * lib/vasnprintf.h (__attribute__): Remove definition.
58659         (_GL_ATTRIBUTE_FORMAT): New macro.
58660         (asnprintf, vasnprintf): Use it.
58661         * lib/xalloc.h (__attribute__): Remove definition.
58662         (ATTRIBUTE_NORETURN): Update definition. Define always.
58663         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
58664         * lib/xmemdup0.h (__attribute__): Remove definition.
58665         (ATTRIBUTE_NORETURN): Update definition. Define always.
58666         * lib/xprintf.h (__attribute__): Remove definition.
58667         (_GL_ATTRIBUTE_FORMAT): New macro.
58668         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
58669         * lib/xstrtol.h (__attribute__): Remove definition.
58670         (ATTRIBUTE_NORETURN): Update definition. Define always.
58671         * lib/xvasprintf.h (__attribute__): Remove definition.
58672         (_GL_ATTRIBUTE_FORMAT): New macro.
58673         (xasprintf, xvasprintf): Use it.
58674         * tests/test-argmatch.c (__attribute__): Remove definition.
58675         (ATTRIBUTE_NORETURN): Update definition. Define always.
58676         * tests/test-exclude.c (__attribute__): Remove definition.
58677         (ATTRIBUTE_NORETURN): Update definition. Define always.
58678         Reported by Paul Eggert.
58680 2011-02-13  Bruno Haible  <bruno@clisp.org>
58682         mbrtowc: Add more tests for native Windows platforms.
58683         * tests/test-mbrtowc-w32-1.sh: New file.
58684         * tests/test-mbrtowc-w32-2.sh: New file.
58685         * tests/test-mbrtowc-w32-3.sh: New file.
58686         * tests/test-mbrtowc-w32-4.sh: New file.
58687         * tests/test-mbrtowc-w32-5.sh: New file.
58688         * tests/test-mbrtowc-w32.c: New file.
58689         * modules/mbrtowc-tests (Files): Add them.
58690         (Makefile.am): Arrange to run these tests.
58691         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
58692         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
58694 2011-02-13  Bruno Haible  <bruno@clisp.org>
58696         mbrtowc: Work around native Windows bug.
58697         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
58698         guess when no suitable locale for testing was found.
58699         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
58701 2011-02-13  Bruno Haible  <bruno@clisp.org>
58703         mbsinit: Work around mingw bug.
58704         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
58705         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
58706         Windows.
58707         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
58709 2011-02-13  Bruno Haible  <bruno@clisp.org>
58711         mbsinit: Don't crash for a NULL argument.
58712         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
58713         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
58715 2011-02-13  Bruno Haible  <bruno@clisp.org>
58717         Don't interfere with a program's definition of __attribute__.
58718         * lib/stdio.in.h (__attribute__): Remove definition.
58719         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
58720         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
58721         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
58722         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
58723         * lib/string.in.h (__attribute__): Remove definition.
58724         Reported by Paul Eggert.
58726 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58728         stdlib: don't get in the way of non-GCC __attribute__
58729         See thread starting at
58730         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
58731         Revert previous stdlib change, installing the following instead:
58732         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
58733         to get in the way of a non-GCC compiler that supports __attribute__.
58734         (_GL_ATTRIBUTE_RETURN): New macro.
58735         (_Exit): Use it instead of __attribute__.
58737 2011-02-12  Bruno Haible  <bruno@clisp.org>
58739         quotearg test: Avoid test failure on mingw.
58740         * tests/test-quotearg.sh: Convert the locale identifier from native
58741         Windows syntax to Unix syntax.
58743 2011-02-12  Bruno Haible  <bruno@clisp.org>
58745         setlocale: Prefer gnulib's override over libintl's override.
58746         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
58747         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
58748         GNULIB_defined_setlocale is set.
58750 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
58752         stdlib: support non-GCC __attribute__
58754         Fix a serious and tricky problem encountered when attempting to
58755         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
58756         5.5, but it crashed due to memory corruption on Solaris 10 with
58757         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
58758         bits that are otherwise zero.  This tagging is optional inside
58759         Emacs but is preferred and is used when __attribute__ ((__aligned
58760         (8))) works, as it does with both recent-enough GCC and with Sun C
58761         5.11.  However, Sun C 5.11 is not GCC and does not #define
58762         __GNUC__ and __GNUC_MINOR__.
58764         When I added the getloadavg module to Emacs, it brought in
58765         stdlib.in.h, which contained this fragment:
58767            #ifndef __attribute__
58768            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
58769            #  define __attribute__(Spec)   /* empty */
58770            # endif
58771            #endif
58773         When files that include <stdlib.h> were compiled with Sun C 5.11,
58774         the above code disabled __attribute__ ((__aligned (8))), which
58775         caused variables to not be properly aligned, which eventually led
58776         to the pointer corruption mentioned above.  (This was a bit hard
58777         to diagnose, unfortunately.)
58779         Several "#define __attribute__(X) /* empty */" code snippets need
58780         to be eradicated from Gnulib to work with non-GCC compilers that
58781         support __attribute__.  The Autoconf way to do this is to test for
58782         each kind of attribute that we want support for, and selectively
58783         enable that in source code.
58785         Fix this problem just for stdlib.h, by adding a test for the
58786         __noreturn__ attribute, and change stdlib.in.h to use that test
58787         when needed.  This technique can be easily generalized to the
58788         other *.in.h files and attributes, and a similar technique can be
58789         used for *.h and *.c files.  This patch is enough to solve the
58790         problem for Emacs + getloadavg, and I thought I'd publish it for
58791         feedback before undertaking further, similar fixes in other
58792         modules.
58794         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
58795         because it's not needed for stdlib.h.  It merely substitutes the
58796         value directly into stdlib.h.  We may well need to #define it, or
58797         similar symbols, for other modules, but it's nice to also have an
58798         option to not #define it for applications like Emacs that do not
58799         need it.
58801         * lib/stdlib.in.h (__attribute__): Do not #define.
58802         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
58803         be defined only if the _Exit module is also used.
58804         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
58805         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
58806         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
58807         platforms.
58808         * modules/_Exit (Files): Add m4/attribute.m4.
58809         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
58810         * m4/attribute.m4: New file.
58812 2011-02-12  Bruno Haible  <bruno@clisp.org>
58814         wcsrtombs: Work around bug on native Windows.
58815         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
58816         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
58817         instead of len.
58818         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
58820 2011-02-12  Bruno Haible  <bruno@clisp.org>
58822         mbsrtowcs: Work around bug on native Windows.
58823         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
58824         against mingw bug.
58825         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
58827 2011-02-12  Bruno Haible  <bruno@clisp.org>
58829         Avoid setlocale bugs in tests.
58830         * modules/btowc (Dependencies): Add setlocale.
58831         * modules/c-strcase (Dependencies): Likewise.
58832         * modules/mbmemcasecmp (Dependencies): Likewise.
58833         * modules/mbmemcasecoll (Dependencies): Likewise.
58834         * modules/mbrtowc (Dependencies): Likewise.
58835         * modules/mbscasecmp (Dependencies): Likewise.
58836         * modules/mbscasestr (Dependencies): Likewise.
58837         * modules/mbschr (Dependencies): Likewise.
58838         * modules/mbscspn (Dependencies): Likewise.
58839         * modules/mbsinit (Dependencies): Likewise.
58840         * modules/mbsncasecmp (Dependencies): Likewise.
58841         * modules/mbsnrtowcs (Dependencies): Likewise.
58842         * modules/mbspbrk (Dependencies): Likewise.
58843         * modules/mbspcasecmp (Dependencies): Likewise.
58844         * modules/mbsrchr (Dependencies): Likewise.
58845         * modules/mbsrtowcs (Dependencies): Likewise.
58846         * modules/mbsspn (Dependencies): Likewise.
58847         * modules/mbsstr (Dependencies): Likewise.
58848         * modules/nl_langinfo (Dependencies): Likewise.
58849         * modules/quotearg (Dependencies): Likewise.
58850         * modules/unicase/locale-language (Dependencies): Likewise.
58851         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
58852         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
58853         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
58854         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
58855         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
58856         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
58857         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
58858         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
58859         * modules/vasnprintf-posix (Dependencies): Likewise.
58860         * modules/wcrtomb (Dependencies): Likewise.
58861         * modules/wcsnrtombs (Dependencies): Likewise.
58862         * modules/wcsrtombs (Dependencies): Likewise.
58864 2011-02-12  Bruno Haible  <bruno@clisp.org>
58866         setlocale: Workaround native Windows bug.
58867         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
58868         succeeds but sets LC_CTYPE to "C", report a failure.
58869         * tests/test-setlocale2.sh: New file.
58870         * tests/test-setlocale2.c: New file.
58871         * modules/setlocale-tests (Files): Add the new files.
58872         (Makefile.am): Enable test-setlocale2.sh test.
58873         * doc/posix-functions/setlocale.texi: Mention workaround.
58875 2011-02-11  Bruno Haible  <bruno@clisp.org>
58877         Tests for module 'setlocale'.
58878         * modules/setlocale-tests: New file.
58879         * tests/test-setlocale1.sh: New file.
58880         * tests/test-setlocale1.c: New file.
58882         New module 'setlocale'.
58883         * lib/locale.in.h (setlocale): New declaration.
58884         * lib/setlocale.c: New file, based on
58885         gettext/gettext-runtime/intl/setlocale.c.
58886         * m4/setlocale.m4: New file.
58887         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
58888         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
58889         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
58890         REPLACE_SETLOCALE.
58891         * modules/setlocale: New file.
58892         * tests/test-locale-c++.cc: Test the declaration of setlocale.
58893         * doc/posix-functions/setlocale.texi: Mention the new module.
58895 2011-02-11  Bruno Haible  <bruno@clisp.org>
58897         Prepare for locale dependent tests on mingw.
58898         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
58899         because it has the wrong locale encoding.
58900         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
58901         French_France.1252 instead of "fr".
58902         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
58903         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
58904         because it has the wrong locale encoding.
58905         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
58906         native Windows, try Turkish_Turkey.65001.
58907         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
58908         Chinese_China.54936.
58910         Prepare for locale dependent tests on mingw.
58911         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
58912         differently.
58913         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
58914         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
58915         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
58916         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
58918 2011-02-11  Eric Blake  <eblake@redhat.com>
58920         strptime: avoid compiler warnings
58921         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
58922         compiler warnings about dead code.
58923         Reported by Daniel P. Berrange.
58925 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
58927         doc: update users.txt
58928         * users.txt: Add rcs.
58930 2011-02-10  John W. Eaton  <jwe@gnu.org>
58932         doc: update users.txt
58933         * users.txt: Add octave.
58935 2011-02-10  Jim Meyering  <meyering@redhat.com>
58937         doc: update users.txt
58938         * users.txt: Add iwhd.
58940 2011-02-09  Bruno Haible  <bruno@clisp.org>
58942         gnulib-tool: Make copyright notice adjustment more robust.
58943         * gnulib-tool (func_import): In sed_transform_main_lib_file,
58944         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
58945         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
58946         License".
58947         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
58949 2011-02-06  Bruno Haible  <bruno@clisp.org>
58951         New module 'towctrans'.
58952         * modules/towctrans: New file.
58953         * lib/wctype.in.h (towctrans): New declaration.
58954         * lib/towctrans.c: New file.
58955         * lib/towctrans-impl.h: New file.
58956         * m4/towctrans.m4: New file.
58957         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
58958         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
58959         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
58960         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
58961         * doc/posix-functions/towctrans.texi: Mention the new module.
58963 2011-02-06  Bruno Haible  <bruno@clisp.org>
58965         New module 'wctrans'.
58966         * modules/wctrans: New file.
58967         * lib/wctype.in.h (wctrans): New declaration.
58968         * lib/wctrans.c: New file.
58969         * lib/wctrans-impl.h: New file.
58970         * m4/wctrans.m4: New file.
58971         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
58972         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
58973         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
58974         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
58975         * doc/posix-functions/wctrans.texi: Mention the new module.
58977 2011-02-06  Bruno Haible  <bruno@clisp.org>
58979         New module 'iswctype'.
58980         * modules/iswctype: New file.
58981         * lib/wctype.in.h (iswctype): New declaration.
58982         * lib/iswctype.c: New file.
58983         * lib/iswctype-impl.h: New file.
58984         * m4/iswctype.m4: New file.
58985         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
58986         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
58987         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
58988         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
58989         * doc/posix-functions/iswctype.texi: Mention the new module and the
58990         HP-UX 11.00 problem.
58992 2011-02-06  Bruno Haible  <bruno@clisp.org>
58994         New module 'wctype'.
58995         * modules/wctype: Change to represent the wctype() substitute.
58996         * lib/wctype.in.h (wctype): New declaration.
58997         * lib/wctype.c: New file.
58998         * lib/wctype-impl.h: New file.
58999         * m4/wctype.m4: New file.
59000         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
59001         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
59002         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
59003         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
59004         * doc/posix-functions/wctype.texi: Mention the new module and the
59005         HP-UX 11.00 problem.
59007 2011-02-06  Bruno Haible  <bruno@clisp.org>
59009         wctype-h: Ensure wctype_t and wctrans_t are defined.
59010         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
59011         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59012         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
59013         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
59014         HAVE_WCTRANS_T.
59015         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
59017 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
59019         flock: fix license typo
59021         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
59022         omitted.
59024 2011-02-08  Bruno Haible  <bruno@clisp.org>
59026         Split large sed scripts, for HP-UX sed.
59027         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
59028         to avoid HP-UX limit of 99 commands, in the near future.
59029         * modules/stdlib (Makefile.am): Likewise.
59030         * modules/unistd (Makefile.am): Likewise.
59031         * modules/wchar (Makefile.am): Likewise.
59032         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
59033         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
59034         <http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.
59036 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59037             Bruno Haible  <bruno@clisp.org>
59039         stdlib: improve random_r modularization
59040         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
59041         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
59042         you also need the random_r module to get this material right.
59043         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
59044         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
59045         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
59047 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
59049         stdlib: don't depend on stdint
59050         * lib/stdlib.in.h: Don't include <stdint.h> merely because
59051         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
59052         be independent of whether stdint.h is needed.
59053         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
59054         here, instead of ...
59055         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
59056         struct random_data should be using the random_r module, not just
59057         the stdlib module (which wouldn't make sense: what package needs
59058         just struct random_data without also needing random_r?).
59059         * modules/stdlib (Depends-on): Remove stdint.
59061         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
59062         See the thread rooted at
59063         <http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
59064         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
59065         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
59066         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
59067         __VMS)); previously it was always included (via fcntl--.h).
59068         (getloadavg): Do not use c_strtod.  Instead, approximate it by
59069         hand; this is good enough for load averages.  Also, do not use
59070         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
59071         flags directly if available and don't bother otherwise.  (Packages
59072         that need the extra reliability should use the modules that define
59073         these flags on older platforms that lack them.)
59074         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
59075         fcntl-safer.
59077 2011-02-08  Jim Meyering  <meyering@redhat.com>
59079         di-set.h, ino-map.h: add multiple-inclusion guard
59080         Technically, the guard is required only for ino-map.h, due to its
59081         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
59082         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
59083         * lib/ino-map.h: Likewise.
59085 2011-02-06  Bruno Haible  <bruno@clisp.org>
59087         iswblank: Ensure declaration on glibc systems.
59088         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
59089         * modules/iswblank (Dependencies): Add 'extensions'.
59090         * doc/posix-functions/iswblank.texi: Document the glibc problem.
59092 2011-02-06  Bruno Haible  <bruno@clisp.org>
59094         New module 'iswblank'.
59095         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
59096         * modules/iswblank: New file.
59097         * modules/wctype-h (Files): Remove lib/iswblank.c.
59098         (Makefile.am): Substitute GNULIB_ISWBLANK.
59099         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
59100         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
59101         (gl_WCTYPE_H_DEFAULTS): New macro.
59102         (gl_WCTYPE_H): Require it. Remove iswblank related code.
59103         * modules/iswblank-tests: New file.
59104         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
59105         * tests/test-wctype-h.c (main): Remove iswblank tests.
59106         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
59107         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
59108         of 'wctype-h'.
59109         * NEWS: Mention the change.
59110         * modules/mbchar (Depends-on): Add iswblank.
59112 2011-02-08  Bruno Haible  <bruno@clisp.org>
59114         di-set tests: Refactor.
59115         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
59116         unnecessary includes.
59117         (ASSERT): Remove macro.
59118         (main): Make C90 compliant by avoiding variable declaration after
59119         statement.
59120         * modules/di-set-tests (Files): Add tests/macros.h.
59122 2011-02-08  Bruno Haible  <bruno@clisp.org>
59124         ino-map tests: Refactor.
59125         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
59126         unnecessary includes.
59127         (ASSERT): Remove macro.
59128         (main): Make C90 compliant by avoiding variable declaration after
59129         statement.
59130         * modules/ino-map-tests (Files): Add tests/macros.h.
59132 2011-02-08  Jim Meyering  <meyering@redhat.com>
59134         di-set: add "const" to a cast
59135         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
59136         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
59138 2011-02-06  Bruno Haible  <bruno@clisp.org>
59140         Rename module 'wctype' to 'wctype-h'.
59141         * modules/wctype-h: Renamed from modules/wctype.
59142         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
59143         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
59144         (Files, Depends-on, Makefile.am): Update.
59145         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
59146         (Files, Makefile.am): Update.
59147         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
59148         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
59149         * doc/posix-headers/wctype.texi: Update.
59150         * doc/posix-functions/iswalnum.texi: Update.
59151         * doc/posix-functions/iswalpha.texi: Update.
59152         * doc/posix-functions/iswblank.texi: Update.
59153         * doc/posix-functions/iswcntrl.texi: Update.
59154         * doc/posix-functions/iswdigit.texi: Update.
59155         * doc/posix-functions/iswgraph.texi: Update.
59156         * doc/posix-functions/iswlower.texi: Update.
59157         * doc/posix-functions/iswprint.texi: Update.
59158         * doc/posix-functions/iswpunct.texi: Update.
59159         * doc/posix-functions/iswspace.texi: Update.
59160         * doc/posix-functions/iswupper.texi: Update.
59161         * doc/posix-functions/iswxdigit.texi: Update.
59162         * doc/posix-functions/towlower.texi: Update.
59163         * doc/posix-functions/towupper.texi: Update.
59164         * NEWS: Mention the change.
59165         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
59166         * modules/mbchar (Dependencies): Likewise.
59167         * modules/mbswidth (Dependencies): Likewise.
59168         * modules/quotearg (Dependencies): Likewise.
59169         * modules/regex (Dependencies): Likewise.
59170         * modules/wcscasecmp (Dependencies): Likewise.
59171         * modules/wcsncasecmp (Dependencies): Likewise.
59172         * modules/wcwidth (Dependencies): Likewise.
59174 2011-02-06  Bruno Haible  <bruno@clisp.org>
59176         New module 'wcswidth'.
59177         * modules/wcswidth: New file.
59178         * lib/wchar.in.h (wcswidth): New declaration.
59179         * lib/wcswidth.c: New file.
59180         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
59181         * m4/wcswidth.m4: New file.
59182         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
59183         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
59184         REPLACE_WCSWIDTH.
59185         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
59186         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
59187         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
59188         * doc/posix-functions/wcswidth.texi: Mention the new module.
59190 2011-02-06  Bruno Haible  <bruno@clisp.org>
59192         New module 'wcstok'.
59193         * modules/wcstok: New file.
59194         * lib/wchar.in.h (wcstok): New declaration.
59195         * lib/wcstok.c: New file.
59196         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
59197         * m4/wcstok.m4: New file.
59198         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
59199         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
59200         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
59201         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
59202         * doc/posix-functions/wcstok.texi: Mention the new module.
59204 2011-02-06  Bruno Haible  <bruno@clisp.org>
59206         New module 'wcsstr'.
59207         * modules/wcsstr: New file.
59208         * lib/wchar.in.h (wcsstr): New declaration.
59209         * lib/wcsstr.c: New file.
59210         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
59211         * m4/wcsstr.m4: New file.
59212         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
59213         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
59214         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
59215         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
59216         * doc/posix-functions/wcsstr.texi: Mention the new module.
59218 2011-02-06  Bruno Haible  <bruno@clisp.org>
59220         New module 'wcspbrk'.
59221         * modules/wcspbrk: New file.
59222         * lib/wchar.in.h (wcspbrk): New declaration.
59223         * lib/wcspbrk.c: New file.
59224         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
59225         * m4/wcspbrk.m4: New file.
59226         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
59227         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
59228         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
59229         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
59230         * doc/posix-functions/wcspbrk.texi: Mention the new module.
59232 2011-02-06  Bruno Haible  <bruno@clisp.org>
59234         New module 'wcsspn'.
59235         * modules/wcsspn: New file.
59236         * lib/wchar.in.h (wcsspn): New declaration.
59237         * lib/wcsspn.c: New file.
59238         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
59239         * m4/wcsspn.m4: New file.
59240         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
59241         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
59242         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
59243         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
59244         * doc/posix-functions/wcsspn.texi: Mention the new module.
59246 2011-02-06  Bruno Haible  <bruno@clisp.org>
59248         New module 'wcscspn'.
59249         * modules/wcscspn: New file.
59250         * lib/wchar.in.h (wcscspn): New declaration.
59251         * lib/wcscspn.c: New file.
59252         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
59253         * m4/wcscspn.m4: New file.
59254         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
59255         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
59256         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
59257         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
59258         * doc/posix-functions/wcscspn.texi: Mention the new module.
59260 2011-02-06  Bruno Haible  <bruno@clisp.org>
59262         New module 'wcsrchr'.
59263         * modules/wcsrchr: New file.
59264         * lib/wchar.in.h (wcsrchr): New declaration.
59265         * lib/wcsrchr.c: New file.
59266         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
59267         * m4/wcsrchr.m4: New file.
59268         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
59269         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
59270         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
59271         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
59272         * doc/posix-functions/wcsrchr.texi: Mention the new module.
59274 2011-02-06  Bruno Haible  <bruno@clisp.org>
59276         New module 'wcschr'.
59277         * modules/wcschr: New file.
59278         * lib/wchar.in.h (wcschr): New declaration.
59279         * lib/wcschr.c: New file.
59280         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
59281         * m4/wcschr.m4: New file.
59282         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
59283         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
59284         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
59285         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
59286         * doc/posix-functions/wcschr.texi: Mention the new module.
59288 2011-02-06  Bruno Haible  <bruno@clisp.org>
59290         New module 'wcsdup'.
59291         * modules/wcsdup: New file.
59292         * lib/wchar.in.h (wcsdup): New declaration.
59293         * lib/wcsdup.c: New file.
59294         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
59295         * m4/wcsdup.m4: New file.
59296         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
59297         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
59298         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
59299         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
59300         * doc/posix-functions/wcsdup.texi: Mention the new module.
59302 2011-02-06  Bruno Haible  <bruno@clisp.org>
59304         New module 'wcsxfrm'.
59305         * modules/wcsxfrm: New file.
59306         * lib/wchar.in.h (wcsxfrm): New declaration.
59307         * lib/wcsxfrm.c: New file.
59308         * lib/wcsxfrm-impl.h: New file.
59309         * m4/wcsxfrm.m4: New file.
59310         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
59311         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
59312         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
59313         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
59314         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
59316 2011-02-06  Bruno Haible  <bruno@clisp.org>
59318         New module 'wcscoll'.
59319         * modules/wcscoll: New file.
59320         * lib/wchar.in.h (wcscoll): New declaration.
59321         * lib/wcscoll.c: New file.
59322         * lib/wcscoll-impl.h: New file.
59323         * m4/wcscoll.m4: New file.
59324         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
59325         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
59326         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
59327         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
59328         * doc/posix-functions/wcscoll.texi: Mention the new module.
59330 2011-02-06  Bruno Haible  <bruno@clisp.org>
59332         New module 'wcsncasecmp'.
59333         * modules/wcsncasecmp: New file.
59334         * lib/wchar.in.h (wcsncasecmp): New declaration.
59335         * lib/wcsncasecmp.c: New file.
59336         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
59337         * m4/wcsncasecmp.m4: New file.
59338         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
59339         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
59340         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
59341         HAVE_WCSNCASECMP.
59342         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
59343         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
59345 2011-02-06  Bruno Haible  <bruno@clisp.org>
59347         New module 'wcscasecmp'.
59348         * modules/wcscasecmp: New file.
59349         * lib/wchar.in.h (wcscasecmp): New declaration.
59350         * lib/wcscasecmp.c: New file.
59351         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
59352         * m4/wcscasecmp.m4: New file.
59353         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
59354         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
59355         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
59356         HAVE_WCSCASECMP.
59357         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
59358         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
59360 2011-02-05  Bruno Haible  <bruno@clisp.org>
59362         New module 'wcsncmp'.
59363         * modules/wcsncmp: New file.
59364         * lib/wchar.in.h (wcsncmp): New declaration.
59365         * lib/wcsncmp.c: New file.
59366         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
59367         * m4/wcsncmp.m4: New file.
59368         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
59369         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
59370         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
59371         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
59372         * doc/posix-functions/wcsncmp.texi: Mention the new module.
59374 2011-02-05  Bruno Haible  <bruno@clisp.org>
59376         New module 'wcscmp'.
59377         * modules/wcscmp: New file.
59378         * lib/wchar.in.h (wcscmp): New declaration.
59379         * lib/wcscmp.c: New file.
59380         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
59381         * m4/wcscmp.m4: New file.
59382         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
59383         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
59384         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
59385         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
59386         * doc/posix-functions/wcscmp.texi: Mention the new module.
59388 2011-02-05  Bruno Haible  <bruno@clisp.org>
59390         New module 'wcsncat'.
59391         * modules/wcsncat: New file.
59392         * lib/wchar.in.h (wcsncat): New declaration.
59393         * lib/wcsncat.c: New file.
59394         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
59395         * m4/wcsncat.m4: New file.
59396         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
59397         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
59398         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
59399         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
59400         * doc/posix-functions/wcsncat.texi: Mention the new module.
59402 2011-02-05  Bruno Haible  <bruno@clisp.org>
59404         New module 'wcscat'.
59405         * modules/wcscat: New file.
59406         * lib/wchar.in.h (wcscat): New declaration.
59407         * lib/wcscat.c: New file.
59408         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
59409         * m4/wcscat.m4: New file.
59410         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
59411         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
59412         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
59413         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
59414         * doc/posix-functions/wcscat.texi: Mention the new module.
59416 2011-02-05  Bruno Haible  <bruno@clisp.org>
59418         New module 'wcpncpy'.
59419         * modules/wcpncpy: New file.
59420         * lib/wchar.in.h (wcpncpy): New declaration.
59421         * lib/wcpncpy.c: New file.
59422         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
59423         * m4/wcpncpy.m4: New file.
59424         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
59425         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
59426         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
59427         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
59428         * doc/posix-functions/wcpncpy.texi: Mention the new module.
59430 2011-02-05  Bruno Haible  <bruno@clisp.org>
59432         New module 'wcsncpy'.
59433         * modules/wcsncpy: New file.
59434         * lib/wchar.in.h (wcsncpy): New declaration.
59435         * lib/wcsncpy.c: New file.
59436         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
59437         * m4/wcsncpy.m4: New file.
59438         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
59439         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
59440         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
59441         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
59442         * doc/posix-functions/wcsncpy.texi: Mention the new module.
59444 2011-02-05  Bruno Haible  <bruno@clisp.org>
59446         New module 'wcpcpy'.
59447         * modules/wcpcpy: New file.
59448         * lib/wchar.in.h (wcpcpy): New declaration.
59449         * lib/wcpcpy.c: New file.
59450         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
59451         * m4/wcpcpy.m4: New file.
59452         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
59453         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
59454         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
59455         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
59456         * doc/posix-functions/wcpcpy.texi: Mention the new module.
59458 2011-02-05  Bruno Haible  <bruno@clisp.org>
59460         New module 'wcscpy'.
59461         * modules/wcscpy: New file.
59462         * lib/wchar.in.h (wcscpy): New declaration.
59463         * lib/wcscpy.c: New file.
59464         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
59465         * m4/wcscpy.m4: New file.
59466         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
59467         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
59468         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
59469         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
59470         * doc/posix-functions/wcscpy.texi: Mention the new module.
59472 2011-02-05  Bruno Haible  <bruno@clisp.org>
59474         New module 'wcsnlen'.
59475         * modules/wcsnlen: New file.
59476         * lib/wchar.in.h (wcsnlen): New declaration.
59477         * lib/wcsnlen.c: New file.
59478         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
59479         * m4/wcsnlen.m4: New file.
59480         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
59481         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
59482         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
59483         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
59484         * doc/posix-functions/wcsnlen.texi: Mention the new module.
59486 2011-02-05  Bruno Haible  <bruno@clisp.org>
59488         New module 'wcslen'.
59489         * modules/wcslen: New file.
59490         * lib/wchar.in.h (wcslen): New declaration.
59491         * lib/wcslen.c: New file.
59492         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
59493         * m4/wcslen.m4: New file.
59494         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
59495         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
59496         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
59497         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
59498         * doc/posix-functions/wcslen.texi: Mention the new module.
59500 2011-02-05  Bruno Haible  <bruno@clisp.org>
59502         New module 'wmemset'.
59503         * modules/wmemset: New file.
59504         * lib/wchar.in.h (wmemset): New declaration.
59505         * lib/wmemset.c: New file.
59506         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
59507         * m4/wmemset.m4: New file.
59508         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
59509         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
59510         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
59511         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
59512         * doc/posix-functions/wmemset.texi: Mention the new module.
59514 2011-02-05  Bruno Haible  <bruno@clisp.org>
59516         New module 'wmemmove'.
59517         * modules/wmemmove: New file.
59518         * lib/wchar.in.h (wmemmove): New declaration.
59519         * lib/wmemmove.c: New file.
59520         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
59521         * m4/wmemmove.m4: New file.
59522         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
59523         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
59524         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
59525         HAVE_WMEMMOVE.
59526         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
59527         * doc/posix-functions/wmemmove.texi: Mention the new module.
59529 2011-02-05  Bruno Haible  <bruno@clisp.org>
59531         New module 'wmemcpy'.
59532         * modules/wmemcpy: New file.
59533         * lib/wchar.in.h (wmemcpy): New declaration.
59534         * lib/wmemcpy.c: New file.
59535         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
59536         * m4/wmemcpy.m4: New file.
59537         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
59538         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
59539         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
59540         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
59541         * doc/posix-functions/wmemcpy.texi: Mention the new module.
59543 2011-02-05  Bruno Haible  <bruno@clisp.org>
59545         New module 'wmemcmp'.
59546         * modules/wmemcmp: New file.
59547         * lib/wchar.in.h (wmemcmp): New declaration.
59548         * lib/wmemcmp.c: New file.
59549         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
59550         * m4/wmemcmp.m4: New file.
59551         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
59552         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
59553         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
59554         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
59555         * doc/posix-functions/wmemcmp.texi: Mention the new module.
59557 2011-02-07  Jim Meyering  <meyering@redhat.com>
59559         di-set, ino-map: new modules, from coreutils
59560         * lib/di-set.c: New file.
59561         * lib/di-set.h: Likewise.
59562         * lib/ino-map.c: Likewise.
59563         * lib/ino-map.h: Likewise.
59564         * modules/di-set: Likewise.
59565         * modules/di-set-tests: Likewise.
59566         * modules/ino-map: Likewise.
59567         * modules/ino-map-tests: Likewise.
59568         * tests/test-di-set.c: Likewise.
59569         * tests/test-ino-map.c: Likewise.
59571 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
59573         getloadavg: merge minor changes from Emacs
59575         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
59576         (getloadavg): Use memset, not bzero.
59578         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
59579         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
59580         clash (bug#86).
59582 2010-11-14  Bruno Haible  <bruno@clisp.org>
59584         Allow multiple gnulib generated replacements to coexist.
59585         * lib/getopt.in.h (struct option): Avoid identical redefinition.
59586         * lib/inttypes.in.h (imaxdiv_t): Likewise.
59587         * lib/langinfo.in.h (nl_item): Likewise.
59588         * lib/math.in.h (_NaN, NAN): Likewise.
59589         * lib/netdb.in.h (struct addrinfo): Likewise.
59590         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
59591         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
59592         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
59593         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
59594         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
59595         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
59596         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
59597         pthread_mutexattr_init, pthread_mutexattr_settype,
59598         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
59599         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
59600         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
59601         pthread_spin_trylock, pthread_spin_unlock): Likewise.
59602         * lib/sched.in.h (struct sched_param): Likewise.
59603         * lib/se-selinux.in.h (security_class_t, security_context_t,
59604         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
59605         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
59606         lsetfilecon, fsetfilecon, security_check_context,
59607         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
59608         Likewise.
59609         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
59610         Likewise.
59611         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
59612         _gl_function_taking_int_returning_void_t, union sigval,
59613         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
59614         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
59615         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
59616         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
59617         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
59618         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
59619         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
59620         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
59621         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
59622         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
59623         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
59624         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
59625         socklen_t, rpl_fd_isset): Likewise.
59626         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
59627         * lib/sys_time.in.h (struct timeval): Likewise.
59628         * lib/sys_times.in.h (struct tms): Likewise.
59629         * lib/sys_utsname.in.h (struct utsname):
59630         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
59631         * lib/unistd.in.h (getpagesize): Likewise.
59632         * lib/wchar.in.h (mbstate_t): Likewise.
59633         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59634         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
59635         towlower, towupper): Likewise.
59636         Reported by Sam Steingold <sds@gnu.org>.
59638 2011-02-05  Eric Blake  <eblake@redhat.com>
59640         unsetenv: work around Haiku issues
59641         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
59642         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
59644 2010-12-30  Bruce Korb  <bkorb@gnu.org>
59646         libposix: avoid calling error() within libposix
59647         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
59648         is defined.
59650 2011-02-05  Eric Blake  <eblake@redhat.com>
59652         strerror_r-posix: port to cygwin
59653         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
59654         implementation.
59655         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
59656         * tests/test-strerror_r.c (main): Fix test.
59657         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
59658         issue.
59660 2011-02-05  Bruno Haible  <bruno@clisp.org>
59662         New module 'wmemchr'.
59663         * modules/wmemchr: New file.
59664         * lib/wchar.in.h (wmemchr): New declaration.
59665         * lib/wmemchr.c: New file.
59666         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
59667         * m4/wmemchr.m4: New file.
59668         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
59669         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
59670         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
59671         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
59672         * doc/posix-functions/wmemchr.texi: Mention the new module.
59674 2011-02-04  Eric Blake  <eblake@redhat.com>
59676         fdopendir: detect FreeBSD bug
59677         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
59678         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
59680 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
59682         stdbool: do not define HAVE_STDBOOL_H
59683         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
59684         AC_HEADER_STDBOOL.  All uses changed.  Do not define
59685         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
59686         imported from the latest Autoconf git.  It was motivated by Emacs,
59687         which uses gnulib but does not need HAVE_STDBOOL_H.
59689 2011-02-04  Bruno Haible  <bruno@clisp.org>
59691         wcsnrtombs: Prepare for new module wwcsnrtombs.
59692         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
59693         * lib/wcsnrtombs.c: Include it.
59694         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
59696         wcsrtombs: Prepare for new module wwcsrtombs.
59697         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
59698         * lib/wcsrtombs.c: Include it.
59699         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
59701         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
59702         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
59703         * lib/mbsnrtowcs.c: Include it.
59704         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
59706         mbsrtowcs: Prepare for new module mbsrtowwcs.
59707         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
59708         * lib/mbsrtowcs.c: Include it.
59709         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
59711 2011-02-04  Bruno Haible  <bruno@clisp.org>
59713         vasnprintf: Reduce use of malloc for small format strings.
59714         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
59715         (arguments): Add room for the first 7 arguments.
59716         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
59717         (char_directives, u8_directives, u16_directives, u32_directives): Add
59718         room for the first 7 directives.
59719         * lib/printf-parse.c: Include <string.h>.
59720         (PRINTF_PARSE): Change memory handling code so that it uses the first
59721         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
59722         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
59723         Reported by Pádraig Brady <P@draigbrady.com>.
59725 2011-01-31  Eric Blake  <eblake@redhat.com>
59727         dup2: work around Haiku bug
59728         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
59729         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
59730         * doc/posix-functions/dup2.texi (dup2): Document the bug.
59731         * tests/test-dup2.c (main): Enhance test.
59733 2011-01-31  Simon Josefsson  <simon@josefsson.org>
59735         doc: off_t is not available in eglibc 2.11.2 stdio.h.
59736         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
59737         declared by eglibc 2.11.2.
59738         * lib/stdio.in.h: Likewise.
59740 2011-01-31  Eric Blake  <eblake@redhat.com>
59742         ignore-value: add missing test dependency
59743         * tests/test-ignore-value.c: Revert previous change; stdio.h
59744         provides off_t.
59745         * modules/ignore-value-tests (Depends-on): Add missing dependency.
59747 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
59749         mktime: clarify long_int width checking
59750         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
59751         the top level, to make it clearer that the assumption about
59752         long_int width is being checked.  See
59753         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.
59755 2011-01-30  Simon Josefsson  <simon@josefsson.org>
59757         ignore-value: Fix self-test.
59758         * tests/test-ignore-value.c: Include sys/types.h for off_t.
59760 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
59762         TYPE_MAXIMUM: avoid theoretically undefined behavior
59763         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
59764         negative number, which the C Standard says has undefined behavior.
59765         In practice this is not a problem, but might as well do it by the book.
59766         Reported by Rich Felker and Eric Blake; see
59767         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
59768         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
59769         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
59770         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
59771         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
59772         * m4/stdint.m4 (gl_STDINT_H): Likewise.
59773         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
59775         mktime: #undef mktime before #defining it
59776         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
59778         mktime: systematically normalize tm_isdst comparisons
59779         * lib/mktime.c (isdst_differ): New function.
59780         (__mktime_internal): Use it systematically for all isdst comparisons.
59781         This completes the fix for libc BZ #6723, and removes the need for
59782         normalizing tm_isdst.  See
59783         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
59784         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
59786         mktime: fix some integer overflow issues and sidestep the rest
59788         This was prompted by a bug report by Benjamin Lindner for MinGW
59789         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
59790         His bug is due to signed integer overflow (0 - INT_MIN), and I
59791         I scanned through mktime.c looking for other integer overflow
59792         problems, fixing all the bugs I found.
59794         Although the C Standard says the resulting code is still not safe
59795         in the presence of integer overflow, in practice it should be good
59796         enough for all real-world two's-complement implementations, except
59797         for debugging environments that deliberately trap on integer
59798         overflow (e.g., gcc -ftrapv).
59800         * lib/mktime.c (WRAPV): New macro.
59801         (SHR): Also check that long_int and time_t shift right in the
59802         usual way, before using the fast-but-unportable method.
59803         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
59804         used.  The code already assumed two's complement, so there's
59805         no need to test for alternatives.  All uses removed.
59806         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
59807         the C standard.  Problem reported by Rich Felker in
59808         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
59809         (twos_complement_arithmetic): Also check long_int and time_t.
59810         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
59811         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
59812         (__mktime_internal): Avoid integer overflow with unary subtraction
59813         in two instances where -1 - X is an adequate replacement for -X,
59814         since the calculations are approximate.
59816 2011-01-29  Eric Blake  <eblake@redhat.com>
59818         mktime: avoid infinite loop
59819         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
59820         type; behavior is still undefined but portable to all known targets.
59821         Reported by Rich Felker.
59823 2011-01-29  Simon Josefsson  <simon@josefsson.org>
59825         rename, unlink, same-inode: Relicense.
59826         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
59827         * modules/unlink (License): Likewise.
59828         * modules/same-inode (License): Likewise.
59830 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59832         mktime: avoid problems on NetBSD 5 / i386
59833         * lib/mktime.c (long_int): New type.  This works around a problem
59834         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
59835         but time_t is 64 bits, and where I expect the existing code is
59836         wrong in some cases.
59837         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
59838         (ydhms_diff): Bring back the compile-time check for wide-enough
59839         year and yday.
59841         mktime: fix misspelling in comment
59842         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
59843         This merges all recent glibc changes of importance.
59845 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59847         move-if-change: cope with concurrent mv of identical file.
59848         * build-aux/move-if-change (CMPPROG): Accept environment
59849         variable as an override for `cmp'.
59850         (usage): Document CMPPROG.
59851         Adjust comparison to drop stdout.  Cope with failure of mv if
59852         the target file exists and is identical to the source, for
59853         parallel builds.
59854         Report from H.J. Lu against binutils in PR binutils/12283.
59856 2011-01-28  Bruce Korb  <bkorb@gnu.org>
59858         * users.txt: Mention sharutils.
59860 2011-01-28  Simon Josefsson  <simon@josefsson.org>
59862         * users.txt: Mention OATH Toolkit.
59864 2011-01-27  Bruno Haible  <bruno@clisp.org>
59866         Prepare for supporting FreeBSD 10.
59867         * build-aux/config.libpath: Remove handling of freebsd1*.
59869 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
59871         Prepare for supporting FreeBSD 10.
59872         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
59873         match FreeBSD 10.0.
59875 2011-01-27  Bruno Haible  <bruno@clisp.org>
59877         vma-iter, get-rusage-as: Add OpenBSD support.
59878         * modules/vma-iter (configure.ac): Test for mquery.
59879         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
59880         * lib/vma-iter.c: Include <sys/mman.h>.
59881         (vma_iterate): Add an implementation based on mquery().
59882         * lib/resource-ext.h (get_rusage_as): Update comments.
59883         * lib/get-rusage-as.c: Likewise.
59884         * lib/get-rusage-data.c: Likewise.
59886 2011-01-26  Karl Berry  <karl@gnu.org>
59888         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
59889         variables to make it easier to override the makeinfo program used.
59891 2011-01-26  Eric Blake  <eblake@redhat.com>
59893         fcntl: work around Haiku F_DUPFD bugs
59894         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
59895         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
59896         cloexec bit on duplication.
59897         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
59899 2011-01-26  Bruno Haible  <bruno@clisp.org>
59901         Enable memory leak tests on AIX.
59902         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
59903         * tests/test-fprintf-posix3.c (main): Likewise.
59905 2011-01-26  Bruno Haible  <bruno@clisp.org>
59907         Tests for module 'get-rusage-data'.
59908         * modules/get-rusage-data-tests: New file.
59909         * tests/test-get-rusage-data.c: New file.
59911         New module 'get-rusage-data'.
59912         * lib/resource-ext.h (get_rusage_data): New declaration.
59913         * lib/get-rusage-data.c: New file.
59914         * modules/get-rusage-data: New file.
59916 2011-01-25  Bruno Haible  <bruno@clisp.org>
59918         get-rusage-as: Allow for easier testing.
59919         * lib/resource-ext.h (get_rusage_as): Add comment.
59920         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
59921         (main): New function for interactive testing.
59923 2011-01-25  Bruno Haible  <bruno@clisp.org>
59925         vma-iter: Treat Haiku like BeOS.
59926         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
59927         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
59929 2011-01-25  Eric Blake  <eblake@redhat.com>
59931         c-stack: fix regression on cygwin when libsigsegv is present
59932         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
59934 2011-01-24  Bruno Haible  <bruno@clisp.org>
59936         vma-iter: Avoid empty intervals.
59937         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
59938         on an empty interval.
59940 2011-01-24  Jim Meyering  <meyering@redhat.com>
59942         u64: remove unnecessary #include
59943         * lib/u64.h: Don't include <stddef.h>.  It was not used.
59945 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59947         Allow the user to avoid the HAVE_RAW_DECL_* macros.
59948         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
59950 2011-01-23  Bruno Haible  <bruno@clisp.org>
59952         New module 'vma-iter'.
59953         * lib/vma-iter.h: New file.
59954         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
59955         * modules/vma-iter: New file.
59956         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
59957         for get_rusage_as_via_iterator.
59958         (vma_iterate_callback): New function.
59959         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
59960         * modules/get-rusage-as (Depends-on): Add vma-iter.
59962 2011-01-23  Bruno Haible  <bruno@clisp.org>
59964         uninorm: Tweak includes.
59965         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
59966         Reported by Jim Meyering.
59968 2011-01-23  Bruno Haible  <bruno@clisp.org>
59970         get-rusage-as: Improve on NetBSD.
59971         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
59972         /proc, like on FreeBSD.
59974 2011-01-23  Jim Meyering  <meyering@redhat.com>
59976         xreadlink.h: remove unnecessary #include
59977         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
59979         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
59980         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
59982 2011-01-23  Bruno Haible  <bruno@clisp.org>
59984         get-rusage-as: Fix bug.
59985         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
59986         original limit when aborting the first loop.
59988 2011-01-23  Bruno Haible  <bruno@clisp.org>
59990         wctype: Ensure valid C syntax.
59991         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
59992         unconditionally, instead of gl_NEXT_HEADERS conditionally.
59994 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59996         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
59997         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
59998         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
59999         as they are needed only for configure's test case.
60000         This removes two unnecessary symbols from config.h.
60002         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
60003         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
60004         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
60005         AC_CHECK_HEADERS_ONCE on a header that we also invoke
60006         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
60007         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
60008         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
60009         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
60010         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
60011         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
60012         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
60013         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60014         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
60015         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
60016         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
60017         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
60018         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
60019         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
60021 2011-01-21  Eric Blake  <eblake@redhat.com>
60023         maintainer-makefile: work with older git for submodule check
60024         * top/maint.mk (public-submodule-commit): Rewrite to avoid
60025         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
60026         Reported by Matthias Bolte.
60028         bootstrap: minor portability fixes
60029         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
60030         (usage): Omit leading capital and trailing . on help phrases, per
60031         GNU Coding Standards.
60032         (check_versions, top level): Prefix messages with script name.
60034 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
60036         bootstrap: support --no-git option
60037         * build-aux/bootstrap: Add --no-git option, to be used when
60038         --gnulib-srcdir points to the exact desired checkout.
60040 2011-01-21  Eric Blake  <eblake@redhat.com>
60042         strerror_r-posix: work with glibc 2.13
60043         * lib/strerror_r.c (strerror_r): Fix return type.
60045 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60046             Bruno Haible  <bruno@clisp.org>
60048         uN_strstr: New unit tests.
60049         * modules/unistr/u8-strstr-tests: New file.
60050         * modules/unistr/u16-strstr-tests: New file.
60051         * modules/unistr/u32-strstr-tests: New file.
60052         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
60053         * tests/unistr/test-u8-strstr.c: New file.
60054         * tests/unistr/test-u16-strstr.c: New file.
60055         * tests/unistr/test-u32-strstr.c: New file.
60057 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60058             Bruno Haible  <bruno@clisp.org>
60060         Make uN_strstr functions O(n) worst-case.
60061         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
60062         16-bit and 32-bit unit cases, use the unibyte algorithm from
60063         lib/mbsstr.c.
60064         * lib/unistr/u8-strstr.c: Include <string.h>.
60065         (UNIT_IS_UINT8_T): New macro.
60066         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
60067         (U_STRLEN, U_STRNLEN): New macros.
60068         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
60069         (U_STRLEN, U_STRNLEN): New macros.
60070         * modules/unistr/u8-strstr (Depends-on): Add strstr.
60071         (configure.ac): Update required libunistring version.
60072         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
60073         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
60074         malloca.
60075         (configure.ac): Update required libunistring version.
60076         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
60077         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
60078         malloca.
60079         (configure.ac): Update required libunistring version.
60081 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60082             Bruno Haible  <bruno@clisp.org>
60084         Prepare for faster uN_strstr functions.
60085         * lib/str-kmp.h: Support definable UNITs.
60086         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
60087         needle_len argument.
60088         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
60089         * lib/mbscasestr.c (mbscasestr): Likewise.
60091 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60093         malloca-tests: make faster by unsetting MALLOC_PERTURB_
60094         * tests/test-malloca.c (main): Unset the environment variable
60095         to greatly speed up the test.
60096         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
60097         * modules/malloca-tests: Depend on unsetenv.
60099 2011-01-21  Pádraig Brady  <P@draigBrady.com>
60101         ignore-value: remove stdint dependency
60102         * lib/ignore-value.h: Remove <stdint.h>
60103         * modules/ignore-value: Remove stdint dependency.
60105 2011-01-21  Jim Meyering  <meyering@redhat.com>
60107         maint.mk: adjust variable name to be consistent with other gl_ vars
60108         * top/maint.mk (gl_public_submodule_commit): Rename the variable
60109         to be lower case.
60111 2011-01-20  Jim Meyering  <meyering@redhat.com>
60113         maint.mk: make "check" depend on public-submodule-commit by default
60114         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
60116 2011-01-20  Bruno Haible  <bruno@clisp.org>
60118         mbfile, mbiter: Complete change from 2008-12-21.
60119         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
60120         * m4/mbiter.m4 (gl_MBITER): Likewise.
60122 2011-01-20  Jim Meyering  <meyering@redhat.com>
60124         init.sh: insert space between each function name and "()"
60125         * tests/init.sh: Make it a little easier to see that a function's
60126         name is "warn_", and not "warn" when looking at the first part of
60127         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
60129 2011-01-20  Jim Meyering  <meyering@redhat.com>
60131         mountlist: clean up code formatting
60132         * lib/mountlist.c (read_file_system_list): Split a long line,
60133         correct bracing style, use NULL in place of "(struct statfs *)0",
60134         don't parenthesize return value, add spaces around "=" and after
60135         ";-in-for-stmt".
60137 2011-01-14  Markus Duft  <mduft@gentoo.org>
60139         mountlist: add support for Interix
60140         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
60141         Apply statvfs to all entries of /dev/fs.
60142         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
60143         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
60145 2011-01-20  Jim Meyering  <meyering@redhat.com>
60147         maint.mk: improve the public-submodule-commit rule
60148         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
60149         to suppress printing of its commands... unless V=1.
60150         Add git submodule's --quiet option to suppress printing of e.g.,
60151         "Entering gnulib" output.
60152         "cd" into $(srcdir) before running git submodule.
60154 2011-01-20  Bruno Haible  <bruno@clisp.org>
60156         include_next: Fix bug introduced on 2011-01-18.
60157         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
60158         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
60159         ac_cv_header_... variable if the second argument is not 'check'.
60160         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
60161         gl_NEXT_HEADERS_INTERNAL.
60163 2011-01-20  Bruno Haible  <bruno@clisp.org>
60165         Allow the user to avoid the GNULIB_TEST_* macros.
60166         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
60167         Suggested by Paul Eggert.
60169 2011-01-14  Jim Meyering  <meyering@redhat.com>
60171         bootstrap: avoid failure when there is no .gitmodules file
60172         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
60173         has been assigned to, even when its value is the empty string.
60174         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
60175         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
60176         Reported by John W. Eaton <jwe@gnu.org>.
60178 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
60180         assume <ctype.h>, ..., <time.h> exist
60181         For years gnulib has been assuming the existence of the headers
60182         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
60183         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
60184         them, since they don't appear to be needed.
60185         * README (Portability guidelines): Document this.
60186         * lib/flock.c: Assume <fcntl.h> exists.
60187         * lib/regex_internal.h: Assume <locale.h> exists.
60188         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
60189         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
60190         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
60191         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
60192         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
60193         * m4/regex.m4 (gl_REGEX): Likewise.
60194         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
60195         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
60196         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
60197         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
60198         * tests/test-argp.c: Likewise.
60199         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
60201         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
60202         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
60203         AA_APPLE_UNIVERSAL_BUILD.  See
60204         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
60205         * NEWS: Document this.
60207 2011-01-19  Eric Blake  <eblake@redhat.com>
60209         c-stack: assume stack overflow if SA_SIGINFO unsupported
60210         * lib/c-stack.c (SIGACTION_WORKS): Rename...
60211         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
60212         sigaction will work.
60213         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
60214         behavior match Linux.
60215         * tests/test-c-stack.c (main): Prefer NULL for pointers.
60217         stdbool-tests: accommodate Haiku
60218         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
60220         binary-io: fix O_TEXT on Haiku
60221         * modules/binary-io (Depends-on): Add fcntl-h.
60222         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
60223         than blindly undefining O_TEXT.
60224         Reported by Scott McCreary.
60226 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60228         include_next: do not check for standard headers like stddef.h
60230         I found this problem when modifying Emacs to use gnulib.
60231         I noticed that it added HAVE_STDDEF_H to config.h, even though
60232         gnulib always assumes <stddef.h> exists as per README and this
60233         symbol is unnecessary.
60234         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
60235         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
60236         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
60237         faster for headers like stddef.h that are known to exist.
60238         (gl_CHECK_NEXT_HEADERS): Use it.
60239         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
60240         rather than gl_CHECK_NEXT_HEADERS.
60241         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
60242         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
60244 2011-01-18  Eric Blake  <eblake@redhat.com>
60246         ansi-c++-opt: skip C++ dependency style if C++ is unused
60247         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
60248         tests when we know C++ compilation is not desired.
60249         Reported by Scott McCreary.
60251 2011-01-18  Bruno Haible  <bruno@clisp.org>
60253         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
60254         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
60255         (main): Perform test also when getrlimit and setrlimit don't exist or
60256         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
60257         limiting the address space size using setrlimit, compare the address
60258         space size before and after the test.
60259         * tests/test-dprintf-posix2.c: Likewise.
60260         * tests/test-fprintf-posix3.sh: Update skip messages.
60261         * tests/test-dprintf-posix2.sh: Likewise.
60262         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
60263         * modules/dprintf-posix-tests (Depends-on): Likewise.
60264         Reported by Bruce Korb <bkorb@gnu.org> and
60265         Gary V. Vaughan <gary@gnu.org>.
60267 2011-01-18  Bruno Haible  <bruno@clisp.org>
60269         get-rusage-as: Improvement for Cygwin.
60270         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
60271         areas that are merely reserved.
60273 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
60275         strftime: remove dependencies on multibyte modules
60277         strftime depended on mbrlen, mbsinit, and wchar, but these modules
60278         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
60279         only if __osf__ is defined, and I suspect OSF doesn't need these
60280         other modules.  If my guess is wrong, we'll need to come up with a
60281         variant of strftime that doesn't need the multibyte modules.
60283         I discovered this problem when attempting modify Emacs to use the
60284         strftime module.  With the previous gnulib, this caused Emacs to
60285         need 31 new files, ranging from lib/config.charset to
60286         m4/wint_t.m4.  This was overkill and I expect would be offputting
60287         to the Emacs maintainers.  After this change, only 6 new files are
60288         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
60289         stdbool.m4, and tm_gmtoff.m4.
60291         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
60292         Suggested by Bruno Haible in
60293         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
60294         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
60295         and do not check for wchar.h.
60296         * modules/strftime (Files): Remove m4/mbstate_t.m4.
60297         (Depends-on): Remove mbrlen, mbsinit, wchar.
60299 2011-01-18  Bruno Haible  <bruno@clisp.org>
60301         Tests for module 'get-rusage-as'.
60302         * modules/get-rusage-as-tests: New file.
60303         * tests/test-get-rusage-as.c: New file.
60305         New module 'get-rusage-as'.
60306         * modules/get-rusage-as: New file.
60307         * lib/resource-ext.h: New file.
60308         * lib/get-rusage-as.c: New file.
60310 2011-01-17  Eric Blake  <eblake@redhat.com>
60312         sigaction: relax license from LGPLv3+ to LGPLv2+
60313         * modules/sigaction (License): Relax to LGPLv2+.
60315 2011-01-14  Bruno Haible  <bruno@clisp.org>
60317         filemode: Make function declarations usable in C++ mode.
60318         * lib/filemode.h: Enclose function declarations in extern "C" block.
60319         Reported by John W. Eaton <jwe@gnu.org>.
60321 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
60323         save-cwd: no longer include "xgetcwd.h"
60324         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
60325         This avoids a compilation failure in projects that use save-cwd
60326         without also using the xgetcwd module.
60328 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60330         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
60331         This is so that a program like Emacs, which needs only dtoastr,
60332         does not have to bother with distributing and compiling ftoastr
60333         and ldtoastr.
60334         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
60335         * modules/dtoastr, modules/ldtoastr: New files.
60336         * modules/ftoastr: Now works just for 'float'.
60337         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
60338         (Makefile.am): Remove ftoastr.h (not needed and no effect),
60339         dtoastr.c, ldtoastr.c.
60341 2011-01-11  Jim Meyering  <meyering@redhat.com>
60343         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
60344         There is no need to work around the lack of the fchdir function,
60345         since gnulib can now provide a replacement when required.
60346         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
60347         * modules/save-cwd (Depends-on): Add fchdir.
60349 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
60351         openat, save-cwd: avoid xmalloc
60353         This removes a direct (but undocumented) dependency of openat on
60354         xalloc, along with an indirect dependency via save-cwd.  It also
60355         removes a dependency of save-cwd on xgetcwd, and thereby
60356         indirectly on xalloc.  This change causes the openat substitute
60357         to fall back on save_cwd when memory is tight, and for save_cwd to
60358         fail instead of dying when memory is tight, but that's good enough.
60359         Problem and initial idea for fix reported by Bastien Roucaries in
60360         <http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.
60362         * lib/openat-proc.c: Include stdlib.h (for malloc), not
60363         xalloc.h (for xmalloc).
60364         (openat_proc_name): Use malloc, not xmalloc.
60365         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
60366         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
60368         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
60369         This avoids heap allocation for file names whose lengths are in
60370         the range 512..1023, with the upper bound increasing to at most
60371         4031 depending on the platform's PATH_MAX.  (We do not want
60372         pathmax.h here as it might supply a non-constant PATH_MAX.)
60373         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
60374         Perhaps they should be moved to malloca.h?
60375         (OPENAT_BUFFER_SIZE): Use them.
60377 2011-01-10  Bruno Haible  <bruno@clisp.org>
60379         doc: Update users.txt.
60380         * users.txt: Add recutils.
60382 2011-01-09  Karl Berry  <karl@gnu.org>
60384         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
60386         * doc/configmake.texi: New file.
60387         * doc/gnulib.texi: Include it.
60388         * modules/configmake: Move documentation from here.
60390 2011-01-09  Bruno Haible  <bruno@clisp.org>
60392         Update to Unicode 6.0.0.
60393         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
60394         (get_lbp): Update for Unicode 6.0.0.
60395         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
60396         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
60397         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
60398         U+11001, U+11038..U+11046. Remove U+06DE.
60399         (uc_width): Fix bounds of planes.
60400         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60401         lib/uniwidth/width.c.
60402         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
60403         trailing whitespace removed.
60404         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
60405         without comments, but with the original copyright notice.
60406         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
60407         * lib/unicase/ignorable.h: Likewise.
60408         * lib/unicase/tocasefold.h: Likewise.
60409         * lib/unicase/tolower.h: Likewise.
60410         * lib/unicase/totitle.h: Likewise.
60411         * lib/unicase/toupper.h: Likewise.
60412         * lib/unictype/bidi_of.h: Likewise.
60413         * lib/unictype/blocks.h: Likewise.
60414         * lib/unictype/categ_C.h: Likewise.
60415         * lib/unictype/categ_Cn.h: Likewise.
60416         * lib/unictype/categ_L.h: Likewise.
60417         * lib/unictype/categ_Ll.h: Likewise.
60418         * lib/unictype/categ_Lm.h: Likewise.
60419         * lib/unictype/categ_Lo.h: Likewise.
60420         * lib/unictype/categ_Lu.h: Likewise.
60421         * lib/unictype/categ_M.h: Likewise.
60422         * lib/unictype/categ_Mc.h: Likewise.
60423         * lib/unictype/categ_Me.h: Likewise.
60424         * lib/unictype/categ_Mn.h: Likewise.
60425         * lib/unictype/categ_N.h: Likewise.
60426         * lib/unictype/categ_Nd.h: Likewise.
60427         * lib/unictype/categ_No.h: Likewise.
60428         * lib/unictype/categ_P.h: Likewise.
60429         * lib/unictype/categ_Po.h: Likewise.
60430         * lib/unictype/categ_S.h: Likewise.
60431         * lib/unictype/categ_Sc.h: Likewise.
60432         * lib/unictype/categ_Sk.h: Likewise.
60433         * lib/unictype/categ_Sm.h: Likewise.
60434         * lib/unictype/categ_So.h: Likewise.
60435         * lib/unictype/categ_of.h: Likewise.
60436         * lib/unictype/combining.h: Likewise.
60437         * lib/unictype/ctype_alnum.h: Likewise.
60438         * lib/unictype/ctype_alpha.h: Likewise.
60439         * lib/unictype/ctype_graph.h: Likewise.
60440         * lib/unictype/ctype_lower.h: Likewise.
60441         * lib/unictype/ctype_print.h: Likewise.
60442         * lib/unictype/ctype_punct.h: Likewise.
60443         * lib/unictype/ctype_upper.h: Likewise.
60444         * lib/unictype/decdigit.h: Likewise.
60445         * lib/unictype/digit.h: Likewise.
60446         * lib/unictype/numeric.h: Likewise.
60447         * lib/unictype/pr_alphabetic.h: Likewise.
60448         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60449         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
60450         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
60451         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60452         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60453         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60454         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60455         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60456         * lib/unictype/pr_case_ignorable.h: Likewise.
60457         * lib/unictype/pr_cased.h: Likewise.
60458         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
60459         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
60460         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
60461         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
60462         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
60463         * lib/unictype/pr_combining.h: Likewise.
60464         * lib/unictype/pr_composite.h: Likewise.
60465         * lib/unictype/pr_currency_symbol.h: Likewise.
60466         * lib/unictype/pr_decimal_digit.h: Likewise.
60467         * lib/unictype/pr_deprecated.h: Likewise.
60468         * lib/unictype/pr_format_control.h: Likewise.
60469         * lib/unictype/pr_grapheme_base.h: Likewise.
60470         * lib/unictype/pr_grapheme_extend.h: Likewise.
60471         * lib/unictype/pr_grapheme_link.h: Likewise.
60472         * lib/unictype/pr_id_continue.h: Likewise.
60473         * lib/unictype/pr_id_start.h: Likewise.
60474         * lib/unictype/pr_ideographic.h: Likewise.
60475         * lib/unictype/pr_lowercase.h: Likewise.
60476         * lib/unictype/pr_math.h: Likewise.
60477         * lib/unictype/pr_numeric.h: Likewise.
60478         * lib/unictype/pr_other_alphabetic.h: Likewise.
60479         * lib/unictype/pr_other_id_continue.h: Likewise.
60480         * lib/unictype/pr_other_math.h: Likewise.
60481         * lib/unictype/pr_punctuation.h: Likewise.
60482         * lib/unictype/pr_sentence_terminal.h: Likewise.
60483         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60484         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60485         * lib/unictype/pr_unified_ideograph.h: Likewise.
60486         * lib/unictype/pr_uppercase.h: Likewise.
60487         * lib/unictype/pr_xid_continue.h: Likewise.
60488         * lib/unictype/pr_xid_start.h: Likewise.
60489         * lib/unictype/scripts.h: Likewise.
60490         * lib/unictype/scripts_byname.gperf: Likewise.
60491         * lib/unictype/sy_java_ident.h: Likewise.
60492         * lib/unigbrk/gbrkprop.h: Likewise.
60493         * lib/unilbrk/lbrkprop1.h: Likewise.
60494         * lib/unilbrk/lbrkprop2.h: Likewise.
60495         * lib/uninorm/decomposition-table2.h: Likewise.
60496         * lib/uniwbrk/wbrkprop.h: Likewise.
60497         * tests/unicase/test-cased.c: Likewise.
60498         * tests/unicase/test-ignorable.c: Likewise.
60499         * tests/unicase/test-uc_tolower.c: Likewise.
60500         * tests/unicase/test-uc_totitle.c: Likewise.
60501         * tests/unicase/test-uc_toupper.c: Likewise.
60502         * tests/unictype/test-categ_C.c: Likewise.
60503         * tests/unictype/test-categ_Cn.c: Likewise.
60504         * tests/unictype/test-categ_L.c: Likewise.
60505         * tests/unictype/test-categ_Ll.c: Likewise.
60506         * tests/unictype/test-categ_Lm.c: Likewise.
60507         * tests/unictype/test-categ_Lo.c: Likewise.
60508         * tests/unictype/test-categ_Lu.c: Likewise.
60509         * tests/unictype/test-categ_M.c: Likewise.
60510         * tests/unictype/test-categ_Mc.c: Likewise.
60511         * tests/unictype/test-categ_Me.c: Likewise.
60512         * tests/unictype/test-categ_Mn.c: Likewise.
60513         * tests/unictype/test-categ_N.c: Likewise.
60514         * tests/unictype/test-categ_Nd.c: Likewise.
60515         * tests/unictype/test-categ_No.c: Likewise.
60516         * tests/unictype/test-categ_P.c: Likewise.
60517         * tests/unictype/test-categ_Po.c: Likewise.
60518         * tests/unictype/test-categ_S.c: Likewise.
60519         * tests/unictype/test-categ_Sc.c: Likewise.
60520         * tests/unictype/test-categ_Sk.c: Likewise.
60521         * tests/unictype/test-categ_Sm.c: Likewise.
60522         * tests/unictype/test-categ_So.c: Likewise.
60523         * tests/unictype/test-ctype_alnum.c: Likewise.
60524         * tests/unictype/test-ctype_alpha.c: Likewise.
60525         * tests/unictype/test-ctype_graph.c: Likewise.
60526         * tests/unictype/test-ctype_lower.c: Likewise.
60527         * tests/unictype/test-ctype_print.c: Likewise.
60528         * tests/unictype/test-ctype_punct.c: Likewise.
60529         * tests/unictype/test-ctype_upper.c: Likewise.
60530         * tests/unictype/test-decdigit.h: Likewise.
60531         * tests/unictype/test-digit.h: Likewise.
60532         * tests/unictype/test-numeric.h: Likewise.
60533         * tests/unictype/test-pr_alphabetic.c: Likewise.
60534         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60535         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
60536         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
60537         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60538         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60539         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60540         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60541         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60542         * tests/unictype/test-pr_case_ignorable.c: Likewise.
60543         * tests/unictype/test-pr_cased.c: Likewise.
60544         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
60545         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
60546         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
60547         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
60548         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
60549         * tests/unictype/test-pr_combining.c: Likewise.
60550         * tests/unictype/test-pr_composite.c: Likewise.
60551         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60552         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60553         * tests/unictype/test-pr_deprecated.c: Likewise.
60554         * tests/unictype/test-pr_format_control.c: Likewise.
60555         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60556         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60557         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60558         * tests/unictype/test-pr_id_continue.c: Likewise.
60559         * tests/unictype/test-pr_id_start.c: Likewise.
60560         * tests/unictype/test-pr_ideographic.c: Likewise.
60561         * tests/unictype/test-pr_lowercase.c: Likewise.
60562         * tests/unictype/test-pr_math.c: Likewise.
60563         * tests/unictype/test-pr_numeric.c: Likewise.
60564         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60565         * tests/unictype/test-pr_other_id_continue.c: Likewise.
60566         * tests/unictype/test-pr_other_math.c: Likewise.
60567         * tests/unictype/test-pr_punctuation.c: Likewise.
60568         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60569         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60570         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60571         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60572         * tests/unictype/test-pr_uppercase.c: Likewise.
60573         * tests/unictype/test-pr_xid_continue.c: Likewise.
60574         * tests/unictype/test-pr_xid_start.c: Likewise.
60575         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60576         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60577         changes.
60578         * lib/unictype/categ_Cc.h: Likewise.
60579         * lib/unictype/categ_Cf.h: Likewise.
60580         * lib/unictype/categ_Co.h: Likewise.
60581         * lib/unictype/categ_Cs.h: Likewise.
60582         * lib/unictype/categ_Lt.h: Likewise.
60583         * lib/unictype/categ_Nl.h: Likewise.
60584         * lib/unictype/categ_Pc.h: Likewise.
60585         * lib/unictype/categ_Pd.h: Likewise.
60586         * lib/unictype/categ_Pe.h: Likewise.
60587         * lib/unictype/categ_Pf.h: Likewise.
60588         * lib/unictype/categ_Pi.h: Likewise.
60589         * lib/unictype/categ_Ps.h: Likewise.
60590         * lib/unictype/categ_Z.h: Likewise.
60591         * lib/unictype/categ_Zl.h: Likewise.
60592         * lib/unictype/categ_Zp.h: Likewise.
60593         * lib/unictype/categ_Zs.h: Likewise.
60594         * lib/unictype/ctype_blank.h: Likewise.
60595         * lib/unictype/ctype_cntrl.h: Likewise.
60596         * lib/unictype/ctype_digit.h: Likewise.
60597         * lib/unictype/ctype_space.h: Likewise.
60598         * lib/unictype/ctype_xdigit.h: Likewise.
60599         * lib/unictype/mirror.h: Likewise.
60600         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
60601         * lib/unictype/pr_bidi_block_separator.h: Likewise.
60602         * lib/unictype/pr_bidi_common_separator.h: Likewise.
60603         * lib/unictype/pr_bidi_control.h: Likewise.
60604         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
60605         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
60606         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60607         * lib/unictype/pr_bidi_pdf.h: Likewise.
60608         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
60609         * lib/unictype/pr_bidi_whitespace.h: Likewise.
60610         * lib/unictype/pr_dash.h: Likewise.
60611         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
60612         * lib/unictype/pr_diacritic.h: Likewise.
60613         * lib/unictype/pr_extender.h: Likewise.
60614         * lib/unictype/pr_hex_digit.h: Likewise.
60615         * lib/unictype/pr_hyphen.h: Likewise.
60616         * lib/unictype/pr_ids_binary_operator.h: Likewise.
60617         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
60618         * lib/unictype/pr_ignorable_control.h: Likewise.
60619         * lib/unictype/pr_iso_control.h: Likewise.
60620         * lib/unictype/pr_join_control.h: Likewise.
60621         * lib/unictype/pr_left_of_pair.h: Likewise.
60622         * lib/unictype/pr_line_separator.h: Likewise.
60623         * lib/unictype/pr_logical_order_exception.h: Likewise.
60624         * lib/unictype/pr_non_break.h: Likewise.
60625         * lib/unictype/pr_not_a_character.h: Likewise.
60626         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
60627         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
60628         * lib/unictype/pr_other_id_start.h: Likewise.
60629         * lib/unictype/pr_other_lowercase.h: Likewise.
60630         * lib/unictype/pr_other_uppercase.h: Likewise.
60631         * lib/unictype/pr_paired_punctuation.h: Likewise.
60632         * lib/unictype/pr_paragraph_separator.h: Likewise.
60633         * lib/unictype/pr_pattern_syntax.h: Likewise.
60634         * lib/unictype/pr_pattern_white_space.h: Likewise.
60635         * lib/unictype/pr_private_use.h: Likewise.
60636         * lib/unictype/pr_quotation_mark.h: Likewise.
60637         * lib/unictype/pr_radical.h: Likewise.
60638         * lib/unictype/pr_soft_dotted.h: Likewise.
60639         * lib/unictype/pr_space.h: Likewise.
60640         * lib/unictype/pr_titlecase.h: Likewise.
60641         * lib/unictype/pr_variation_selector.h: Likewise.
60642         * lib/unictype/pr_white_space.h: Likewise.
60643         * lib/unictype/pr_zero_width.h: Likewise.
60644         * lib/unictype/sy_c_ident.h: Likewise.
60645         * lib/unictype/sy_c_whitespace.h: Likewise.
60646         * lib/unictype/sy_java_whitespace.h: Likewise.
60647         * lib/uninorm/composition-table.gperf: Likewise.
60648         * lib/uninorm/decomposition-table1.h: Likewise.
60649         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
60650         LB8.
60651         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60652         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60653         * modules/unictype/*: Bump version number of expected libunistring
60654         version.
60656 2011-01-09  Bruno Haible  <bruno@clisp.org>
60658         Update to Unicode 5.2.0.
60659         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
60660         trailing whitespace removed.
60662 2011-01-09  Bruno Haible  <bruno@clisp.org>
60664         New Unicode character properties, from Unicode 5.2.0.
60665         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
60666         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
60667         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
60668         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
60669         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
60670         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
60671         uc_is_property_cased, uc_is_property_case_ignorable,
60672         uc_is_property_changes_when_lowercased,
60673         uc_is_property_changes_when_uppercased,
60674         uc_is_property_changes_when_titlecased,
60675         uc_is_property_changes_when_casefolded,
60676         uc_is_property_changes_when_casemapped): New declarations.
60677         * lib/unictype/pr_byname.gperf: Add the new properties.
60678         * modules/unictype/property-byname (Depends-on): Depend on the new
60679         properties modules.
60680         * modules/unictype/property-all (Depends-on): Likewise.
60681         * MODULES.html.sh (Unicode string functions): Add
60682         unictype/property-case-ignorable, unictype/property-cased,
60683         unictype/property-changes-when-casefolded,
60684         unictype/property-changes-when-casemapped,
60685         unictype/property-changes-when-lowercased,
60686         unictype/property-changes-when-titlecased,
60687         unictype/property-changes-when-uppercased.
60689         New module 'unictype/property-changes-when-casemapped'.
60690         * modules/unictype/property-changes-when-casemapped: New file.
60691         * lib/unictype/pr_changes_when_casemapped.c: New file.
60692         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
60693         generated by gen-uni-tables.
60694         * modules/unictype/property-changes-when-casemapped-tests: New file.
60695         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
60696         automatically generated by gen-uni-tables.
60698         New module 'unictype/property-changes-when-casefolded'.
60699         * modules/unictype/property-changes-when-casefolded: New file.
60700         * lib/unictype/pr_changes_when_casefolded.c: New file.
60701         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
60702         generated by gen-uni-tables.
60703         * modules/unictype/property-changes-when-casefolded-tests: New file.
60704         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
60705         automatically generated by gen-uni-tables.
60707         New module 'unictype/property-changes-when-titlecased'.
60708         * modules/unictype/property-changes-when-titlecased: New file.
60709         * lib/unictype/pr_changes_when_titlecased.c: New file.
60710         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
60711         generated by gen-uni-tables.
60712         * modules/unictype/property-changes-when-titlecased-tests: New file.
60713         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
60714         automatically generated by gen-uni-tables.
60716         New module 'unictype/property-changes-when-uppercased'.
60717         * modules/unictype/property-changes-when-uppercased: New file.
60718         * lib/unictype/pr_changes_when_uppercased.c: New file.
60719         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
60720         generated by gen-uni-tables.
60721         * modules/unictype/property-changes-when-uppercased-tests: New file.
60722         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
60723         automatically generated by gen-uni-tables.
60725         New module 'unictype/property-changes-when-lowercased'.
60726         * modules/unictype/property-changes-when-lowercased: New file.
60727         * lib/unictype/pr_changes_when_lowercased.c: New file.
60728         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
60729         generated by gen-uni-tables.
60730         * modules/unictype/property-changes-when-lowercased-tests: New file.
60731         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
60732         automatically generated by gen-uni-tables.
60734         New module 'unictype/property-case-ignorable'.
60735         * modules/unictype/property-case-ignorable: New file.
60736         * lib/unictype/pr_case_ignorable.c: New file.
60737         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
60738         by gen-uni-tables.
60739         * modules/unictype/property-case-ignorable-tests: New file.
60740         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
60741         generated by gen-uni-tables.
60743         New module 'unictype/property-cased'.
60744         * modules/unictype/property-cased: New file.
60745         * lib/unictype/pr_cased.c: New file.
60746         * lib/unictype/pr_cased.h: New file, automatically generated by
60747         gen-uni-tables.
60748         * modules/unictype/property-cased-tests: New file.
60749         * tests/unictype/test-pr_cased.c: New file, automatically generated by
60750         gen-uni-tables.
60752 2011-01-09  Bruno Haible  <bruno@clisp.org>
60754         Update to Unicode 5.2.0.
60755         * lib/gen-uni-tables.c (output_predicate, output_category,
60756         output_combclass, output_bidi_category, output_decimal_digit_test,
60757         output_decimal_digit, output_digit_test, output_digit,
60758         output_numeric_test, output_numeric, output_mirror, output_scripts,
60759         output_scripts_byname, output_blocks, output_ident_category): Fix
60760         comment header.
60761         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
60762         get_wbp.
60763         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
60764         items.
60765         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
60766         Changes_When_Lowercased, Changes_When_Uppercased,
60767         Changes_When_Titlecased, Changes_When_Casefolded,
60768         Changes_When_Casemapped.
60769         (is_property_alphabetic, is_property_default_ignorable_code_point):
60770         Update for Unicode 5.2.0.
60771         (is_property_cased, is_property_case_ignorable,
60772         is_property_changes_when_lowercased,
60773         is_property_changes_when_uppercased,
60774         is_property_changes_when_titlecased,
60775         is_property_changes_when_casefolded,
60776         is_property_changes_when_casemapped): New functions.
60777         (output_properties): Output also the properties cased, case_ignorable,
60778         changes_when_lowercased, changes_when_uppercased,
60779         changes_when_titlecased, changes_when_casefolded,
60780         changes_when_casemapped.
60781         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
60782         Unicode TR#11 revision 17 -> 19.
60783         (LBP_CP): New enumeration value.
60784         (LBP_*): Adjust values accordingly.
60785         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60786         TR#14 revision 22 -> 24.
60787         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
60788         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
60789         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
60790         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
60791         is_WBP_MIDLETTER.
60792         (output_composition_tables): Allow for 24 bits instead of 16 bits in
60793         the code1 and code2 of each composition rule.
60794         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
60795         * lib/unicase/ignorable.h: Likewise.
60796         * lib/unicase/tocasefold.h: Likewise.
60797         * lib/unicase/tolower.h: Likewise.
60798         * lib/unicase/totitle.h: Likewise.
60799         * lib/unicase/toupper.h: Likewise.
60800         * lib/unictype/bidi_of.h: Likewise.
60801         * lib/unictype/blocks.h: Likewise.
60802         * lib/unictype/categ_C.h: Likewise.
60803         * lib/unictype/categ_Cf.h: Likewise.
60804         * lib/unictype/categ_Cn.h: Likewise.
60805         * lib/unictype/categ_L.h: Likewise.
60806         * lib/unictype/categ_Ll.h: Likewise.
60807         * lib/unictype/categ_Lm.h: Likewise.
60808         * lib/unictype/categ_Lo.h: Likewise.
60809         * lib/unictype/categ_Lu.h: Likewise.
60810         * lib/unictype/categ_M.h: Likewise.
60811         * lib/unictype/categ_Mc.h: Likewise.
60812         * lib/unictype/categ_Mn.h: Likewise.
60813         * lib/unictype/categ_N.h: Likewise.
60814         * lib/unictype/categ_Nd.h: Likewise.
60815         * lib/unictype/categ_Nl.h: Likewise.
60816         * lib/unictype/categ_No.h: Likewise.
60817         * lib/unictype/categ_P.h: Likewise.
60818         * lib/unictype/categ_Pd.h: Likewise.
60819         * lib/unictype/categ_Po.h: Likewise.
60820         * lib/unictype/categ_S.h: Likewise.
60821         * lib/unictype/categ_Sc.h: Likewise.
60822         * lib/unictype/categ_So.h: Likewise.
60823         * lib/unictype/categ_of.h: Likewise.
60824         * lib/unictype/combining.h: Likewise.
60825         * lib/unictype/ctype_alnum.h: Likewise.
60826         * lib/unictype/ctype_alpha.h: Likewise.
60827         * lib/unictype/ctype_graph.h: Likewise.
60828         * lib/unictype/ctype_lower.h: Likewise.
60829         * lib/unictype/ctype_print.h: Likewise.
60830         * lib/unictype/ctype_punct.h: Likewise.
60831         * lib/unictype/ctype_upper.h: Likewise.
60832         * lib/unictype/decdigit.h: Likewise.
60833         * lib/unictype/digit.h: Likewise.
60834         * lib/unictype/numeric.h: Likewise.
60835         * lib/unictype/pr_alphabetic.h: Likewise.
60836         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
60837         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
60838         * lib/unictype/pr_bidi_european_digit.h: Likewise.
60839         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
60840         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
60841         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
60842         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
60843         * lib/unictype/pr_combining.h: Likewise.
60844         * lib/unictype/pr_composite.h: Likewise.
60845         * lib/unictype/pr_currency_symbol.h: Likewise.
60846         * lib/unictype/pr_dash.h: Likewise.
60847         * lib/unictype/pr_decimal_digit.h: Likewise.
60848         * lib/unictype/pr_deprecated.h: Likewise.
60849         * lib/unictype/pr_diacritic.h: Likewise.
60850         * lib/unictype/pr_extender.h: Likewise.
60851         * lib/unictype/pr_grapheme_base.h: Likewise.
60852         * lib/unictype/pr_grapheme_extend.h: Likewise.
60853         * lib/unictype/pr_grapheme_link.h: Likewise.
60854         * lib/unictype/pr_id_continue.h: Likewise.
60855         * lib/unictype/pr_id_start.h: Likewise.
60856         * lib/unictype/pr_ideographic.h: Likewise.
60857         * lib/unictype/pr_ignorable_control.h: Likewise.
60858         * lib/unictype/pr_logical_order_exception.h: Likewise.
60859         * lib/unictype/pr_lowercase.h: Likewise.
60860         * lib/unictype/pr_numeric.h: Likewise.
60861         * lib/unictype/pr_other_alphabetic.h: Likewise.
60862         * lib/unictype/pr_punctuation.h: Likewise.
60863         * lib/unictype/pr_sentence_terminal.h: Likewise.
60864         * lib/unictype/pr_terminal_punctuation.h: Likewise.
60865         * lib/unictype/pr_unassigned_code_value.h: Likewise.
60866         * lib/unictype/pr_unified_ideograph.h: Likewise.
60867         * lib/unictype/pr_uppercase.h: Likewise.
60868         * lib/unictype/pr_xid_continue.h: Likewise.
60869         * lib/unictype/pr_xid_start.h: Likewise.
60870         * lib/unictype/pr_zero_width.h: Likewise.
60871         * lib/unictype/scripts.h: Likewise.
60872         * lib/unictype/scripts_byname.gperf: Likewise.
60873         * lib/unictype/sy_java_ident.h: Likewise.
60874         * lib/unigbrk/gbrkprop.h: Likewise.
60875         * lib/unilbrk/lbrkprop1.h: Likewise.
60876         * lib/unilbrk/lbrkprop2.h: Likewise.
60877         * lib/unilbrk/lbrktables.h: Likewise.
60878         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
60879         LBP_CP. Implement rule LB30.
60880         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
60881         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
60882         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
60883         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
60884         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
60885         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
60886         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
60887         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
60888         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
60889         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
60890         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
60891         bits instead of 16 bits in the code1 and code2 of each composition
60892         rule.
60893         (uc_composition): Update for Unicode 5.2.0.
60894         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
60895         * lib/uninorm/decomposition-table2.h: Likewise.
60896         * lib/uniwbrk/wbrkprop.h: Likewise.
60897         * tests/unicase/test-cased.c: Likewise.
60898         * tests/unicase/test-ignorable.c: Likewise.
60899         * tests/unicase/test-uc_tolower.c: Likewise.
60900         * tests/unicase/test-uc_totitle.c: Likewise.
60901         * tests/unicase/test-uc_toupper.c: Likewise.
60902         * tests/unictype/test-categ_C.c: Likewise.
60903         * tests/unictype/test-categ_Cf.c: Likewise.
60904         * tests/unictype/test-categ_Cn.c: Likewise.
60905         * tests/unictype/test-categ_L.c: Likewise.
60906         * tests/unictype/test-categ_Ll.c: Likewise.
60907         * tests/unictype/test-categ_Lm.c: Likewise.
60908         * tests/unictype/test-categ_Lo.c: Likewise.
60909         * tests/unictype/test-categ_Lu.c: Likewise.
60910         * tests/unictype/test-categ_M.c: Likewise.
60911         * tests/unictype/test-categ_Mc.c: Likewise.
60912         * tests/unictype/test-categ_Mn.c: Likewise.
60913         * tests/unictype/test-categ_N.c: Likewise.
60914         * tests/unictype/test-categ_Nd.c: Likewise.
60915         * tests/unictype/test-categ_Nl.c: Likewise.
60916         * tests/unictype/test-categ_No.c: Likewise.
60917         * tests/unictype/test-categ_P.c: Likewise.
60918         * tests/unictype/test-categ_Pd.c: Likewise.
60919         * tests/unictype/test-categ_Po.c: Likewise.
60920         * tests/unictype/test-categ_S.c: Likewise.
60921         * tests/unictype/test-categ_Sc.c: Likewise.
60922         * tests/unictype/test-categ_So.c: Likewise.
60923         * tests/unictype/test-ctype_alnum.c: Likewise.
60924         * tests/unictype/test-ctype_alpha.c: Likewise.
60925         * tests/unictype/test-ctype_graph.c: Likewise.
60926         * tests/unictype/test-ctype_lower.c: Likewise.
60927         * tests/unictype/test-ctype_print.c: Likewise.
60928         * tests/unictype/test-ctype_punct.c: Likewise.
60929         * tests/unictype/test-ctype_upper.c: Likewise.
60930         * tests/unictype/test-decdigit.h: Likewise.
60931         * tests/unictype/test-digit.h: Likewise.
60932         * tests/unictype/test-numeric.h: Likewise.
60933         * tests/unictype/test-pr_alphabetic.c: Likewise.
60934         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
60935         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
60936         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
60937         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
60938         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
60939         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
60940         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
60941         * tests/unictype/test-pr_combining.c: Likewise.
60942         * tests/unictype/test-pr_composite.c: Likewise.
60943         * tests/unictype/test-pr_currency_symbol.c: Likewise.
60944         * tests/unictype/test-pr_dash.c: Likewise.
60945         * tests/unictype/test-pr_decimal_digit.c: Likewise.
60946         * tests/unictype/test-pr_deprecated.c: Likewise.
60947         * tests/unictype/test-pr_diacritic.c: Likewise.
60948         * tests/unictype/test-pr_extender.c: Likewise.
60949         * tests/unictype/test-pr_grapheme_base.c: Likewise.
60950         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
60951         * tests/unictype/test-pr_grapheme_link.c: Likewise.
60952         * tests/unictype/test-pr_id_continue.c: Likewise.
60953         * tests/unictype/test-pr_id_start.c: Likewise.
60954         * tests/unictype/test-pr_ideographic.c: Likewise.
60955         * tests/unictype/test-pr_ignorable_control.c: Likewise.
60956         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
60957         * tests/unictype/test-pr_lowercase.c: Likewise.
60958         * tests/unictype/test-pr_numeric.c: Likewise.
60959         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
60960         * tests/unictype/test-pr_punctuation.c: Likewise.
60961         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
60962         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
60963         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
60964         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
60965         * tests/unictype/test-pr_uppercase.c: Likewise.
60966         * tests/unictype/test-pr_xid_continue.c: Likewise.
60967         * tests/unictype/test-pr_xid_start.c: Likewise.
60968         * tests/unictype/test-pr_zero_width.c: Likewise.
60969         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
60970         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
60971         changed behaviour: line breaking is now disallowed between a letter
60972         or '=' and '('.
60973         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
60974         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
60975         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
60976         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
60977         * tests/uniwidth/test-uc_width2.sh: Same updates as in
60978         lib/uniwidth/width.c.
60979         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
60980         without comments, but with the original copyright notice.
60981         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
60982         changes.
60983         * lib/unictype/categ_Cc.h: Likewise.
60984         * lib/unictype/categ_Co.h: Likewise.
60985         * lib/unictype/categ_Cs.h: Likewise.
60986         * lib/unictype/categ_Lt.h: Likewise.
60987         * lib/unictype/categ_Me.h: Likewise.
60988         * lib/unictype/categ_Pc.h: Likewise.
60989         * lib/unictype/categ_Pe.h: Likewise.
60990         * lib/unictype/categ_Pf.h: Likewise.
60991         * lib/unictype/categ_Pi.h: Likewise.
60992         * lib/unictype/categ_Ps.h: Likewise.
60993         * lib/unictype/categ_Sk.h: Likewise.
60994         * lib/unictype/categ_Sm.h: Likewise.
60995         * lib/unictype/categ_Z.h: Likewise.
60996         * lib/unictype/categ_Zl.h: Likewise.
60997         * lib/unictype/categ_Zp.h: Likewise.
60998         * lib/unictype/categ_Zs.h: Likewise.
60999         * lib/unictype/ctype_blank.h: Likewise.
61000         * lib/unictype/ctype_cntrl.h: Likewise.
61001         * lib/unictype/ctype_digit.h: Likewise.
61002         * lib/unictype/ctype_space.h: Likewise.
61003         * lib/unictype/ctype_xdigit.h: Likewise.
61004         * lib/unictype/mirror.h: Likewise.
61005         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
61006         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
61007         * lib/unictype/pr_bidi_block_separator.h: Likewise.
61008         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
61009         * lib/unictype/pr_bidi_common_separator.h: Likewise.
61010         * lib/unictype/pr_bidi_control.h: Likewise.
61011         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
61012         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
61013         * lib/unictype/pr_bidi_pdf.h: Likewise.
61014         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
61015         * lib/unictype/pr_bidi_whitespace.h: Likewise.
61016         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
61017         * lib/unictype/pr_format_control.h: Likewise.
61018         * lib/unictype/pr_hex_digit.h: Likewise.
61019         * lib/unictype/pr_hyphen.h: Likewise.
61020         * lib/unictype/pr_ids_binary_operator.h: Likewise.
61021         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
61022         * lib/unictype/pr_iso_control.h: Likewise.
61023         * lib/unictype/pr_join_control.h: Likewise.
61024         * lib/unictype/pr_left_of_pair.h: Likewise.
61025         * lib/unictype/pr_line_separator.h: Likewise.
61026         * lib/unictype/pr_math.h: Likewise.
61027         * lib/unictype/pr_non_break.h: Likewise.
61028         * lib/unictype/pr_not_a_character.h: Likewise.
61029         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
61030         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
61031         * lib/unictype/pr_other_id_continue.h: Likewise.
61032         * lib/unictype/pr_other_id_start.h: Likewise.
61033         * lib/unictype/pr_other_lowercase.h: Likewise.
61034         * lib/unictype/pr_other_math.h: Likewise.
61035         * lib/unictype/pr_other_uppercase.h: Likewise.
61036         * lib/unictype/pr_paired_punctuation.h: Likewise.
61037         * lib/unictype/pr_paragraph_separator.h: Likewise.
61038         * lib/unictype/pr_pattern_syntax.h: Likewise.
61039         * lib/unictype/pr_pattern_white_space.h: Likewise.
61040         * lib/unictype/pr_private_use.h: Likewise.
61041         * lib/unictype/pr_quotation_mark.h: Likewise.
61042         * lib/unictype/pr_radical.h: Likewise.
61043         * lib/unictype/pr_soft_dotted.h: Likewise.
61044         * lib/unictype/pr_space.h: Likewise.
61045         * lib/unictype/pr_titlecase.h: Likewise.
61046         * lib/unictype/pr_variation_selector.h: Likewise.
61047         * lib/unictype/pr_white_space.h: Likewise.
61048         * lib/unictype/sy_c_ident.h: Likewise.
61049         * lib/unictype/sy_c_whitespace.h: Likewise.
61050         * lib/unictype/sy_java_whitespace.h: Likewise.
61051         * modules/uni*/*: Bump version number of expected libunistring version.
61052         Reported by Simon Josefsson.
61054 2011-01-09  Karl Heuer  <kwzh@gnu.org>
61056         useless-if-before-free: fix typo in --help and make the internal,
61057         automatic version date update process work once again.
61058         --help output contained a NUL character instead of the
61059         backslash-zero that was intended.  Also, the "must lie within
61060         the first 8 lines" line is on line 9, and hence not getting
61061         automatically updated.
61062         * build-aux/useless-if-before-free: Fix the former by adding a
61063         backslash, and the latter by condensing the three lines of what-it-does
61064         to a single line, leaving one line of slack for the future.
61066 2011-01-09  Bruno Haible  <bruno@clisp.org>
61068         uniwidth/width: Fix width of U+1D173..U+1D17A.
61069         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
61070         symbolic_width, output_width_property_test): New functions.
61071         (main): Invoke output_nonspacing_property, output_width_property_test.
61072         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
61073         U+1D173..U+1D17A.
61074         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
61075         1.
61076         * modules/uniwidth/*: Bump version number of expected libunistring
61077         version.
61078         * modules/unilbrk/*: Likewise.
61080 2011-01-08  Bruno Haible  <bruno@clisp.org>
61082         uninorm tests: Preserve copyright of Unicode data file.
61083         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
61084         Mention modifications.
61086 2011-01-08  Bruno Haible  <bruno@clisp.org>
61088         gen-uni-tables: Prepare for Unicode 5.2.0.
61089         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
61090         (debug_output_lbp, output_lbp): Update.
61092 2011-01-08  Bruno Haible  <bruno@clisp.org>
61094         unilbrk: Clarify gen-uni-tables.c code.
61095         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
61096         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
61097         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
61099 2011-01-07  Bruno Haible  <bruno@clisp.org>
61101         strtod: Restore errno when successfully parsing Infinity or NaN.
61102         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
61103         restore the original errno.
61105 2011-01-07  Bruno Haible  <bruno@clisp.org>
61107         remove test: Avoid failure on HP-UX 11.
61108         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
61110 2011-01-07  Bruno Haible  <bruno@clisp.org>
61112         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
61113         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
61114         error code.
61116 2011-01-07  Pádraig Brady  <P@draigBrady.com>
61118         ignore-value: fixup comments, and add Eric Blake
61119         as an author since he rewrote the macros.
61120         * lib/ignore-value.h (ignore_value):  State that
61121         we now support aggregates.  Also specify exactly
61122         when the GCC warn_unused_result feature was added.
61124 2011-01-06  Eric Blake  <eblake@redhat.com>
61126         ignore-value: support aggregate types
61127         * lib/ignore-value.h (ignore_value): Provide separate gcc
61128         definition.
61129         * modules/ignore-value-tests: New test module.
61130         * tests/test-ignore-value.c: New test.
61132         maint.mk: improve sc_prohibit_strcmp regex
61133         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
61134         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
61135         definition of STRNEQ.
61137         signal: work around Haiku issue with SIGBUS
61138         * lib/siglist.h: Add comment.
61139         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
61140         strsignal's favoring of SIGSEGV.
61141         * tests/test-signal.c (main): Avoid test failure.
61142         * doc/posix-headers/signal.texi (signal.h): Document the issue.
61143         Reported by Scott McCreary.
61145         maint.mk: add pre-release check to ensure submodule commits are public
61146         * top/maint.mk (public-submodule-commit): New rule.
61147         (submodule-checks): New variable.
61148         (alpha beta stable): Depend on the variable.
61150 2011-01-05  Pádraig Brady  <P@draigBrady.com>
61151         and Jim Meyering  <meyering@redhat.com>
61153         ignore-value: make ignore_value more generic; deprecate ignore_ptr
61154         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
61155         (ATTRIBUTE_DEPRECATED): Define.
61156         (_ignore_case): New function.
61157         (ignore_value): New macro, to replace the old function.
61158         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
61159         * modules/ignore-value (Depends-on): Add stdint.
61161 2011-01-04  Eric Blake  <eblake@redhat.com>
61163         doc: regenerate INSTALL
61164         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
61165         @firstparagraphindent support, now that autoconf dropped it.
61166         (INSTALL_PRELUDE): Reinstate old macro.
61167         * doc/install.texi: Resync from autoconf.
61168         * doc/INSTALL: Reflect recent autoconf update.
61169         * doc/INSTALL.ISO: Likewise.
61170         * doc/INSTALL.UTF-8: Likewise.
61171         Reported by Karl Berry.
61173 2011-01-04  Bruce Korb  <address@hidden>
61175         git-version-gen: avoid a sub-shell
61176         * build-aux/git-version-gen: Redirect stderr in `...` via
61177         "exec 2>...", rather than via an added sub-shell.
61179 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
61181         git-version-gen: use (...) rather than sh -c '...'
61182         * build-aux/git-version-gen: Rather than hard-coding a shell's name
61183         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
61185 2011-01-03  Jim Meyering  <meyering@redhat.com>
61187         git-version-gen: convert leading TABs to spaces
61188         * build-aux/git-version-gen: Expand leading TABs.
61190         git-version-gen: handle failed "git rev-list"
61191         * build-aux/git-version-gen: Rather than leaking a "fatal" error
61192         from git and proceeding as if it had succeeded but printed no SHA1
61193         checksums, suppress the diagnostic and handle the failure.
61194         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
61196         git-version-gen: include command name in one more diagnostic
61197         * build-aux/git-version-gen: When the required .tarball-version file
61198         was missing or unreadable, you might see the diagnostic from "cat",
61199         but no trace of the name of the invoking script.  Now, you still see
61200         the diagnostic from cat, but also get one from "git-version-gen: ".
61201         Inspired by a patch from Bruce Korb.
61203         update-copyright: adjust test to match changed code
61204         * tests/test-update-copyright.sh: Change test's expected output
61205         to match new actual output.
61207 2011-01-02  Bruno Haible  <bruno@clisp.org>
61209         getlogin_r: Avoid test failure on HP-UX 11.
61210         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
61211         ERANGE when the second argument is zero.
61212         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
61213         portability problem.
61215 2011-01-02  Bruce Korb  <bkorb@gnu.org>
61217         * build-aux/update-copyright: doc Simon's changes
61219 2011-01-02  Simon Josefsson  <simon@josefsson.org>
61221         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
61222         environment variable.
61224 2011-01-02  Bruno Haible  <bruno@clisp.org>
61226         unigbrk: Avoid gcc warnings.
61227         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
61228         unused variable.
61229         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
61230         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
61231         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
61232         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
61233         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
61234         Change type of first argument to 'const char *'.
61235         (main): Remove unused variable.
61236         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
61237         type of first argument to 'const char *'.
61238         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
61239         Likewise.
61240         (main): Change type of variable 's'.
61241         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
61242         to 'int'.
61244 2011-01-02  Bruno Haible  <bruno@clisp.org>
61246         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
61247         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
61248         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
61249         bug.
61250         * lib/pwrite.c: Undo 2010-12-31 patch.
61251         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
61253 2011-01-02  Bruno Haible  <bruno@clisp.org>
61255         pread: Fix test whether it works.
61256         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
61258 2011-01-02  Bruno Haible  <bruno@clisp.org>
61260         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
61261         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
61262         ends in "6". Don't require a specific month name. Try also the locale
61263         names found on HP-UX 11 and Solaris 7.
61265 2011-01-02  Bruno Haible  <bruno@clisp.org>
61267         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
61268         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
61269         C linkage.
61270         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
61272 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61274         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
61275         for consistency, since the "cluster" term is not used elsewhere.
61276         * lib/unigbrk.in.h: Update name.
61277         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
61278         * lib/unigbrk/u16-grapheme-next.c: Update name.
61279         * lib/unigbrk/u16-grapheme-prev.c: Update name.
61280         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
61281         * lib/unigbrk/u32-grapheme-next.c: Update name.
61282         * lib/unigbrk/u32-grapheme-prev.c: Update name.
61283         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
61284         * lib/unigbrk/u8-grapheme-next.c: Update name.
61285         * lib/unigbrk/u8-grapheme-prev.c: Update name.
61286         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
61287         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
61288         Suggested by Bruno Haible.
61290 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61292         Remove module 'u8-grapheme-len' as too redundant with
61293         'u8-grapheme-next'.
61294         * modules/unigbrk/u8-grapheme-len: Delete file.
61295         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
61296         * lib/unigbrk.in.h: Remove prototype for deleted function.
61297         * lib/unigbrk/u8-grapheme-len.c: Delete file.
61298         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
61300         Remove module 'u16-grapheme-len' as too redundant with
61301         'u16-grapheme-next'.
61302         * modules/unigbrk/u16-grapheme-len: Delete file.
61303         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
61304         * lib/unigbrk.in.h: Remove prototype for deleted function.
61305         * lib/unigbrk/u16-grapheme-len.c: Delete file.
61306         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
61308         Remove module 'u32-grapheme-len' as too redundant with
61309         'u32-grapheme-next'.
61310         * modules/unigbrk/u32-grapheme-len: Delete file.
61311         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
61312         * lib/unigbrk.in.h: Remove prototype for deleted function.
61313         * lib/unigbrk/u32-grapheme-len.c: Delete file.
61314         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
61316         Suggested by Bruno Haible.
61318 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
61320         * unigbrk.in.h: Fix typo: "ben" => "been".
61321         Reported by Bruno Haible.
61323 2011-01-01  Jim Meyering  <meyering@redhat.com>
61325         maint: update almost all copyright ranges to include 2011
61326         Run the new "make update-copyright" rule.
61328 2011-01-01  Jim Meyering  <meyering@redhat.com>
61330         maint: update-copyright: exempt doc/INSTALL*
61331         * Makefile (update-copyright): Also exclude doc/INSTALL*,
61332         since they are generated.  Suggested by Bruno Haible.
61334 2011-01-01  Jim Meyering  <meyering@redhat.com>
61336         maint: refine the update-copyright rule
61337         * Makefile (update-copyright): Also exclude any file that includes
61338         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
61339         code that merely generates the comment.
61341 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61343         New module 'u8-grapheme-len'.
61344         * modules/unigbrk/u8-grapheme-len: New file.
61345         * modules/unigbrk/u8-grapheme-len-tests: New file.
61346         * lib/unigbrk.in.h: Add prototype for new function.
61347         * lib/unigbrk/u8-grapheme-len.c: New file.
61348         * tests/unigbrk/test-u8-grapheme-len.c: New file.
61350         New module 'u16-grapheme-len'.
61351         * modules/unigbrk/u16-grapheme-len: New file.
61352         * modules/unigbrk/u16-grapheme-len-tests: New file.
61353         * lib/unigbrk.in.h: Add prototype for new function.
61354         * lib/unigbrk/u16-grapheme-len.c: New file.
61355         * tests/unigbrk/test-u16-grapheme-len.c: New file.
61357         New module 'u32-grapheme-len'.
61358         * modules/unigbrk/u32-grapheme-len: New file.
61359         * modules/unigbrk/u32-grapheme-len-tests: New file.
61360         * lib/unigbrk.in.h: Add prototype for new function.
61361         * lib/unigbrk/u32-grapheme-len.c: New file.
61362         * tests/unigbrk/test-u32-grapheme-len.c: New file.
61364         New module 'u8-grapheme-next'.
61365         * modules/unigbrk/u8-grapheme-next: New file.
61366         * modules/unigbrk/u8-grapheme-next-tests: New file.
61367         * lib/unigbrk.in.h: Add prototype for new function.
61368         * lib/unigbrk/u8-grapheme-next.c: New file.
61369         * tests/unigbrk/test-u8-grapheme-next.c: New file.
61371         New module 'u16-grapheme-next'.
61372         * modules/unigbrk/u16-grapheme-next: New file.
61373         * modules/unigbrk/u16-grapheme-next-tests: New file.
61374         * lib/unigbrk.in.h: Add prototype for new function.
61375         * lib/unigbrk/u16-grapheme-next.c: New file.
61376         * tests/unigbrk/test-u16-grapheme-next.c: New file.
61378         New module 'u32-grapheme-next'.
61379         * modules/unigbrk/u32-grapheme-next: New file.
61380         * modules/unigbrk/u32-grapheme-next-tests: New file.
61381         * lib/unigbrk.in.h: Add prototype for new function.
61382         * lib/unigbrk/u32-grapheme-next.c: New file.
61383         * tests/unigbrk/test-u32-grapheme-next.c: New file.
61385         New module 'u8-grapheme-prev'.
61386         * modules/unigbrk/u8-grapheme-prev: New file.
61387         * modules/unigbrk/u8-grapheme-prev-tests: New file.
61388         * lib/unigbrk.in.h: Add prototype for new function.
61389         * lib/unigbrk/u8-grapheme-prev.c: New file.
61390         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
61392         New module 'u16-grapheme-prev'.
61393         * modules/unigbrk/u16-grapheme-prev: New file.
61394         * modules/unigbrk/u16-grapheme-prev-tests: New file.
61395         * lib/unigbrk.in.h: Add prototype for new function.
61396         * lib/unigbrk/u16-grapheme-prev.c: New file.
61397         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
61399         New module 'u32-grapheme-prev'.
61400         * modules/unigbrk/u32-grapheme-prev: New file.
61401         * modules/unigbrk/u32-grapheme-prev-tests: New file.
61402         * lib/unigbrk.in.h: Add prototype for new function.
61403         * lib/unigbrk/u32-grapheme-prev.c: New file.
61404         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
61406         New module 'u8-grapheme-breaks'.
61407         * modules/unigbrk/u8-grapheme-breaks: New file.
61408         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
61409         * lib/unigbrk.in.h: Add prototype for new function.
61410         * lib/unigbrk/u8-grapheme-breaks.c: New file.
61411         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
61413         New module 'u16-grapheme-breaks'.
61414         * modules/unigbrk/u16-grapheme-breaks: New file.
61415         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
61416         * lib/unigbrk.in.h: Add prototype for new function.
61417         * lib/unigbrk/u16-grapheme-breaks.c: New file.
61418         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
61420         New module 'u32-grapheme-breaks'.
61421         * modules/unigbrk/u32-grapheme-breaks: New file.
61422         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
61423         * lib/unigbrk.in.h: Add prototype for new function.
61424         * lib/unigbrk/u32-grapheme-breaks.c: New file.
61425         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
61427         New module 'ulc-grapheme-breaks'.
61428         * modules/unigbrk/ulc-grapheme-breaks: New file.
61429         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
61430         * m4/locale-ar.m4: New file.
61431         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
61432         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
61433         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
61435 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
61437         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
61438         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
61439         modified how this file was generated before I initially submitted
61440         the module, but failed to regenerate it.  This meant that several
61441         of the level2 entries were wrong.
61442         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
61443         Remove the division-by-2 that is folded into the table now that
61444         gbrkprop.h has been regenerated properly.  Now -1 entries are
61445         handled correctly.
61447         New module 'unigbrk/uc-gbrk-prop-tests'.
61448         * modules/unigbrk/uc-gbrk-prop-tests: New file.
61449         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
61450         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
61451         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
61453 2011-01-01  Bruno Haible  <bruno@clisp.org>
61455         Avoid use of hexadecimal escapes.
61456         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
61457         instead of hexadecimal escapes.
61459 2011-01-01  Jim Meyering  <meyering@redhat.com>
61461         maint: new rule to update copyright year ranges
61462         * Makefile (update-copyright): New rule.
61464         maint: indent with TABs in Makefile
61465         * Makefile: Expand leading sequences of spaces to TABs
61467         version-etc: update the copyright year it reports
61468         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
61470 2010-12-31  Bruno Haible  <bruno@clisp.org>
61472         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
61473         * lib/isfinite.c (zerof, zerod, zerol): New variables.
61474         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
61475         zero.
61477 2010-12-31  Bruno Haible  <bruno@clisp.org>
61479         pwrite: Work around HP-UX 11.11 bug.
61480         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
61481         works and set REPLACE_PWRITE if not.
61482         * lib/pwrite.c (pwrite): Add an implementation that uses the system
61483         function.
61484         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
61486 2010-12-31  Bruno Haible  <bruno@clisp.org>
61488         pread: Work around HP-UX 11 bugs.
61489         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
61490         and set REPLACE_PREAD if not.
61491         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
61493 2010-12-31  Eric Blake  <eblake@redhat.com>
61495         nl_langinfo: fix YESEXPR on Irix 6.5
61496         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
61497         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
61498         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
61499         it.
61501 2010-12-31  Bruno Haible  <bruno@clisp.org>
61503         iconv: Document HP-UX 11 bug.
61504         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
61506 2010-12-31  Bruno Haible  <bruno@clisp.org>
61508         ldexpl: Fix link error on HP-UX 11.
61509         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
61510         LDEXPL_LIBM, using $ISNANL_LIBM.
61512 2010-12-31  Eric Blake  <eblake@redhat.com>
61514         ftello: avoid compilation failure with SunStudio c89
61515         * lib/ftello.c (ftello): Use lseek, not llseek.
61517         tests: avoid failing coreutils tests on cygwin
61518         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
61519         (create_exe_shims_): Return 0 when skipping.
61521 2010-12-31  Bruno Haible  <bruno@clisp.org>
61523         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
61524         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
61526 2010-12-31  Bruno Haible  <bruno@clisp.org>
61528         waitpid: Fix link error in C++ mode.
61529         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
61531 2010-12-31  Bruno Haible  <bruno@clisp.org>
61533         isnan: Use GCC built-ins when possible.
61534         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
61535         __builtin_isnan.
61536         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
61537         (isnan): Define using GCC built-ins for GCC >= 4.0.
61539 2010-12-31  Bruno Haible  <bruno@clisp.org>
61541         isnand: Fix mistake.
61542         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
61543         __builtin_isnand.
61545 2010-12-31  Bruno Haible  <bruno@clisp.org>
61547         open: Avoid C++ error on HP-UX 11.
61548         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
61550 2010-12-31  Bruno Haible  <bruno@clisp.org>
61552         time_r: Add missing declarations on HP-UX 11.
61553         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
61554         instead of HAVE_LOCALTIME_R.
61555         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
61556         HAVE_LOCALTIME_R always.
61557         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
61558         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
61559         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
61560         HAVE_LOCALTIME_R.
61561         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
61562         * doc/posix-functions/localtime_r.texi: Likewise.
61564 2010-12-29  Eric Blake  <eblake@redhat.com>
61566         mountlist: tweak previous commit
61567         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
61568         Reported by Paul Eggert.
61570         mountlist: fix local drive detection on cygwin
61571         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
61572         that works for cygwin.
61574 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61576         ftoastr, snprintf: ftoastr + snprintf module
61577         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
61578         since the snprintf module now should be good enough here.
61579         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
61580         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
61581         and gl_MODULE_INDICATOR([snprintf]), but the former enables
61582         GNULIB_SNPRINTF only for the test directory, and the latter
61583         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
61584         seems to suffice by itself.
61586 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
61588         alloca: one step towards thread-safety
61589         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
61590         need for a static variable.  All callers changed.  This does not
61591         make the alloca replacement thread-safe, but it's one step.
61593         tests: minor indenting change
61594         * tests/init.sh: Sync from coreutils housekeeping patch
61595         <http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
61596         to keep lines within 80 columns.
61598 2010-12-28  Jim Meyering  <meyering@redhat.com>
61600         regex: don't infloop on persistent failing calloc
61601         * lib/regexec.c (build_trtable): Return failure indication upon
61602         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
61603         In glibc, this was fixed for version 2.13:
61604         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
61606 2010-12-28  Bruno Haible  <bruno@clisp.org>
61607             Paul Eggert <eggert@cs.ucla.edu>
61609         linkat: Make implementation robust against system behaviour variations.
61610         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
61611         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
61612         way, and to -2 if it needs a generic runtime test.
61613         * lib/linkat.c (solaris_optimized_link_immediate,
61614         solaris_optimized_link_follow): New functions.
61615         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
61616         (check_same_link): Use it.
61618 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
61620         New module 'unigbrk/base'.
61621         * modules/unigbrk/base: New file.
61622         * lib/unigbrk.in.h: New file.
61624         New module 'unigbrk/uc-gbrk-prop'.
61625         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
61626         * modules/unigbrk/uc-gbrk-prop: New file.
61627         * lib/unigbrk/gbrkprop.h: New file.
61628         * lib/unigbrk/uc-gbrk-prop.c: New file.
61630         New module 'unigbrk/uc-is-grapheme-break'.
61631         * modules/unigbrk/uc-is-grapheme-break: New file.
61632         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
61633         * lib/unigbrk/uc-is-grapheme-break.c: New file.
61634         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
61635         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
61636         * tests/unigbrk/GraphemeBreakTest.txt: New file.
61638         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
61640 2010-12-27  Bruno Haible  <bruno@clisp.org>
61642         linkat test: Avoid failure on Solaris 11 2010-11.
61643         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
61645 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61647         utimens: work around glibc rounding bug on more platforms
61648         * lib/utimens.c (fdutimens): Work around rounding bug even if
61649         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
61650         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.
61652 2010-12-27  Bruno Haible  <bruno@clisp.org>
61654         select tests: Improve comments.
61655         * tests/test-select.c (do_select): Add comments.
61657 2010-12-27  Bruno Haible  <bruno@clisp.org>
61659         select tests: Safer way of handling timeout.
61660         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
61661         at every invocation.
61663 2010-12-27  Bruno Haible  <bruno@clisp.org>
61665         select tests: Use 'bool' where appropriate.
61666         * tests/test-select.c (connect_to_socket): Change argument type to
61667         'bool'.
61669 2010-12-27  Bruno Haible  <bruno@clisp.org>
61671         select tests: Use existing modules.
61672         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
61673         (configure.ac): Don't test for unistd.h.
61674         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
61675         declared in <unistd.h>.
61677 2010-12-27  Bruno Haible  <bruno@clisp.org>
61679         mbrtowc: Work around a Solaris 7 bug.
61680         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
61681         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
61682         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
61683         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
61684         MBRTOWC_NULL_ARG1_BUG.
61685         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
61686         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
61687         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
61688         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
61690 2010-12-27  Jim Meyering  <meyering@redhat.com>
61692         read-file.c: tweak syntax
61693         * lib/read-file.c (fread_file): Remove space after "*" in function
61694         definitions.
61696 2010-12-27  Bruno Haible  <bruno@clisp.org>
61698         times test: Avoid gcc warnings on OSF/1.
61699         * tests/test-times.c (main): Cast printf arguments from clock_t to
61700         'long int'.
61702 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
61704         utimens: work around glibc rounding bug on older Linux kernels
61705         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
61706         on Linux with a glibc whose utimes might not work, then work
61707         around a longstanding glibc bug involving rounding rather than
61708         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
61709         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61711 2010-12-26  Bruno Haible  <bruno@clisp.org>
61713         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
61714         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
61715         _GL_CXXALIAS_SYS.
61716         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61718 2010-12-26  Bruno Haible  <bruno@clisp.org>
61720         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
61721         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
61722         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
61723         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
61724         looking for the declaration.
61725         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
61726         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
61727         problem.
61728         * doc/posix-functions/inet_pton.texi: Likewise.
61730 2010-12-26  Bruno Haible  <bruno@clisp.org>
61732         arpa_inet: Use the common idioms with C++ support.
61733         * lib/arpa_inet.in.h: Include c++defs.h.
61734         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
61735         support.
61736         * modules/arpa_inet (Depends-on): Add c++defs.
61737         (Makefile.am): Substitute the contents of c++defs.h.
61738         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
61739         * modules/arpa_inet-c++-tests: New file.
61740         * tests/test-arpa_inet-c++.cc: New file.
61742 2010-12-25  Bruno Haible  <bruno@clisp.org>
61744         Fix more C++ link errors on Solaris 8.
61745         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
61746         $(LIB_EACCESS).
61747         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
61748         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
61749         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
61750         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
61751         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
61753 2010-12-25  Bruno Haible  <bruno@clisp.org>
61755         printf-posix: Fix link error when a non-GCC compiler is used.
61756         * lib/stdio.in.h (printf): When not using GCC, override printf
61757         correctly.
61758         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61760 2010-12-25  Bruno Haible  <bruno@clisp.org>
61762         strerror_r-posix: Update doc.
61763         * doc/posix-functions/strerror_r.texi: Update doc about the return
61764         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
61766 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61768         utimens: simplify the logic of the previous change
61769         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
61770         This should not affect whether the test succeeds or fails.
61772         utimens: configure better on hosts with NFS clock skew
61773         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
61774         uses the clock of the local host.  It might use the clock of the
61775         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
61776         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.
61778 2010-12-25  Bruno Haible  <bruno@clisp.org>
61780         ptsname test: Avoid failure on Solaris.
61781         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
61782         open a pseudo-terminal; don't use BSD-style ptys.
61783         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
61785 2010-12-25  Bruno Haible  <bruno@clisp.org>
61787         ptsname: Avoid ERANGE failure on some systems.
61788         * lib/ptsname.c (buffer): Increase size.
61790 2010-12-25  Bruno Haible  <bruno@clisp.org>
61792         rename, renameat: Avoid test failures at NFS mounted locations.
61793         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
61794         so that subsequent mkdir calls succeed.
61796 2010-12-25  Bruno Haible  <bruno@clisp.org>
61798         iswblank: Fix C++ link error on Solaris 8.
61799         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
61800         _GL_FUNCDECL_SYS.
61802 2010-12-25  Bruno Haible  <bruno@clisp.org>
61804         unistd: Fix C++ link error on Solaris 8.
61805         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
61807 2010-12-25  Bruno Haible  <bruno@clisp.org>
61809         readlink doc: Mention an old glibc bug.
61810         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
61812 2010-12-25  Bruno Haible  <bruno@clisp.org>
61814         fcntl-h: Fix for use of C++ on glibc systems.
61815         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
61816         also on glibc systems in C++ mode.
61817         Reported by Gary V. Vaughan <gary@gnu.org>.
61819 2010-12-25  Bruno Haible  <bruno@clisp.org>
61821         roundl-ieee: Make it work on OSF/1 5.1 with cc.
61822         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
61824 2010-12-25  Bruno Haible  <bruno@clisp.org>
61826         truncl-ieee: Make it work on OSF/1 5.1 with cc.
61827         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
61828         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
61829         test whether truncl works according to ISO C 99 with IEC 60559.
61830         * m4/truncl-ieee.m4: New file.
61831         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
61832         m4/signbit.m4.
61833         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
61835 2010-12-25  Bruno Haible  <bruno@clisp.org>
61837         ceill-ieee: Make it work on OSF/1 5.1 with cc.
61838         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
61839         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
61840         test whether ceill works according to ISO C 99 with IEC 60559.
61841         * m4/ceill-ieee.m4: New file.
61842         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
61843         m4/signbit.m4.
61844         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
61846 2010-12-25  Bruno Haible  <bruno@clisp.org>
61848         Ensure all prerequisites of <wchar.h> are included.
61849         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
61850         before <wchar.h>.
61851         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
61852         gl_MBRLEN_NUL_RETVAL): Likewise.
61853         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
61854         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
61855         AC_FUNC_MBRTOWC): Likewise.
61856         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
61857         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
61858         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
61859         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
61860         Likewise.
61861         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
61862         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
61863         (gl_WCHAR_H): Improve comments.
61864         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
61866 2010-12-25  Bruno Haible  <bruno@clisp.org>
61868         strtok_r: Fix C syntax error in autoconf macro.
61869         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
61870         characters in test program.
61872 2010-12-24  Bruno Haible  <bruno@clisp.org>
61874         ceil, trunc, round: Fix gcc warnings.
61875         * lib/ceil.c (MIN): Undefine before redefining.
61876         * lib/trunc.c (MIN): Likewise.
61877         * lib/round.c (MIN): Likewise.
61878         Include <math.h> first.
61880 2010-12-24  Bruno Haible  <bruno@clisp.org>
61882         select tests: Avoid failures on OSF/1 5.1.
61883         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
61884         failure of closing the last socket; it may fail with ECONNRESET.
61886 2010-12-24  Eric Blake  <eblake@redhat.com>
61888         stdint: avoid HP-UX 10.20 preprocessor bug
61889         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
61890         than #if.
61891         * tests/test-floor2.c (main): Likewise.
61892         Reported by Peter O'Gorman.
61894         pipe: make obsoletion transition easier
61895         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
61896         * modules/pipe (Files): Include revived file.
61897         (Include): Drop reference, to mirror getdate's behavior.
61899 2010-12-24  Bruno Haible  <bruno@clisp.org>
61901         sys_socket: Hide mismatch of declarations on NonStop Kernel.
61902         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
61903         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
61904         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61906 2010-12-24  Bruno Haible  <bruno@clisp.org>
61908         gethostname: Ensure declaration on NonStop Kernel.
61909         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
61910         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61912 2010-12-24  Bruno Haible  <bruno@clisp.org>
61914         sys_select: Ensure all necessary types on NonStop Kernel.
61915         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
61916         include <sys/time.h>.
61917         * doc/posix-headers/sys_select.texi: Mention that it's missing on
61918         NonStop Kernel.
61919         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61921 2010-12-24  Bruno Haible  <bruno@clisp.org>
61923         sys_select: Remove unneeded include.
61924         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
61925         have <sys/select.h>.
61927 2010-12-24  Bruno Haible  <bruno@clisp.org>
61929         gethostname: Provide a fallback for HOST_NAME_MAX.
61930         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
61931         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
61932         instead.
61933         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61935 2010-12-24  Bruno Haible  <bruno@clisp.org>
61937         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
61938         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
61939         (SA_RESTART): Likewise.
61940         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61942 2010-12-24  Bruno Haible  <bruno@clisp.org>
61944         signal: Define NSIG.
61945         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
61946         * tests/test-signal.c (nsig): New variable.
61947         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
61949 2010-12-24  Bruno Haible  <bruno@clisp.org>
61951         rename, renameat: Avoid test failures on OSF/1 5.1.
61952         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
61953         alternative error codes.
61954         * tests/test-renameat.c (main): Likewise.
61956 2010-12-24  Bruno Haible  <bruno@clisp.org>
61958         *printf: Detect large precisions bug on Solaris 10/SPARC.
61959         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
61960         by Paul Eggert.
61961         * tests/test-snprintf-posix.h (test_function): Add this test code here
61962         too.
61963         * tests/test-sprintf-posix.h (test_function): Likewise.
61964         * tests/test-vasnprintf-posix.c (test_function): Likewise.
61965         * tests/test-vasprintf-posix.c (test_function): Likewise.
61966         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
61967         around by gnulib.
61968         * doc/posix-functions/printf.texi: Likewise.
61969         * doc/posix-functions/snprintf.texi: Likewise.
61970         * doc/posix-functions/sprintf.texi: Likewise.
61971         * doc/posix-functions/vfprintf.texi: Likewise.
61972         * doc/posix-functions/vprintf.texi: Likewise.
61973         * doc/posix-functions/vsnprintf.texi: Likewise.
61974         * doc/posix-functions/vsprintf.texi: Likewise.
61975         * doc/posix-functions/dprintf.texi: Undo last commit.
61976         * doc/posix-functions/vdprintf.texi: Likewise.
61978 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
61980         tests: port test-fdutimensat.c to Solaris 8
61981         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
61982         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
61983         On Solaris 8, it fails with errno == ENOSYS, because there is no
61984         futimens (so it can't use the fd), and there is no lutimens (so it
61985         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
61987         vsnprintf: make more consistent with snprintf; doc fixes
61989         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
61990         the byte count return problem was promoted from the snprintf-posix
61991         to the snprintf module.
61992         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
61993         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
61994         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
61995         * tests/test-snprintf.c (main): Check the byte count returned.
61996         * tests/test-vsnprintf.c (main): Likewise.
61998 2010-12-23  Eric Blake  <eblake@redhat.com>
62000         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
62001         * modules/sigpipe (License): Relax license.
62003 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62005         doc: document Solaris printf bug with large float precisions
62006         * doc/posix-functions/dprintf.texi (dprintf):
62007         * doc/posix-functions/fprintf.texi (fprintf):
62008         * doc/posix-functions/printf.texi (printf):
62009         * doc/posix-functions/snprintf.texi (snprintf):
62010         * doc/posix-functions/sprintf.texi (sprintf):
62011         * doc/posix-functions/vdprintf.texi (vdprintf):
62012         * doc/posix-functions/vfprintf.texi (vfprintf):
62013         * doc/posix-functions/vprintf.texi (vprintf):
62014         * doc/posix-functions/vsnprintf.texi (vsnprintf):
62015         * doc/posix-functions/vsprintf.texi (vsprintf):
62016         Mention that these functions mishandle large floating point
62017         precisions on Solaris 10.  The same bug is also present in Solaris
62018         8, and I assume earlier.  This causes "cd gnulib-tests; make
62019         check" to fail on Solaris 8 (and I assume, later) when building
62020         the latest coreutils, in test-vasprintf-posix's call to
62021         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
62022         the wide flavors (e.g., wprintf) so this patch just updates the
62023         documentation for the narrow ones.
62025         test-posixtm.c: add two tests
62026         * tests/test-posixtm.c: Add two tests, to highlight the
62027         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
62028         around this bug; this is merely to document it.
62030 2010-12-22  Bruno Haible  <bruno@clisp.org>
62032         getlogin_r: Work around portability problem on OSF/1.
62033         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
62034         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
62035         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
62036         test for a truncated result.
62037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
62038         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
62039         * modules/getlogin_r (Depends-on): Add memchr.
62040         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
62042 2010-12-22  Bruno Haible  <bruno@clisp.org>
62044         ptsname: Avoid test failure on OSF/1 5.1.
62045         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
62046         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
62047         (same_slave): New function.
62048         (main): Use it to compare ptsname's result with the expected file name.
62050 2010-12-22  Bruno Haible  <bruno@clisp.org>
62052         Port extended stdio modules to HP NonStop Kernel.
62053         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
62054         macros.
62055         * lib/fbufmode.c: Update comments.
62056         * lib/fflush.c: Likewise.
62057         * lib/fpurge.c: Likewise.
62058         * lib/freadable.c: Likewise.
62059         * lib/freadahead.c: Likewise.
62060         * lib/freading.c: Likewise.
62061         * lib/freadptr.c: Likewise.
62062         * lib/freadseek.c: Likewise.
62063         * lib/fseeko.c: Likewise.
62064         * lib/fseterr.c: Likewise.
62065         * lib/fwritable.c: Likewise.
62066         * lib/fwriting.c: Likewise.
62067         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
62069 2010-12-22  Bruno Haible  <bruno@clisp.org>
62071         ttyname_r: Work around bug on OSF/1 5.1.
62072         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
62073         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
62074         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
62075         present.
62076         * lib/ttyname_r.c (ttyname_r): Update comments.
62078 2010-12-22  Bruno Haible  <bruno@clisp.org>
62080         round: Implement result sign according to IEEE 754.
62081         * lib/round.c (MIN, MINUS_ZERO): New macros.
62082         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
62083         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
62084         * tests/test-round-ieee.c (main): Likewise.
62085         * tests/test-roundl-ieee.c (main): Likewise.
62087         trunc: Implement result sign according to IEEE 754.
62088         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
62089         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
62090         * tests/test-trunc2.c: Include minus-zero.h.
62091         (MINUS_ZERO): New macro.
62092         (trunc_reference): Keep in sync with lib/trunc.c.
62093         * tests/test-truncf2.c: Include minus-zero.h.
62094         (MINUS_ZERO): New macro.
62095         (truncf_reference): Keep in sync with lib/trunc.c.
62096         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
62097         * tests/test-trunc-ieee.c (main): Likewise.
62098         * tests/test-truncl-ieee.c (main): Likewise.
62100         ceil: Implement result sign according to IEEE 754.
62101         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
62102         (FUNC): Return -0.0 for -1 < x < 0.
62103         * tests/test-ceil2.c: Include minus-zero.h.
62104         (MINUS_ZERO): New macro.
62105         (ceil_reference): Keep in sync with lib/ceil.c.
62106         * tests/test-ceilf2.c: Include minus-zero.h.
62107         (MINUS_ZERO): New macro.
62108         (ceilf_reference): Keep in sync with lib/ceil.c.
62109         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
62110         * tests/test-ceil-ieee.c (main): Likewise.
62111         * tests/test-ceill-ieee.c (main): Likewise.
62113         floor: Implement result sign according to IEEE 754.
62114         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
62115         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
62116         * tests/test-floorf2.c (floorf_reference): Likewise.
62117         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
62118         * tests/test-floor-ieee.c (main): Likewise.
62119         * tests/test-floorl-ieee.c (main): Likewise.
62121 2010-12-22  Bruno Haible  <bruno@clisp.org>
62123         getaddrinfo: Update doc.
62124         * doc/posix-functions/gai_strerror.texi: Return type is also different
62125         on AIX and HP-UX.
62127 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
62129         getaddrinfo, inet_ntop: Update doc for Solaris.
62130         * doc/posix-functions/gai_strerror.texi: Return type is also an
62131         issue on Solaris 9 and earlier.
62132         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
62133         on Solaris 10 and earlier.
62135 2010-12-21  Bruno Haible  <bruno@clisp.org>
62137         New module 'roundl-ieee'.
62138         * modules/roundl-ieee: New file.
62139         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
62140         test whether roundl works according to ISO C 99 with IEC 60559.
62141         * m4/roundl-ieee.m4: New file.
62142         * modules/roundl-ieee-tests: New file.
62143         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
62144         * tests/test-roundl.c (main): Remove signbit tests.
62145         * modules/roundl-tests (Depends-on): Remove signbit.
62146         * doc/posix-functions/roundl.texi: Mention the new module.
62148 2010-12-21  Bruno Haible  <bruno@clisp.org>
62150         New module 'truncl-ieee'.
62151         * modules/truncl-ieee: New file.
62152         * modules/truncl-ieee-tests: New file.
62153         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
62154         * tests/test-truncl.c (main): Remove signbit tests.
62155         * modules/truncl-tests (Depends-on): Remove signbit.
62156         * doc/posix-functions/truncl.texi: Mention the new module.
62158 2010-12-21  Bruno Haible  <bruno@clisp.org>
62160         New module 'ceill-ieee'.
62161         * modules/ceill-ieee: New file.
62162         * modules/ceill-ieee-tests: New file.
62163         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
62164         * tests/test-ceill.c (main): Remove signbit tests.
62165         * modules/ceill-tests (Depends-on): Remove signbit.
62166         * doc/posix-functions/ceill.texi: Mention the new module.
62168 2010-12-21  Bruno Haible  <bruno@clisp.org>
62170         New module 'floorl-ieee'.
62171         * modules/floorl-ieee: New file.
62172         * modules/floorl-ieee-tests: New file.
62173         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
62174         * tests/test-floorl.c (main): Remove signbit tests.
62175         * modules/floorl-tests (Depends-on): Remove signbit.
62176         * doc/posix-functions/floorl.texi: Mention the new module.
62178 2010-12-21  Bruno Haible  <bruno@clisp.org>
62180         New module 'round-ieee'.
62181         * modules/round-ieee: New file.
62182         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
62183         whether round works according to ISO C 99 with IEC 60559.
62184         * m4/round-ieee.m4: New file.
62185         * modules/round-ieee-tests: New file.
62186         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
62187         * tests/test-round1.c (main): Remove signbit tests.
62188         * modules/round-tests (Depends-on): Remove 'signbit'.
62189         * doc/posix-functions/round.texi: Mention the new module.
62191 2010-12-21  Bruno Haible  <bruno@clisp.org>
62193         New module 'trunc-ieee'.
62194         * modules/trunc-ieee: New file.
62195         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
62196         whether trunc works according to ISO C 99 with IEC 60559.
62197         * m4/trunc-ieee.m4: New file.
62198         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
62199         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
62200         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
62201         * modules/trunc-ieee-tests: New file.
62202         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
62203         * tests/test-trunc1.c (main): Remove signbit tests.
62204         * modules/trunc-tests (Depends-on): Remove 'signbit'.
62205         * doc/posix-functions/trunc.texi: Mention the new module.
62207 2010-12-21  Bruno Haible  <bruno@clisp.org>
62209         New module 'ceil-ieee'.
62210         * modules/ceil-ieee: New file.
62211         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
62212         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
62213         ISO C 99 with IEC 60559.
62214         * m4/ceil-ieee.m4: New file.
62215         * modules/ceil (Files): Add lib/ceil.c.
62216         (Depends-on): Add 'float'.
62217         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62218         * lib/math.in.h (ceil): New declaration.
62219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
62220         REPLACE_CEIL.
62221         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
62222         * modules/ceil-ieee-tests: New file.
62223         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
62224         * tests/test-math-c++.cc: Check the signature of 'ceil'.
62225         * doc/posix-functions/ceil.texi: Mention the new module.
62227 2010-12-21  Bruno Haible  <bruno@clisp.org>
62229         New module 'floor-ieee'.
62230         * modules/floor-ieee: New file.
62231         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
62232         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
62233         ISO C 99 with IEC 60559.
62234         * m4/floor-ieee.m4: New file.
62235         * modules/floor (Files): Add lib/floor.c.
62236         (Depends-on): Add 'float'.
62237         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
62238         * lib/math.in.h (floor): New declaration.
62239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
62240         REPLACE_FLOOR.
62241         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
62242         * modules/floor-ieee-tests: New file.
62243         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
62244         * tests/test-math-c++.cc: Check the signature of 'floor'.
62245         * doc/posix-functions/floor.texi: Mention the new module.
62247 2010-12-21  Bruno Haible  <bruno@clisp.org>
62249         New module 'roundf-ieee'.
62250         * modules/roundf-ieee: New file.
62251         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
62252         test whether roundf works according to ISO C 99 with IEC 60559.
62253         * m4/roundf-ieee.m4: New file.
62254         * modules/roundf-ieee-tests: New file.
62255         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
62256         * tests/test-roundf1.c (main): Remove signbit tests.
62257         * modules/roundf-tests (Depends-on): Remove 'signbit'.
62258         * doc/posix-functions/roundf.texi: Mention the new module.
62260 2010-12-21  Bruno Haible  <bruno@clisp.org>
62262         New module 'truncf-ieee'.
62263         * modules/truncf-ieee: New file.
62264         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
62265         test whether truncf works according to ISO C 99 with IEC 60559.
62266         * m4/truncf-ieee.m4: New file.
62267         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
62268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
62269         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
62270         * modules/truncf-ieee-tests: New file.
62271         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
62272         * tests/test-truncf1.c (main): Remove signbit tests.
62273         * modules/truncf-tests (Depends-on): Remove 'signbit'.
62274         * doc/posix-functions/truncf.texi: Mention the new module.
62276 2010-12-21  Bruno Haible  <bruno@clisp.org>
62278         New module 'ceilf-ieee'.
62279         * modules/ceilf-ieee: New file.
62280         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
62281         test whether ceilf works according to ISO C 99 with IEC 60559.
62282         * m4/ceilf-ieee.m4: New file.
62283         * modules/ceilf-ieee-tests: New file.
62284         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
62285         * tests/test-ceilf1.c (main): Remove signbit tests.
62286         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
62287         * doc/posix-functions/ceilf.texi: Mention the new module.
62289 2010-12-21  Bruno Haible  <bruno@clisp.org>
62291         New module 'floorf-ieee'.
62292         * modules/floorf-ieee: New file.
62293         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
62294         test whether floorf works according to ISO C 99 with IEC 60559.
62295         * m4/floorf-ieee.m4: New file.
62296         * modules/floorf-ieee-tests: New file.
62297         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
62298         * tests/test-floorf1.c (main): Remove signbit tests.
62299         * modules/floorf-tests (Depends-on): Remove 'signbit'.
62300         * doc/posix-functions/floorf.texi: Mention the new module.
62302 2010-12-21  Bruno Haible  <bruno@clisp.org>
62304         Support for minus zero in autoconf macros.
62305         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
62306         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
62307         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
62308         * tests/minus-zero.h: Update comments.
62310 2010-12-21  Bruno Haible  <bruno@clisp.org>
62312         Tests for module 'ceil'.
62313         * modules/ceil-tests: New file.
62314         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
62315         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
62317 2010-12-21  Bruno Haible  <bruno@clisp.org>
62319         Tests for module 'floor'.
62320         * modules/floor-tests: New file.
62321         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
62322         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
62324 2010-12-21  Bruno Haible  <bruno@clisp.org>
62326         math: Fix indentation.
62327         * lib/math.in.h (floorf): Fix indentation.
62329 2010-12-21  Bruno Haible  <bruno@clisp.org>
62331         Fix cross-compilation guesses on Solaris.
62332         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
62333         not match "solaris2.10".
62334         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62335         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
62336         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
62338 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
62340         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
62341         This fixes a problem observed with the latest coreutils snapshot
62342         that caused a test to fail on Solaris 8.  src/csplit.c's call
62343         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
62344         earlier, instead of returning the number of bytes that would have
62345         been generated; this causes csplit to incorrectly report memory
62346         exhaustion.
62347         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
62348         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
62349         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
62350         comments to match.
62351         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
62352         Fix typo in matching older versions of Solaris: "solaris2.10"
62353         is matched by the shell pattern "solaris2.[0-9]*".  This matters
62354         only for guessing while cross-compiling.
62355         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
62357 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
62359         ftoastr: fix comment again
62360         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62361         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
62362         Also, simplify example a bit by using flags = 0.
62364 2010-12-20  Bruno Haible  <bruno@clisp.org>
62366         round*, trunc*: Update documentation regarding glibc.
62367         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
62368         * doc/posix-functions/round.texi: Likewise.
62369         * doc/posix-functions/roundl.texi: Likewise.
62370         * doc/posix-functions/truncf.texi: Likewise.
62371         * doc/posix-functions/trunc.texi: Likewise.
62372         * doc/posix-functions/truncl.texi: Likewise.
62374 2010-12-20  Bruno Haible  <bruno@clisp.org>
62376         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
62377         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
62378         * doc/posix-functions/round.texi: Likewise.
62379         * doc/posix-functions/roundl.texi: Likewise.
62381 2010-12-20  Bruno Haible  <bruno@clisp.org>
62383         ttyname_r: Add missing declaration on HP-UX 11.
62384         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
62385         HAVE_TTYNAME_R.
62386         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
62387         declared. Set HAVE_TTYNAME_R always.
62388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62389         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
62390         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
62391         HAVE_TTYNAME_R.
62392         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
62394 2010-12-20  Bruno Haible  <bruno@clisp.org>
62396         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
62397         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
62398         * doc/posix-functions/getlogin_r.texi: Likewise.
62399         * tests/test-getlogin.c: Include <errno.h>.
62400         (main): Avoid test failure on HP-UX 11.11.
62401         * tests/test-getlogin_r.c (main): Likewise.
62403 2010-12-20  Bruno Haible  <bruno@clisp.org>
62405         getlogin_r: Add missing declaration on HP-UX 11.
62406         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
62407         declared also when it exists as a function.
62408         * doc/posix-functions/getlogin_r.texi: Document this workaround.
62410 2010-12-20  Bruno Haible  <bruno@clisp.org>
62412         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
62413         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
62414         through wcrtomb.
62416 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62418         ftoastr: fix comment
62419         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
62420         <http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.
62422 2010-12-19  Bruno Haible  <bruno@clisp.org>
62424         isnan: Ensure it is a macro.
62425         * lib/math.in.h (isnan): Define as a macro if not already a macro.
62426         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
62427         Solaris.
62429 2010-12-19  Bruno Haible  <bruno@clisp.org>
62431         ldexpl test: Fix link error on OSF/1 5.1.
62432         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
62434 2010-12-19  Bruno Haible  <bruno@clisp.org>
62436         wctype: Make it work in C++ mode on OSF/1 5.1.
62437         * lib/wctype.in.h (iswblank): Declare but not define here.
62438         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
62439         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
62440         * modules/wctype (Files): Add lib/iswblank.c.
62442 2010-12-19  Bruno Haible  <bruno@clisp.org>
62444         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
62445         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
62446         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
62448 2010-12-19  Bruno Haible  <bruno@clisp.org>
62450         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
62451         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
62452         _POSIX_PII_SOCKET.
62453         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
62454         * doc/posix-functions/recvfrom.texi: Likewise.
62455         * doc/posix-functions/send.texi: Likewise.
62456         * doc/posix-functions/sendto.texi: Likewise.
62458 2010-12-19  Bruno Haible  <bruno@clisp.org>
62460         tcgetsid: Add missing declaration on OSF/1 5.1.
62461         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
62462         HAVE_TCGETSID.
62463         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
62464         Don't set HAVE_TCGETSID.
62465         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
62466         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
62467         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
62468         HAVE_TCGETSID.
62469         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
62471 2010-12-19  Bruno Haible  <bruno@clisp.org>
62473         stdio: Fix problem with popen() declaration on OSF/1 5.1.
62474         * lib/stdio.in.h: During the include_next statement, let recursive
62475         includes of this file include only the system header file.
62477 2010-12-19  Bruno Haible  <bruno@clisp.org>
62479         iconv_open: Fix regression from 2010-12-04.
62480         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
62481         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
62483 2010-12-19  Bruno Haible  <bruno@clisp.org>
62485         stdbool test: Avoid a gcc warning.
62486         * tests/test-stdbool.c (main): Fail if e1 is false.
62487         Reported by Jim Meyering.
62489 2010-12-19  Jim Meyering  <meyering@redhat.com>
62491         setenv: restore to working order
62492         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
62493         mistakenly removed.
62494         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
62495         HAVE_SETENV.
62496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
62497         HAVE_SETENV.
62499 2010-12-19  Bruno Haible  <bruno@clisp.org>
62501         Document some different function declarations on OSF/1 5.1.
62502         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
62503         * doc/posix-functions/inet_ntop.texi: Likewise.
62504         * doc/posix-functions/gethostname.texi: Likewise.
62505         * lib/unistd.in.h (gethostname): Update comment.
62507 2010-12-19  Bruno Haible  <bruno@clisp.org>
62509         doc: Mention vasprintf-posix module.
62510         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
62511         the 'vasprintf-posix' module.
62512         * doc/glibc-functions/vasprintf.texi: Likewise.
62514 2010-12-19  Bruno Haible  <bruno@clisp.org>
62516         unsetenv: Add missing declaration on OSF/1 5.1.
62517         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
62518         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
62519         Don't set HAVE_UNSETENV. In the test program, set _BSD.
62520         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
62521         not HAVE_UNSETENV.
62522         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
62523         HAVE_UNSETENV.
62524         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
62526 2010-12-19  Bruno Haible  <bruno@clisp.org>
62528         setenv: Add missing declaration on OSF/1 5.1.
62529         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
62530         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
62531         declared. Don't set HAVE_SETENV.
62532         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
62533         not HAVE_SETENV.
62534         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
62535         HAVE_SETENV.
62536         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
62538 2010-12-19  Bruno Haible  <bruno@clisp.org>
62540         nl_langinfo tests: Avoid gcc warning.
62541         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
62543 2010-12-19  Bruno Haible  <bruno@clisp.org>
62545         mknod: Avoid error in C++ mode on OSF/1 with GCC.
62546         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
62547         _GL_CXXALIAS_SYS.
62549 2010-12-19  Bruno Haible  <bruno@clisp.org>
62551         stdbool: Relax test.
62552         * tests/test-stdbool.c (e): Don't require that casts from a variable's
62553         address to 'bool' work in static initializer, for compilers other than
62554         GCC.
62556 2010-12-19  Bruno Haible  <bruno@clisp.org>
62558         ftello: Add missing declaration on OSF/1 5.1.
62559         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
62560         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
62561         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
62562         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
62563         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
62565 2010-12-19  Bruno Haible  <bruno@clisp.org>
62567         fseeko: Add missing declaration on OSF/1 5.1.
62568         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
62569         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
62570         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
62571         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
62572         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
62574 2010-12-19  Bruno Haible  <bruno@clisp.org>
62576         fchdir: Add missing declaration on OSF/1 5.1.
62577         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
62578         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
62579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
62580         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
62581         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
62583 2010-12-19  Bruno Haible  <bruno@clisp.org>
62585         relocatable-prog-wrapper: Separate from relocatable-prog.
62586         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
62587         uninstall-relocwrapper rule here.
62588         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
62589         Reported by Ian Beckwith <ianb@erislabs.net>.
62591 2010-12-19  Bruno Haible  <bruno@clisp.org>
62593         unistr/u8-mbsnlen: Add missing dependency.
62594         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
62595         Reported by Ian Beckwith <ianb@erislabs.net>.
62597 2010-12-19  Bruno Haible  <bruno@clisp.org>
62599         iconv: Make it possible again to use this module without 'iconv-h'.
62600         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
62601         if it is not defined.
62602         Reported by Ian Beckwith <ianb@erislabs.net>.
62604 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62606         acl: port to Solaris 8 when copying from tmpfs to ufs
62607         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
62608         error number.  Problem observed on Solaris 8 with latest
62609         coreutils, with "mv A B", where A is on a tmpfs file system and B
62610         is on a ufs file system.  This caused coreutils' mv/part-symlink
62611         test to fail.
62613         tests: set fail=0 at start
62614         * tests/init.sh (setup_): Move fail=0 initialization here ...
62615         (mktempd_): ... from here, so that tests can rely on fail being
62616         set to 0 initially.  This fixes a problem in coreutils; see:
62617         http://lists.gnu.org/r/coreutils/2010-12/msg00083.html
62619 2010-12-18  Bruno Haible  <bruno@clisp.org>
62621         memmem-simple: Stylistic changes.
62622         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
62623         Fix preprocessor directive indentation.
62625 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62627         memmem, memmem-simple: reorganize and expand empty needle check
62628         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
62629         functional checks to memmem-simple so that one has a fully functional
62630         memmem by using just this module.
62631         Restrict the performance only check to the memmem module.
62632         Also expand the empty needle check to ensure the correct
62633         pointer is returned, not just a non NULL pointer.
62634         * doc/glibc-functions/memmem.texi: Rearrange the portability
62635         documentation to correlate with the rearranged checks.
62636         Clarify exactly how the memmem and memmem-simple modules
62637         relate to each other.
62639 2010-12-15  Pádraig Brady  <P@draigBrady.com>
62640             Bruno Haible  <bruno@clisp.org>
62642         Improve cross-compilation guesses for uClibc.
62643         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
62644         that uClibc does not have the glibc bug.
62645         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
62646         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
62648 2010-12-14  Eric Blake  <eblake@redhat.com>
62650         configmake: provide fallbacks for oldest supported autotools
62651         * m4/configmake.m4: New file.
62652         * modules/configmake (Files): Ship it.
62653         (configure.ac): Use it to guarantee fallbacks.
62655 2010-12-13  Pádraig Brady  <P@draigBrady.com>
62657         read-file: Improve handling of large files
62658         * lib/read-file.c (fread_file): Minimize realloc()s
62659         for regular files, and better manage sizes around SIZE_MAX.
62661 2010-12-13  Eric Blake  <eblake@redhat.com>
62663         cloexec, fcntl: relax license
62664         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
62665         consent from all contributors.
62666         * modules/fcntl (License): Likewise.
62668 2010-12-10  Bruno Haible  <bruno@clisp.org>
62670         Tests for module 'pipe-posix'.
62671         * modules/pipe-posix-tests: New file.
62672         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
62674 2010-12-10  Bruno Haible  <bruno@clisp.org>
62676         pipe-posix: Make it work in C++ mode.
62677         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
62678         (pipe): Use common idiom, not a macro definition.
62679         * lib/pipe.c: New file.
62680         * m4/pipe.m4: New file.
62681         * modules/pipe-posix (Description): Enhance.
62682         (Files): Add lib/pipe.c, m4/pipe.m4.
62683         (configure.ac): Invoke gl_FUNC_PIPE.
62684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
62685         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
62686         * tests/test-unistd-c++.cc: Check the signature of pipe.
62688 2010-12-10  Bruno Haible  <bruno@clisp.org>
62690         Rename module 'pipe' to 'spawn-pipe'.
62691         * modules/spawn-pipe: New file, renamed from modules/pipe.
62692         (Files, configure.ac, Makefile.am): Update.
62693         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
62694         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
62695         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
62696         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
62697         "spawn-pipe.h" instead of "pipe.h".
62698         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
62699         to gl_SPAWN_PIPE.
62700         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
62701         (Files, Makefile.am): Update.
62702         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
62703         Update.
62704         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
62705         Include "spawn-pipe.h" instead of "pipe.h".
62706         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
62707         * lib/javacomp.c: Likewise.
62708         * lib/javaversion.c: Likewise.
62709         * lib/pipe-filter-gi.c: Likewise.
62710         * lib/pipe-filter-ii.c: Likewise.
62711         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
62712         * modules/javacomp (Depends-on): Likewise.
62713         * modules/javaversion (Depends-on): Likewise.
62714         * modules/pipe-filter-gi (Depends-on): Likewise.
62715         * modules/pipe-filter-ii (Depends-on): Likewise.
62716         * MODULES.html.sh (Executing programs): Update.
62717         * NEWS: Mention the change.
62719 2010-12-10  Eric Blake  <eblake@redhat.com>
62721         pipe-posix: new module
62722         * modules/pipe-posix: New file.
62723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
62724         (gl_UNISTD_H): Check for declaration.
62725         * modules/unistd (Makefile.am): Substitute it.
62726         * lib/unistd.in.h (pipe): Provide it for mingw.
62727         * doc/posix-functions/pipe.texi (pipe): Update documentation.
62728         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
62730 2010-12-07  Bruno Haible  <bruno@clisp.org>
62732         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
62733         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
62734         u8_strcmp_gnu.
62735         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
62737 2010-12-06  Bruno Haible  <bruno@clisp.org>
62739         Update internal documentation.
62740         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
62742 2010-12-04  Bruno Haible  <bruno@clisp.org>
62744         Put more information about failed tests into the test return codes.
62745         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
62746         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
62747         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
62748         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62749         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
62750         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62751         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
62752         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
62753         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
62754         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62755         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
62756         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62757         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
62758         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62759         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
62760         returns a bit mask.
62761         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
62762         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
62763         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
62764         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
62765         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
62766         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
62767         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
62768         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
62769         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
62770         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
62771         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
62772         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
62773         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
62774         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
62775         * m4/link.m4 (gl_FUNC_LINK): Likewise.
62776         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
62777         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
62778         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
62779         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
62780         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
62781         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
62782         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
62783         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
62784         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
62785         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
62786         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
62787         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
62788         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
62789         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
62790         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
62791         gl_PRINTF_PRECISION): Likewise.
62792         * m4/regex.m4 (gl_REGEX): Likewise.
62793         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
62794         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
62795         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
62796         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
62797         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
62798         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
62799         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
62800         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
62801         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
62802         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
62803         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
62804         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
62805         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
62806         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
62807         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
62808         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
62809         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
62810         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
62811         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
62812         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
62813         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
62814         enumerated value.
62815         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
62817 2010-12-04  Bruno Haible  <bruno@clisp.org>
62819         Update for Solaris 11 2010-11.
62820         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
62821         Express, released in November 2010.
62823 2010-12-04  Bruno Haible  <bruno@clisp.org>
62825         nproc: Relax license.
62826         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
62827         and Paul Eggert.
62828         Requested by Ludovic Courtès <ludo@gnu.org>.
62830 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
62832         utimecmp: fine-grained src to nearby coarse-grained dest
62834         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
62835         and the source is on a file system with higher-resolution time
62836         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
62837         not work, and the time stamps are close together, the algorithm to
62838         determine the exact resolution from the read-back mtime was buggy:
62839         it had a "!=" where it should have had an "==".  This bug has been
62840         in the code ever since it was introduced to gnulib.
62841         Problem reported by Dan Jacobson in
62842         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
62844 2010-11-30  Bruno Haible  <bruno@clisp.org>
62846         strerror_r-posix: Fix autoconf test.
62847         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
62849 2010-11-28  Bruno Haible  <bruno@clisp.org>
62850             Paul Eggert  <eggert@cs.ucla.edu>
62852         Tests for module 'getdomainname'.
62853         * modules/getdomainname-tests: New file.
62854         * tests/test-getdomainname.c: New file, based on
62855         tests/test-gethostname.c.
62857 2010-11-28  Bruno Haible  <bruno@clisp.org>
62858             Paul Eggert  <eggert@cs.ucla.edu>
62860         getdomainname: Use the system function when possible.
62861         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
62862         (getdomainname): Replace if needed. Provide the declaration if it is
62863         missing. Don't use _GL_CXXALIAS_SYS_CAST.
62864         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
62865         (getdomainname): When the system has getdomainname, call the system
62866         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
62867         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
62868         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
62869         found in libnsl. Look for the declaration also in <netdb.h>. Replace
62870         the function if its second argument is of type 'int' or if it is found
62871         in libnsl.
62872         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
62873         <sys/systeminfo.h> and sysinfo().
62874         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
62875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62876         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
62877         HAVE_GETDOMAINNAME.
62878         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
62879         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
62880         * doc/glibc-functions/getdomainname.texi: Document the problems with
62881         the getdomainname declaration.
62883 2010-11-28  Bruno Haible  <bruno@clisp.org>
62885         sys_socket: Ensure ss_family field on AIX.
62886         * lib/sys_socket.in.h (ss_family): New macro definition.
62887         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
62888         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
62889         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
62890         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62891         * modules/sys_socket (Makefile.am): Substitute
62892         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
62893         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
62895 2010-11-27  Bruno Haible  <bruno@clisp.org>
62897         readline: Improve configure output.
62898         * m4/readline.m4 (gl_FUNC_READLINE): Make the
62899         "checking for readline..." result understandable.
62901 2010-11-27  Bruno Haible  <bruno@clisp.org>
62903         *printf-posix: Detect a bug on Solaris 10/x86.
62904         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
62905         for floating-point output.
62906         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
62907         directive.
62908         * tests/test-snprintf-posix.h (test_function): Likewise.
62909         * tests/test-sprintf-posix.h (test_function): Likewise.
62910         * tests/test-vasprintf-posix.c (test_function): Likewise.
62911         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
62912         * doc/posix-functions/printf.texi: Likewise.
62913         * doc/posix-functions/snprintf.texi: Likewise.
62914         * doc/posix-functions/sprintf.texi: Likewise.
62915         * doc/posix-functions/vfprintf.texi: Likewise.
62916         * doc/posix-functions/vprintf.texi: Likewise.
62917         * doc/posix-functions/vsnprintf.texi: Likewise.
62918         * doc/posix-functions/vsprintf.texi: Likewise.
62919         * doc/glibc-functions/obstack_printf.texi: Likewise.
62920         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
62922 2010-11-27  Bruno Haible  <bruno@clisp.org>
62924         Fix link error when module libunistring-optional is in use.
62925         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
62926         * modules/striconveha-tests (Makefile.am): Likewise.
62928 2010-11-27  Bruno Haible  <bruno@clisp.org>
62930         regex: Mention link dependencies.
62931         * modules/regex (Link): New section.
62932         * modules/rpmatch (Link): Likewise.
62933         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
62935 2010-11-27  Bruno Haible  <bruno@clisp.org>
62937         ftoastr: Fix compilation error on Solaris.
62938         * lib/ftoastr.c: Include <config.h>.
62940 2010-11-27  Bruno Haible  <bruno@clisp.org>
62942         getloadavg: Update documentation.
62943         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
62945 2010-11-27  Bruno Haible  <bruno@clisp.org>
62947         sys_socket: Fix test whether the functions are declared.
62948         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
62949         not <sys/select.h>.
62951 2010-11-27  Bruno Haible  <bruno@clisp.org>
62953         getpass: Make sure to get system declaration on some platforms.
62954         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
62955         gl_USE_SYSTEM_EXTENSIONS.
62956         * modules/getpass (Depends-on): Add extensions.
62958 2010-11-26  Bruno Haible  <bruno@clisp.org>
62960         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
62961         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
62962         'iconv' module is present.
62963         (ICONV_CONST): New macro.
62964         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
62965         ICONV_CONST.
62966         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
62967         set ICONV_CONST.
62968         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
62969         here.
62970         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
62971         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
62972         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
62973         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
62974         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
62975         present.
62977 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62979         ftoastr: comment fix
62980         * lib/ftoastr.c: "little" -> "little or no" in comment
62982 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
62984         stdint: port to GCC 4.3 + OSX + Octave
62985         On this platform, stdint.h is buggy and defines int64_t to long
62986         long int.  The replacement defined it to long int, causing
62987         problems with C++ style name mangling.  Instead, trust the system
62988         definition if INT64_MAX is defined, and likewise for the unsigned
62989         variant.   Problem reported by Jarno Rajahalme in
62990         <http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
62991         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
62992         and don't mess with int64_t and INT64_MAX in this case.
62993         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
62995 2010-11-24  Bruno Haible  <bruno@clisp.org>
62997         doc: Corrections regarding MacOS X 10.4 and 10.5.
62998         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
62999         MacOS X.
63000         Reported by Simon Josefsson.
63002 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
63004         Uninstall ".bin" files installed by relocwrapper.
63005         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
63006         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
63007         unless it is already there.
63009 2010-11-21  Bruno Haible  <bruno@clisp.org>
63011         Update for NetBSD 5.0.
63012         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63013         NetBSD; the test fails on NetBSD 5.0.
63014         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63015         about NetBSD.
63017 2010-11-21  Bruno Haible  <bruno@clisp.org>
63019         Update for HP-UX 11.23 and HP-UX 11.31.
63020         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
63021         HP-UX.
63023 2010-11-21  Bruno Haible  <bruno@clisp.org>
63025         Update for MacOS X 10.5.
63026         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
63027         MacOS X; the test fails on MacOS X 10.5.8.
63028         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
63029         about MacOS X.
63031 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
63033         bootstrap: add bootstrap_sync option.
63034         See discussion at
63035         <http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
63036         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
63037         * build-aux/bootstrap: Accept --bootstrap-sync to update
63038         bootstrap if it is not identical to the local gnulib's
63039         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
63040         enable this by default.  Accept --no-bootstrap-sync to disable
63041         it.
63043 2010-11-20  Bruno Haible  <bruno@clisp.org>
63045         Ensure that <features.h> is included before __GLIBC__ is tested.
63046         * lib/printf-parse.h: Include <features.h>.
63047         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
63048         Reported by Mike Frysinger <vapier@gentoo.org>.
63050         Ensure that <features.h> is included before __GLIBC__ is tested.
63051         * lib/wchar.in.h: Include <features.h>.
63052         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
63053         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
63054         Reported by Mike Frysinger <vapier@gentoo.org>.
63056         Ensure that <features.h> is included before __GLIBC__ is tested.
63057         * lib/arpa_inet.in.h: Include <features.h>.
63058         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
63059         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
63060         Reported by Mike Frysinger <vapier@gentoo.org>.
63062         Ensure that <features.h> is included before __GLIBC__ is tested.
63063         * build-aux/link-warning.h: Include <features.h>.
63064         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
63065         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
63066         Reported by Mike Frysinger <vapier@gentoo.org>.
63068         Ensure that <features.h> is included before __GLIBC__ is tested.
63069         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
63070         Reported by Mike Frysinger <vapier@gentoo.org>.
63072 2010-11-20  Bruno Haible  <bruno@clisp.org>
63074         memmem: Fix autoconf test.
63075         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
63077 2010-11-20  Bruno Haible  <bruno@clisp.org>
63079         Port to uClibc.
63080         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
63081         * lib/fcntl.in.h: Likewise.
63082         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
63083         * lib/mbrtowc.c (mbrtowc): Likewise.
63084         * lib/relocatable.c (find_shared_library_fullname): Likewise.
63085         * lib/strerror_r.c: Likewise.
63086         * lib/unistr/u8-strnlen.c: Likewise.
63087         * lib/vasnprintf.c (decimal_point_char): Likewise.
63088         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
63089         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
63090         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
63091         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
63092         * tests/test-sigaction.c (handler, main): Likewise.
63093         * lib/freading.h: Treat uClibc like a non-glibc platform.
63094         * lib/freading.c: Likewise.
63095         * lib/gettext.h: Likewise.
63096         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
63097         Likewise.
63098         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
63099         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
63100         * lib/propername.c (proper_name_utf8): Likewise.
63101         * lib/spawn.in.h: Likewise.
63102         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
63103         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
63104         mem_cd_iconveh_internal): Likewise.
63105         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
63106         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
63107         strstr, strcasestr): Likewise.
63108         * lib/unicodeio.c (unicode_to_mb): Likewise.
63109         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
63110         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
63111         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
63112         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
63113         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
63114         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
63115         * lib/unistr/u8-stpncpy.c: Likewise.
63116         * lib/vasnprintf.c (VASNPRINTF): Likewise.
63117         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
63118         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63119         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
63120         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
63121         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
63122         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
63123         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
63124         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
63125         Likewise.
63126         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
63127         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
63128         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
63129         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
63130         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
63131         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
63132         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
63133         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
63134         * tests/test-getopt.h (OPTIND_MIN): Likewise.
63135         * tests/test-striconveha.c (main): Likewise.
63136         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63137         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
63138         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
63139         * doc/posix-functions/getline.texi: Likewise.
63140         Reported by Mike Frysinger <vapier@gentoo.org>.
63142 2010-11-20  Bruno Haible  <bruno@clisp.org>
63144         nproc: Fix condition.
63145         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
63146         HAVE_PTHREAD_AFFINITY_NP.
63148 2010-11-20  Bruno Haible  <bruno@clisp.org>
63150         Fix a comment.
63151         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
63153 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
63155         ftoastr: don't assume snprintf
63156         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
63157         Implement a subset of snprintf here, by using sprintf safely.
63158         * modules/ftoastr (Depends-on): Remove snprintf.
63160 2010-11-19  Jim Meyering  <meyering@redhat.com>
63162         test-rename.h: fix compilation failure
63163         * tests/test-rename.h (test_rename): Add omitted "}".
63165 2010-11-17  Jim Meyering  <meyering@redhat.com>
63167         maint.mk: add a URL discussing the no-@acronym policy
63168         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
63170 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
63172         ftoastr: depend on snprintf, improve comments
63173         * lib/ftoastr.c: Also mention Loitsch's draft.
63174         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
63175         needed in the current implementation, but it might simplify
63176         speeding up the code later.
63177         * modules/ftoastr: Depend on snprintf; this improves portability.
63178         Suggested by Bruno Haible in the same email.
63180         ftoastr: port to hosts lacking strtof and strtold
63181         Problem reported by Bruno Haible in
63182         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
63183         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
63184         environment and strtold (and presumably strtof) are not available.
63185         * modules/ftoastr (Files): Add m4/c-strtod.m4.
63186         (configure.ac): Require gl_C99_STRTOLD.
63188 2010-11-18  Bruno Haible  <bruno@clisp.org>
63190         c-strtold: Avoid link error on AIX 7.
63191         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
63192         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
63193         (gl_C_STRTOLD): Test whether strtold_l exists.
63194         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
63196 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
63198         intprops: new macro INT_BITS_STRLEN_BOUND
63199         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
63200         ftoastr.h.  This exposes an internal of intprops.h that was formerly
63201         not exposed.  Also, it uses a slightly tighter bound than before;
63202         though this makes no practical difference, we might as well be as
63203         tight as we easily can.
63205         ftoastr: new module, for lossless conversion of floats to short strings
63206         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
63207         * modules/ftoastr: New files.
63209 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63211         bootstrap: port to Solaris sed
63212         * build-aux/bootstrap (get_version): Port to Solaris sed.
63213         See Ralf Wildenhues's note in
63214         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.
63216 2010-11-14  Jim Meyering  <meyering@redhat.com>
63218         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
63219         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
63220         and move definition closer to sole use.
63222 2010-11-13  Jim Meyering  <meyering@redhat.com>
63224         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
63225         Now we require at least autoconf-2.59, which means the work-around
63226         is no longer needed.
63227         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
63228         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
63229         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
63230         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63231         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63233 2010-11-13  Bruno Haible  <bruno@clisp.org>
63235         rename, renameat: Avoid test failures at NFS mounted locations.
63236         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
63237         functions.
63238         (test_rename): Use assert_nonexistent.
63239         * tests/test-rename.c: Include <dirent.h>.
63240         * tests/test-renameat.c: Likewise.
63241         Reported by Gary V. Vaughan <gary@gnu.org>.
63243         rename, renameat: Document Linux bug with NFS
63244         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
63245         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
63246         * doc/posix-functions/renameat.texi: Likewise.
63247         Suggested by Eric Blake.
63249 2010-11-13  Bruno Haible  <bruno@clisp.org>
63251         rename test: Add comments.
63252         * tests/test-rename.h (test_rename): Add structure and comments.
63254 2010-11-13  Eric Blake  <eblake@redhat.com>
63256         maintainer-makefile: cover a few more files
63257         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
63258         scripts generated within C files, for libvirt.
63260 2010-11-13  Bruno Haible  <bruno@clisp.org>
63262         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
63263         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
63264         character, return the number of bytes that belong together, not always
63265         1.
63266         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
63267         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
63268         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
63269         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
63270         number of bytes of an invalid character.
63271         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
63272         (main): Invoke it.
63273         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
63274         results.
63275         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
63276         malformed byte sequences.
63277         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
63278         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
63279         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
63280         Reported by Ben Pfaff and Paolo Bonzini.
63282 2010-11-13  Bruno Haible  <bruno@clisp.org>
63284         openat: Work around glibc bug with fchownat() and empty file names.
63285         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
63286         (gl_FUNC_FCHOWNAT): Invoke it.
63287         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
63288         * doc/posix-functions/fchownat.texi: Document the glibc bug.
63289         Reported by Gary V. Vaughan <gary@gnu.org>.
63291 2010-11-13  Bruno Haible  <bruno@clisp.org>
63293         openat: Ensure autoconf macro ordering.
63294         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
63295         gl_USE_SYSTEM_EXTENSIONS.
63296         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
63298 2010-11-13  Bruno Haible  <bruno@clisp.org>
63300         Update comments.
63301         * lib/unistr/u8-check.c: Update file name in comments.
63302         * lib/unistr/u8-mblen.c: Likewise.
63303         * lib/unistr/u8-prev.c: Likewise.
63304         * lib/unistr/u8-strmblen.c: Likewise.
63305         * lib/unistr/u8-strmbtouc.c: Likewise.
63307 2010-11-13  Jim Meyering  <meyering@redhat.com>
63309         tests: avoid test failure on Solaris 10 due to lack of PATH export
63310         * tests/test-update-copyright.sh: Don't forget to export PATH.
63312         init.sh: ensure that IFS is defined, just in case...
63313         * tests/init.sh (setup_): Ensure that IFS is defined,
63314         so that saving and restoring it works as expected.  This
63315         appears to be useful at least for an old version of dash
63316         from a long time ago (RH 6).  See here for details:
63317         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
63319         maint.mk: tighten "test a == b" check
63320         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
63321         test to files that contain something like #!/bin/sh.
63322         Without this, coreutils would get two false positives in
63323         the comments of C source files.
63325 2010-11-12  Eric Blake  <eblake@redhat.com>
63327         bootstrap: fix typo in previous attempt
63328         * build-aux/bootstrap (buildreq): Correct the grouping.
63329         Reported by Paul Eggert.
63331         maintainer-makefile: prohibit test x == x
63332         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
63333         Based on a report by Matthias Bolte.
63335         bootstrap: allow FreeBSD gzip
63336         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
63337         which has no '.' and goes to stderr.
63338         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
63339         Reported by Matthias Bolte.
63341         maintainer-makefile: check for i18n setup
63342         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
63343         will likely work.
63345 2010-11-12  Bruno Haible  <bruno@clisp.org>
63347         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
63348         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
63349         * lib/nanosleep.c (nanosleep): Likewise.
63351 2010-11-11  Bruno Haible  <bruno@clisp.org>
63353         fcntl-h: Fix for use of C++ on glibc systems.
63354         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
63355         also on glibc systems in C++ mode.
63356         Reported by Gary V. Vaughan <gary@gnu.org>.
63358 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63360         mknod: avoid false failure with dash
63361         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
63363 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
63365         unlink: Fix "is it should" typo in diagnostic.
63366         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
63367         <http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.
63369 2010-11-11  Bruno Haible  <bruno@clisp.org>
63371         Tests for module 'strerror_r-posix'.
63372         * modules/strerror_r-posix-tests: New file.
63373         * tests/test-strerror_r.c: New file.
63374         * tests/test-string-c++.cc: Check the signature of strerror_r.
63376         New module 'strerror_r-posix'.
63377         * lib/string.in.h (strerror_r): New declaration.
63378         * lib/strerror_r.c: New file.
63379         * m4/strerror_r.m4: New file.
63380         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
63381         of strerror_r.
63382         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
63383         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63384         * modules/strerror_r-posix: New file.
63385         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
63386         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
63387         * doc/posix-functions/strerror_r.texi: Mention the new module and the
63388         portability problems.
63390 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
63392         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
63393         line is also considered for output. Quoted function name in shell
63394         command, so temporary files for functions like MyClass::operator()
63395         are removed correctly without errors.
63397 2010-11-09  Bruno Haible  <bruno@clisp.org>
63399         * doc/posix-functions/strerror.texi: List more failing platforms.
63401         * doc/posix-functions/strerror.texi: Add a comment.
63403 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
63405         fdopendir: fix bug on MacOS X when low on file descriptors
63407         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
63408         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
63409         All callers changed.
63410         (fdopendir): Invoke save_cwd at the top level, not after using
63411         multiple dup() calls to use up file descriptors.  Then retry
63412         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
63413         less than the maximum number of open file descriptors, because
63414         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
63415         on Mac OS X 10.6.4 for tar 1.24
63416         <http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
63417         <http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
63418         and for tar 1.25
63419         <http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.
63421 2010-11-07  Bruno Haible  <bruno@clisp.org>
63423         vasnprintf: Support I flag on glibc systems.
63424         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
63425         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
63426         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
63427         snprintf function.
63428         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
63429         glibc systems.
63430         * tests/test-vasnprintf-posix3.c: New file.
63431         * modules/vasnprintf-posix-tests (Files): Add it.
63432         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
63434 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63436         [html] Fix copy/paste bug: Use unique name for compiler warnings.
63437         * MODULES.html.sh: For compiler warnings, use name
63438         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
63440 2010-11-05  Eric Blake  <eblake@redhat.com>
63442         ceil, floor: avoid spurious failure with icc
63443         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
63444         [denormals-as-zero] when optimizing without -mieee-fp option.
63445         * tests/test-floorf2.c (floorf_reference): Likewise.
63446         * tests/test-ceilf1.c (dummy): New function.
63447         (main): Use it to outsmart icc's optimization.
63448         * tests/test-floorf1.c (dummy, main): Likewise.
63450         tests: require working signbit
63451         * modules/ceilf-tests (Depends-on): Add signbit.
63452         * modules/ceill-tests (Depends-on): Likewise.
63453         * modules/floorf-tests (Depends-on): Likewise.
63454         * modules/floorl-tests (Depends-on): Likewise.
63455         * modules/round-tests (Depends-on): Likewise.
63456         * modules/roundf-tests (Depends-on): Likewise.
63457         * modules/roundl-tests (Depends-on): Likewise.
63458         * modules/trunc-tests (Depends-on): Likewise.
63459         * modules/truncf-tests (Depends-on): Likewise.
63460         * modules/truncl-tests (Depends-on): Likewise.
63462         strtod: work around icc bug
63463         * lib/strtod.c (minus_zero): Define to working value.
63464         (strtod): Use it to avoid icc bug.
63466         copysign: enhance tests
63467         * modules/copysign-tests (Files): Add minus-zero.h.
63468         * tests/test-copysign.c (main): Also test zeros.
63470 2010-11-04  Eric Blake  <eblake@redhat.com>
63472         ceil, floor, round, trunc: enhance tests of -0
63473         * tests/test-ceilf1.c (main): Ensure correct sign of result.
63474         * tests/test-ceill.c (main): Likewise.
63475         * tests/test-floorf1.c (main): Likewise.
63476         * tests/test-floorl.c (main): Likewise.
63477         * tests/test-round1.c (main): Likewise.
63478         * tests/test-roundf1.c (main): Likewise.
63479         * tests/test-roundl.c (main): Likewise.
63480         * tests/test-trunc1.c (main): Likewise.
63481         * tests/test-truncf1.c (main): Likewise.
63482         * tests/test-truncl.c (main): Likewise.
63484 2010-11-04  Eric Blake  <eblake@redhat.com>
63486         frexp, tests: work around ICC bug with -zero
63487         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
63488         works with more compilers.
63489         * tests/minus-zero.h: New file.
63490         * modules/ceilf-tests (Files): Include it.
63491         * modules/ceill-tests (Files): Likewise.
63492         * modules/floorf-tests (Files): Likewise.
63493         * modules/floorl-tests (Files): Likewise.
63494         * modules/frexp-nolibm-tests (Files): Likewise.
63495         * modules/frexp-tests (Files): Likewise.
63496         * modules/frexpl-nolibm-tests (Files): Likewise.
63497         * modules/frexpl-tests (Files): Likewise.
63498         * modules/isnan-tests (Files): Likewise.
63499         * modules/isnand-nolibm-tests (Files): Likewise.
63500         * modules/isnand-tests (Files): Likewise.
63501         * modules/isnanf-nolibm-tests (Files): Likewise.
63502         * modules/isnanf-tests (Files): Likewise.
63503         * modules/isnanl-nolibm-tests (Files): Likewise.
63504         * modules/isnanl-tests (Files): Likewise.
63505         * modules/round-tests (Files): Likewise.
63506         * modules/roundf-tests (Files): Likewise.
63507         * modules/roundl-tests (Files): Likewise.
63508         * modules/ldexpl-tests (Files): Likewise.
63509         * modules/signbit-tests (Files): Likewise.
63510         * modules/snprintf-posix-tests (Files): Likewise.
63511         * modules/sprintf-posix-tests (Files): Likewise.
63512         * modules/strtod-tests (Files): Likewise.
63513         * modules/trunc-tests (Files): Likewise.
63514         * modules/truncf-tests (Files): Likewise.
63515         * modules/truncl-tests (Files): Likewise.
63516         * modules/vsnprintf-posix-tests (Files): Likewise.
63517         * modules/vsprintf-posix-tests (Files): Likewise.
63518         * modules/vasnprintf-posix-tests (Files): Likewise.
63519         * modules/vasprintf-posix-tests (Files): Likewise.
63520         * tests/test-ceilf1.c (main): Use it.
63521         * tests/test-ceill.c (main): Likewise.
63522         * tests/test-floorf1.c (main): Likewise.
63523         * tests/test-floorl.c (main): Likewise.
63524         * tests/test-frexp.c (main): Likewise.
63525         * tests/test-frexpl.c (main): Likewise.
63526         * tests/test-isnan.c (main): Likewise.
63527         * tests/test-isnand.h (main): Likewise.
63528         * tests/test-isnanf.h (main): Likewise.
63529         * tests/test-isnanl.h (main): Likewise.
63530         * tests/test-ldexpl.c (main): Likewise.
63531         * tests/test-round.c (main): Likewise.
63532         * tests/test-roundf.c (main): Likewise.
63533         * tests/test-roundl.c (main): Likewise.
63534         * tests/test-signbit.c (test_signbitf, test_signbitd)
63535         (test_signbitl): Likewise.
63536         * tests/test-snprintf-posix.h (test_function): Likewise.
63537         * tests/test-sprintf-posix.h (test_function): Likewise.
63538         * tests/test-strtod.c (main): Likewise.
63539         * tests/test-trunc1.c (main): Likewise.
63540         * tests/test-truncf1.c (main): Likewise.
63541         * tests/test-truncl.c (main): Likewise.
63543         isnanl: work around icc bug
63544         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
63546 2010-11-03  Eric Blake  <eblake@redhat.com>
63548         tests: fix compiler warnings
63549         * tests/test-getopt.h (test_getopt): Fix condition.
63550         * tests/test-getopt_long.h (test_getopt_long): Likewise.
63551         * tests/test-pipe2.c (main): Likewise.
63552         * tests/test-quotearg-simple.c (main): Avoid icc warning.
63554         utimens: fix broken m4 test
63555         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
63557 2010-10-28  Bruno Haible  <bruno@clisp.org>
63559         posix_spawn*, getdtablesize: Relax license.
63560         * modules/posix_spawn (License): Change to LGPLv2+.
63561         * modules/posix_spawnp (License): Likewise.
63562         * modules/posix_spawn-internal (License): Likewise.
63563         * modules/posix_spawnattr_init (License): Likewise.
63564         * modules/posix_spawnattr_getflags (License): Likewise.
63565         * modules/posix_spawnattr_setflags (License): Likewise.
63566         * modules/posix_spawnattr_getpgroup (License): Likewise.
63567         * modules/posix_spawnattr_setpgroup (License): Likewise.
63568         * modules/posix_spawnattr_getschedparam (License): Likewise.
63569         * modules/posix_spawnattr_setschedparam (License): Likewise.
63570         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
63571         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
63572         * modules/posix_spawnattr_getsigdefault (License): Likewise.
63573         * modules/posix_spawnattr_setsigdefault (License): Likewise.
63574         * modules/posix_spawnattr_getsigmask (License): Likewise.
63575         * modules/posix_spawnattr_setsigmask (License): Likewise.
63576         * modules/posix_spawnattr_destroy (License): Likewise.
63577         * modules/posix_spawn_file_actions_init (License): Likewise.
63578         * modules/posix_spawn_file_actions_addclose (License): Likewise.
63579         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
63580         * modules/posix_spawn_file_actions_addopen (License): Likewise.
63581         * modules/posix_spawn_file_actions_destroy (License): Likewise.
63582         * modules/getdtablesize (License): Likewise.
63583         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
63585 2010-10-26  Bruno Haible  <bruno@clisp.org>
63587         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
63588         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
63589         Cygwin and mingw.
63590         Suggested by Eric Blake.
63592 2010-10-26  Bruno Haible  <bruno@clisp.org>
63594         stdio: Work around compilation error due to renameat() on Solaris 10.
63595         * lib/stdio.in.h: Include <unistd.h> on Solaris.
63596         * lib/renameat.c: Don't include <unistd.h> here.
63597         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
63598         Reported by Paul Eggert and Eric Blake.
63600 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
63602         renameat: port to Solaris 10, which declares renameat in unistd.h
63604         * lib/renameat.c: Include unistd.h before stdio.h, because
63605         Solaris 10 declares renameat in unistd.h.  Problem encountered
63606         when building GNU tar 1.24 on Solaris 10.
63608 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
63610         fdopendir: fix C89 compilation
63611         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
63612         compilers.
63614 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
63616         inttostr: simplify by removing unnecessary redundancy
63617         * lib/anytostr.c: Don't include verify.h.
63618         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
63619         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
63620         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
63621         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
63622         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
63623         Likewise.
63624         * modules/inttostr (Depends-on): Remove 'verify'.
63626 2010-10-23  Bruno Haible  <bruno@clisp.org>
63628         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
63629         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
63630         Reported by Eric Blake.
63632 2010-10-23  Bruno Haible  <bruno@clisp.org>
63634         Tests: Fix LOCALE_JA on MirBSD 10.
63635         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
63636         to an UTF-8 locale.
63637         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
63638         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63639         Reported by Eric Blake.
63641 2010-10-21  Bruno Haible  <bruno@clisp.org>
63643         nl_langinfo test: Avoid test failure on NetBSD 5.
63644         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
63645         Reported by Eric Blake.
63647 2010-10-21  Eric Blake  <eblake@redhat.com>
63649         c-stack: work around libsigsegv 2.8 bug
63650         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
63651         overflow on at least PowerPC64.
63653 2010-10-17  Bruno Haible  <bruno@clisp.org>
63655         userspec: Drop redundant file.
63656         * modules/userspec (Files): Remove lib/inttostr.h.
63658 2010-10-17  Bruno Haible  <bruno@clisp.org>
63660         nl_langinfo tests: Silence some warnings.
63661         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
63662         Reported by Jim Meyering.
63664 2010-10-17  Bruno Haible  <bruno@clisp.org>
63666         Make use of GCC's attribute __alloc_size__.
63667         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
63668         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
63669         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
63670         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
63671         __alloc_size__.
63672         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
63673         Suggested by Jim Meyering.
63675 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
63677         bootstrap: anchor .gitignore entries.
63678         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
63679         with...
63680         (insert_vc_ignore): ... this new function, which prepends `/' to
63681         all .gitignore entries before passing them to
63682         insert_sorted_if_absent.
63684 2010-10-16  Bruno Haible  <bruno@clisp.org>
63686         nextafter: Fix configure check.
63687         * modules/nextafter (configure.ac): Correct expected prototype.
63689 2010-10-16  Bruno Haible  <bruno@clisp.org>
63691         termios: Update documentation.
63692         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
63694 2010-10-16  Bruno Haible  <bruno@clisp.org>
63696         tests: Make them compile with TinyCC.
63697         * tests/test-strstr.c (main): Remove parentheses around array
63698         initializer.
63700 2010-10-15  Eric Blake  <eblake@redhat.com>
63702         ignore-value: make header idempotent
63703         * lib/ignore-value.h: Add double-inclusion guards.
63704         Reported by Stefan Berger.
63706 2010-10-15  Jim Meyering  <meyering@redhat.com>
63708         GNUmakefile: handle "stable" target, not "major"
63709         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
63710         lists in maint.mk and announce-gen.  Without this, "make stable"
63711         would fail to ensure that $(VERSION) is up to date.
63713 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
63715         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
63716         & co.
63718 2010-10-14  Bruno Haible  <bruno@clisp.org>
63720         vasnprintf: Don't set errno to 0.
63721         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
63722         block that sets it to 0.
63723         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
63725 2010-10-14  Bruno Haible  <bruno@clisp.org>
63727         socketlib: Fix.
63728         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
63729         gl_PREREQ_SYS_H_WINSOCK2.
63730         Reported by Ian Beckwith <ianb@erislabs.net>.
63732 2010-10-13  Jim Meyering  <meyering@redhat.com>
63734         test-select-stdin.c: avoid warn_unused_result warnings
63735         * tests/test-select-stdin.c: Include "macros.h".
63736         ASSERT that read and fflush succeed.
63738 2010-10-13  Jim Meyering  <meyering@redhat.com>
63740         git-version-gen: do require git-VC'd files in cwd
63741         * build-aux/git-version-gen: Reject a git version string
63742         if there are no commits associated with the current directory.
63743         This avoids an unlikely false-positive (unrelated dir whose parent
63744         repository also contains a tag matching v*), as pointed out
63745         by Giuseppe Scrivano in
63746         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
63748 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
63750         argv-iter: omit nonconforming declaration
63751         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
63752         enum arg_iter_err declaration, which doesn't conform to C99.
63753         Solaris 10 cc warns about this.
63755 2010-10-13  Eric Blake  <eblake@redhat.com>
63757         termios: fix compilation on mingw
63758         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
63759         (gl_TERMIOS_H): Adjust it on mingw.
63760         * modules/termios (Makefile.am): Substitute new key.
63761         * lib/termios.in.h (includes): Make include_next conditional.
63762         * doc/posix-headers/termios.texi (termios.h): Update
63763         documentation.
63764         Reported by Daniel P. Berrange.
63766 2010-10-13  Jim Meyering  <meyering@redhat.com>
63768         git-version-gen: don't require that .git/ be in the current dir
63769         * build-aux/git-version-gen: Adjust this script so that it works
63770         when run from any working directory beneath the top-level .git/-
63771         containing directory.  Inspired by a patch from Giuseppe Scrivano,
63772         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
63774         test-select: avoid warn_unused_result warnings
63775         * tests/test-select.c: Include "macros.h".
63776         ASSERT that each call to read, write, and pipe succeeds.
63777         While not technically required, also check each "close".
63778         * modules/select-tests (Files): Add tests/macros.h.
63780         test-symlinkat: remove declaration of unused local
63781         * tests/test-symlinkat.c (main): Remove unused local, "buf".
63783         test-inttostr: avoid shadowing warnings
63784         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
63785         and use malloc rather than the stack for the same reason as
63786         mentioned in the comment justifying the other allocation.
63788 2010-10-11  Bruno Haible  <bruno@clisp.org>
63790         stdlib: Allow multiple gnulib generated replacements to coexist.
63791         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
63792         Reported by Sam Steingold <sds@gnu.org>.
63794 2010-10-11  Jim Meyering  <meyering@redhat.com>
63796         fix a documentation typo
63797         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
63799 2010-10-11  Eric Blake  <eblake@redhat.com>
63801         futimens: work around Solaris 11 bug
63802         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
63803         * tests/test-futimens.h (test_futimens): Enhance, rather than
63804         weaken test.
63805         * doc/posix-functions/futimens.texi (futimens): Document the bug.
63807 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63809         Indentation.
63810         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
63811         higher-level operators more to the left.
63813 2010-10-11  Jim Meyering  <meyering@redhat.com>
63815         test-futimens: avoid unwarranted test failure on Solaris 5.11
63816         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
63817         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
63818         because it tries to dereference the NULL name argument.
63820 2010-10-11  Bruno Haible  <bruno@clisp.org>
63822         Indentation.
63823         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
63824         indentation.
63826 2010-10-11  Jim Meyering  <meyering@redhat.com>
63828         spawn.in.h: make indentation consistent with parentheses
63829         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
63830         Make indentation consistent with parentheses.
63832 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
63834         Fix mismatched parens in previous commit
63835         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
63836         parens.
63838 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
63840         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
63842         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
63843         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
63844         * lib/malloca.c: Include "verify.h".
63845         (verify1): Remove, replacing with a verify call.
63846         * lib/relocwrapper.c (verify1): Likewise.
63847         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
63848         Likewise.
63849         * modules/malloca (Depends-on): Add 'verify'.
63850         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
63851         * modules/vasnprintf (Depends-on): Add 'verify'.
63852         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63853         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63854         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63855         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63856         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63857         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63858         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63860         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
63862         Formerly the style was sometimes 2*X - 1, because the C standard
63863         was wrongly thought to disallow ?: in integral constant expressions.
63864         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
63865         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
63866         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
63867         * lib/stdint.in.h (_verify_intmax_size): Likewise.
63868         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
63869         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
63870         verify that time_t cannot be floating.
63872 2010-10-08  Eric Blake  <eblake@redhat.com>
63874         time: enforce recent POSIX ruling that time_t is integral
63875         * lib/time.in.h (__time_t_must_be_integral): Detect any
63876         problematic systems, allowing the rest of gnulib to assume POSIX.
63878 2010-10-08  Jim Meyering  <meyering@redhat.com>
63880         fdopendir: fix a bug on systems lacking openat and /proc support
63881         OpenBSD 4.7 is one such system.  The most noticeable effect was
63882         failure of any application making nontrivial use of fts: rm, du,
63883         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
63884           ./rm: traversal failed: `a': Bad file descriptor
63885         Debugging that, you see that even though FD 6 was closed just
63886         prior to the opendir call in fd_clone_opendir, its resulting
63887         dir->dd_fd was 8, rather than the expected value of 6:
63889         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
63890         93                close (fd);
63891         (gdb) n
63892         94                dir = fd_clone_opendir (dupfd);
63893         (gdb) n
63894         95                saved_errno = errno;
63895         (gdb) p dir->dd_fd
63896         $11 = 8
63898         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
63899         The problem is that on OpenBSD, fd_clone_opendir has to resort
63900         to using the old-style save/restore CWD mechanism, due to its
63901         lack of openat/proc support, and *that* would steal the FD (6)
63902         that opendir was supposed to use.
63904         The fix is to squirrel away the desired FD so that save_cwd uses a
63905         different one, and then free the dest FD right before calling opendir.
63906         That guarantees opendir will use the required file descriptor.
63908         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
63910 2010-10-08  Bruno Haible  <bruno@clisp.org>
63912         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
63913         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
63915 2010-10-08  Bruno Haible  <bruno@clisp.org>
63917         nanosleep: Make replacement POSIX compliant.
63918         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
63919         is out of range.
63920         Reported by Jim Meyering.
63922 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
63924         bootstrap: add hook for altering gnulib.mk, for Bison
63925         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
63926         the Bison bootstrapping process can rewrite file names and variables
63927         in this file before later parts of 'bootstrap' use the file.
63928         Bison wants to include lib/gnulib.mk from the top-level makefile,
63929         so it needs the file names in this file to be relative to the top
63930         level, not relative to lib; plus it needs variable names to be
63931         rewritten.
63932         (slurp): Use the new function.
63934         bootstrap: reformat for readability
63935         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
63937 2010-10-08  Eric Blake  <eblake@redhat.com>
63939         docs: update cygwin progress
63940         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
63941         1.7.7.
63942         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
63943         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
63944         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
63945         * doc/posix-functions/carg.texi (carg): Likewise.
63946         * doc/posix-functions/cargf.texi (cargf): Likewise.
63947         * doc/posix-functions/casin.texi (casin): Likewise.
63948         * doc/posix-functions/casinf.texi (casinf): Likewise.
63949         * doc/posix-functions/casinh.texi (casinh): Likewise.
63950         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
63951         * doc/posix-functions/catan.texi (catan): Likewise.
63952         * doc/posix-functions/catanf.texi (catanf): Likewise.
63953         * doc/posix-functions/catanh.texi (catanh): Likewise.
63954         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
63955         * doc/posix-functions/ccos.texi (ccos): Likewise.
63956         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
63957         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
63958         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
63959         * doc/posix-functions/cexp.texi (cexp): Likewise.
63960         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
63961         * doc/posix-functions/cimag.texi (cimag): Likewise.
63962         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
63963         * doc/posix-functions/clog.texi (clog): Likewise.
63964         * doc/posix-functions/clogf.texi (clogf): Likewise.
63965         * doc/posix-functions/conj.texi (conj): Likewise.
63966         * doc/posix-functions/conjf.texi (conjf): Likewise.
63967         * doc/posix-functions/cpow.texi (cpow): Likewise.
63968         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
63969         * doc/posix-functions/cproj.texi (cproj): Likewise.
63970         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
63971         * doc/posix-functions/creal.texi (creal): Likewise.
63972         * doc/posix-functions/crealf.texi (crealf): Likewise.
63973         * doc/posix-functions/csin.texi (csin): Likewise.
63974         * doc/posix-functions/csinf.texi (csinf): Likewise.
63975         * doc/posix-functions/csinh.texi (csinh): Likewise.
63976         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
63977         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
63978         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
63979         * doc/posix-functions/ctan.texi (ctan): Likewise.
63980         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
63981         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
63982         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
63983         * doc/posix-headers/complex.texi (complex.h): Likewise.
63985 2010-10-07  Jim Meyering  <meyering@redhat.com>
63987         parse-datetime: avoid compilation failure on OpenBSD 4.7
63988         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
63989         This works around a compilation failure on OpenBSD 4.7:
63990         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
63992 2010-10-07  Eric Blake  <eblake@redhat.com>
63994         docs: update cygwin progress
63995         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
63996         1.7.6.
63997         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
63998         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
63999         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
64000         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
64001         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
64002         Likewise.
64003         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
64004         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
64005         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
64006         Likewise.
64007         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
64008         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
64009         Likewise.
64010         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
64011         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
64012         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
64013         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
64014         Likewise.
64015         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
64016         Likewise.
64017         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
64019         docs: update parse-datetime history
64020         * doc/parse-datetime.texi (Authors of parse_datetime): Better
64021         documentation of this function's history and alternatives.
64023         cygwin: use more robust version check
64024         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
64025         exclude an eventual cygwin 1.9.1.
64026         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64027         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64028         (gl_FUNC_STRCASESTR): Likewise.
64029         Reported by Bruno Haible.
64031 2010-10-06  Bruno Haible  <bruno@clisp.org>
64033         string, sys_select: Avoid #including large headers unless necessary.
64034         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
64035         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
64036         OSF/1, BeOS, Haiku.
64037         Reported by Jim Meyering.
64039 2010-10-05  Eric Blake  <eblake@redhat.com>
64041         memmem, strstr, strcasestr: fix bug with long periodic needle
64042         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
64043         periodic needle having false positive.
64044         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
64045         and cygwin 1.7.7.
64046         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
64047         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
64048         (gl_FUNC_STRCASESTR): Likewise.
64049         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
64050         * tests/test-memmem.c (main): Expose the bug.
64051         * tests/test-strcasestr.c (main): Likewise.
64052         * tests/test-strstr.c (main): Likewise.
64053         * tests/test-c-strcasestr.c (main): Likewise.
64054         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
64055         * doc/posix-functions/strstr.texi (strstr): Likewise.
64056         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
64057         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
64059 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64061         parse-datetime: do some more renaming
64062         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
64063         parse_datetime, not get_date.  Mention the renaming.
64064         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
64065         in comments.
64066         * m4/bison.m4: Likewise.
64068 2010-10-05  Eric Blake  <eblake@redhat.com>
64070         parse-datetime: better name than get_date
64071         * NEWS: Reword the deprecation notice.
64072         * modules/get_date: Rename to modules/parse-datetime.
64073         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
64074         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
64075         * lib/get_date.y: Rename to lib/parse-datetime.y.
64076         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
64077         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
64078         * doc/getdate.texi: Provide fallback wrapper.
64079         * lib/getdate.h: Move guts, and wrap...
64080         * lib/parse-datetime.h: ...new file.
64081         * lib/parse-datetime.y (get_date): Rename...
64082         (parse_datetime): ...to this.
64083         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
64084         (gl_PARSE_DATETIME): ...to this.
64085         * doc/posix-functions/getdate.texi (get_date): Provide fallback
64086         documentation.
64087         * modules/getdate (Files): Provide fallback docs and header.
64088         (Notice, Depends-on): Update references.
64089         * tests/test-parse-datetime.c: Likewise.
64090         * DEPENDENCIES: Likewise.
64091         * MODULES.html.sh (Date and time <time.h>): Likewise.
64092         * doc/parse-datetime.texi (Date input formats)
64093         (Authors of parse_datetime): Likewise.
64094         * modules/parse-datetime (Files, configure.ac, Makefile.am)
64095         (Include): Likewise.
64096         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
64097         * gnulib-tool: Likewise.
64098         * m4/bison.m4 (gl_BISON): Likewise.
64099         Suggested by Bruno Haible.
64101 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64103         more ports to Solaris tr, which needs [] around ranges
64104         * gnulib-tool: Solaris tr needs [] around ranges.
64105         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
64106         * tests/test-pipe-filter-gi1.c (main): Likewise.
64107         * tests/test-pipe-filter-ii1.c (main): Likewise.
64109 2010-10-05  Eric Blake  <eblake@redhat.com>
64111         bootstrap: fix Solaris regression
64112         * build-aux/bootstrap (check_versions): Solaris tr still needs []
64113         around ranges.
64114         Reported by Pádraig Brady.
64116         bootstrap: work with pkg-config
64117         * build-aux/bootstrap (check_versions): Also transliterate - in
64118         prerequisite name.
64119         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
64120         prerequisites that were already found, to avoid confusion.
64121         Reported by Justin Clift.
64123         faccessat: remove unused wrappers
64124         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
64125         presence of these wrappers dragged in -lgen on Solaris.
64126         Reported by Clemens Brogi; fix suggested by Paul Eggert.
64128 2010-10-05  Jim Meyering  <meyering@redhat.com>
64130         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
64131         * Makefile (sc_pragma_columns): New syntax-check rule.
64133 2010-10-04  Bruno Haible  <bruno@clisp.org>
64135         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
64136         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
64137         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
64138         Reported by Bruce Korb and Eric Blake.
64140 2010-10-04  Bruno Haible  <bruno@clisp.org>
64142         threadlib: Make option --with-libpth-prefix work.
64143         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
64144         use $LIBPTH, not just -lpth.
64146 2010-10-04  Bruno Haible  <bruno@clisp.org>
64148         Avoid line length limitation from HP NonStop system header files.
64149         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
64150         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
64151         * lib/ctype.in.h: Likewise.
64152         * lib/dirent.in.h: Likewise.
64153         * lib/errno.in.h: Likewise.
64154         * lib/fcntl.in.h: Likewise.
64155         * lib/float.in.h: Likewise.
64156         * lib/getopt.in.h: Likewise.
64157         * lib/iconv.in.h: Likewise.
64158         * lib/inttypes.in.h: Likewise.
64159         * lib/langinfo.in.h: Likewise.
64160         * lib/locale.in.h: Likewise.
64161         * lib/math.in.h: Likewise.
64162         * lib/netdb.in.h: Likewise.
64163         * lib/netinet_in.in.h: Likewise.
64164         * lib/poll.in.h: Likewise.
64165         * lib/pthread.in.h: Likewise.
64166         * lib/pty.in.h: Likewise.
64167         * lib/sched.in.h: Likewise.
64168         * lib/se-selinux.in.h: Likewise.
64169         * lib/search.in.h: Likewise.
64170         * lib/signal.in.h: Likewise.
64171         * lib/spawn.in.h: Likewise.
64172         * lib/stdarg.in.h: Likewise.
64173         * lib/stddef.in.h: Likewise.
64174         * lib/stdint.in.h: Likewise.
64175         * lib/stdio.in.h: Likewise.
64176         * lib/stdlib.in.h: Likewise.
64177         * lib/string.in.h: Likewise.
64178         * lib/strings.in.h: Likewise.
64179         * lib/sys_file.in.h: Likewise.
64180         * lib/sys_ioctl.in.h: Likewise.
64181         * lib/sys_select.in.h: Likewise.
64182         * lib/sys_socket.in.h: Likewise.
64183         * lib/sys_stat.in.h: Likewise.
64184         * lib/sys_time.in.h: Likewise.
64185         * lib/sys_times.in.h: Likewise.
64186         * lib/sys_utsname.in.h: Likewise.
64187         * lib/sys_wait.in.h: Likewise.
64188         * lib/sysexits.in.h: Likewise.
64189         * lib/termios.in.h: Likewise.
64190         * lib/time.in.h: Likewise.
64191         * lib/unistd.in.h: Likewise.
64192         * lib/wchar.in.h: Likewise.
64193         * lib/wctype.in.h: Likewise.
64194         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
64195         * modules/ctype (Makefile.am): Likewise.
64196         * modules/dirent (Makefile.am): Likewise.
64197         * modules/errno (Makefile.am): Likewise.
64198         * modules/fcntl-h (Makefile.am): Likewise.
64199         * modules/float (Makefile.am): Likewise.
64200         * modules/getopt-posix (Makefile.am): Likewise.
64201         * modules/iconv-h (Makefile.am): Likewise.
64202         * modules/inttypes (Makefile.am): Likewise.
64203         * modules/langinfo (Makefile.am): Likewise.
64204         * modules/locale (Makefile.am): Likewise.
64205         * modules/math (Makefile.am): Likewise.
64206         * modules/netdb (Makefile.am): Likewise.
64207         * modules/netinet_in (Makefile.am): Likewise.
64208         * modules/poll-h (Makefile.am): Likewise.
64209         * modules/pthread (Makefile.am): Likewise.
64210         * modules/pty (Makefile.am): Likewise.
64211         * modules/sched (Makefile.am): Likewise.
64212         * modules/search (Makefile.am): Likewise.
64213         * modules/selinux-h (Makefile.am): Likewise.
64214         * modules/signal (Makefile.am): Likewise.
64215         * modules/spawn (Makefile.am): Likewise.
64216         * modules/stdarg (Makefile.am): Likewise.
64217         * modules/stddef (Makefile.am): Likewise.
64218         * modules/stdint (Makefile.am): Likewise.
64219         * modules/stdio (Makefile.am): Likewise.
64220         * modules/stdlib (Makefile.am): Likewise.
64221         * modules/string (Makefile.am): Likewise.
64222         * modules/strings (Makefile.am): Likewise.
64223         * modules/sys_file (Makefile.am): Likewise.
64224         * modules/sys_ioctl (Makefile.am): Likewise.
64225         * modules/sys_select (Makefile.am): Likewise.
64226         * modules/sys_socket (Makefile.am): Likewise.
64227         * modules/sys_stat (Makefile.am): Likewise.
64228         * modules/sys_time (Makefile.am): Likewise.
64229         * modules/sys_times (Makefile.am): Likewise.
64230         * modules/sys_utsname (Makefile.am): Likewise.
64231         * modules/sys_wait (Makefile.am): Likewise.
64232         * modules/sysexits (Makefile.am): Likewise.
64233         * modules/termios (Makefile.am): Likewise.
64234         * modules/time (Makefile.am): Likewise.
64235         * modules/unistd (Makefile.am): Likewise.
64236         * modules/wchar (Makefile.am): Likewise.
64237         * modules/wctype (Makefile.am): Likewise.
64239 2010-10-04  Bruno Haible  <bruno@clisp.org>
64241         read-file tests: Avoid a test failure on NonStop Kernel.
64242         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
64243         a regular file.
64244         Reported by Joachim Schmitz <schmitz@hp.com>.
64246 2010-10-03  Bruno Haible  <bruno@clisp.org>
64248         gnulib-tool: Fixes for --create-testdir with --libtool.
64249         * gnulib-tool (func_get_automake_snippet): Don't augment
64250         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
64251         an executable.
64252         (func_create_testdir): Handle module 'alloca' like func_import.
64253         Reported by Bruce Korb <bruce.korb@gmail.com>.
64255 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64257         Avoid some lines longer than 80 characters.
64258         * lib/stdint.in.h: Break long comment lines.
64259         * lib/math.in.h: Likewise.
64260         (_GL_NUM_UINT_WORDS): New macro, for readability.
64261         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
64262         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
64263         * lib/stdlib.in.h: Likewise.
64264         * lib/spawn.in.h: Likewise.
64265         * lib/sys_socket.in.h: Update an URL.
64266         * lib/sys_stat.in.h: Break long line.
64268 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
64270         Improve pmccabe2html.
64271         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
64272         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
64273         when the sources change. Remove the line in the HTML about "Used
64274         ranges" (which implied that there might be other unused ranges),
64275         rename "Resume" to "Summary" (easier to understand for more users).
64276         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
64277         styles, and some unnecessary blank lines.
64279 2010-10-03  Bruno Haible  <bruno@clisp.org>
64280             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
64282         acl: Add support for ACLs on NonStop Kernel.
64283         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
64284         Check whether the function aclsort() exists.
64285         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
64286         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
64287         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64288         (acl_nontrivial [HAVE_ACLSORT]: New function.
64289         (file_has_acl): Implement for NonStop Kernel.
64290         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64291         (qset_acl): Implement for NonStop Kernel.
64292         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
64293         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
64294         (main): Implement for NonStop Kernel.
64295         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
64296         Kernel. Handle this flavor.
64297         * tests/test-set-mode-acl.sh: Likewise.
64298         * tests/test-copy-acl.sh: Likewise.
64299         * tests/test-copy-file.sh: Likewise.
64301 2010-10-03  Bruno Haible  <bruno@clisp.org>
64303         Info about ACLs on NonStop Kernel.
64304         * doc/acl-resources.txt: Add info about NonStop Kernel.
64305         References by Joachim Schmitz <schmitz@hp.com>.
64307 2010-10-02  Bruno Haible  <bruno@clisp.org>
64309         Define missing EDQUOT on NonStop Kernel.
64310         * lib/errno.in.h (EDQUOT): Assign a value if missing.
64311         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
64312         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
64313         missing.
64314         * doc/posix-headers/errno.texi: Mention the NSK bug.
64315         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
64316         Reported by Joachim Schmitz <schmitz@hp.com>.
64318 2010-10-02  Bruno Haible  <bruno@clisp.org>
64320         Update doc for POSIX:2008.
64321         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
64322         Update URL of POSIX specification.
64324 2010-10-02  Bruno Haible  <bruno@clisp.org>
64326         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
64327         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
64328         from gnulib, not from Automake.
64330 2010-10-02  Bruno Haible  <bruno@clisp.org>
64332         New module 'system-posix'.
64333         * modules/system-posix: New file.
64334         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
64335         module is present.
64336         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
64337         GNULIB_SYSTEM_POSIX.
64338         * modules/stdlib (Depends-on): Remove sys_wait.
64339         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
64340         * doc/posix-functions/system.texi: Mention the new module.
64341         * doc/posix-headers/stdlib.texi: Likewise.
64342         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
64343         define test_sys_wait_macros to a no-op.
64344         Reported by Sam Steingold <sds@gnu.org>.
64346 2010-09-30  Bruno Haible  <bruno@clisp.org>
64348         More renaming from 'getdate' to 'get_date'.
64349         * doc/get_date.texi: Renamed from doc/getdate.texi.
64350         * modules/get_date (Files): Update.
64351         * MODULES.html.sh (Date and time <time.h>): Update.
64352         * DEPENDENCIES: Update.
64353         * gnulib-tool: Update comment.
64354         * m4/bison.m4 (gl_BISON): Likewise.
64355         * m4/get_date.m4 (gl_GET_DATE): Likewise.
64357 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
64359         bootstrap: support ACLOCAL_FLAGS during aclocal
64360         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
64361         can add additional -I dir for third-party .m4 files.
64363 2010-09-30  Eric Blake  <eblake@redhat.com>
64365         bootstrap: use glibtoolize on MacOS
64366         * build-aux/bootstrap (check_versions): Convert libtool into
64367         libtoolize.
64368         (tool search): Move libtool check earlier, and look for
64369         glibtoolize for MacOS.
64370         (gnulib_tool_options): Auto-add --libtool when appropriate.
64371         Reported by Justin Clift.
64373         poll: fix typo that broke test on MacOS
64374         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
64375         Reported by Justin Clift.
64377         getdate: rename to get_date
64378         Note: getdate.h is not renamed, to minimize client impact.
64379         * modules/getdate: Mark obsolete.  Move old contents...
64380         * modules/get_date: ...to new module name.
64381         * modules/getdate-tests: Move...
64382         * modules/get_date-tests: ...here.
64383         * m4/getdate.m4: Move...
64384         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
64385         * lib/getdate.y: Move...
64386         * lib/get_date.y: ...here.
64387         * tests/test-getdate.c: Move...
64388         * tests/test-get_date.c: ...here.
64389         * doc/posix-functions/getdate.texi (getdate): Update name.
64390         * NEWS: Mention the change.
64392 2010-09-29  Bruno Haible  <bruno@clisp.org>
64394         Separate the module 'waitpid' from the module 'sys_wait'.
64395         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
64396         present.
64397         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
64398         gl_MODULE_INDICATOR_FOR_TESTS.
64399         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
64400         * modules/sys_wait (Depends-on): Remove waitpid.
64401         (Makefile.am): Substitute GNULIB_WAITPID.
64402         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
64403         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
64404         signature only if the 'waitpid' module is present.
64405         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
64406         * NEWS: Mention the change.
64407         * modules/grantpt (Depends-on): Add waitpid.
64408         * modules/wait-process (Depends-on): Likewise.
64410 2010-09-29  Bruno Haible  <bruno@clisp.org>
64412         More tests for module 'sys_wait'.
64413         * modules/sys_wait-c++-tests: New file.
64414         * tests/test-sys_wait-c++.cc: New file.
64415         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
64416         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64418 2010-09-29  Bruno Haible  <bruno@clisp.org>
64420         New module 'waitpid'.
64421         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
64422         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
64423         Don't include <process.h>.
64424         (waitpid): Declare only, using modern idiom.
64425         * m4/waitpid.m4: New file.
64426         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
64427         * modules/waitpid: New file.
64428         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
64429         (Makefile.am): Update.
64430         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
64432 2010-09-28  Bruno Haible  <bruno@clisp.org>
64434         poll: Assume ANSI C.
64435         * lib/poll.c (poll): Use an ANSI C declaration.
64437 2010-09-28  Bruno Haible  <bruno@clisp.org>
64439         poll-h: Create poll.h on all platforms.
64440         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
64441         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
64442         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
64443         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
64444         (gl_REPLACE_POLL_H): Don't set POLL_H.
64445         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
64446         * modules/poll-h (Depends-on): Add include_next.
64447         (Makefile.am): Create poll.h unconditionally. Substitute also
64448         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
64450 2010-09-28  Bruno Haible  <bruno@clisp.org>
64452         Tests for module 'poll-h'.
64453         * modules/poll-h-c++-tests: New file.
64454         * tests/test-poll-h-c++.cc: New file.
64456         Tests for module 'poll-h'.
64457         * modules/poll-h-tests: New file.
64458         * tests/test-poll-h.c: New file.
64460 2010-09-28  Bruno Haible  <bruno@clisp.org>
64462         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
64463         * modules/poll-h (Depends-on): Add 'extensions'.
64465 2010-09-28  Bruno Haible  <bruno@clisp.org>
64467         New module 'poll-h'.
64468         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
64469         (poll): Use modern idiom.
64470         * modules/poll-h: New file.
64471         * modules/poll (Files): Remove lib/poll.in.h.
64472         (Depends-on): Add poll-h.
64473         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
64474         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
64475         * m4/poll_h.m4: New file.
64476         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
64477         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
64478         and invoke gl_REPLACE_POLL_H.
64479         * lib/poll.c: Use common idiom.
64480         * tests/test-poll.c: Likewise.
64481         * doc/posix-headers/poll.texi: Mention the poll-h module.
64482         Suggested by Eric Blake.
64484 2010-09-26  Bruno Haible  <bruno@clisp.org>
64486         sys_wait: Implement WSTOPSIG.
64487         * lib/sys_wait.in.h (WSTOPSIG): New macro.
64488         Reported by Simon Josefsson.
64490 2010-09-26  Simon Josefsson  <simon@josefsson.org>
64492         stdlib, sys_wait: Avoid compilation error on mingw.
64493         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
64495 2010-09-26  Bruno Haible  <bruno@clisp.org>
64497         stdlib tests: Avoid code duplication.
64498         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
64499         * modules/sys_wait-tests (Files): Likewise.
64500         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
64501         * tests/test-stdlib.c: Include test-sys_wait.h.
64502         (main): Invoke test_sys_wait_macros.
64503         * tests/test-sys_wait.c: Include test-sys_wait.h.
64504         (main): Invoke test_sys_wait_macros.
64506 2010-09-25  Simon Josefsson  <simon@josefsson.org>
64508         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
64509         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
64510         sure Windows sockets are working before calling getaddrinfo.
64511         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
64512         * doc/gnulib.texi (Windows sockets): Fix typo.
64514 2010-09-25  Bruno Haible  <bruno@clisp.org>
64516         Tests for module 'regex-quote'.
64517         * modules/regex-quote-tests: New file.
64518         * tests/test-regex-quote.c: New file.
64520         New module 'regex-quote'.
64521         * lib/regex-quote.h: New file.
64522         * lib/regex-quote.c: New file.
64523         * modules/regex-quote: New file.
64524         Suggested by Reuben Thomas <rrt@sc3d.org>.
64526 2010-09-24  Bruno Haible  <bruno@clisp.org>
64528         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
64529         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
64531 2010-09-23  Bruno Haible  <bruno@clisp.org>
64533         setenv: Relax license.
64534         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
64535         Blake.
64536         Requested by Eric Blake.
64538 2010-09-22  Bruno Haible  <bruno@clisp.org>
64540         termios: Relax license.
64541         * modules/termios (License): Change to LGPLv2+.
64542         Requested by Eric Blake.
64544 2010-09-22  Bruno Haible  <bruno@clisp.org>
64546         threadlib: Allow the package to change the default to 'no'.
64547         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
64548         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
64549         Reported by Paul Eggert.
64551 2010-09-22  Pádraig Brady  <P@draigbrady.com>
64552             Bruno Haible  <bruno@clisp.org>
64554         Fix endless loop in mbmemcasecoll.
64555         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
64556         byte.
64557         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
64559 2010-09-22  Bruno Haible  <bruno@clisp.org>
64561         Tests for module 'memcoll'.
64562         * modules/memcoll-tests: New file.
64563         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
64565         memcoll, xmemcoll: Clarify size vs. length.
64566         * modules/memcoll.c (memcoll0): Clarify specification.
64567         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
64568         passed to collate_error.
64570 2010-09-22  Bruno Haible  <bruno@clisp.org>
64572         Tests for module 'memcasecmp'.
64573         * modules/memcasecmp-tests: New file.
64574         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
64576 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64578         * lib/pthread.in.h: Add split double-inclusion guard, and include
64579         system <pthread.h> if there is one.  Use @@-style as in other
64580         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
64581         pthread.h doesn't.
64582         (pthread_mutexattr_destroy, pthread_mutexattr_init):
64583         (pthread_mutexattr_settype, pthread_mutex_trylock):
64584         New static inline functions, if there's no system <pthread.h>.
64585         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
64586         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
64587         Approximate with mutexes if the system lacks spinlocks, as in
64588         MacOS.
64589         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
64590         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
64591         @@-style.  Check for spinlocks separately.
64592         (gl_PTHREAD_DEFAULTS): New macro.
64593         * modules/pthread: Redo to use a more typical style for in.h files.
64595 2010-09-21  Eric Blake  <eblake@redhat.com>
64597         net_if: enhance tests
64598         * tests/test-net_if.c (main): Move signature checks earlier.
64599         Print failures to stderr.
64600         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
64601         Document the bug that we do not yet fix.
64603 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64605         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
64606         about gnulib, not GSS.
64608 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
64610         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
64611         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
64612         for Emacs.
64613         * build-aux/pmccabe2html: Make Makefile.am example code more
64614         cut-and-paste friendly.
64616 2010-09-21  Simon Josefsson  <simon@josefsson.org>
64618         * tests/test-net_if.c: New file.
64619         * modules/net_if-tests: New file.
64621 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
64623         pthread: add pthread_spin_destroy
64624         * lib/pthread.in.h (pthread_spin_destroy): New function.
64626 2010-09-19  Bruno Haible  <bruno@clisp.org>
64628         gnulib-tool: Fix --help output.
64629         * gnulib-tool (func_usage): Fix help message.
64630         Reported by Reuben Thomas <rrt@sc3d.org>.
64632 2010-09-18  Jim Meyering  <meyering@redhat.com>
64634         maint.mk: avoid unexpanded \n in two diagnostics
64635         * top/maint.mk (sc_prohibit_always_true_header_tests):
64636         Don't use a literal \n in a halt=... assignment.  It would not be
64637         expanded, and the two \n bytes would appear in the diagnostic output
64638         rather than the desired newline.  Use halt=$$(printf ... instead.
64639         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
64641 2010-09-18  Bruno Haible  <bruno@clisp.org>
64643         netinet_in: Doc tweak.
64644         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
64645         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64647 2010-09-18  Jim Meyering  <meyering@redhat.com>
64649         init.sh: correct an outdated comment
64650         * tests/init.sh (create_exe_shims_):  s/function/alias/
64652         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
64653         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
64654         a file named "*.exe" is removed between the glob expansion and the
64655         processing of that oddly named file.
64657 2010-09-17  Eric Blake  <eblake@redhat.com>
64659         mirbsd: add some more support
64660         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
64661         in BSD family.
64662         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
64663         devices as OpenBSD.
64664         * m4/host-os.m4 (mirbsd): Add MirBSD.
64666         tests: fix unportable assumption on sys/wait.h
64667         * tests/test-sys_wait.c (main): Relax test.
64668         * tests/test-stdlib.c (main): Likewise.
64670         init.sh: accommodate directory with no .exes
64671         * tests/init.sh: Accomodate directory containing only scripts.
64673         tests: avoid compiler warning
64674         * tests/test-stdlib.c (main): Use the variable.
64676         fdutimens, fdutimensat: update signature, again
64677         * lib/utimens.h (gl_futimens): Delete, and move signature...
64678         (fdutimens): ...here.
64679         (fdutimensat): Rearrange signature.
64680         (lutimensat): Rename variable for clarity.
64681         * lib/fdutimensat.c (fdutimensat): Update signature.
64682         * lib/utimens.c (fdutimens): Likewise.
64683         (gl_futimens): Delete.
64684         (utimens, lutimens): Update callers.
64685         * lib/futimens.c (futimens): Likewise.
64686         * tests/test-fdutimensat.c: Likewise.
64687         * tests/test-utimens.c: Likewise.
64688         * tests/test-futimens.h: Update comment.
64689         * NEWS: Mention this.
64690         Suggested by Paul Eggert.
64692 2010-09-17  Bruno Haible  <bruno@clisp.org>
64694         Take over the maintenance of some older macros from Autoconf.
64695         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
64696         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
64697         GNU Autoconf.
64698         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
64699         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
64701 2010-09-17  Eric Blake  <eblake@redhat.com>
64703         fdutimensat: drop atflag validation
64704         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
64705         with valid fd, to close a race scenario where futimens is
64706         unsupported and FILE was replaced by a symlink.
64707         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
64708         accordingly.
64709         Suggested by Paul Eggert.
64711 2010-09-16  Bruno Haible  <bruno@clisp.org>
64713         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
64714         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
64716 2010-09-16  Bruno Haible  <bruno@clisp.org>
64718         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
64719         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
64720         login_tty exists.
64721         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64723 2010-09-16  Bruno Haible  <bruno@clisp.org>
64725         login_tty: Make the replacement code work on BSD systems.
64726         * lib/login_tty.c: Include <sys/ioctl.h>.
64727         (login_tty): Use ioctl TIOCSCTTY when available.
64728         * modules/login_tty (Depends-on): Add sys_ioctl.
64729         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64731 2010-09-16  Bruno Haible  <bruno@clisp.org>
64733         login_tty: Stricter unit test.
64734         * modules/login_tty-tests (Depends-on): Add tcgetsid.
64735         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
64736         and tcgetsid() after login_tty.
64737         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64739 2010-09-16  Bruno Haible  <bruno@clisp.org>
64741         New module 'tcgetsid'.
64742         * lib/tcgetsid.c: New file.
64743         * m4/tcgetsid.m4: New file.
64744         * modules/tcgetsid: New file.
64745         * modules/termios (Depends-on): Add c++defs, warn-on-use.
64746         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
64747         GNULIB_TCGETSID, HAVE_TCGETSID.
64748         * lib/termios.in.h: Include <sys/types.h>.
64749         (tcgetsid): New declaration.
64750         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
64751         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
64752         * doc/posix-functions/tcgetsid.texi: Mention the new module.
64753         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
64755 2010-09-16  Bruno Haible  <bruno@clisp.org>
64757         Tests for module 'termios'.
64758         * modules/termios-c++-tests: New file.
64759         * modules/termios-tests: New file.
64760         * tests/test-termios-c++.cc: New file.
64761         * tests/test-termios.c: New file.
64763         New module 'termios'.
64764         * modules/termios: New file.
64765         * lib/termios.in.h: New file.
64766         * m4/termios_h.m4: New file.
64767         * doc/posix-headers/termios.texi: Mention the new module.
64769 2010-09-16  Eric Blake  <eblake@redhat.com>
64771         fdutimensat: add an atflag parameter
64772         * lib/fdutimensat.c (fdutimensat): Add new parameter.
64773         * lib/utimens.h (fdutimensat): Update prototype.
64774         * tests/test-fdutimensat.c: Adjust test to match.
64775         * NEWS: Document the change.
64776         Suggested by Paul Eggert.
64778 2010-09-16  Bruno Haible  <bruno@clisp.org>
64780         Fix typos in comments.
64781         * lib/striconveh.h: Fix typo in comment.
64782         * lib/login_tty.c (login_tty): Likewise.
64784 2010-09-15  Bruno Haible  <bruno@clisp.org>
64786         stdlib: clarify MirBSD WEXITSTATUS bug
64787         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
64788         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64790 2010-09-15  Eric Blake  <eblake@redhat.com>
64792         stdlib: work around MirBSD WEXITSTATUS bug
64793         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
64794         * modules/stdlib (Depends-on): Add sys_wait.
64795         * tests/test-sys_wait.c (main): Enhance test.
64796         * tests/test-stdlib.c (main): Likewise.
64797         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
64799         docs: mention MacOS issue with WEXITSTATUS(constant)
64800         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
64801         issue.
64802         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
64804         strnlen: add tests
64805         * modules/strnlen-tests: New file.
64806         * tests/test-strnlen.c: Likewise.
64808 2010-09-14  Bruno Haible  <bruno@clisp.org>
64810         unistr/base: Avoid link errors when module 'libunistring' is also used.
64811         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
64812         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
64813         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
64814         Declare also when HAVE_LIBUNISTRING is set.
64815         Reported by Pádraig Brady <P@draigbrady.com>.
64817 2010-09-14  Eric Blake  <eblake@redhat.com>
64819         test-rawmemchr: make more robust
64820         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
64821         (Depends-on, configure.ac): Add needed prerequisites to use it.
64822         * modules/memchr-tests (Files, Depends-on, configure.ac):
64823         Likewise, to avoid implicit reliance on memchr module prereqs.
64824         * tests/test-memchr.c (main): Ensure proper masking.
64825         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
64826         reads.
64828         memchr: detect glibc Alpha bug
64829         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
64830         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
64831         Alpha.
64832         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
64833         * tests/test-memchr.c (main): Enhance test.
64834         Reported by Nelson H. F. Beebe.
64836 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64838         fts, getcwd, glob: audit for dirfd returning -1
64839         * lib/fts.c (opendir): Remove #define; no longer used.
64840         (opendirat): New arg PDIR_FD.  All callers changed.
64841         (fts_build, _opendir2): Use new opendirat to avoid the need for
64842         dirfd, or for checking whether dirfd returns a negative value.
64843         Don't use opendir; always use openat followed by fdopendir.
64844         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
64845         it.
64846         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
64847         returns -1 here.
64848         * modules/fts (Depends-on): Remove dirfd.
64849         * modules/getcwd (Depends-on): Likewise.
64851 2010-09-13  Eric Blake  <eblake@redhat.com>
64853         float: fix broken MirBSD header
64854         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
64855         * doc/posix-headers/float.texi (float.h): Document it.
64857 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
64859         fts: use O_NOFOLLOW to avoid race condition when opening a directory
64860         * lib/fts.c (opendirat): New arg extra_flags.
64861         (__opendir2): Use it to avoid following symlinks when opening
64862         a directory, if symlinks are not supposed to be followed.  See
64863         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.
64865         fdopendir: preserve argument fd before returning
64866         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
64867         (fdopendir_with_dup, fd_clone_opendir): New static functions.
64868         (fdopendir): Use them, arranging for FD to be open to the same
64869         directory that it was when it started.  (It might be temporarily
64870         closed while fdopendir is running, so this not thread- or
64871         signal-safe.)  Be careful to do the right thing even when file
64872         descriptors are scarce and dup fails with errno == EMFILE.  See
64873         <http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.
64875 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
64877         regex: Pass the system regex if its only problem is 32-bit regoff_t.
64878         * NEWS: Document change.
64879         * m4/regex.m4: Disable test for regoff_t size.
64881 2010-09-13  Jim Meyering  <meyering@redhat.com>
64883         fts: don't operate on an invalid file descriptor after failed dup
64884         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
64885         negative file descriptor.
64887 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
64889         savedir: add streamsavedir, deprecate fdsavedir
64890         * NEWS: Mention deprecation of fdsavedir.
64891         * lib/savedir.c (streamsavedir): New extern function, whose name
64892         ends in "savedir" to be consistent with the others.  This differs
64893         from savedirstream in that it doesn't close its argument.  The
64894         next version of GNU tar will use this instead of fdsavedir, to
64895         avoid some race conditions and conserve file descriptors.
64896         (savedirstream): Reimplement as a wrapper around streamsavedir.
64897         (fdsavedir): Add a comment deprecating this function.  As far as
64898         I know, only GNU tar used it, and GNU tar doesn't need it any more.
64899         * lib/savedir.h (streamsavedir): New decl.
64900         (fdsavedir): Add a comment deprecating this.
64902 2010-09-10  Bruno Haible  <bruno@clisp.org>
64904         langinfo: Fix last commit.
64905         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
64906         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
64907         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
64909 2010-09-10  Bruno Haible  <bruno@clisp.org>
64911         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
64912         * lib/progreloc.c (O_EXEC): Define fallback.
64914 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
64916         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
64917         * NEWS: Document recent changes to fcntl-h.
64918         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
64919         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
64920         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
64921         Similarly for O_SEARCH; this last was already true, but not documented.
64922         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
64923         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
64924         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
64925         Likewise.
64926         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
64927         is zero, not whether it is defined.
64928         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
64929         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
64930         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
64932 2010-09-10  Bruno Haible  <bruno@clisp.org>
64934         langinfo, nl_langinfo: Fix for IRIX 5.3.
64935         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
64936         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
64937         HAVE_LANGINFO_YESEXPR.
64938         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
64939         HAVE_LANGINFO_YESEXPR.
64940         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
64941         HAVE_LANGINFO_T_FMT_AMPM is 0.
64942         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
64943         HAVE_LANGINFO_YESEXPR is 0.
64944         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
64945         NOEXPR.
64946         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
64947         * doc/posix-functions/nl_langinfo.texi: Likewise.
64948         Reported by Eric Blake.
64950 2010-09-10  Bruno Haible  <bruno@clisp.org>
64952         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
64953         * doc/glibc-functions/login_tty.texi: Mention the include file problem
64954         on FreeBSD 8.0 and OpenBSD 4.6.
64955         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
64956         * m4/pty_h.m4 (gl_PTY_H): Likewise.
64957         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
64958         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
64959         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
64960         ac_includes_default.
64961         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
64963 2010-09-09  Eric Blake  <eblake@redhat.com>
64965         strsignal: work around NetBSD bug
64966         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
64967         * lib/string.in.h (includes): Likewise.
64968         * doc/posix-functions/strsignal.texi (strsignal): Document the
64969         bug.
64970         Reported by Nelson H. F. Beebe.
64972         gnulib-tool: work with NetBSD /bin/sh
64973         * gnulib-tool (func_cache_var, func_cache_lookup_module)
64974         (func_get_description, func_get_comment, func_get_status)
64975         (func_get_notice, func_get_applicability, func_get_filelist)
64976         (func_get_dependencies, func_get_autoconf_early_snippet)
64977         (func_get_autoconf_snippet, func_get_automake_snippet)
64978         (func_get_include_directive, func_get_link_directive)
64979         (func_get_license, func_get_maintainer, func_import): Avoid
64980         shell syntax errors from parsing syntax extensions.
64982 2010-09-09  Bruno Haible  <bruno@clisp.org>
64984         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
64985         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
64986         a reliable way to determine whether the 'alias' command works.
64988 2010-09-08  Jim Meyering  <meyering@redhat.com>
64990         init.sh: penalize a set-x-impaired shell; don't disqualify it
64991         * tests/init.sh: Too many shells corrupt application stderr when
64992         you set -x, so we can't afford to disqualify them, since at least
64993         on Irix-6.5, that would disqualify all bourne shells.
64994         Instead, use a two-pass approach.
64995         On the first pass, try to find a shell that meets the stricter
64996         condition that set -x does not corrupt stderr.
64997         If no shell meets the stricter condition, retest each candidate
64998         shell, but without that extra condition.  Finally, when
64999         VERBOSE=yes is requested and set -x might cause trouble, simply
65000         issue a warning and refrain from enabling debug output.
65002 2010-09-08  Eric Blake  <eblake@redhat.com>
65004         unsetenv: fix OpenBSD bug
65005         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
65006         * doc/posix-functions/unsetenv.texi (unsetenv): Update
65007         documentation.
65008         Reported by Jim Meyering.
65010         strtod: work around IRIX 6.5 bug
65011         * lib/strtod.c (strtod): Reparse number on shorter string if
65012         exponent parse was invalid.
65013         * tests/test-strtod.c (main): Add check for "0x1p 2".
65014         Reported by Tom G. Christensen.
65016         getopt: optimize previous patch
65017         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
65018         empty variable.  Speed up awk script.
65019         Reported by Paolo Bonzini.
65021 2010-09-08  Jim Meyering  <meyering@redhat.com>
65023         test.sh: disqualify shells for which set -x corrupts stderr
65024         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
65025         and OpenBSD 4.7.  They make it so with "set -x", environment settings
65026         appear in stderr output.  For example, this command:
65027             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
65028         prints "P=1" on those two systems:
65030 2010-09-08  Bruno Haible  <bruno@clisp.org>
65032         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
65033         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
65034         commands, because some shells ignore redirections when there is an
65035         error in the command lookup.
65036         Reported by Eric Blake.
65038 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
65040         * lib/regex.h: Fix a mention of `regex_compile' (should be
65041         `re_compile_pattern').
65042         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
65043         (re_set_registers): Correct name of parameter in comment.
65045         * doc/regex.texi: Add documentation for missing syntax flags.
65046         Remove commented-out documentation of defunct syntax option
65047         RE_NO_EMPTY_ALTS.
65048         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
65049         Add documentation of re_set_registers.
65050         Document trick to re-use a pattern buffer by setting fastmap manually.
65051         Update documentation of struct re_pattern_buffer per public members.
65052         Uncomment documentation of equivalence class operators and
65053         collating symbol operators, since they are now implemented,
65054         Explain leftmost-longest matching in relation to alternatives.
65055         Tidy documentation of substring matching.
65056         Remove POSIX documentation, which is done better in
65057         glibc, and refer the reader there. Keep BSD API documentation, as
65058         that is not readily available elsewhere.
65060 2010-09-07  Eric Blake  <eblake@redhat.com>
65062         getopt: handle POSIXLY_CORRECT set but not exported
65063         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
65064         export state of POSIXLY_CORRECT, due to bash set -o posix.
65065         Reported by Dustin J. Mitchell.
65067 2010-09-05  Bruno Haible  <bruno@clisp.org>
65069         gnulib-tool: Highlight the changed options.
65070         * gnulib-tool (func_usage): Display the --import, --add-import,
65071         --remove-import explanations in bold font.
65073 2010-09-06  Karl Berry  <karl@gnu.org>
65075         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
65077 2010-09-05  Bruno Haible  <bruno@clisp.org>
65079         uniwidth/width: Update comment.
65080         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
65081         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
65083 2010-09-05  Bruno Haible  <bruno@clisp.org>
65085         isinf, isnan: Relax license.
65086         * modules/isinf (License): Change from GPL to LGPL, with consent from
65087         Ben Pfaff.
65088         * modules/isnan (License): Likewise.
65089         Requested by Ludovic Courtès.
65091 2010-09-04  Bruno Haible  <bruno@clisp.org>
65093         gnulib-tool: Help migration from --import to --add-import or --update.
65094         * gnulib-tool: Emit a verbose error message when --import is used
65095         without any module name.
65097 2010-09-04  Bruno Haible  <bruno@clisp.org>
65099         Update doc about gnulib-tool.
65100         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
65101         'gnulib-tool --update' in more detail.
65102         Reported by Eric Blake.
65104 2010-09-04  Bruno Haible  <bruno@clisp.org>
65106         gnulib-tool: Change --import. New options --add/remove-import.
65107         * gnulib-tool: New options --add-import, --remove-import.
65108         (func_usage): Document them.
65109         (have_associative): Define always.
65110         (func_import): In import mode, don't merge the specified settings with
65111         the cached settings. Implement remove-import mode.
65112         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
65113         Explain when to use them versus --import.
65114         (Simple update): Use --add-import instead of --import.
65115         * NEWS: Mention the change.
65117 2010-09-04  Bruno Haible  <bruno@clisp.org>
65119         * doc/gnulib-tool.texi (Initial import): Update paragraph about
65120         separate gnulib.mk.
65122 2010-09-04  Bruno Haible  <bruno@clisp.org>
65124         gnulib-tool: Don't talk about CVS any more.
65125         * gnulib-tool (func_usage, func_import): Write "version control"
65126         instead of CVS.
65128 2010-09-04  Jim Meyering  <meyering@redhat.com>
65130         maint.mk: avoid obscure sc_copyright_check failure in coreutils
65131         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
65132         false positives (whose names may be ill-chosen) when searching
65133         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
65134         would cause a false-positive.
65136         avoid coreutils "make distcheck" failure
65137         Coreutils tests with an absolute build directory name that contains
65138         a space.  Not quoting this directory name caused a failure.
65139         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
65140         * tests/test-vc-list-files-cvs.sh: Likewise.
65142 2010-09-04  Bruno Haible  <bruno@clisp.org>
65144         gnulib-tool: Avoid error when run in a package without Makefile.am.
65145         * gnulib-tool: When collecting the m4dirs in a package that does not
65146         have a Makefile.am, eliminate those directories that contain no
65147         gnulib-cache.m4. Fix expression that counts these directories.
65149 2010-09-04  Bruno Haible  <bruno@clisp.org>
65151         update-copyright test: Improve output when perl is missing or too old.
65152         * tests/test-update-copyright.sh: Move test of Perl version down after
65153         the test whether Perl exists. Provide an explanation relating Perl's
65154         error message to Automake's SKIP: message.
65156 2010-09-04  Bruno Haible  <bruno@clisp.org>
65158         Don't augment PATH in TESTS_ENVIRONMENT.
65159         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
65160         set abs_aux_dir instead of augmenting PATH.
65161         * modules/vc-list-files-tests (Makefile.am): Likewise.
65162         * tests/test-update-copyright.sh: Augment PATH here.
65163         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
65164         path_prepend_.
65165         * tests/test-vc-list-files-git.sh: Likewise.
65167 2010-09-04  Jim Meyering  <meyering@redhat.com>
65169         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
65170         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
65172 2010-09-04  Bruno Haible  <bruno@clisp.org>
65174         strdup: Fix compilation error in C++ mode.
65175         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
65176         the macro.
65178 2010-09-04  Bruno Haible  <bruno@clisp.org>
65180         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
65181         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
65182         macro into a function.
65183         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
65185 2010-09-04  Bruno Haible  <bruno@clisp.org>
65187         Set PATH_SEPARATOR the same way autoconf does.
65188         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
65189         the value of PATH_SEPARATOR the same way autoconf-generated configure
65190         scripts do.
65191         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
65192         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
65194 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
65196         Set PATH_SEPARATOR the same way autoconf does.
65197         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
65198         the same way autoconf-generated configure scripts do.
65199         * posix-modules: Likewise.
65201 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65203         hash: fix safe_hasher const typo
65204         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
65205         const; otherwise, there is a type error later.
65207 2010-09-02  Jim Meyering  <meyering@redhat.com>
65209         test-update-copyright.sh: require perl 5.8.0
65210         * tests/test-update-copyright.sh: Require 5.8.0,
65211         which Tom G. Christensen has confirmed is adequate,
65212         while 5.6.1 is not.
65214 2010-09-02  Eric Blake  <eblake@redhat.com>
65216         tests: init.sh improvements for re-exec'ing with zsh
65217         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
65218         -vx through shell re-exec.
65219         Reported by Tom G. Christensen.
65221         wctype: fix typo in previous commit
65222         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
65223         Reported by Ludovic Courtès.
65225 2010-09-02  Jim Meyering  <meyering@redhat.com>
65227         test-update-copyright.sh: skip test if Perl is too old
65228         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
65229         Reported by Tom G. Christensen.
65231 2010-09-02  Bruno Haible  <bruno@clisp.org>
65233         wctype: Avoid compilation error on IRIX 6.5.30.
65234         * lib/wctype.in.h (iswblank): Declare with a replacement if
65235         REPLACE_ISWBLANK is set.
65236         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
65237         declared. Set REPLACE_ISWBLANK.
65238         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
65239         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
65240         * doc/posix-headers/wctype.texi: Likewise.
65241         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
65243 2010-09-01  Bruno Haible  <bruno@clisp.org>
65245         New module 'socketlib'.
65246         * modules/socketlib: New file.
65247         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
65248         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
65249         * modules/sockets (Depends-on): Add socketlib.
65250         Suggested by Sam Steingold <sds@gnu.org>.
65252 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65254         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
65256         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
65257         when one needs search access to a directory but not read access.
65258         On systems where it is available, it works in some cases where
65259         O_RDONLY does not, namely on directories that are searchable but
65260         not readable, and which need only to be searchable.  If O_SEARCH
65261         is not available, fall back to the traditional method of using
65262         O_RDONLY.
65264         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
65265         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
65266         when opening a directory that needs only to be searchable.
65267         * lib/chdir-safer.c (chdir_no_follow): Likewise.
65268         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
65269         * lib/openat-proc.c (openat_proc_name): Likewise.
65270         * lib/openat.c (openat_needs_fchdir): Likewise.
65271         * lib/save-cwd.c (save_cwd): Likewise.
65272         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
65274 2010-08-28  Bruno Haible  <bruno@clisp.org>
65276         New module 'host-cpu-c-abi'.
65277         * modules/host-cpu-c-abi: New file.
65278         * m4/host-cpu-c-abi.m4: New file, based on part of
65279         clisp/src/m4/general.m4.
65280         Requested by Sam Steingold <sds@gnu.org>.
65282 2010-08-31  Eric Blake  <eblake@redhat.com>
65283         and Jim Meyering  <meyering@redhat.com>
65285         hash: factor, and guard against misbehaving hasher function
65286         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
65287         of table->hasher's return value.  Also protect against a hash value
65288         so large that adding it to table->bucket results in a NULL pointer.
65289         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
65290         Use it in place of open-coded check-and-abort.
65292 2010-08-30  Bruno Haible  <bruno@clisp.org>
65294         hash: silence spurious clang warning
65295         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
65296         Reported by Eric Blake.
65298 2010-08-30  Eric Blake  <eblake@redhat.com>
65300         strstr, memmem, strcasestr: avoid leaked shell message
65301         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
65302         FreeBSD.
65303         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
65304         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
65306         tests: silence clang warning
65307         * tests/test-malloca.c (do_allocation): Avoid dead store.
65309 2010-08-29  Bruno Haible  <bruno@clisp.org>
65311         gettext: Fix recent mistake.
65312         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
65314 2010-08-29  Bruno Haible  <bruno@clisp.org>
65316         selinux-h: Offer a --without-selinux option.
65317         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
65318         --without-selinux was specified, skip all tests and define
65319         HAVE_SELINUX_SELINUX_H to 0.
65320         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
65321         set LIB_SELINUX to empty.
65322         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
65323         gl_LIBSELINUX. If --without-selinux was specified, replace
65324         selinux/context.h.
65325         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
65327 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65328             Bruno Haible  <bruno@clisp.org>
65330         Make the module 'realloc-gnu' work again on AIX and OSF/1.
65331         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
65332         of HAVE_REALLOC.
65333         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
65334         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
65335         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
65336         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65338 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65339             Bruno Haible  <bruno@clisp.org>
65341         Make the module 'calloc-gnu' work again on AIX and OSF/1.
65342         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
65343         HAVE_CALLOC.
65344         * lib/xmalloc.c: Update accordingly.
65345         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
65346         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
65347         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
65349 2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65350             Bruno Haible  <bruno@clisp.org>
65352         Make the module 'malloc-gnu' work again on AIX and OSF/1.
65353         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
65354         HAVE_MALLOC.
65355         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
65356         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
65357         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
65359 2010-08-29  Bruno Haible  <bruno@clisp.org>
65361         Update modules list.
65362         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
65363         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
65364         (String handling <string.h>): Add astrxfrm.
65365         (File system functions): Add readlinkat.
65367 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65369         Tests for module 'realloc-gnu'.
65370         * modules/realloc-gnu-tests: New file.
65371         * tests/test-realloc-gnu.c: New file.
65373         Tests for module 'calloc-gnu'.
65374         * modules/calloc-gnu-tests: New file.
65375         * tests/test-calloc-gnu.c: New file.
65377         Tests for module 'malloc-gnu'.
65378         * modules/malloc-gnu-tests: New file.
65379         * tests/test-malloc-gnu.c: New file.
65381 2010-08-28  Bruno Haible  <bruno@clisp.org>
65383         Rename module 'realloc' -> 'realloc-gnu'.
65384         * modules/realloc-gnu: New file, copied from modules/realloc.
65385         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
65386         obsolete.
65387         * modules/mgetgroups (Depends-on): Update.
65388         * doc/posix-functions/realloc.texi: Update.
65389         * NEWS: Mention the change.
65391         Rename module 'calloc' -> 'calloc-gnu'.
65392         * modules/calloc-gnu: New file, copied from modules/calloc.
65393         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
65394         obsolete.
65395         * doc/posix-functions/calloc.texi: Update.
65396         * NEWS: Mention the change.
65398         Rename module 'malloc' -> 'malloc-gnu'.
65399         * modules/malloc-gnu: New file, copied from modules/malloc.
65400         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
65401         obsolete.
65402         * modules/argp (Depends-on): Update.
65403         * modules/regex (Depends-on): Update.
65404         * doc/posix-functions/malloc.texi: Update.
65405         * NEWS: Mention the change.
65407 2010-08-28  Eric Blake  <eblake@redhat.com>
65409         pread, pwrite: add missing dependency
65410         * modules/pread (Depends-on): Add extensions.
65411         * modules/pwrite (Depends-on): Likewise.
65413 2010-08-28  Bruno Haible  <bruno@clisp.org>
65415         unistr/u*-strchr: Fix tests dependencies.
65416         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
65417         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
65418         Reported by Ian Beckwith <ianb@erislabs.net>.
65420 2010-08-28  Bruno Haible  <bruno@clisp.org>
65422         read-file: Don't occupy too much unused memory.
65423         * lib/read-file.c (fread_file): Shrink the buffer at the end.
65425 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
65426             Eric Blake  <eblake@redhat.com>
65427             Bruno Haible  <bruno@clisp.org>
65429         read-file: Avoid memory reallocations with regular files.
65430         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
65431         (fread_file): With regular files, use the remaining length as the
65432         initial buffer size.  Check against overflow.
65433         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
65434         sys_stat.
65436 2010-08-28  Bruno Haible  <bruno@clisp.org>
65438         ftello: Relax license.
65439         * modules/ftello (License): Relax to LGPLv2+.
65440         Reported by Eric Blake.
65442 2010-08-28  Bruno Haible  <bruno@clisp.org>
65444         Avoid relocwrapper link errors due to gnulib replacement functions.
65445         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
65446         function.
65447         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65449 2010-08-28  Bruno Haible  <bruno@clisp.org>
65451         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
65452         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
65453         defined.
65454         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
65455         Suggested by Eric Blake.
65457 2010-08-28  Bruno Haible  <bruno@clisp.org>
65459         sys_socket, netdb: Ensure socklen_t gets defined.
65460         * modules/sys_socket (Depends-on): Add socklen.
65461         * modules/netdb (Depends-on): Likewise.
65462         * modules/getaddrinfo (Depends-on): Remove socklen.
65463         * modules/getsockopt (Depends-on): Likewise.
65464         * modules/setsockopt (Depends-on): Likewise.
65465         * tests/test-sys_socket.c: Check that socklen_t is defined.
65466         * tests/test-netdb.c: Likewise.
65467         * m4/socklen.m4: Update comments.
65468         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65470 2010-08-27  Eric Blake  <eblake@redhat.com>
65472         login_tty: add missing dependency
65473         * modules/login_tty (Depends-on): Add pty.
65475 2010-08-26  Eric Blake  <eblake@redhat.com>
65477         lib-symbol-versions: fix m4 quoting
65478         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
65479         format for AC_LINK_IFELSE.
65481         glob: fix compile test
65482         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
65484         btowc: fix missing file
65485         * modules/btowc (Files): Also ship locale-fr.m4.
65487         lseek: fix link test
65488         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
65489         AC_LINK_IFELSE.
65491         include_next: silence autoconf 2.68 warning
65492         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
65493         AC_COMPILE_IFELSE as special.
65494         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
65495         autoconf < 2.68.
65497         acl: fix compilation test
65498         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
65499         AC_COMPILE_IFELSE.
65501 2010-08-26  Bruno Haible  <bruno@clisp.org>
65503         Modernize AC_TRY_RUN invocations.
65504         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
65505         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
65506         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
65507         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
65508         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
65509         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
65510         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
65511         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
65512         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65513         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65514         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
65515         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
65516         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
65517         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
65518         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
65519         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
65520         gl_MBRLEN_NUL_RETVAL): Likewise.
65521         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
65522         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
65523         Likewise.
65524         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
65525         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
65526         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
65527         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
65528         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
65529         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
65530         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
65531         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
65532         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
65533         Likewise.
65534         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
65535         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
65536         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65537         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65538         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65539         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
65540         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
65541         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
65542         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
65543         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65545 2010-08-26  Bruno Haible  <bruno@clisp.org>
65547         Modernize AC_TRY_LINK invocations.
65548         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
65549         AC_TRY_LINK.
65550         * m4/argp.m4 (gl_ARGP): Likewise.
65551         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
65552         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
65553         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
65554         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
65555         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
65556         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
65557         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
65558         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
65559         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
65560         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
65561         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
65562         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
65563         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
65564         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
65565         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
65566         * m4/hostent.m4 (gl_HOSTENT): Likewise.
65567         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
65568         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
65569         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
65570         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
65571         Likewise.
65572         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
65573         Likewise.
65574         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
65575         Likewise.
65576         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
65577         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
65578         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
65579         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
65580         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
65581         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
65582         * m4/servent.m4 (gl_SERVENT): Likewise.
65583         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
65584         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
65585         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
65586         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
65587         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
65588         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
65589         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
65590         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
65591         * modules/tsearch-tests (configure.ac): Likewise.
65593 2010-08-26  Bruno Haible  <bruno@clisp.org>
65595         Modernize AC_TRY_COMPILE invocations.
65596         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
65597         AC_TRY_COMPILE.
65598         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
65599         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
65600         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
65601         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
65602         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
65603         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
65604         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
65605         * m4/lock.m4 (gl_LOCK): Likewise.
65606         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
65607         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
65608         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
65609         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
65610         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
65611         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
65612         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
65613         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
65614         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
65615         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
65616         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
65617         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
65618         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
65619         extraneous semicolon.
65621 2010-08-26  Jim Meyering  <meyering@redhat.com>
65623         stat-time: relax license LGPL
65624         * modules/stat-time (License): Change from GPL to LGPL,
65625         with consent from all contributors, for use in libguile.
65626         Requested by Ludovic Courtès.
65628 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
65630         poll: return immediately on POLLHUP.
65631         * lib/poll.c (poll): Always set timeout before wait_timeout is
65632         computed.
65634 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65636         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
65637         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
65638         rmdir ("dir/.//"), unlinkat.
65640 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65642         stdbool: avoid spurious failure with modern xlc
65643         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65645 2010-08-24  Bruno Haible  <bruno@clisp.org>
65647         getloadavg: simplify code
65648         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
65649         gl_have_func. Update comments.
65651 2010-08-24  Eric Blake  <eblake@redhat.com>
65653         getloadavg: don't define SVR4 on cygwin
65654         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
65655         only define SVR4 when -lkvm is required.
65656         Reported by Yaakov Selkowitz.
65658 2010-08-24  Bruno Haible  <bruno@clisp.org>
65660         priv-set: fix comment
65661         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
65663 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
65665         priv-set: fix comments
65666         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
65667         to match code, as suggested by David Bartley in:
65668         http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html
65670 2010-08-23  Eric Blake  <eblake@redhat.com>
65672         stdbool: avoid rejecting clang
65673         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
65674         * tests/test-stdbool.c: Enable more tests if using the system
65675         <stdbool.h> instead of the gnulib replacement.
65676         (main): Move xlc bug test to a runtime test for all compilers.
65677         Reported by Anders Kaseorg.
65679         argz: fix shell quoting issue
65680         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
65681         Reported by Charles Wilson.
65683 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
65684             Erik Faye-Lund <kusmabite@gmail.com>
65686         poll, select: handle ERROR_BROKEN_PIPE.
65687         * lib/poll.c (win32_compute_revents): Return POLLHUP when
65688         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65689         * lib/select.c (win32_compute_revents): Do not mark a pipe
65690         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
65692 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
65694         fts: allow compilation with C++
65695         * lib/fts_.h: Specify extern "C" linkage with C++.
65697 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65699         Fix gnulib-tool sed script de-commentation for AIX sed.
65700         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
65701         sed.
65703 2010-08-17  Eric Blake  <eblake@redhat.com>
65705         test-stddef: test for (some) offsetof bugs
65706         * tests/test-stddef.c: Enhance test to ensure correct type of
65707         offsetof.
65708         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
65709         that we are not fixing at this time.
65711 2010-08-15  Bruno Haible  <bruno@clisp.org>
65713         stpncpy: Allow stpncpy to be defined as a macro.
65714         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
65715         if it's already correctly declared.
65716         * lib/string.in.h (stpncpy): Undefine before redefining.
65717         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
65719 2010-08-14  Bruno Haible  <bruno@clisp.org>
65721         Rename module 'memxfrm' to 'amemxfrm'.
65722         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
65723         (amemxfrm): Renamed from memxfrm.
65724         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
65725         (amemxfrm): Renamed from memxfrm.
65726         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
65727         * NEWS: Mention the change.
65728         * MODULES.html.sh (String handling <string.h>): Update.
65729         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
65730         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
65731         * lib/unicase/u16-casexfrm.c: Likewise.
65732         * lib/unicase/u32-casexfrm.c: Likewise.
65733         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
65734         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
65735         * lib/uninorm/u16-normxfrm.c: Likewise.
65736         * lib/uninorm/u32-normxfrm.c: Likewise.
65737         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
65738         memxfrm.
65739         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
65740         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
65741         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
65742         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
65743         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
65744         Suggested by Paul Eggert.
65746 2010-08-14  Bruno Haible  <bruno@clisp.org>
65748         Tests for module 'astrxfrm'.
65749         * modules/astrxfrm-tests: New file.
65750         * tests/test-astrxfrm.c: New file.
65752         New module 'astrxfrm'.
65753         * lib/astrxfrm.h: New file.
65754         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
65755         * modules/astrxfrm: New file.
65757 2010-08-14  Reuben Thomas  <rrt@sc3d.org>
65759         regex: Tweak doc.
65760         * doc/regex.texi (Overview): Don't mention regex.c.
65761         (GNU Regular Expression Compiling): Likewise.
65762         (Match-end-of-line Operator): Mention 'not_eol'.
65764 2010-08-14  Brian Gough  <bjg@gnu.org>
65765             Bruno Haible  <bruno@clisp.org>
65767         git-merge-changelog: add doc relating to use with bzr and hg.
65768         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
65770 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
65772         pthread: fix pthread.h creation for srcdir != builddir
65773         * modules/pthread (Makefile.am): Fix the rule to work also in a
65774         non-srcdir build.
65776 2010-08-13  Karl Berry  <karl@gnu.org>
65778         * doc/regex.texi (Predefined Syntaxes): @smallexample.
65779         * doc/posix-*/*: force line break before @url of POSIX
65780         specifications.
65781         Suggested by Werner Lemberg.
65783 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
65785         strtod: fix const diagnostic
65786         * lib/strtod.c (strtod): Don't assign const char * to char *,
65787         as this elicits a warning from GCC when warnings are enabled.
65789 2010-08-10  Pádraig Brady  <P@draigbrady.com>
65790         and Eric Blake  <eblake@redhat.com>
65792         copy-acl: ignore ENOTSUP on HP-UX
65793         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
65794         so that it is available for HP-UX.
65795         * lib/copy-acl.c (qcopy_acl): Use it.
65796         Reported by Patrick M. Callahan.
65798 2010-08-10  Eric Blake  <eblake@redhat.com>
65800         open, chown: relax license
65801         * modules/open (License): Change to LGPLv2+, with consent by all
65802         authors, for use in augeas.
65803         * modules/chown (License): Likewise.
65804         * modules/lchown (Likewise): Likewise.
65805         Requested by Adam Stokes.
65807 2010-08-09  Karl Berry  <karl@gnu.org>
65809         * build-aux/ar-lib: new file, import from Automake.
65810         * config/srclist.txt: autocheck for updates.
65812 2010-08-09  Eric Blake  <eblake@redhat.com>
65814         readlinkat: adjust client modules
65815         * modules/areadlinkat (Depends-on): Use readlinkat, not
65816         symlinkat.
65817         * modules/areadlinkat-with-size (Depends-on): Likewise.
65819         mknod: be more vocal about danger of running tests as root
65820         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
65821         root, since that is just asking for problems.
65822         Suggested by Bruno Haible, based on a report by Rainer Tammer.
65824         readlinkat: split into its own module
65825         * modules/symlinkat: Split readlinkat...
65826         * modules/readlinkat: ...into separate module.
65827         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
65828         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
65829         * lib/symlinkat.c (readlinkat): Move...
65830         * lib/readlinkat.c: ...into new file.
65831         * modules/symlinkat-tests: Split readlinkat test...
65832         * modules/readlinkat-tests: ...into separate module.
65833         * tests/test-symlinkat.c: Split...
65834         * tests/test-readlinkat.c: ...into new file.
65835         * NEWS: Document the split.
65836         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
65837         * lib/unistd.in.h (readlinkat): Likewise.
65838         Suggested by Bruno Haible.
65840 2010-08-08  Bruno Haible  <bruno@clisp.org>
65842         memxfrm: Speed up.
65843         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
65844         that usually only one call to strxfrm is necessary for each string
65845         part.
65846         Reported by Paul Eggert <eggert@cs.ucla.edu>.
65848 2010-08-07  Karl Berry  <karl@gnu.org>
65850         * doc/posix-headers/limits.texi,
65851         * doc/posix-functions/malloc.texi,
65852         * doc/posix-functions/strsignal.texi: missing @item.
65853         * doc/ld-version-script.texi: spurious leading i.
65854         * doc/regex.texi (Interval Operators): no commas inside @var.
65856 2010-08-01  Bruno Haible  <bruno@clisp.org>
65858         Integrate the regex documentation.
65859         * doc/gnulib.texi: Define 'cn' index.
65860         (Regular expressions): New a chapter that includes regex.texi and
65861         regexprops-generic.texi.
65862         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
65863         syntax.
65865         Whitespace cleanup.
65866         * doc/regex.texi: Remove trailing spaces.
65868         Add regex documentation.
65869         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
65870         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
65871         Written by Kathy A. Hargreaves and Karl Berry.
65873 2010-08-01  Bruno Haible  <bruno@clisp.org>
65875         link: Update documentation.
65876         * doc/posix-functions/link.texi: Update regarding Solaris.
65878 2010-07-31  Bruno Haible  <bruno@clisp.org>
65880         Update modules list.
65881         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
65882         (String handling <string.h>): Add memcmp2, memxfrm.
65883         (Container data structures): Add xlist, xsublist, xoset.
65884         (Core language properties): Add alignof, unused-parameter.
65885         (Process control, Numeric conversion functions <stdlib.h>): Renamed
65886         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
65887         (Unibyte characters <ctype.h>): New section.
65888         (String handling <string.h>): New section.
65889         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
65890         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
65891         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
65892         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
65893         tan, tanh, tanl, y0, y1, yn.
65894         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
65895         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
65896         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
65897         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
65898         unlockpt, vdprintf, vdprintf-posix.
65899         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
65900         (File system functions): Add concat-filename, sys_file, sys_ioctl,
65901         xconcat-filename.
65902         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
65903         getdtablesize, pipe2, pipe2-safer.
65904         (Security): New section.
65905         (Networking functions): Add accept4.
65906         (Signal handling): Add sigpipe.
65907         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
65908         mbmemcasecoll.
65909         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
65910         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
65911         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
65912         pipe-filter-ii.
65913         (Misc): Add argp-version-etc, login_tty, parse-duration.
65915 2010-07-31  Bruno Haible  <bruno@clisp.org>
65917         Improve doc in MODULES.html.
65918         * modules/linkat (Description): Add the word "function".
65919         * modules/mkfifo (Description): Likewise.
65920         * modules/mknod (Description): Likewise.
65921         * modules/remove (Description): Likewise.
65922         * modules/renameat (Description): Likewise.
65923         * modules/stat (Description): Likewise.
65924         * modules/symlink (Description): Likewise.
65925         * modules/unlink (Description): Likewise.
65927 2010-07-31  Bruno Haible  <bruno@clisp.org>
65929         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
65930         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
65931         option --enable/disable-c++ instead of --enable/disable-cxx.
65932         * NEWS: Mention the change.
65934 2010-07-31  Bruno Haible  <bruno@clisp.org>
65936         readlink, areadlink: Relax test a bit.
65937         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
65938         alternative to ENOTDIR.
65939         * tests/test-areadlink.h (test_areadlink): Likewise.
65940         Reported by Rainer Tammer.
65942 2010-07-31  Bruno Haible  <bruno@clisp.org>
65944         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
65945         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
65946         character, perform the search using U_STRCHR.
65947         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
65948         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
65949         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
65950         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
65951         Suggested by Paolo Bonzini.
65953 2010-07-31  Bruno Haible  <bruno@clisp.org>
65955         unistr/u*-strstr: Fix dependencies.
65956         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
65957         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
65958         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
65960 2010-07-31  Bruno Haible  <bruno@clisp.org>
65962         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
65963         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
65964         the beginning of the loop.
65965         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
65966         cases in 'switch' statement.
65968         unistr/u8-strchr: Fix several bugs.
65969         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
65970         the string. When not found, return NULL, not a pointer near the end.
65972         More tests for unistr/u8-strchr.
65973         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
65974         that the function does not read past the first occurrence of the byte
65975         being searched.
65976         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
65977         * tests/unistr/test-u16-strchr.c (main): New function.
65978         * tests/unistr/test-u32-strchr.c (main): New function.
65980 2010-07-31  Bruno Haible  <bruno@clisp.org>
65982         posix-modules: Ignore backup files of documentation files.
65983         * posix-modules: grep only through files named *.texi.
65985 2010-07-31  Bruno Haible  <bruno@clisp.org>
65987         symlinkat: Fix documentation.
65988         * doc/posix-functions/readlinkat.texi: Fix module name.
65990 2010-07-31  Bruno Haible  <bruno@clisp.org>
65992         fchownat: Replace also when chown has the trailing slash bug.
65993         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
65994         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
65995         introduced on 2010-04-10.
65996         Reported by Rainer Tammer.
65998 2010-07-31  Bruno Haible  <bruno@clisp.org>
66000         linkat: Work around AIX 7.1 bug.
66001         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
66002         whether linkat handles trailing slash correctly. If not, replace linkat
66003         and define LINKAT_TRAILING_SLASH_BUG.
66004         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
66005         check whether (fd1,file1) points to a directory if file1 or file2 ends
66006         in a slash. Code taken from lib/link.c.
66007         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
66008         Reported by Rainer Tammer.
66010 2010-07-31  Bruno Haible  <bruno@clisp.org>
66012         Correctly determine whether pow is available in libc on AIX 7 with xlc.
66013         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
66014         This disables an xlc optimization that was causing wrong test results.
66015         Reported by Rainer Tammer.
66017 2010-07-31  Bruno Haible  <bruno@clisp.org>
66019         iconv: Work around AIX 6.1..7.1 bug.
66020         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
66021         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
66022         cross-compiling, guess no on all versions of AIX.
66023         Reported by Rainer Tammer.
66025 2010-07-31  Bruno Haible  <bruno@clisp.org>
66027         readlink: Relax test a bit.
66028         * tests/test-readlink.h (test_readlink): Allow different errno value
66029         when readlink is called with a file name that ends in / and refers to
66030         a file.
66031         Suggested by Eric Blake.
66032         Reported by Rainer Tammer.
66034 2010-07-31  Bruno Haible  <bruno@clisp.org>
66036         copysign: Does not require -lm on glibc systems.
66037         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
66038         gl_COMMON_DOUBLE_MATHFUNC.
66039         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
66041 2010-07-31  Bruno Haible  <bruno@clisp.org>
66043         duplocale: Work around AIX 7.1 bug.
66044         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
66045         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
66046         * lib/duplocale.c (rpl_duplocale): Update comment.
66047         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
66048         Reported by Rainer Tammer.
66050 2010-07-30  Bruno Haible  <bruno@clisp.org>
66052         dirfd: Avoid link error on AIX 7.1.
66053         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
66054         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
66055         exist, set REPLACE_DIRFD.
66056         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
66057         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
66058         * doc/posix-functions/dirfd.texi: Update.
66059         Reported by Rainer Tammer.
66061 2010-07-30  Eric Blake  <eblake@redhat.com>
66063         strtod: next round of AIX fixes
66064         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
66065         exponent.
66066         * tests/test-strtod.c (main): Enhance tests.
66067         * doc/posix-functions/strtod.texi (strtod): Document next bug.
66068         Reported by Rainer Tammer.
66070         futimens: fix configure check
66071         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
66072         Reported by Bruno Haible.
66074 2010-07-30  Bruno Haible  <bruno@clisp.org>
66076         getline: Update regarding AIX.
66077         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
66078         Reported by Rainer Tammer.
66080 2010-07-30  Bruno Haible  <bruno@clisp.org>
66082         wcwidth: Drop replacement on AIX 7.
66083         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
66084         AIX 7.
66085         Reported by Rainer Tammer.
66087 2010-07-30  Bruno Haible  <bruno@clisp.org>
66089         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
66090         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
66091         a 'char *'.
66092         Reported by Rainer Tammer.
66094 2010-07-30  Bruno Haible  <bruno@clisp.org>
66096         unlink: Update regarding AIX.
66097         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
66098         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
66099         Reported by Rainer Tammer.
66101 2010-07-30  Bruno Haible  <bruno@clisp.org>
66103         symlink: Update regarding AIX.
66104         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
66105         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
66106         Reported by Rainer Tammer.
66108 2010-07-30  Bruno Haible  <bruno@clisp.org>
66110         strndup: Update regarding AIX.
66111         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
66112         AIX 7.
66113         Reported by Rainer Tammer.
66115 2010-07-30  Bruno Haible  <bruno@clisp.org>
66117         stat: Update regarding AIX.
66118         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
66119         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
66120         Reported by Rainer Tammer.
66122 2010-07-30  Bruno Haible  <bruno@clisp.org>
66124         truncl: Fix autoconf test.
66125         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
66126         whether truncl works.
66127         Reported by Rainer Tammer.
66129 2010-07-30  Bruno Haible  <bruno@clisp.org>
66131         round: Update regarding AIX.
66132         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
66133         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
66134         Reported by Rainer Tammer.
66136 2010-07-30  Bruno Haible  <bruno@clisp.org>
66138         rename: Update regarding AIX.
66139         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
66140         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
66141         Reported by Rainer Tammer.
66143 2010-07-30  Bruno Haible  <bruno@clisp.org>
66145         printf.m4: Update regarding AIX.
66146         * m4/printf.m4: Update comments regarding AIX.
66147         Reported by Rainer Tammer.
66149 2010-07-30  Bruno Haible  <bruno@clisp.org>
66151         iconv: Update regarding AIX.
66152         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
66153         AIX 7.
66154         Reported by Rainer Tammer.
66156 2010-07-30  Bruno Haible  <bruno@clisp.org>
66158         getopt: Update regarding AIX.
66159         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
66160         no on AIX.
66161         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
66162         Reported by Rainer Tammer.
66164 2010-07-30  Bruno Haible  <bruno@clisp.org>
66166         ldexpl; Update regarding AIX.
66167         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
66168         on AIX 7.
66169         Reported by Rainer Tammer.
66171 2010-07-30  Bruno Haible  <bruno@clisp.org>
66173         frexpl: Update regarding AIX.
66174         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
66175         on AIX 7.
66176         Reported by Rainer Tammer.
66178 2010-07-30  Bruno Haible  <bruno@clisp.org>
66180         open, fopen: Update regarding AIX.
66181         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
66182         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
66183         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
66184         * doc/posix-functions/fopen.texi: Likewise.
66185         Reported by Rainer Tammer.
66187 2010-07-30  Bruno Haible  <bruno@clisp.org>
66189         chown: Update doc regarding AIX.
66190         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
66191         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
66192         Reported by Rainer Tammer.
66194 2010-07-30  Eric Blake  <eblake@redhat.com>
66196         strtod: fix bug in replacement function on AIX
66197         * lib/strtod.c (strtod): Special case broken "0x" parse in
66198         underlying strtod.
66199         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
66200         * doc/posix-functions/strtod.texi (strtod): Likewise.
66201         Reported by Rainer Tammer.
66203 2010-07-30  Bruno Haible  <bruno@clisp.org>
66205         mbrlen: Fix cross-compilation guess for AIX.
66206         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
66207         guess. Leftover from 2008-12-22.
66209 2010-07-30  Bruno Haible  <bruno@clisp.org>
66211         mbrtowc: Fix cross-compilation guess for AIX.
66212         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
66213         guess. Leftover from 2008-12-21.
66215 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
66217         init.sh: work around trap limitation of some shells
66218         * tests/init.sh (setup_): Move exit trap outside of shell function.
66220 2010-07-29  Eric Blake  <eblake@redhat.com>
66222         strtod: aid debugging
66223         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
66224         understanding why strtod is rejected.
66226 2010-07-28  Bruno Haible  <bruno@clisp.org>
66228         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
66229         * lib/unistr/u8-chr.c: Include <string.h>.
66230         * tests/unistr/test-u8-chr.c: Likewise.
66231         * tests/unistr/test-u16-chr.c: Likewise.
66232         * tests/unistr/test-u32-chr.c: Likewise.
66233         * tests/unistr/test-u8-strchr.c: Likewise.
66234         * tests/unistr/test-u16-strchr.c: Likewise.
66235         * tests/unistr/test-u32-strchr.c: Likewise.
66236         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
66237         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
66238         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
66239         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
66241 2010-07-28  Bruno Haible  <bruno@clisp.org>
66243         Use spaces for indentation, not tabs.
66244         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
66246 2010-07-27  Bruno Haible  <bruno@clisp.org>
66248         mbspcasecmp: Fix function specification.
66249         * lib/string.in.h (mbspcasecmp): Fix specification comment.
66250         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
66251         Reported by Eric Blake <eblake@redhat.com>.
66253 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
66255         timespec: use cast and not conditional, as truncation isn't possible
66256         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
66257         instead of a conditional.  Comment about the situation in more detail.
66258         This undoes most of the 2009-10-29 patch.
66260 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
66262         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
66263         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
66264         * lib/unistr/u8-strchr.c: Likewise.
66265         * modules/unistr/u8-chr: Depend on memchr.
66267         unistr/u*-strchr: add tests
66268         * modules/unistr/u8-strchr-tests: New file.
66269         * modules/unistr/u16-strchr-tests: New file.
66270         * modules/unistr/u32-strchr-tests: New file.
66271         * tests/unistr/test-strchr.h: New file.
66272         * tests/unistr/test-u8-strchr.c: New file.
66273         * tests/unistr/test-u16-strchr.c: New file.
66274         * tests/unistr/test-u32-strchr.c: New file.
66276         unistr/u*-chr: test multibyte sequences more
66277         * tests/unistr/test-chr.h: Do complete testing of the characters in the
66278         test vector.
66279         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
66280         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
66281         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
66283         unistr/u*-chr: test multibyte sequences
66284         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
66286         unistr/u*-chr: prepare for multibyte tests
66287         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
66288         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
66289         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
66290         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
66291         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
66292         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
66294 2010-07-18  Bruno Haible  <bruno@clisp.org>
66296         unistr/u8-strchr: Optimize non-ASCII argument case.
66297         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
66298         because the first byte often matches anyway.
66299         Reported by Pádraig Brady <P@draigbrady.com>.
66301 2010-07-15  Karl Berry  <karl@gnu.org>
66303         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
66305 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
66307         getcwd: on Solaris, work better if ancestors are inaccessible
66308         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
66309         buffer and size, try again with a large buffer.  This works better
66310         on Solaris, since its getcwd succeeds even if the path to the root
66311         is inaccessible, and this is helpful in common cases such as .zfs
66312         hidden directories.  Problem reported by J Chapman Flack in
66313         http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
66314         Use system getcwd if it's declared, not merely if it's partly
66315         working; use the partly-working test only to avoid needless effort
66316         if the system getcwd fails.
66317         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
66318         comment that was already obsolete and is now even more obsolete.
66319         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
66320         now might call strdup.
66322 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
66324         pthread: Add enough so that coreutils/src/sort.c compiles.
66325         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
66326         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
66327         gnulib. Include <sched.h> and <time.h>, as per POSIX.
66328         Include <sys/types.h>, in case it defines pthread_t.
66329         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
66330         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
66331         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
66332         (pthread_rwlockattr_t, pthread_spinlock_t):
66333         New typedefs, if HAVE_PTHREAD_T is not defined.
66334         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
66335         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
66336         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
66337         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
66338         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
66339         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
66340         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
66341         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
66342         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
66343         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
66344         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
66345         New macros.
66346         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
66347         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
66348         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
66349         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
66350         (pthread_spin_unlock): New dummy functions.
66351         (pthread_create): Return EAGAIN; don't set errno.
66352         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
66353         require AC_C_INLINE.
66354         * modules/pthread (Depends-on): Add sched, time.
66355         (pthread.h): Use AM_V_GEN.
66357 2010-07-13  Bruno Haible  <bruno@clisp.org>
66359         striconveh: Don't malloc memory if the result buffer is sufficient.
66360         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
66361         buffer if its size is sufficient.
66362         Reported by Ludovic Courtès <ludo@gnu.org>.
66364 2010-07-13  Bruno Haible  <bruno@clisp.org>
66366         strtod: Add safety check.
66367         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
66369 2010-07-12  Bruno Haible  <bruno@clisp.org>
66371         Unify tests that set gl_cv_func_ldexpl_no_libm.
66372         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
66373         gl_FUNC_LDEXPL.
66374         (gl_FUNC_LDEXPL): Invoke it.
66375         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66377 2010-07-12  Bruno Haible  <bruno@clisp.org>
66379         Unify tests that set gl_cv_func_ldexp_no_libm.
66380         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
66381         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
66382         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
66383         (configure.ac): Simply invoke gl_FUNC_LDEXP.
66384         * modules/strtod (Files): Add m4/ldexp.m4.
66386 2010-07-12  Bruno Haible  <bruno@clisp.org>
66388         Unify tests that set gl_cv_func_frexpl_no_libm.
66389         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
66390         gl_FUNC_FREXPL_NO_LIBM.
66391         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
66392         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
66394 2010-07-12  Bruno Haible  <bruno@clisp.org>
66396         Unify tests that set gl_cv_func_frexp_no_libm.
66397         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
66398         gl_FUNC_FREXP_NO_LIBM.
66399         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
66400         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
66402 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66404         memcoll: clarify sizes versus lengths, document better, and tweak perf
66405         * lib/memcoll.c (strcoll_loop, memcoll0):
66406         Improve quality of descriptive comments.  Name variables
66407         consistently as to whether they are lengths (which do not include
66408         terminating null) versus sizes (which do).
66409         * lib/xmemcoll.c (xmemcoll0): Likewise.
66410         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
66411         returned when s1size == 0; this is easier to compile and saves
66412         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
66414 2010-07-12  Bruno Haible  <bruno@clisp.org>
66416         Tests for module '_Exit'.
66417         * modules/_Exit-tests: New file.
66418         * tests/test-_Exit.sh: New file.
66419         * tests/test-_Exit.c: New file.
66421         New module '_Exit'.
66422         * lib/stdlib.in.h (__attribute__): New macro.
66423         (_Exit): New declaration.
66424         * lib/_Exit.c: New file.
66425         * m4/_Exit.m4: New file.
66426         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
66427         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
66428         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
66429         * modules/_Exit: New file.
66430         * tests/test-stdlib-c++.cc (_Exit): Check signature.
66431         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
66433 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
66435         strtod: make it more-accurate typically, and don't require libm
66436         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
66437         Include limits.h.  Don't include string.h.
66438         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
66439         (locale_isspace): New function, so that no casts are needed to
66440         check whether *s is a space.
66441         (ldexp): Provide an unused dummy if not available.
66442         (scale_radix_exp, parse_number, underlying_strtod): New functions.
66443         (strtod): Use them.  This implementation prefers to use the
66444         underlying strtod if available, falling back on our own code
66445         only to fix known bugs.  This is more likely to produce an
66446         accurate result.  Also, it avoids the use of libm functions.
66447         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
66448         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
66449         was absent, but it caused a test failure with coreutils.
66450         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
66451         with libm.
66452         * modules/strtod (Makefile.am, Link): libm is no longer needed.
66453         * modules/strtod-tests (Makefile.am): Likewise.
66455 2010-07-11  Pádraig Brady  <P@draigBrady.com>
66456             Bruno Haible  <bruno@clisp.org>
66458         unistr/u8-strchr: Optimize ASCII argument case.
66459         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
66461 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66463         (x)memcoll: minor tweaks
66464         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
66465         is after the type that it qualifies.
66466         (memcoll0): Likewise.
66467         * lib/memcoll.h (memcoll0): Likewise.
66468         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
66469         * lib/xmemcoll.h (xmemcoll0): Likewise.
66470         * lib/memcoll.c (memcoll0): Correct the comment.  This function
66471         differs from memcoll in that the NUL byte is part of the argument.
66472         Omit the abort-checks, as performance is a real issue here.  Plus,
66473         the checks were wrong anyway (an off-by-one error).  Omit local
66474         variable 'diff', as it's a bit clearer that way.
66475         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
66476         no longer needed.
66478 2010-07-08  Chen Guo  <chenguo4@yahoo.com>
66480         (x)memcoll: speedup when input is known to be NUL delimited
66481         * lib/memcoll.c: Include stdlib.
66482         (memcoll0): New function.
66483         (strcoll_loop): New function, refactored for use in both memcoll
66484         and memcoll0.
66485         * lib/memcoll.h (memcoll0): Add prototype.
66486         * lib/xmemcoll.c (xmemcoll0): New function.
66487         (collate_error): New function, refactored for use in both xmemcoll
66488         and xmemcoll0.
66489         * lib/xmemcoll.h (xmemcoll0): Add prototype.
66490         * m4/memcoll.m4: add inline invocation.
66492 2010-07-06  Pádraig Brady  <P@draigBrady.com>
66494         * build-aux/bootstrap: Remove any local translations
66495         from the translation project synchronization directory,
66496         so that local only translations are not distributed.
66498 2010-07-04  Bruno Haible  <bruno@clisp.org>
66500         fsusage: Clarify which code applies to which platforms.
66501         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
66502         platform.
66503         * lib/fsusage.c (get_fs_usage): Likewise.
66505 2010-07-04  Bruno Haible  <bruno@clisp.org>
66507         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
66508         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
66509         Reported by Martin Lambers <marlam@marlam.de>.
66511 2010-07-04  Jim Meyering  <meyering@redhat.com>
66513         hash: once again explicitly disallow insertion of NULL
66514         * lib/hash.c (hash_insert0): Reinstate just-removed test:
66515         inserting a NULL pointer cannot work with these functions.
66516         Add a comment with details.
66517         This reverts part of the 2010-07-01 commit, 5bef1a35
66518         "hash: extend module to deal with non-pointer keys".
66520 2010-07-01  Bruno Haible  <bruno@clisp.org>
66522         stdbool: Update doc.
66523         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
66524         Info from Christian Weisgerber <naddy@mips.inka.de>.
66526 2010-07-01  Jim Meyering  <meyering@redhat.com>
66528         hash: extend module to deal with non-pointer keys
66529         * lib/hash.c (hash_insert0): New interface, much like hash_insert
66530         but that allows insertion of non-pointer entries.
66531         Do not disallow an ENTRY value of NULL.
66532         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
66533         * lib/hash.h (hash_insert0): Declare.
66535 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
66537         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
66538         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
66539         not present (i.e. with autoconf 2.59 and when using gettextize, not
66540         gnulib), require AC_GNU_SOURCE instead.
66542 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
66544         idpriv-drop: Fix tests.
66545         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
66546         not to the test-idpriv-droptemp program.
66548 2010-06-29  Bruno Haible  <bruno@clisp.org>
66550         string: Fix syntax error with g++ 2.96.
66551         * lib/string.in.h (__pure__): Remove definition.
66552         (_GL_ATTRIBUTE_PURE): New macro.
66553         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
66554         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
66555         Reported by Christian Weisgerber <naddy@mips.inka.de>.
66557 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
66559         unitypes: Fix bug introduced on 2010-05-18.
66560         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
66562 2010-06-22  Eric Blake  <eblake@redhat.com>
66564         memmem: slight optimization
66565         * lib/str-two-way.h (critical_factorization): Update comments.
66566         Reduce work during factorization phase.
66567         Reported by Carlos Bueno <carlos@bueno.org>.
66569 2010-06-21  Bruno Haible  <bruno@clisp.org>
66571         Fix HAVE_CALLOC_POSIX misnomer.
66572         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
66573         !HAVE_CALLOC_POSIX.
66574         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
66575         HAVE_CALLOC_POSIX.
66576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
66577         instead of HAVE_CALLOC_POSIX.
66578         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
66579         HAVE_CALLOC_POSIX.
66581         Use modern idiom for calloc() replacement.
66582         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
66583         AC_FUNC_CALLOC.
66584         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
66585         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
66586         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66587         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
66588         (gl_REPLACE_CALLOC): New macro.
66590 2010-06-21  Bruno Haible  <bruno@clisp.org>
66592         Fix HAVE_REALLOC_POSIX misnomer.
66593         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
66594         !HAVE_REALLOC_POSIX.
66595         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
66596         HAVE_REALLOC_POSIX.
66597         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
66598         instead of HAVE_REALLOC_POSIX.
66599         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
66600         HAVE_REALLOC_POSIX.
66602         Use modern idiom for realloc() replacement.
66603         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
66604         AC_FUNC_REALLOC.
66605         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
66606         Autoconf's AC_FUNC_REALLOC.
66607         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66608         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
66609         (gl_REPLACE_REALLOC): New macro.
66610         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66612 2010-06-21  Bruno Haible  <bruno@clisp.org>
66614         Fix HAVE_MALLOC_POSIX misnomer.
66615         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
66616         !HAVE_MALLOC_POSIX.
66617         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
66618         HAVE_MALLOC_POSIX.
66619         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
66620         instead of HAVE_MALLOC_POSIX.
66621         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
66622         HAVE_MALLOC_POSIX.
66624         Use modern idiom for malloc() replacement.
66625         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
66626         AC_FUNC_MALLOC.
66627         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
66628         Autoconf's AC_FUNC_MALLOC.
66629         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
66630         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
66631         (gl_REPLACE_MALLOC): New macro.
66632         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
66634 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
66636         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
66637         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
66638         This macro takes 3 arguments, not 4.
66640 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
66642         ipv6: fix detection under mingw
66643         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
66644         in6_addr.
66646 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
66648         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
66649         that strtod() works when cross-compiling to a glibc version known
66650         to work.
66652 2010-06-15  Bruno Haible  <bruno@clisp.org>
66654         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
66656 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
66658         select: Correct timeout.
66659         * lib/select.c (rpl_select): Compute wait_timeout correctly.
66661 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
66663         git-version-gen: init shell var to avoid env var influence
66664         * build-aux/git-version-gen (v): Init shell var to empty.
66666 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
66668         priv-set: Don't assume that priv.h exists merely because getppriv does.
66669         See Jan Andersen's bug report about AIX 5L in
66670         http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
66671         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
66672         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
66673         * lib/priv-set.h: Likewise.
66674         * tests/test-priv-set.c: Likewise.
66676 2010-06-13  Bruno Haible  <bruno@clisp.org>
66678         relocatable: Make it easier to test whether to install wrappers.
66679         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
66680         RELOCATABLE_VIA_WRAPPER.
66682 2010-06-13  Bruno Haible  <bruno@clisp.org>
66684         gnulib-tool: Display specified modules and dependencies differently.
66685         * gnulib-tool (func_show_module_list): New function.
66686         (func_import, func_create_testdir): Invoke it.
66687         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
66689 2010-06-13  Bruno Haible  <bruno@clisp.org>
66691         gnulib-tool: Align code of func_import and func_create_testdir.
66692         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
66693         specified_modules.
66695 2010-06-12  Jim Meyering  <meyering@redhat.com>
66697         test-inttostr: avoid spurious failure on Solaris 9
66698         * tests/test-inttostr.c (main): Skip the test when snprintf fails
66699         to accept "%ju".  Reported by Bruno Haible.
66701 2010-06-11  Jim Meyering  <meyering@redhat.com>
66703         test-sys_socket: mark variables as used more readably
66704         * tests/test-sys_socket.c (main): Mark otherwise unused variables
66705         as "used" explicitly via (void) statement casts.  This is more
66706         readable than using them in an artificial return expression.
66707         Suggestion from Bruno Haible.
66709 2010-06-11  Bruno Haible  <bruno@clisp.org>
66711         Avoid some more warnings from "gcc -Wwrite-strings".
66712         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
66713         to 'const char *'.
66714         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
66715         * tests/test-c-strcasestr.c (main): Likewise.
66716         * tests/test-mbscasestr1.c (main): Likewise.
66717         * tests/test-mbscasestr2.c (main): Likewise.
66718         * tests/test-memmem.c (main): Likewise.
66719         * tests/test-strstr.c (main): Likewise.
66720         * tests/test-strcasestr.c (main): Likewise.
66722 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66724         init.sh: change framework_failure_ to fail with status 99, not 1
66725         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
66726         automake's parallel-tests rule that this is an unexpected failure,
66727         even if the test is listed in XFAIL_TESTS.
66729 2010-06-11  Jim Meyering  <meyering@redhat.com>
66731         test-inttostr: avoid warnings about 4-6KB literal strings
66732         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
66733         Include "macros.h", for its definition of ASSERT.
66734         (CK): s/assert/ASSERT/
66735         * modules/inttostr-tests (Files): Add macros.h.
66737         init.sh: don't use $ME_ or skip_ before they are defined
66738         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
66739         their first uses.  Also hoist their companions: warn_, fail_,
66740         framework_failure_, $stderr_fileno.  Prompted by a patch from
66741         Stefano Lattarini.
66743         test-sys_socket: avoid set-but-not-used warnings from gcc
66744         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
66745         avoid warning about set-but-not-used variables.
66747         test-xvasprintf: avoid 'const' discard warnings
66748         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
66749         "const" when assigning from literal strings.
66750         (test_xasprintf): Add "void" in function argument list to placate
66751         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
66753         tests: avoid compilation warnings in argmatch and exclude tests...
66754         in packages that define ARGMATCH_DIE_DECL, like coreutils.
66755         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
66756         Since it always exits, declare with the "noreturn" attribute.
66757         * tests/test-argmatch.c: Likewise.
66759         tests: avoid 'const' discard warnings in mbsstr tests
66760         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
66761         * tests/test-mbsstr2.c (main): Likewise.
66763         test-verify: avoid warning from gcc's -Wmissing-declarations
66764         * tests/test-verify.c (function): Declare to be static.
66766         test-inttostr.c: include <string.h> for use of strcmp
66767         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
66769         test-linkat: avoid failed assertion on "other" architectures
66770         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
66771         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
66772         sparc: https://bugs.launchpad.net/bugs/591968
66774 2010-06-11  Jim Meyering  <meyering@redhat.com>
66776         printf.m4: avoid autoconf's "Expanded Before Required" warning
66777         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
66778         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
66779         autoconf warning.
66781 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
66783         Replacement header templates are now named with ".in", not "_".
66784         * doc/gnulib-intro.texi: Correct.
66786 2010-06-10  Jim Meyering  <meyering@redhat.com>
66788         inttostr-tests: depend on snprintf, not snprintf-posix
66789         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
66790         snprintf-posix, to avoid this aclocal failure:
66791           missing file gnulib-tests/vasnprintf.c
66792           configure.ac:45: error: expected source file, required through \
66793           AC_LIBSOURCES, not found
66795 2010-06-10  Jim Meyering  <meyering@redhat.com>
66797         inttostr: add a new function, inttostr, and tests
66798         The namesake function was not available.  The existence of the
66799         template file, inttostr.c makes its addition nontrivial.
66800         * lib/anytostr.c: Rename from inttostr.c.
66801         (anytostr): Rename from inttostr.
66802         * lib/inttostr.c: New file.
66803         * modules/inttostr (Files): Add anytostr.c.
66804         (Makefile.am): Set lib_SOURCES instead of ...
66805         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
66806         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
66807         * lib/offtostr.c: Likewise.
66808         * lib/uinttostr.c: Likewise.
66809         * lib/umaxtostr.c: Likewise.
66810         * modules/inttostr-tests: New file.
66811         * tests/test-inttostr.c: New file.  Test these functions.
66813 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
66814             Bruno Haible  <bruno@clisp.org>
66816         Add "Extending Gnulib" chapter to manual.
66817         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
66818         chapter.
66819         (Extending Gnulib): New chapter.
66820         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
66821         chapter.
66823 2010-06-09  Bruno Haible  <bruno@clisp.org>
66825         Avoid relocwrapper link errors due to gnulib replacement functions.
66826         * lib/areadlink.c: Use the system's malloc, realloc functions.
66827         (areadlink): Set errno to ENOMEM explicitly.
66828         * modules/areadlink (Depends-on): Remove malloc-posix.
66829         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66831 2010-06-09  Bruno Haible  <bruno@clisp.org>
66833         Avoid relocwrapper link errors due to gnulib replacement functions.
66834         * lib/canonicalize-lgpl.c: Use the system's malloc function.
66835         * lib/malloca.c: Likewise.
66836         * lib/relocatable.c: Likewise.
66837         * lib/progreloc.c: Use the system's malloc, sprintf functions.
66838         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
66839         * lib/setenv.c: Use the system's malloc, realloc functions.
66840         * lib/strerror.c: Use the system's sprintf function.
66841         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66843 2010-06-04  Bruno Haible  <bruno@clisp.org>
66845         Prefer documented low-level autoconf macro names.
66846         * m4/lib-link.m4: Use m4_translit instead of translit.
66847         * m4/environ.m4: Likewise.
66848         * m4/mathfunc.m4: Likewise.
66849         * m4/onceonly.m4: Likewise.
66850         * m4/stdint.m4: Likewise.
66851         Suggested by Eric Blake.
66853 2010-06-04  Martin Lambers  <marlam@marlam.de>
66854             Bruno Haible  <bruno@clisp.org>
66856         havelib: Allow library names with '+' characters.
66857         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
66858         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
66860 2010-06-09  Bruno Haible  <bruno@clisp.org>
66862         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
66863         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
66864         realloc failed.
66866 2010-06-08  Peter Simons  <simons@cryp.to>
66868         maint.mk: make the news-check rule more configurable
66869         * top/maint.mk (news-check-lines-spec): New variable.
66870         (news-check): Use "sed -n 1,10p" in place of "head".
66872 2010-06-07  Jim Meyering  <meyering@redhat.com>
66874         do-release-commit-and-tag: fix typo in --help
66875         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
66877         regex: avoid new dead-code warning with gcc-4.6.0
66878         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
66879         if-block containing a while-loop.  It's been unused for at least
66880         5 years.
66882 2010-06-05  Bruno Haible  <bruno@clisp.org>
66884         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
66885         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
66887 2010-06-04  Bruno Haible  <bruno@clisp.org>
66889         Update to GNU gettext 0.18.1.
66890         * modules/gettext (configure.ac): Require gettext infrastructure from
66891         version 0.18.1.
66893 2010-06-03  Bruno Haible  <bruno@clisp.org>
66895         Don't use AC_LIBOBJ with file names in subdirectories.
66896         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
66897         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
66898         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
66899         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
66900         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
66901         gl_LIBUNISTRING_LIBSOURCE.
66902         (Makefile.am): Augment lib_SOURCES here, conditionally.
66903         * NEWS: Drop requirement for Automake option 'subdir-objects'.
66905 2010-06-03  Bruno Haible  <bruno@clisp.org>
66907         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
66908         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
66909         expansion does not end with a newline.
66910         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
66911         unnecessary newline.
66913 2010-06-03  Bruno Haible  <bruno@clisp.org>
66915         Reduce dependencies.
66916         * tests/test-quotearg.h: New file, extracted from
66917         tests/test-quotearg.c.
66918         * tests/test-quotearg-simple.c: New file, extracted from
66919         tests/test-quotearg.c.
66920         * tests/test-quotearg.c: Don't include <ctype.h>.
66921         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
66922         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
66923         use_quote_double_quotes, use_quotearg_colon): Moved to
66924         tests/test-quotearg.h.
66925         (results_g, flag_results, custom_quotes, custom_results): Moved
66926         to tests/test-quotearg-simple.c.
66927         (main): Moved the part that does not depend on gettext to
66928         tests/test-quotearg-simple.c. Return 77 if the test cannot be
66929         performed.
66930         * modules/quotearg-simple: New file.
66931         * modules/quotearg-simple-tests: New file.
66932         * modules/quotearg (Depends-on): Add quotearg-simple.
66933         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
66934         (Files): Add tests/test-quotearg.h.
66935         Reported by Paolo Bonzini.
66937 2010-06-03  Bruno Haible  <bruno@clisp.org>
66939         Reduce dependencies.
66940         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
66942 2010-06-03  Bruno Haible  <bruno@clisp.org>
66944         time: Undefine more broken macros.
66945         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
66946         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
66947         Reported by Eric Blake.
66949 2010-06-03  Bruno Haible  <bruno@clisp.org>
66951         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
66952         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
66953         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
66954         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
66955         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
66956         Reported by Ludovic Courtès <ludo@gnu.org>.
66958 2010-06-02  Eric Blake  <eblake@redhat.com>
66960         time: work with mingw + pthreads-win32 library
66961         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
66962         if timespec is defined only in pthread.h.
66963         * modules/time (Makefile.am): Substitute it.
66964         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
66965         <pthread.h>, when needed.
66966         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
66967         from the library.
66969 2010-05-31  Bruno Haible  <bruno@clisp.org>
66971         Avoid expanding two macros in the wrong order.
66972         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
66973         gl_LIBUNISTRING if it is defined.
66974         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
66975         autoconf >= 2.64.
66976         Reported by Ludovic Courtès <ludo@gnu.org>.
66978 2010-05-27  Jim Meyering  <meyering@redhat.com>
66980         maint.mk: also prohibit "#undef" of always-defined symbols
66981         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
66982         Allow more than one space before the symbol name.
66983         (sc_prohibit_always-defined_macros): Use grep's -E, now that
66984         the regexp uses alternation.
66986 2010-05-26  Eric Blake  <eblake@redhat.com>
66988         maint.mk: avoid echo -e
66989         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
66990         Convert all uses of echo -* to printf.
66991         Reported by Matthias Bolte.
66993 2010-05-25  Bruno Haible  <bruno@clisp.org>
66995         Update to GNU gettext 0.18, part 2.
66996         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
66997         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
66999 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67001         Add missing include in test-pwrite.c.
67002         * tests/test-pwrite.c: Include string.h, for strcmp.
67004 2010-05-24  Bruno Haible  <bruno@clisp.org>
67006         * NEWS: Mention requirement for Automake option 'subdir-objects'.
67008 2010-05-24  Bruno Haible  <bruno@clisp.org>
67010         Don't use conversion with transliteration in u{8,16,32}_strcoll.
67011         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
67012         iconveh_error argument.
67013         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
67014         U_STRCONV_TO_LOCALE.
67015         * lib/unistr/u16-strcoll.c: Likewise.
67016         * lib/unistr/u32-strcoll.c: Likewise.
67017         * modules/unistr/u8-strcoll (Depends-on): Add
67018         uniconv/u8-strconv-to-enc, localcharset. Remove
67019         uniconv/u8-strconv-to-locale.
67020         (configure.ac): Bump version number.
67021         * modules/unistr/u16-strcoll (Depends-on): Add
67022         uniconv/u16-strconv-to-enc, localcharset. Remove
67023         uniconv/u16-strconv-to-locale.
67024         (configure.ac): Bump version number.
67025         * modules/unistr/u32-strcoll (Depends-on): Add
67026         uniconv/u32-strconv-to-enc, localcharset. Remove
67027         uniconv/u32-strconv-to-locale.
67028         (configure.ac): Bump version number.
67030 2010-05-24  Bruno Haible  <bruno@clisp.org>
67032         Avoid a test failure on NetBSD 5.0.
67033         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
67034         an iconv() bug.
67036 2010-05-24  Bruno Haible  <bruno@clisp.org>
67038         Adjust #include directive style.
67039         * modules/regex (Includes): Recommend to write <regex.h>.
67041 2010-05-24  Bruno Haible  <bruno@clisp.org>
67043         regex: Don't require alloca.
67044         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
67045         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
67046         only inside if (0).
67048 2010-05-23  Jim Meyering  <meyering@redhat.com>
67050         test-renameat.c: include <sys/stat.h>
67051         * tests/test-renameat.c: Include <sys/stat.h>; required for
67052         definition of S_IS* macros.
67054 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
67056         Update maintainer documentation for 'relocatable-prog' module.
67057         * doc/relocatable-maint.texi: Update.
67058         Comments by Bruno Haible.
67060 2010-05-23  Bruno Haible  <bruno@clisp.org>
67062         git-merge-changelog: Enable --split-merged-entry by default.
67063         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
67064         (usage): Don't mention this option any more.
67065         Reported by Ralf Wildenhues.
67067 2010-05-23  Jim Meyering  <meyering@redhat.com>
67069         test-pwrite: do not leave behind a test file named "out"
67070         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
67071         The trivial-looking use of init.sh is really necessary.
67072         It ensures that the temporary file, "out", is created in
67073         a temporary directory, and removed upon termination.
67074         * tests/test-pwrite.sh: Re-add file.
67075         * modules/pwrite-tests: Reference it.
67077 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67079         Fix output redirection buglet in init.sh.
67080         * tests/init.sh: Fix redirection of stderr.
67082 2010-05-20  Simon Josefsson  <simon@josefsson.org>
67084         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
67086 2010-05-17  Simon Josefsson  <simon@josefsson.org>
67088         * modules/valgrind-tests: New file.
67089         * m4/valgrind-tests.m4: New file.
67090         * doc/valgrind-tests.texi: New file.
67091         * doc/gnulib.texi (Running self-tests under valgrind): New
67092         section.
67094 2010-05-19  Bruno Haible  <bruno@clisp.org>
67096         Clean up dead code in recent commit.
67097         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
67098         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
67099         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
67100         Suggested by Paolo Bonzini.
67102 2010-05-19  Bruno Haible  <bruno@clisp.org>
67104         Avoid valgrind error reports from libunistring.
67105         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
67106         * modules/libunistring (Files): Add it.
67107         * modules/libunistring-optional (Files): Likewise.
67109 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
67110             Bruno Haible  <bruno@clisp.org>
67112         New module 'libunistring-optional'.
67113         * modules/libunistring-optional: New file.
67114         * m4/libunistring-base.m4: New file.
67115         * m4/libunistring-optional.m4: New file.
67116         * lib/unicase.in.h: Renamed from lib/unicase.h.
67117         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
67118         * lib/unictype.in.h: Renamed from lib/unictype.h.
67119         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
67120         * lib/uniname.in.h: Renamed from lib/uniname.h.
67121         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
67122         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
67123         * lib/unistr.in.h: Renamed from lib/unistr.h.
67124         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
67125         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
67126         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
67127         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
67128         gl_LIBUNISTRING. If the library was found, determine the installed
67129         version and set LIBUNISTRING_VERSION.
67130         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
67131         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
67132         handle a configuration option --with-included-libunistring.
67133         * modules/libunistring (Files): Add m4/absolute-header.m4.
67134         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
67135         Add m4/libunistring-base.m4.
67136         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67137         (Makefile.am): Build unicase.h from unicase.in.h.
67138         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
67139         Add m4/libunistring-base.m4.
67140         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67141         (Makefile.am): Build uniconv.h from uniconv.in.h.
67142         * modules/unictype/base (Files): Use unictype.in.h instead of
67143         unictype.h. Add m4/libunistring-base.m4.
67144         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67145         (Makefile.am): Build unictype.h from unictype.in.h.
67146         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
67147         Add m4/libunistring-base.m4.
67148         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67149         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
67150         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
67151         Add m4/libunistring-base.m4.
67152         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67153         (Makefile.am): Build uniname.h from uniname.in.h.
67154         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
67155         Add m4/libunistring-base.m4.
67156         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67157         (Makefile.am): Build uninorm.h from uninorm.in.h.
67158         * modules/unistdio/base (Files): Use unistdio.in.h instead of
67159         unistdio.h. Add m4/libunistring-base.m4.
67160         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67161         (Makefile.am): Build unistdio.h from unistdio.in.h.
67162         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
67163         Add m4/libunistring-base.m4.
67164         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67165         (Makefile.am): Build unistr.h from unistr.in.h.
67166         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
67167         Add m4/libunistring-base.m4.
67168         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67169         (Makefile.am): Build unitypes.h from unitypes.in.h.
67170         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
67171         Add m4/libunistring-base.m4.
67172         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67173         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
67174         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
67175         uniwidth.h. Add m4/libunistring-base.m4.
67176         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
67177         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
67178         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
67179         instead of augmenting lib_SOURCES.
67180         * modules/unicase/empty-suffix-context: Likewise.
67181         * modules/unicase/locale-language: Likewise.
67182         * modules/unicase/tolower: Likewise.
67183         * modules/unicase/totitle: Likewise.
67184         * modules/unicase/toupper: Likewise.
67185         * modules/unicase/u8-casecmp: Likewise.
67186         * modules/unicase/u8-casecoll: Likewise.
67187         * modules/unicase/u8-casefold: Likewise.
67188         * modules/unicase/u8-casexfrm: Likewise.
67189         * modules/unicase/u8-ct-casefold: Likewise.
67190         * modules/unicase/u8-ct-tolower: Likewise.
67191         * modules/unicase/u8-ct-totitle: Likewise.
67192         * modules/unicase/u8-ct-toupper: Likewise.
67193         * modules/unicase/u8-is-cased: Likewise.
67194         * modules/unicase/u8-is-casefolded: Likewise.
67195         * modules/unicase/u8-is-lowercase: Likewise.
67196         * modules/unicase/u8-is-titlecase: Likewise.
67197         * modules/unicase/u8-is-uppercase: Likewise.
67198         * modules/unicase/u8-prefix-context: Likewise.
67199         * modules/unicase/u8-suffix-context: Likewise.
67200         * modules/unicase/u8-tolower: Likewise.
67201         * modules/unicase/u8-totitle: Likewise.
67202         * modules/unicase/u8-toupper: Likewise.
67203         * modules/unicase/u16-casecmp: Likewise.
67204         * modules/unicase/u16-casecoll: Likewise.
67205         * modules/unicase/u16-casefold: Likewise.
67206         * modules/unicase/u16-casexfrm: Likewise.
67207         * modules/unicase/u16-ct-casefold: Likewise.
67208         * modules/unicase/u16-ct-tolower: Likewise.
67209         * modules/unicase/u16-ct-totitle: Likewise.
67210         * modules/unicase/u16-ct-toupper: Likewise.
67211         * modules/unicase/u16-is-cased: Likewise.
67212         * modules/unicase/u16-is-casefolded: Likewise.
67213         * modules/unicase/u16-is-lowercase: Likewise.
67214         * modules/unicase/u16-is-titlecase: Likewise.
67215         * modules/unicase/u16-is-uppercase: Likewise.
67216         * modules/unicase/u16-prefix-context: Likewise.
67217         * modules/unicase/u16-suffix-context: Likewise.
67218         * modules/unicase/u16-tolower: Likewise.
67219         * modules/unicase/u16-totitle: Likewise.
67220         * modules/unicase/u16-toupper: Likewise.
67221         * modules/unicase/u32-casecmp: Likewise.
67222         * modules/unicase/u32-casecoll: Likewise.
67223         * modules/unicase/u32-casefold: Likewise.
67224         * modules/unicase/u32-casexfrm: Likewise.
67225         * modules/unicase/u32-ct-casefold: Likewise.
67226         * modules/unicase/u32-ct-tolower: Likewise.
67227         * modules/unicase/u32-ct-totitle: Likewise.
67228         * modules/unicase/u32-ct-toupper: Likewise.
67229         * modules/unicase/u32-is-cased: Likewise.
67230         * modules/unicase/u32-is-casefolded: Likewise.
67231         * modules/unicase/u32-is-lowercase: Likewise.
67232         * modules/unicase/u32-is-titlecase: Likewise.
67233         * modules/unicase/u32-is-uppercase: Likewise.
67234         * modules/unicase/u32-prefix-context: Likewise.
67235         * modules/unicase/u32-suffix-context: Likewise.
67236         * modules/unicase/u32-tolower: Likewise.
67237         * modules/unicase/u32-totitle: Likewise.
67238         * modules/unicase/u32-toupper: Likewise.
67239         * modules/unicase/ulc-casecmp: Likewise.
67240         * modules/unicase/ulc-casecoll: Likewise.
67241         * modules/unicase/ulc-casexfrm: Likewise.
67242         * modules/uniconv/u8-conv-from-enc: Likewise.
67243         * modules/uniconv/u8-conv-to-enc: Likewise.
67244         * modules/uniconv/u8-strconv-from-enc: Likewise.
67245         * modules/uniconv/u8-strconv-from-locale: Likewise.
67246         * modules/uniconv/u8-strconv-to-enc: Likewise.
67247         * modules/uniconv/u8-strconv-to-locale: Likewise.
67248         * modules/uniconv/u16-conv-from-enc: Likewise.
67249         * modules/uniconv/u16-conv-to-enc: Likewise.
67250         * modules/uniconv/u16-strconv-from-enc: Likewise.
67251         * modules/uniconv/u16-strconv-from-locale: Likewise.
67252         * modules/uniconv/u16-strconv-to-enc: Likewise.
67253         * modules/uniconv/u16-strconv-to-locale: Likewise.
67254         * modules/uniconv/u32-conv-from-enc: Likewise.
67255         * modules/uniconv/u32-conv-to-enc: Likewise.
67256         * modules/uniconv/u32-strconv-from-enc: Likewise.
67257         * modules/uniconv/u32-strconv-from-locale: Likewise.
67258         * modules/uniconv/u32-strconv-to-enc: Likewise.
67259         * modules/uniconv/u32-strconv-to-locale: Likewise.
67260         * modules/unictype/bidicategory-byname: Likewise.
67261         * modules/unictype/bidicategory-name: Likewise.
67262         * modules/unictype/bidicategory-of: Likewise.
67263         * modules/unictype/bidicategory-test: Likewise.
67264         * modules/unictype/block-list: Likewise.
67265         * modules/unictype/block-test: Likewise.
67266         * modules/unictype/category-C: Likewise.
67267         * modules/unictype/category-Cc: Likewise.
67268         * modules/unictype/category-Cf: Likewise.
67269         * modules/unictype/category-Cn: Likewise.
67270         * modules/unictype/category-Co: Likewise.
67271         * modules/unictype/category-Cs: Likewise.
67272         * modules/unictype/category-L: Likewise.
67273         * modules/unictype/category-Ll: Likewise.
67274         * modules/unictype/category-Lm: Likewise.
67275         * modules/unictype/category-Lo: Likewise.
67276         * modules/unictype/category-Lt: Likewise.
67277         * modules/unictype/category-Lu: Likewise.
67278         * modules/unictype/category-M: Likewise.
67279         * modules/unictype/category-Mc: Likewise.
67280         * modules/unictype/category-Me: Likewise.
67281         * modules/unictype/category-Mn: Likewise.
67282         * modules/unictype/category-N: Likewise.
67283         * modules/unictype/category-Nd: Likewise.
67284         * modules/unictype/category-Nl: Likewise.
67285         * modules/unictype/category-No: Likewise.
67286         * modules/unictype/category-P: Likewise.
67287         * modules/unictype/category-Pc: Likewise.
67288         * modules/unictype/category-Pd: Likewise.
67289         * modules/unictype/category-Pe: Likewise.
67290         * modules/unictype/category-Pf: Likewise.
67291         * modules/unictype/category-Pi: Likewise.
67292         * modules/unictype/category-Po: Likewise.
67293         * modules/unictype/category-Ps: Likewise.
67294         * modules/unictype/category-S: Likewise.
67295         * modules/unictype/category-Sc: Likewise.
67296         * modules/unictype/category-Sk: Likewise.
67297         * modules/unictype/category-Sm: Likewise.
67298         * modules/unictype/category-So: Likewise.
67299         * modules/unictype/category-Z: Likewise.
67300         * modules/unictype/category-Zl: Likewise.
67301         * modules/unictype/category-Zp: Likewise.
67302         * modules/unictype/category-Zs: Likewise.
67303         * modules/unictype/category-and: Likewise.
67304         * modules/unictype/category-and-not: Likewise.
67305         * modules/unictype/category-byname: Likewise.
67306         * modules/unictype/category-name: Likewise.
67307         * modules/unictype/category-none: Likewise.
67308         * modules/unictype/category-of: Likewise.
67309         * modules/unictype/category-or: Likewise.
67310         * modules/unictype/category-test: Likewise.
67311         * modules/unictype/combining-class: Likewise.
67312         * modules/unictype/ctype-alnum: Likewise.
67313         * modules/unictype/ctype-alpha: Likewise.
67314         * modules/unictype/ctype-blank: Likewise.
67315         * modules/unictype/ctype-cntrl: Likewise.
67316         * modules/unictype/ctype-digit: Likewise.
67317         * modules/unictype/ctype-graph: Likewise.
67318         * modules/unictype/ctype-lower: Likewise.
67319         * modules/unictype/ctype-print: Likewise.
67320         * modules/unictype/ctype-punct: Likewise.
67321         * modules/unictype/ctype-space: Likewise.
67322         * modules/unictype/ctype-upper: Likewise.
67323         * modules/unictype/ctype-xdigit: Likewise.
67324         * modules/unictype/decimal-digit: Likewise.
67325         * modules/unictype/digit: Likewise.
67326         * modules/unictype/mirror: Likewise.
67327         * modules/unictype/numeric: Likewise.
67328         * modules/unictype/property-alphabetic: Likewise.
67329         * modules/unictype/property-ascii-hex-digit: Likewise.
67330         * modules/unictype/property-bidi-arabic-digit: Likewise.
67331         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
67332         * modules/unictype/property-bidi-block-separator: Likewise.
67333         * modules/unictype/property-bidi-boundary-neutral: Likewise.
67334         * modules/unictype/property-bidi-common-separator: Likewise.
67335         * modules/unictype/property-bidi-control: Likewise.
67336         * modules/unictype/property-bidi-embedding-or-override: Likewise.
67337         * modules/unictype/property-bidi-eur-num-separator: Likewise.
67338         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
67339         * modules/unictype/property-bidi-european-digit: Likewise.
67340         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
67341         * modules/unictype/property-bidi-left-to-right: Likewise.
67342         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
67343         * modules/unictype/property-bidi-other-neutral: Likewise.
67344         * modules/unictype/property-bidi-pdf: Likewise.
67345         * modules/unictype/property-bidi-segment-separator: Likewise.
67346         * modules/unictype/property-bidi-whitespace: Likewise.
67347         * modules/unictype/property-byname: Likewise.
67348         * modules/unictype/property-combining: Likewise.
67349         * modules/unictype/property-composite: Likewise.
67350         * modules/unictype/property-currency-symbol: Likewise.
67351         * modules/unictype/property-dash: Likewise.
67352         * modules/unictype/property-decimal-digit: Likewise.
67353         * modules/unictype/property-default-ignorable-code-point: Likewise.
67354         * modules/unictype/property-deprecated: Likewise.
67355         * modules/unictype/property-diacritic: Likewise.
67356         * modules/unictype/property-extender: Likewise.
67357         * modules/unictype/property-format-control: Likewise.
67358         * modules/unictype/property-grapheme-base: Likewise.
67359         * modules/unictype/property-grapheme-extend: Likewise.
67360         * modules/unictype/property-grapheme-link: Likewise.
67361         * modules/unictype/property-hex-digit: Likewise.
67362         * modules/unictype/property-hyphen: Likewise.
67363         * modules/unictype/property-id-continue: Likewise.
67364         * modules/unictype/property-id-start: Likewise.
67365         * modules/unictype/property-ideographic: Likewise.
67366         * modules/unictype/property-ids-binary-operator: Likewise.
67367         * modules/unictype/property-ids-trinary-operator: Likewise.
67368         * modules/unictype/property-ignorable-control: Likewise.
67369         * modules/unictype/property-iso-control: Likewise.
67370         * modules/unictype/property-join-control: Likewise.
67371         * modules/unictype/property-left-of-pair: Likewise.
67372         * modules/unictype/property-line-separator: Likewise.
67373         * modules/unictype/property-logical-order-exception: Likewise.
67374         * modules/unictype/property-lowercase: Likewise.
67375         * modules/unictype/property-math: Likewise.
67376         * modules/unictype/property-non-break: Likewise.
67377         * modules/unictype/property-not-a-character: Likewise.
67378         * modules/unictype/property-numeric: Likewise.
67379         * modules/unictype/property-other-alphabetic: Likewise.
67380         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
67381         * modules/unictype/property-other-grapheme-extend: Likewise.
67382         * modules/unictype/property-other-id-continue: Likewise.
67383         * modules/unictype/property-other-id-start: Likewise.
67384         * modules/unictype/property-other-lowercase: Likewise.
67385         * modules/unictype/property-other-math: Likewise.
67386         * modules/unictype/property-other-uppercase: Likewise.
67387         * modules/unictype/property-paired-punctuation: Likewise.
67388         * modules/unictype/property-paragraph-separator: Likewise.
67389         * modules/unictype/property-pattern-syntax: Likewise.
67390         * modules/unictype/property-pattern-white-space: Likewise.
67391         * modules/unictype/property-private-use: Likewise.
67392         * modules/unictype/property-punctuation: Likewise.
67393         * modules/unictype/property-quotation-mark: Likewise.
67394         * modules/unictype/property-radical: Likewise.
67395         * modules/unictype/property-sentence-terminal: Likewise.
67396         * modules/unictype/property-soft-dotted: Likewise.
67397         * modules/unictype/property-space: Likewise.
67398         * modules/unictype/property-terminal-punctuation: Likewise.
67399         * modules/unictype/property-test: Likewise.
67400         * modules/unictype/property-titlecase: Likewise.
67401         * modules/unictype/property-unassigned-code-value: Likewise.
67402         * modules/unictype/property-unified-ideograph: Likewise.
67403         * modules/unictype/property-uppercase: Likewise.
67404         * modules/unictype/property-variation-selector: Likewise.
67405         * modules/unictype/property-white-space: Likewise.
67406         * modules/unictype/property-xid-continue: Likewise.
67407         * modules/unictype/property-xid-start: Likewise.
67408         * modules/unictype/property-zero-width: Likewise.
67409         * modules/unictype/scripts: Likewise.
67410         * modules/unictype/syntax-c-ident: Likewise.
67411         * modules/unictype/syntax-c-whitespace: Likewise.
67412         * modules/unictype/syntax-java-ident: Likewise.
67413         * modules/unictype/syntax-java-whitespace: Likewise.
67414         * modules/unilbrk/u8-possible-linebreaks: Likewise.
67415         * modules/unilbrk/u8-width-linebreaks: Likewise.
67416         * modules/unilbrk/u16-possible-linebreaks: Likewise.
67417         * modules/unilbrk/u16-width-linebreaks: Likewise.
67418         * modules/unilbrk/u32-possible-linebreaks: Likewise.
67419         * modules/unilbrk/u32-width-linebreaks: Likewise.
67420         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
67421         * modules/unilbrk/ulc-width-linebreaks: Likewise.
67422         * modules/uniname/uniname: Likewise.
67423         * modules/uninorm/canonical-decomposition: Likewise.
67424         * modules/uninorm/composition: Likewise.
67425         * modules/uninorm/decomposing-form: Likewise.
67426         * modules/uninorm/decomposition: Likewise.
67427         * modules/uninorm/filter: Likewise.
67428         * modules/uninorm/nfc: Likewise.
67429         * modules/uninorm/nfd: Likewise.
67430         * modules/uninorm/nfkc: Likewise.
67431         * modules/uninorm/nfkd: Likewise.
67432         * modules/uninorm/u8-normalize: Likewise.
67433         * modules/uninorm/u8-normcmp: Likewise.
67434         * modules/uninorm/u8-normcoll: Likewise.
67435         * modules/uninorm/u8-normxfrm: Likewise.
67436         * modules/uninorm/u16-normalize: Likewise.
67437         * modules/uninorm/u16-normcmp: Likewise.
67438         * modules/uninorm/u16-normcoll: Likewise.
67439         * modules/uninorm/u16-normxfrm: Likewise.
67440         * modules/uninorm/u32-normalize: Likewise.
67441         * modules/uninorm/u32-normcmp: Likewise.
67442         * modules/uninorm/u32-normcoll: Likewise.
67443         * modules/uninorm/u32-normxfrm: Likewise.
67444         * modules/unistdio/u8-asnprintf: Likewise.
67445         * modules/unistdio/u8-asprintf: Likewise.
67446         * modules/unistdio/u8-snprintf: Likewise.
67447         * modules/unistdio/u8-sprintf: Likewise.
67448         * modules/unistdio/u8-u8-asnprintf: Likewise.
67449         * modules/unistdio/u8-u8-asprintf: Likewise.
67450         * modules/unistdio/u8-u8-snprintf: Likewise.
67451         * modules/unistdio/u8-u8-sprintf: Likewise.
67452         * modules/unistdio/u8-u8-vasnprintf: Likewise.
67453         * modules/unistdio/u8-u8-vasprintf: Likewise.
67454         * modules/unistdio/u8-u8-vsnprintf: Likewise.
67455         * modules/unistdio/u8-u8-vsprintf: Likewise.
67456         * modules/unistdio/u8-vasnprintf: Likewise.
67457         * modules/unistdio/u8-vasprintf: Likewise.
67458         * modules/unistdio/u8-vsnprintf: Likewise.
67459         * modules/unistdio/u8-vsprintf: Likewise.
67460         * modules/unistdio/u16-asnprintf: Likewise.
67461         * modules/unistdio/u16-asprintf: Likewise.
67462         * modules/unistdio/u16-snprintf: Likewise.
67463         * modules/unistdio/u16-sprintf: Likewise.
67464         * modules/unistdio/u16-u16-asnprintf: Likewise.
67465         * modules/unistdio/u16-u16-asprintf: Likewise.
67466         * modules/unistdio/u16-u16-snprintf: Likewise.
67467         * modules/unistdio/u16-u16-sprintf: Likewise.
67468         * modules/unistdio/u16-u16-vasnprintf: Likewise.
67469         * modules/unistdio/u16-u16-vasprintf: Likewise.
67470         * modules/unistdio/u16-u16-vsnprintf: Likewise.
67471         * modules/unistdio/u16-u16-vsprintf: Likewise.
67472         * modules/unistdio/u16-vasnprintf: Likewise.
67473         * modules/unistdio/u16-vasprintf: Likewise.
67474         * modules/unistdio/u16-vsnprintf: Likewise.
67475         * modules/unistdio/u16-vsprintf: Likewise.
67476         * modules/unistdio/u32-asnprintf: Likewise.
67477         * modules/unistdio/u32-asprintf: Likewise.
67478         * modules/unistdio/u32-snprintf: Likewise.
67479         * modules/unistdio/u32-sprintf: Likewise.
67480         * modules/unistdio/u32-u32-asnprintf: Likewise.
67481         * modules/unistdio/u32-u32-asprintf: Likewise.
67482         * modules/unistdio/u32-u32-snprintf: Likewise.
67483         * modules/unistdio/u32-u32-sprintf: Likewise.
67484         * modules/unistdio/u32-u32-vasnprintf: Likewise.
67485         * modules/unistdio/u32-u32-vasprintf: Likewise.
67486         * modules/unistdio/u32-u32-vsnprintf: Likewise.
67487         * modules/unistdio/u32-u32-vsprintf: Likewise.
67488         * modules/unistdio/u32-vasnprintf: Likewise.
67489         * modules/unistdio/u32-vasprintf: Likewise.
67490         * modules/unistdio/u32-vsnprintf: Likewise.
67491         * modules/unistdio/u32-vsprintf: Likewise.
67492         * modules/unistdio/ulc-asnprintf: Likewise.
67493         * modules/unistdio/ulc-asprintf: Likewise.
67494         * modules/unistdio/ulc-fprintf: Likewise.
67495         * modules/unistdio/ulc-snprintf: Likewise.
67496         * modules/unistdio/ulc-sprintf: Likewise.
67497         * modules/unistdio/ulc-vasnprintf: Likewise.
67498         * modules/unistdio/ulc-vasprintf: Likewise.
67499         * modules/unistdio/ulc-vfprintf: Likewise.
67500         * modules/unistdio/ulc-vsnprintf: Likewise.
67501         * modules/unistdio/ulc-vsprintf: Likewise.
67502         * modules/unistr/u8-check: Likewise.
67503         * modules/unistr/u8-chr: Likewise.
67504         * modules/unistr/u8-cmp: Likewise.
67505         * modules/unistr/u8-cmp2: Likewise.
67506         * modules/unistr/u8-cpy: Likewise.
67507         * modules/unistr/u8-cpy-alloc: Likewise.
67508         * modules/unistr/u8-endswith: Likewise.
67509         * modules/unistr/u8-mblen: Likewise.
67510         * modules/unistr/u8-mbsnlen: Likewise.
67511         * modules/unistr/u8-mbtouc: Likewise.
67512         * modules/unistr/u8-mbtouc-unsafe: Likewise.
67513         * modules/unistr/u8-mbtoucr: Likewise.
67514         * modules/unistr/u8-move: Likewise.
67515         * modules/unistr/u8-next: Likewise.
67516         * modules/unistr/u8-prev: Likewise.
67517         * modules/unistr/u8-set: Likewise.
67518         * modules/unistr/u8-startswith: Likewise.
67519         * modules/unistr/u8-stpcpy: Likewise.
67520         * modules/unistr/u8-stpncpy: Likewise.
67521         * modules/unistr/u8-strcat: Likewise.
67522         * modules/unistr/u8-strchr: Likewise.
67523         * modules/unistr/u8-strcmp: Likewise.
67524         * modules/unistr/u8-strcoll: Likewise.
67525         * modules/unistr/u8-strcpy: Likewise.
67526         * modules/unistr/u8-strcspn: Likewise.
67527         * modules/unistr/u8-strdup: Likewise.
67528         * modules/unistr/u8-strlen: Likewise.
67529         * modules/unistr/u8-strmblen: Likewise.
67530         * modules/unistr/u8-strmbtouc: Likewise.
67531         * modules/unistr/u8-strncat: Likewise.
67532         * modules/unistr/u8-strncmp: Likewise.
67533         * modules/unistr/u8-strncpy: Likewise.
67534         * modules/unistr/u8-strnlen: Likewise.
67535         * modules/unistr/u8-strpbrk: Likewise.
67536         * modules/unistr/u8-strrchr: Likewise.
67537         * modules/unistr/u8-strspn: Likewise.
67538         * modules/unistr/u8-strstr: Likewise.
67539         * modules/unistr/u8-strtok: Likewise.
67540         * modules/unistr/u8-to-u16: Likewise.
67541         * modules/unistr/u8-to-u32: Likewise.
67542         * modules/unistr/u8-uctomb: Likewise.
67543         * modules/unistr/u16-check: Likewise.
67544         * modules/unistr/u16-chr: Likewise.
67545         * modules/unistr/u16-cmp: Likewise.
67546         * modules/unistr/u16-cmp2: Likewise.
67547         * modules/unistr/u16-cpy: Likewise.
67548         * modules/unistr/u16-cpy-alloc: Likewise.
67549         * modules/unistr/u16-endswith: Likewise.
67550         * modules/unistr/u16-mblen: Likewise.
67551         * modules/unistr/u16-mbsnlen: Likewise.
67552         * modules/unistr/u16-mbtouc: Likewise.
67553         * modules/unistr/u16-mbtouc-unsafe: Likewise.
67554         * modules/unistr/u16-mbtoucr: Likewise.
67555         * modules/unistr/u16-move: Likewise.
67556         * modules/unistr/u16-next: Likewise.
67557         * modules/unistr/u16-prev: Likewise.
67558         * modules/unistr/u16-set: Likewise.
67559         * modules/unistr/u16-startswith: Likewise.
67560         * modules/unistr/u16-stpcpy: Likewise.
67561         * modules/unistr/u16-stpncpy: Likewise.
67562         * modules/unistr/u16-strcat: Likewise.
67563         * modules/unistr/u16-strchr: Likewise.
67564         * modules/unistr/u16-strcmp: Likewise.
67565         * modules/unistr/u16-strcoll: Likewise.
67566         * modules/unistr/u16-strcpy: Likewise.
67567         * modules/unistr/u16-strcspn: Likewise.
67568         * modules/unistr/u16-strdup: Likewise.
67569         * modules/unistr/u16-strlen: Likewise.
67570         * modules/unistr/u16-strmblen: Likewise.
67571         * modules/unistr/u16-strmbtouc: Likewise.
67572         * modules/unistr/u16-strncat: Likewise.
67573         * modules/unistr/u16-strncmp: Likewise.
67574         * modules/unistr/u16-strncpy: Likewise.
67575         * modules/unistr/u16-strnlen: Likewise.
67576         * modules/unistr/u16-strpbrk: Likewise.
67577         * modules/unistr/u16-strrchr: Likewise.
67578         * modules/unistr/u16-strspn: Likewise.
67579         * modules/unistr/u16-strstr: Likewise.
67580         * modules/unistr/u16-strtok: Likewise.
67581         * modules/unistr/u16-to-u32: Likewise.
67582         * modules/unistr/u16-to-u8: Likewise.
67583         * modules/unistr/u16-uctomb: Likewise.
67584         * modules/unistr/u32-check: Likewise.
67585         * modules/unistr/u32-chr: Likewise.
67586         * modules/unistr/u32-cmp: Likewise.
67587         * modules/unistr/u32-cmp2: Likewise.
67588         * modules/unistr/u32-cpy: Likewise.
67589         * modules/unistr/u32-cpy-alloc: Likewise.
67590         * modules/unistr/u32-endswith: Likewise.
67591         * modules/unistr/u32-mblen: Likewise.
67592         * modules/unistr/u32-mbsnlen: Likewise.
67593         * modules/unistr/u32-mbtouc: Likewise.
67594         * modules/unistr/u32-mbtouc-unsafe: Likewise.
67595         * modules/unistr/u32-mbtoucr: Likewise.
67596         * modules/unistr/u32-move: Likewise.
67597         * modules/unistr/u32-next: Likewise.
67598         * modules/unistr/u32-prev: Likewise.
67599         * modules/unistr/u32-set: Likewise.
67600         * modules/unistr/u32-startswith: Likewise.
67601         * modules/unistr/u32-stpcpy: Likewise.
67602         * modules/unistr/u32-stpncpy: Likewise.
67603         * modules/unistr/u32-strcat: Likewise.
67604         * modules/unistr/u32-strchr: Likewise.
67605         * modules/unistr/u32-strcmp: Likewise.
67606         * modules/unistr/u32-strcoll: Likewise.
67607         * modules/unistr/u32-strcpy: Likewise.
67608         * modules/unistr/u32-strcspn: Likewise.
67609         * modules/unistr/u32-strdup: Likewise.
67610         * modules/unistr/u32-strlen: Likewise.
67611         * modules/unistr/u32-strmblen: Likewise.
67612         * modules/unistr/u32-strmbtouc: Likewise.
67613         * modules/unistr/u32-strncat: Likewise.
67614         * modules/unistr/u32-strncmp: Likewise.
67615         * modules/unistr/u32-strncpy: Likewise.
67616         * modules/unistr/u32-strnlen: Likewise.
67617         * modules/unistr/u32-strpbrk: Likewise.
67618         * modules/unistr/u32-strrchr: Likewise.
67619         * modules/unistr/u32-strspn: Likewise.
67620         * modules/unistr/u32-strstr: Likewise.
67621         * modules/unistr/u32-strtok: Likewise.
67622         * modules/unistr/u32-to-u16: Likewise.
67623         * modules/unistr/u32-to-u8: Likewise.
67624         * modules/unistr/u32-uctomb: Likewise.
67625         * modules/uniwbrk/u8-wordbreaks: Likewise.
67626         * modules/uniwbrk/u16-wordbreaks: Likewise.
67627         * modules/uniwbrk/u32-wordbreaks: Likewise.
67628         * modules/uniwbrk/ulc-wordbreaks: Likewise.
67629         * modules/uniwbrk/wordbreak-property: Likewise.
67630         * modules/uniwidth/u8-strwidth: Likewise.
67631         * modules/uniwidth/u8-width: Likewise.
67632         * modules/uniwidth/u16-strwidth: Likewise.
67633         * modules/uniwidth/u16-width: Likewise.
67634         * modules/uniwidth/u32-strwidth: Likewise.
67635         * modules/uniwidth/u32-width: Likewise.
67636         * modules/uniwidth/width: Likewise.
67637         * modules/unicase/cased-tests (Makefile.am): Link all test programs
67638         with $(LIBUNISTRING).
67639         * modules/unicase/ignorable-tests: Likewise.
67640         * modules/unicase/locale-language-tests: Likewise.
67641         * modules/unicase/tolower-tests: Likewise.
67642         * modules/unicase/totitle-tests: Likewise.
67643         * modules/unicase/toupper-tests: Likewise.
67644         * modules/unicase/u8-casecmp-tests: Likewise.
67645         * modules/unicase/u8-casecoll-tests: Likewise.
67646         * modules/unicase/u8-casefold-tests: Likewise.
67647         * modules/unicase/u8-is-cased-tests: Likewise.
67648         * modules/unicase/u8-is-casefolded-tests: Likewise.
67649         * modules/unicase/u8-is-lowercase-tests: Likewise.
67650         * modules/unicase/u8-is-titlecase-tests: Likewise.
67651         * modules/unicase/u8-is-uppercase-tests: Likewise.
67652         * modules/unicase/u8-tolower-tests: Likewise.
67653         * modules/unicase/u8-totitle-tests: Likewise.
67654         * modules/unicase/u8-toupper-tests: Likewise.
67655         * modules/unicase/u16-casecmp-tests: Likewise.
67656         * modules/unicase/u16-casecoll-tests: Likewise.
67657         * modules/unicase/u16-casefold-tests: Likewise.
67658         * modules/unicase/u16-is-cased-tests: Likewise.
67659         * modules/unicase/u16-is-casefolded-tests: Likewise.
67660         * modules/unicase/u16-is-lowercase-tests: Likewise.
67661         * modules/unicase/u16-is-titlecase-tests: Likewise.
67662         * modules/unicase/u16-is-uppercase-tests: Likewise.
67663         * modules/unicase/u16-tolower-tests: Likewise.
67664         * modules/unicase/u16-totitle-tests: Likewise.
67665         * modules/unicase/u16-toupper-tests: Likewise.
67666         * modules/unicase/u32-casecmp-tests: Likewise.
67667         * modules/unicase/u32-casecoll-tests: Likewise.
67668         * modules/unicase/u32-casefold-tests: Likewise.
67669         * modules/unicase/u32-is-cased-tests: Likewise.
67670         * modules/unicase/u32-is-casefolded-tests: Likewise.
67671         * modules/unicase/u32-is-lowercase-tests: Likewise.
67672         * modules/unicase/u32-is-titlecase-tests: Likewise.
67673         * modules/unicase/u32-is-uppercase-tests: Likewise.
67674         * modules/unicase/u32-tolower-tests: Likewise.
67675         * modules/unicase/u32-totitle-tests: Likewise.
67676         * modules/unicase/u32-toupper-tests: Likewise.
67677         * modules/unicase/ulc-casecmp-tests: Likewise.
67678         * modules/unicase/ulc-casecoll-tests: Likewise.
67679         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
67680         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
67681         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
67682         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
67683         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
67684         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
67685         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
67686         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
67687         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
67688         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
67689         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
67690         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
67691         * modules/unictype/bidicategory-byname-tests: Likewise.
67692         * modules/unictype/bidicategory-name-tests: Likewise.
67693         * modules/unictype/bidicategory-of-tests: Likewise.
67694         * modules/unictype/bidicategory-test-tests: Likewise.
67695         * modules/unictype/block-list-tests: Likewise.
67696         * modules/unictype/block-of-tests: Likewise.
67697         * modules/unictype/block-test-tests: Likewise.
67698         * modules/unictype/category-C-tests: Likewise.
67699         * modules/unictype/category-Cc-tests: Likewise.
67700         * modules/unictype/category-Cf-tests: Likewise.
67701         * modules/unictype/category-Cn-tests: Likewise.
67702         * modules/unictype/category-Co-tests: Likewise.
67703         * modules/unictype/category-Cs-tests: Likewise.
67704         * modules/unictype/category-L-tests: Likewise.
67705         * modules/unictype/category-Ll-tests: Likewise.
67706         * modules/unictype/category-Lm-tests: Likewise.
67707         * modules/unictype/category-Lo-tests: Likewise.
67708         * modules/unictype/category-Lt-tests: Likewise.
67709         * modules/unictype/category-Lu-tests: Likewise.
67710         * modules/unictype/category-M-tests: Likewise.
67711         * modules/unictype/category-Mc-tests: Likewise.
67712         * modules/unictype/category-Me-tests: Likewise.
67713         * modules/unictype/category-Mn-tests: Likewise.
67714         * modules/unictype/category-N-tests: Likewise.
67715         * modules/unictype/category-Nd-tests: Likewise.
67716         * modules/unictype/category-Nl-tests: Likewise.
67717         * modules/unictype/category-No-tests: Likewise.
67718         * modules/unictype/category-P-tests: Likewise.
67719         * modules/unictype/category-Pc-tests: Likewise.
67720         * modules/unictype/category-Pd-tests: Likewise.
67721         * modules/unictype/category-Pe-tests: Likewise.
67722         * modules/unictype/category-Pf-tests: Likewise.
67723         * modules/unictype/category-Pi-tests: Likewise.
67724         * modules/unictype/category-Po-tests: Likewise.
67725         * modules/unictype/category-Ps-tests: Likewise.
67726         * modules/unictype/category-S-tests: Likewise.
67727         * modules/unictype/category-Sc-tests: Likewise.
67728         * modules/unictype/category-Sk-tests: Likewise.
67729         * modules/unictype/category-Sm-tests: Likewise.
67730         * modules/unictype/category-So-tests: Likewise.
67731         * modules/unictype/category-Z-tests: Likewise.
67732         * modules/unictype/category-Zl-tests: Likewise.
67733         * modules/unictype/category-Zp-tests: Likewise.
67734         * modules/unictype/category-Zs-tests: Likewise.
67735         * modules/unictype/category-and-not-tests: Likewise.
67736         * modules/unictype/category-and-tests: Likewise.
67737         * modules/unictype/category-byname-tests: Likewise.
67738         * modules/unictype/category-name-tests: Likewise.
67739         * modules/unictype/category-none-tests: Likewise.
67740         * modules/unictype/category-of-tests: Likewise.
67741         * modules/unictype/category-or-tests: Likewise.
67742         * modules/unictype/category-test-withtable-tests: Likewise.
67743         * modules/unictype/combining-class-tests: Likewise.
67744         * modules/unictype/ctype-alnum-tests: Likewise.
67745         * modules/unictype/ctype-alpha-tests: Likewise.
67746         * modules/unictype/ctype-blank-tests: Likewise.
67747         * modules/unictype/ctype-cntrl-tests: Likewise.
67748         * modules/unictype/ctype-digit-tests: Likewise.
67749         * modules/unictype/ctype-graph-tests: Likewise.
67750         * modules/unictype/ctype-lower-tests: Likewise.
67751         * modules/unictype/ctype-print-tests: Likewise.
67752         * modules/unictype/ctype-punct-tests: Likewise.
67753         * modules/unictype/ctype-space-tests: Likewise.
67754         * modules/unictype/ctype-upper-tests: Likewise.
67755         * modules/unictype/ctype-xdigit-tests: Likewise.
67756         * modules/unictype/decimal-digit-tests: Likewise.
67757         * modules/unictype/digit-tests: Likewise.
67758         * modules/unictype/mirror-tests: Likewise.
67759         * modules/unictype/numeric-tests: Likewise.
67760         * modules/unictype/property-alphabetic-tests: Likewise.
67761         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
67762         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
67763         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
67764         * modules/unictype/property-bidi-block-separator-tests: Likewise.
67765         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
67766         * modules/unictype/property-bidi-common-separator-tests: Likewise.
67767         * modules/unictype/property-bidi-control-tests: Likewise.
67768         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
67769         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
67770         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
67771         * modules/unictype/property-bidi-european-digit-tests: Likewise.
67772         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
67773         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
67774         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
67775         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
67776         * modules/unictype/property-bidi-pdf-tests: Likewise.
67777         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
67778         * modules/unictype/property-bidi-whitespace-tests: Likewise.
67779         * modules/unictype/property-byname-tests: Likewise.
67780         * modules/unictype/property-combining-tests: Likewise.
67781         * modules/unictype/property-composite-tests: Likewise.
67782         * modules/unictype/property-currency-symbol-tests: Likewise.
67783         * modules/unictype/property-dash-tests: Likewise.
67784         * modules/unictype/property-decimal-digit-tests: Likewise.
67785         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
67786         * modules/unictype/property-deprecated-tests: Likewise.
67787         * modules/unictype/property-diacritic-tests: Likewise.
67788         * modules/unictype/property-extender-tests: Likewise.
67789         * modules/unictype/property-format-control-tests: Likewise.
67790         * modules/unictype/property-grapheme-base-tests: Likewise.
67791         * modules/unictype/property-grapheme-extend-tests: Likewise.
67792         * modules/unictype/property-grapheme-link-tests: Likewise.
67793         * modules/unictype/property-hex-digit-tests: Likewise.
67794         * modules/unictype/property-hyphen-tests: Likewise.
67795         * modules/unictype/property-id-continue-tests: Likewise.
67796         * modules/unictype/property-id-start-tests: Likewise.
67797         * modules/unictype/property-ideographic-tests: Likewise.
67798         * modules/unictype/property-ids-binary-operator-tests: Likewise.
67799         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
67800         * modules/unictype/property-ignorable-control-tests: Likewise.
67801         * modules/unictype/property-iso-control-tests: Likewise.
67802         * modules/unictype/property-join-control-tests: Likewise.
67803         * modules/unictype/property-left-of-pair-tests: Likewise.
67804         * modules/unictype/property-line-separator-tests: Likewise.
67805         * modules/unictype/property-logical-order-exception-tests: Likewise.
67806         * modules/unictype/property-lowercase-tests: Likewise.
67807         * modules/unictype/property-math-tests: Likewise.
67808         * modules/unictype/property-non-break-tests: Likewise.
67809         * modules/unictype/property-not-a-character-tests: Likewise.
67810         * modules/unictype/property-numeric-tests: Likewise.
67811         * modules/unictype/property-other-alphabetic-tests: Likewise.
67812         * modules/unictype/property-other-default-ignorable-code-point-tests:
67813         Likewise.
67814         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
67815         * modules/unictype/property-other-id-continue-tests: Likewise.
67816         * modules/unictype/property-other-id-start-tests: Likewise.
67817         * modules/unictype/property-other-lowercase-tests: Likewise.
67818         * modules/unictype/property-other-math-tests: Likewise.
67819         * modules/unictype/property-other-uppercase-tests: Likewise.
67820         * modules/unictype/property-paired-punctuation-tests: Likewise.
67821         * modules/unictype/property-paragraph-separator-tests: Likewise.
67822         * modules/unictype/property-pattern-syntax-tests: Likewise.
67823         * modules/unictype/property-pattern-white-space-tests: Likewise.
67824         * modules/unictype/property-private-use-tests: Likewise.
67825         * modules/unictype/property-punctuation-tests: Likewise.
67826         * modules/unictype/property-quotation-mark-tests: Likewise.
67827         * modules/unictype/property-radical-tests: Likewise.
67828         * modules/unictype/property-sentence-terminal-tests: Likewise.
67829         * modules/unictype/property-soft-dotted-tests: Likewise.
67830         * modules/unictype/property-space-tests: Likewise.
67831         * modules/unictype/property-terminal-punctuation-tests: Likewise.
67832         * modules/unictype/property-test-tests: Likewise.
67833         * modules/unictype/property-titlecase-tests: Likewise.
67834         * modules/unictype/property-unassigned-code-value-tests: Likewise.
67835         * modules/unictype/property-unified-ideograph-tests: Likewise.
67836         * modules/unictype/property-uppercase-tests: Likewise.
67837         * modules/unictype/property-variation-selector-tests: Likewise.
67838         * modules/unictype/property-white-space-tests: Likewise.
67839         * modules/unictype/property-xid-continue-tests: Likewise.
67840         * modules/unictype/property-xid-start-tests: Likewise.
67841         * modules/unictype/property-zero-width-tests: Likewise.
67842         * modules/unictype/scripts-tests: Likewise.
67843         * modules/unictype/syntax-c-ident-tests: Likewise.
67844         * modules/unictype/syntax-c-whitespace-tests: Likewise.
67845         * modules/unictype/syntax-java-ident-tests: Likewise.
67846         * modules/unictype/syntax-java-whitespace-tests: Likewise.
67847         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
67848         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
67849         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
67850         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
67851         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
67852         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
67853         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
67854         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
67855         * modules/uniname/uniname-tests: Likewise.
67856         * modules/uninorm/canonical-decomposition-tests: Likewise.
67857         * modules/uninorm/compat-decomposition-tests: Likewise.
67858         * modules/uninorm/composition-tests: Likewise.
67859         * modules/uninorm/decomposing-form-tests: Likewise.
67860         * modules/uninorm/decomposition-tests: Likewise.
67861         * modules/uninorm/filter-tests: Likewise.
67862         * modules/uninorm/nfc-tests: Likewise.
67863         * modules/uninorm/nfd-tests: Likewise.
67864         * modules/uninorm/nfkc-tests: Likewise.
67865         * modules/uninorm/nfkd-tests: Likewise.
67866         * modules/uninorm/u8-normcmp-tests: Likewise.
67867         * modules/uninorm/u8-normcoll-tests: Likewise.
67868         * modules/uninorm/u16-normcmp-tests: Likewise.
67869         * modules/uninorm/u16-normcoll-tests: Likewise.
67870         * modules/uninorm/u32-normcmp-tests: Likewise.
67871         * modules/uninorm/u32-normcoll-tests: Likewise.
67872         * modules/unistdio/u8-asnprintf-tests: Likewise.
67873         * modules/unistdio/u8-vasnprintf-tests: Likewise.
67874         * modules/unistdio/u8-vasprintf-tests: Likewise.
67875         * modules/unistdio/u8-vsnprintf-tests: Likewise.
67876         * modules/unistdio/u8-vsprintf-tests: Likewise.
67877         * modules/unistdio/u16-asnprintf-tests: Likewise.
67878         * modules/unistdio/u16-vasnprintf-tests: Likewise.
67879         * modules/unistdio/u16-vasprintf-tests: Likewise.
67880         * modules/unistdio/u16-vsnprintf-tests: Likewise.
67881         * modules/unistdio/u16-vsprintf-tests: Likewise.
67882         * modules/unistdio/u32-asnprintf-tests: Likewise.
67883         * modules/unistdio/u32-vasnprintf-tests: Likewise.
67884         * modules/unistdio/u32-vasprintf-tests: Likewise.
67885         * modules/unistdio/u32-vsnprintf-tests: Likewise.
67886         * modules/unistdio/u32-vsprintf-tests: Likewise.
67887         * modules/unistdio/ulc-asnprintf-tests: Likewise.
67888         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
67889         * modules/unistdio/ulc-vasprintf-tests: Likewise.
67890         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
67891         * modules/unistdio/ulc-vsprintf-tests: Likewise.
67892         * modules/unistr/u8-check-tests: Likewise.
67893         * modules/unistr/u8-chr-tests: Likewise.
67894         * modules/unistr/u8-cmp-tests: Likewise.
67895         * modules/unistr/u8-cmp2-tests: Likewise.
67896         * modules/unistr/u8-cpy-alloc-tests: Likewise.
67897         * modules/unistr/u8-cpy-tests: Likewise.
67898         * modules/unistr/u8-mblen-tests: Likewise.
67899         * modules/unistr/u8-mbsnlen-tests: Likewise.
67900         * modules/unistr/u8-mbtouc-tests: Likewise.
67901         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
67902         * modules/unistr/u8-mbtoucr-tests: Likewise.
67903         * modules/unistr/u8-move-tests: Likewise.
67904         * modules/unistr/u8-next-tests: Likewise.
67905         * modules/unistr/u8-prev-tests: Likewise.
67906         * modules/unistr/u8-set-tests: Likewise.
67907         * modules/unistr/u8-stpcpy-tests: Likewise.
67908         * modules/unistr/u8-stpncpy-tests: Likewise.
67909         * modules/unistr/u8-strcat-tests: Likewise.
67910         * modules/unistr/u8-strcmp-tests: Likewise.
67911         * modules/unistr/u8-strcoll-tests: Likewise.
67912         * modules/unistr/u8-strcpy-tests: Likewise.
67913         * modules/unistr/u8-strdup-tests: Likewise.
67914         * modules/unistr/u8-strlen-tests: Likewise.
67915         * modules/unistr/u8-strmblen-tests: Likewise.
67916         * modules/unistr/u8-strmbtouc-tests: Likewise.
67917         * modules/unistr/u8-strncat-tests: Likewise.
67918         * modules/unistr/u8-strncmp-tests: Likewise.
67919         * modules/unistr/u8-strncpy-tests: Likewise.
67920         * modules/unistr/u8-strnlen-tests: Likewise.
67921         * modules/unistr/u8-to-u16-tests: Likewise.
67922         * modules/unistr/u8-to-u32-tests: Likewise.
67923         * modules/unistr/u8-uctomb-tests: Likewise.
67924         * modules/unistr/u16-check-tests: Likewise.
67925         * modules/unistr/u16-chr-tests: Likewise.
67926         * modules/unistr/u16-cmp-tests: Likewise.
67927         * modules/unistr/u16-cmp2-tests: Likewise.
67928         * modules/unistr/u16-cpy-alloc-tests: Likewise.
67929         * modules/unistr/u16-cpy-tests: Likewise.
67930         * modules/unistr/u16-mblen-tests: Likewise.
67931         * modules/unistr/u16-mbsnlen-tests: Likewise.
67932         * modules/unistr/u16-mbtouc-tests: Likewise.
67933         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
67934         * modules/unistr/u16-mbtoucr-tests: Likewise.
67935         * modules/unistr/u16-move-tests: Likewise.
67936         * modules/unistr/u16-next-tests: Likewise.
67937         * modules/unistr/u16-prev-tests: Likewise.
67938         * modules/unistr/u16-set-tests: Likewise.
67939         * modules/unistr/u16-stpcpy-tests: Likewise.
67940         * modules/unistr/u16-stpncpy-tests: Likewise.
67941         * modules/unistr/u16-strcat-tests: Likewise.
67942         * modules/unistr/u16-strcmp-tests: Likewise.
67943         * modules/unistr/u16-strcoll-tests: Likewise.
67944         * modules/unistr/u16-strcpy-tests: Likewise.
67945         * modules/unistr/u16-strdup-tests: Likewise.
67946         * modules/unistr/u16-strlen-tests: Likewise.
67947         * modules/unistr/u16-strmblen-tests: Likewise.
67948         * modules/unistr/u16-strmbtouc-tests: Likewise.
67949         * modules/unistr/u16-strncat-tests: Likewise.
67950         * modules/unistr/u16-strncmp-tests: Likewise.
67951         * modules/unistr/u16-strncpy-tests: Likewise.
67952         * modules/unistr/u16-strnlen-tests: Likewise.
67953         * modules/unistr/u16-to-u32-tests: Likewise.
67954         * modules/unistr/u16-to-u8-tests: Likewise.
67955         * modules/unistr/u16-uctomb-tests: Likewise.
67956         * modules/unistr/u32-check-tests: Likewise.
67957         * modules/unistr/u32-chr-tests: Likewise.
67958         * modules/unistr/u32-cmp-tests: Likewise.
67959         * modules/unistr/u32-cmp2-tests: Likewise.
67960         * modules/unistr/u32-cpy-alloc-tests: Likewise.
67961         * modules/unistr/u32-cpy-tests: Likewise.
67962         * modules/unistr/u32-mblen-tests: Likewise.
67963         * modules/unistr/u32-mbsnlen-tests: Likewise.
67964         * modules/unistr/u32-mbtouc-tests: Likewise.
67965         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
67966         * modules/unistr/u32-mbtoucr-tests: Likewise.
67967         * modules/unistr/u32-move-tests: Likewise.
67968         * modules/unistr/u32-next-tests: Likewise.
67969         * modules/unistr/u32-prev-tests: Likewise.
67970         * modules/unistr/u32-set-tests: Likewise.
67971         * modules/unistr/u32-stpcpy-tests: Likewise.
67972         * modules/unistr/u32-stpncpy-tests: Likewise.
67973         * modules/unistr/u32-strcat-tests: Likewise.
67974         * modules/unistr/u32-strcmp-tests: Likewise.
67975         * modules/unistr/u32-strcoll-tests: Likewise.
67976         * modules/unistr/u32-strcpy-tests: Likewise.
67977         * modules/unistr/u32-strdup-tests: Likewise.
67978         * modules/unistr/u32-strlen-tests: Likewise.
67979         * modules/unistr/u32-strmblen-tests: Likewise.
67980         * modules/unistr/u32-strmbtouc-tests: Likewise.
67981         * modules/unistr/u32-strncat-tests: Likewise.
67982         * modules/unistr/u32-strncmp-tests: Likewise.
67983         * modules/unistr/u32-strncpy-tests: Likewise.
67984         * modules/unistr/u32-strnlen-tests: Likewise.
67985         * modules/unistr/u32-to-u16-tests: Likewise.
67986         * modules/unistr/u32-to-u8-tests: Likewise.
67987         * modules/unistr/u32-uctomb-tests: Likewise.
67988         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
67989         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
67990         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
67991         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
67992         * modules/uniwidth/u8-strwidth-tests: Likewise.
67993         * modules/uniwidth/u8-width-tests: Likewise.
67994         * modules/uniwidth/u16-strwidth-tests: Likewise.
67995         * modules/uniwidth/u16-width-tests: Likewise.
67996         * modules/uniwidth/u32-strwidth-tests: Likewise.
67997         * modules/uniwidth/u32-width-tests: Likewise.
67998         * modules/uniwidth/width-tests: Likewise.
68000 2010-05-18  Richard Jones  <rjones@redhat.com>
68002         doc: users.txt: list hivex
68003         * users.txt: Add hivex.
68005 2010-05-18  Richard Jones  <rjones@redhat.com>
68007         doc: users.txt: list febootstrap
68008         * users.txt: Add febootstrap.
68010 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
68012         bootstrap: fix an error when gnulib is not used as a git submodule
68013         * build-aux/bootstrap (gnulib_path): If its length is zero then
68014         assign "gnulib" to it.
68015         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
68017 2010-05-16  Bruno Haible  <bruno@clisp.org>
68019         Avoid autoconf warnings about AM_ICONV.
68020         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
68021         2.64.
68023 2010-05-16  Bruno Haible  <bruno@clisp.org>
68025         absolute-header: Make the macro usable in more situations.
68026         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
68027         from gl_ABSOLUTE_HEADER.
68028         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
68030 2010-05-16  James Youngman  <jay@gnu.org>
68032         doc: update users.txt
68033         * users.txt: Add CSSC.
68035 2010-05-16  Jim Meyering  <meyering@redhat.com>
68037         init.sh: fix an error in the previous change; add more comments
68038         * tests/init.sh: Compare exit code in loop against 9, not 2.
68039         Patch by Bruno Haible.
68040         Make the two tests more similar by adding an empty "then" clause.
68041         Add comments.
68043         init.sh: avoid unnecessary shell re-exec
68044         * tests/init.sh: Improve the re-exec-required check to first test the
68045         current shell.  If it passes the test, do not search for a shell that
68046         does pass, and do not re-exec.  This test is particularly contorted to
68047         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
68048         of $(...) evokes a syntax error and causes immediate shell exit with
68049         status 2.  Bruno Haible reported that the re-exec made it impossible
68050         to single-step through any init.sh-using script.
68052 2010-05-16  Bruno Haible  <bruno@clisp.org>
68054         Fix collision between gnulib's and libintl's printf replacements.
68055         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
68056         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
68057         (printf): When using GNU C, map the __printf__ function to rpl_printf
68058         via __asm__. When not using GNU C, define rpl_printf instead of
68059         __printf__.
68060         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
68061         commit.
68062         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
68063         commit.
68064         * m4/asm-underscore.m4: New file.
68065         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
68066         * modules/stdio (Files): Add m4/asm-underscore.m4.
68067         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
68068         Reported by Ben Pfaff.
68070 2010-05-16  Bruno Haible  <bruno@clisp.org>
68072         verify: Avoid skipping the test on openSUSE 11.0.
68073         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
68075 2010-05-13  Bruno Haible  <bruno@clisp.org>
68077         Avoid useless warnings from G++.
68078         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
68079         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
68080         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
68082 2010-05-11  Jim Meyering  <meyering@redhat.com>
68084         maint.mk: tweak preceding change
68085         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
68086         regexps tighter by anchoring at EOL, and make the new group "shy"
68087         for slightly decreased overhead.
68089 2010-05-11  Eric Blake  <eblake@redhat.com>
68091         maint.mk: gnulib doesn't guarantee NSIG
68092         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
68094 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68096         test-pwrite.c: Remove unused variable declaration.
68097         * tests/test-pwrite.c (main): Remove read_buf declaration.
68099         Remove useless test-pwrite.sh file.
68100         * tests/test-pwrite.sh: Delete file.
68101         * modules/pwrite-tests: Remove references.
68102         Reported by Bruno Haible.
68104 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
68106         init.sh: fix a typo
68107         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
68109 2010-05-10  Jim Meyering  <meyering@redhat.com>
68111         maint.mk: avoid using a temporary file in the always-defined-macros check
68112         * top/maint.mk (.re-defmac): Remove rule.
68113         (gl_trap_): Remove definition.
68114         (sc_prohibit_always-defined_macros): Rewrite not to create and
68115         depend on a temporary file.  Instead, depend on GNU grep's ability
68116         to read a list of regular expressions from stdin when given "-f -".
68118 2010-05-09  Bruno Haible  <bruno@clisp.org>
68120         Update to GNU gettext 0.18, part 1.
68121         * m4/gettext.m4: Update to GNU gettext 0.18.
68122         * m4/intl.m4: Likewise.
68123         * m4/po.m4: Likewise.
68124         * modules/gettext (Files): Add m4/fcntl-o.m4.
68125         (configure.ac): Require gettext infrastructure from version 0.18.
68127 2010-05-09  Jim Meyering  <meyering@redhat.com>
68129         init.sh: enable MALLOC_PERTURB_
68130         * tests/init.sh: Enable glibc's malloc-perturbing option.
68132         maint.mk: improve sc_cross_check_PATH_usage_in_tests
68133         With my recent change in init.sh from the two-line form:
68134             -#   : ${srcdir=.}
68135             -#   . "$srcdir/init.sh"; path_prepend_ .
68136             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
68137         I noticed that using the one-line form would cause this test
68138         to fail with a false-positive, or to stop working altogether,
68139         depending on whether help-version changed or all the tests did.
68140         * top/maint.mk (_hv_regex): Remove this definition.
68141         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
68142         (_hv_regex_strong): Use a stronger regex to check for conformance.
68143         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
68144         Give a separate diagnostic for lack of conforming use.
68146         maint.mk: prohibit definition of symbols defined by gnulib
68147         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
68148         definition of symbols defined by gnulib.
68150 2010-05-09  Bruno Haible  <bruno@clisp.org>
68152         acl: Avoid test failure on Cygwin-hosted mingw.
68153         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
68155 2010-05-09  Bruno Haible  <bruno@clisp.org>
68157         error: Use system's fcntl function.
68158         * lib/error.c (fcntl): Undefine.
68160 2010-05-09  Jim Meyering  <meyering@redhat.com>
68162         verify: adjust formatting to be more consistent
68163         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
68164         argument-list '('s, and after one comma.
68166 2010-05-09  Bruno Haible  <bruno@clisp.org>
68168         error: More reliable output on mingw.
68169         * lib/error.c: Include <windows.h>.
68170         (is_open): New function.
68171         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
68172         defined.
68174 2010-05-09  Bruno Haible  <bruno@clisp.org>
68176         vasnprintf: Fix syntax errors in libintl build on mingw.
68177         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
68178         pad_ourselves and prec_ourselves after use.
68180 2010-05-08  Bruno Haible  <bruno@clisp.org>
68182         * lib/config.charset: Update comments for Cygwin 1.7.
68183         * lib/localcharset.c: Likewise.
68185 2010-05-07  Jim Meyering  <meyering@redhat.com>
68187         init.sh: improve comments
68188         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
68189         . "${srcdir=.}/init.sh"; path_prepend_ .
68190         Add a note about path_prepend_ and the alternative of using
68191         TESTS_ENVIRONMENT.
68193 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
68195         exclude: Unescape hashed patterns in wildcard mode.
68196         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
68197         to the hash list.
68198         * tests/test-exclude8.sh: New test case.
68199         * modules/exclude-tests: Add new test.
68201 2010-05-05  Eric Blake  <eblake@redhat.com>
68203         verify: automate tests
68204         * modules/verify-tests: New module.
68205         * tests/test-verify.sh: New file.
68206         * tests/test-verify.c: Guard each negative test with a unique id.
68207         Also avoid warning about unused left hand of comma expressions.
68209 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
68211         Further improvements to verify.h, suggested by Eric Blake.
68212         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
68213         the GL_* versions, to avoid collision with OpenGL.
68214         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
68215         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
68216         than testing merely whether it's defined.
68218         Modify verify.h to pacify gcc -Wredundant_decls.
68219         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
68220         These use the prefix "GL_" since they're likely to be useful elsewhere.
68221         We may need to break them out into a different .h file.
68222         (__COUNTER__): Define to 0 if the compiler doesn't support it.
68223         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
68224         of verify_function__.
68226 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68228         Tests for module pwrite.
68229         * modules/pwrite-tests: New file.
68230         * tests/test-pwrite.sh: New file.
68231         * tests/test-pwrite.c: New file.
68233         New module pwrite.
68234         * lib/unistd.in.h (pwrite): New declaration.
68235         * lib/pwrite.c: New file, from glibc with modifications.
68236         * m4/pwrite.m4: New file.
68237         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
68238         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
68239         REPLACE_PWRITE.
68240         * modules/pwrite: New file.
68241         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
68242         REPLACE_PWRITE.
68243         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
68244         * doc/posix-functions/pwrite.texi: Mention the new module.
68246 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
68248         pread: Update documentation.
68249         * doc/posix-functions/pread.texi: Mention the 'pread' module.
68251 2010-05-04  Eric Blake  <eblake@redhat.com>
68253         docs: update cygwin progress
68254         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
68255         this bug.
68256         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
68257         Added in cygwin 1.7.2.
68258         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
68259         Likewise.
68260         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
68261         Likewise.
68262         * doc/glibc-functions/dup3.texi (dup3): Likewise.
68263         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
68264         * doc/glibc-functions/accept4.texi (accept4): Likewise.
68265         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
68266         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
68267         Mention nproc module.
68268         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
68269         bug in cygwin 1.7.5 addition.
68270         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
68271         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
68272         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
68273         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
68274         1.7.5.
68275         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
68276         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
68277         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
68278         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
68279         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
68280         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
68281         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
68282         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
68283         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
68284         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
68285         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
68286         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
68287         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
68288         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
68289         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
68290         Likewise.
68291         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
68292         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
68293         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
68294         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
68295         Likewise.
68296         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
68297         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
68298         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
68299         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
68300         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
68301         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
68302         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
68303         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
68304         Likewise.
68305         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
68306         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
68307         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
68308         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
68309         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
68310         Likewise.
68311         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
68312         Likewise.
68313         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
68314         Likewise.
68315         * doc/glibc-functions/xdrrec_endofrecord.texi
68316         (xdrrec_endofrecord): Likewise.
68317         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
68318         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
68319         Likewise.
68320         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
68321         Likewise.
68323 2010-05-04  Jim Meyering  <meyering@redhat.com>
68325         gendocs.sh: make its "-s FILE" option more useful
68326         * build-aux/gendocs.sh: When honoring the -s FILE option, update
68327         $PACKAGE to reflect the probably-different basename of "FILE".
68329 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
68331         bootstrap: don't ignore download_po_files failure
68332         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
68333         failure.
68335 2010-05-03  Jim Meyering  <meyering@redhat.com>
68337         maint.mk: allow to pass options to gendocs.sh
68338         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
68339         (gendocs_options_): New overridable variable.
68341         gnu-web-doc-update: don't ignore configure or build failure
68342         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
68344         announce-gen: backslash-escape '@'s in --help output
68345         * build-aux/announce-gen: Fix syntax errors.
68347         maint.mk, announce-gen: allow project-specific announcement mail headers
68348         * top/maint.mk (translation_project_): Define default.
68349         (announcement_Cc_, announcement_mail_headers_): Likewise.
68350         (announcement): Invoke announce-gen with new --mail-headers option.
68351         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
68353         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
68354         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
68355         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
68356         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
68357         line in the "err2" output file when running "make check" in verbose
68358         mode (i.e., with set -x enabled).
68360 2010-05-03  Bruno Haible  <bruno@clisp.org>
68362         wctob: Fix for weird platforms.
68363         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
68364         argument value.
68366 2010-05-03  Jim Meyering  <meyering@redhat.com>
68368         maint.mk: prohibit unwarranted use of <strings.h>
68369         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
68370         strings.h in a file that does not also use strcasecmp, strncasecmp,
68371         ffs or ffsll.
68373         maint.mk: remove obsolete comments
68374         * top/maint.mk: Remove stale, commented-out rules.
68376 2010-05-02  Bruno Haible  <bruno@clisp.org>
68378         wcwidth: Declare also when it's aliased.
68379         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
68380         macro.
68382 2010-05-02  Bruno Haible  <bruno@clisp.org>
68384         Fix regression from 2010-04-25.
68385         * gnulib-tool (func_modules_transitive_closure): Check the status of
68386         all modules, not only of the tests that are of the form foo-tests where
68387         foo is a module.
68389 2010-05-02  Bruno Haible  <bruno@clisp.org>
68391         wctob: Work around nasty Cygwin 1.7.2 bug.
68392         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
68393         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
68395 2010-05-01  Bruno Haible  <bruno@clisp.org>
68397         fpurge: Sharper test.
68398         * tests/test-fpurge.c (main): Add one more ftell check.
68399         * modules/fpurge-tests (Depends-on): Add ftell.
68400         Suggested by Eric Blake.
68402 2010-05-01  Bruno Haible  <bruno@clisp.org>
68404         ftello: Another test.
68405         * tests/test-ftello3.c: New file.
68406         * modules/ftello-tests (Files): Add it.
68407         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68408         MOSTLYCLEANFILES.
68410         ftell: Another test.
68411         * tests/test-ftell3.c: New file.
68412         * modules/ftell-tests (Files): Add it.
68413         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
68414         MOSTLYCLEANFILES.
68416 2010-05-01  Bruno Haible  <bruno@clisp.org>
68418         ftell, ftello: Work around Solaris bug.
68419         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
68420         * lib/ftello.c: Include stdio-impl.h.
68421         (ftello): On Solaris, when _IOWRT is set, compute the result without
68422         looking at _IOREAD.
68423         * modules/ftello (Files): Add lib/stdio-impl.h.
68424         * doc/posix-functions/ftell.texi: Mention Solaris bug.
68425         * doc/posix-functions/ftello.texi: Likewise.
68426         Reported by Eric Blake.
68428 2010-05-01  Bruno Haible  <bruno@clisp.org>
68430         freading: Adapt to special meaning of _IOREAD flag on Solaris.
68431         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
68432         the _IOWRT flag is also set.
68434 2010-05-01  Bruno Haible  <bruno@clisp.org>
68436         Fix doc about a HP-UX stdio bug.
68437         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
68438         * doc/posix-functions/ftello.texi: Likewise.
68440 2010-05-01  Bruno Haible  <bruno@clisp.org>
68442         lseek test: Fix failure on Solaris.
68443         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
68444         output.
68446 2010-04-30  Jim Meyering  <meyering@redhat.com>
68448         bootstrap: don't ignore failure to generate po*/Makevars
68449         * build-aux/bootstrap (with_gettext): Don't ignore failure
68450         to create po/Makevars or runtime-po/Makevars.
68452 2010-04-29  Eric Blake  <eblake@redhat.com>
68454         headers: relax license to LGPLv2+
68455         * modules/fcntl-h (License): Relax license.
68456         * modules/getopt-posix (License): Likewise.
68457         * modules/locale (License): Likewise.
68458         * modules/math (License): Likewise.
68459         * modules/pty (License): Likewise.
68460         * modules/sched (License): Likewise.
68461         * modules/search (License): Likewise.
68462         * modules/spawn (License): Likewise.
68463         * modules/stdarg (License): Likewise.
68464         * modules/sysexits (License): Likewise.
68466 2010-04-29  Jim Meyering  <meyering@redhat.com>
68468         inttypes: relax license to LGPLv2+
68469         * modules/inttypes (License): Relax license.
68471 2010-04-29  Simon Josefsson  <simon@josefsson.org>
68473         * top/maint.mk (indent): Run twice to produce idempotent results.
68475 2010-04-28  Bruno Haible  <bruno@clisp.org>
68477         getdate: Generate getdate.c in the source directory.
68478         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
68479         MOSTLYCLEANFILES.
68480         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
68482 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
68484         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
68485         is not declared as a const *; avoid warnings in that case.
68487 2010-04-28  Eric Blake  <eblake@redhat.com>
68489         canonicalize-lgpl: avoid compiler warning
68490         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
68491         declaration' / 'extraneous semicolon' warning with some compilers.
68492         Reported by Andreas Gruenbacher.
68494 2010-04-28  Jim Meyering  <meyering@redhat.com>
68496         init.sh: ensure a more reliable exit status when exiting via trap
68497         * tests/init.sh (setup_): Don't rely on $? in signal handler.
68498         Inspired by patches from Dmitry V. Levin.
68499         Also trap on signal 3 (SIGQUIT).
68501 2010-04-27  Bruno Haible  <bruno@clisp.org>
68503         Update doc about utimes().
68504         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
68505         'utimens' module.
68506         Reported by Andreas Gruenbacher <agruen@suse.de>.
68508 2010-04-27  Eric Blake  <eblake@redhat.com>
68510         full-read, full-write: relax license
68511         * modules/full-read (License): Drop to LGPLv2+.
68512         * modules/full-write (License): Likewise.
68513         * modules/safe-read (License): Likewise.
68514         * modules/safe-write (License): Likewise.
68516         pthread: mention library for linking
68517         * modules/pthread (Link): Mention $(LIB_PTHREAD).
68519 2010-04-27  Jim Meyering  <meyering@redhat.com>
68521         maint.mk: fix a bug introduced in last change
68522         * top/maint.mk (gl_assured_headers_): Now that all names are on
68523         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
68524         is not anchored to end of word, it should be adequate.
68526         maint.mk: avoid side-effect in latest syntax-check
68527         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
68528         to run commands via $(shell...), and hence to incur cost only when
68529         the new rule is actually run.
68531         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
68532         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
68533         and use that to create a regexp used to detect all #if HAVE_..._H uses.
68534         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
68535         (gl_assured_headers_, az_, AZ_): Define.
68536         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
68538 2010-04-26  Jim Meyering  <jim@meyering.net>
68539             Bruno Haible  <bruno@clisp.org>
68541         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
68542         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
68543         Prompted by an exchange with Gilles Espinasse.
68545 2010-04-26  Jim Meyering  <meyering@redhat.com>
68547         git-version-gen: aesthetic tweak
68548         * build-aux/git-version-gen: Use "$nl" rather than a literal,
68549         so that the command remains on a single line.
68551 2010-04-26  Eric Blake  <eblake@redhat.com>
68553         git-version-gen: allow use on EBCDIC hosts
68554         * build-aux/git-version-gen (dirty): Use literal rather than tying
68555         ourselves to ascii.
68556         Reported by Steve Goetze.
68558 2010-04-25  Bruno Haible  <bruno@clisp.org>
68560         netdb: Add support for GNULIB_POSIXCHECK.
68561         * lib/netdb.in.h: Include warn-on-use.h.
68562         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
68563         functions are used when GNULIB_POSIXCHECK is defined and the
68564         getaddrinfo module is not in use.
68565         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
68566         freeaddrinfo, gai_strerror, getnameinfo are declared.
68567         * modules/netdb (Depends-on): Add warn-on-use.
68568         (Makefile.am): Include warn-on-use.h in netdb.h.
68570 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
68572         build: avoid "make check" failure without .git/ directory
68573         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
68574         there is no .git/ directory.
68576 2010-04-25  Bruno Haible  <bruno@clisp.org>
68578         ptsname: Fix misuse of ttyname_r.
68579         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
68580         of errno.
68582 2010-04-25  Bruno Haible  <bruno@clisp.org>
68584         ttyname_r: Make it work on Solaris 10.
68585         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
68586         if the system function has the POSIX declaration. Test whether the
68587         function fails if the buffer is less than 128 bytes large.
68588         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
68589         system's ttyname_r function. Provide a reasonably large buffer.
68590         * modules/ttyname_r (Depends-on): Add extensions.
68591         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
68593 2010-04-25  Bruno Haible  <bruno@clisp.org>
68595         Use the 'extensions' module for some more functions on Solaris.
68596         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
68597         module.
68598         * doc/posix-functions/ctime_r.texi: Likewise.
68599         * doc/posix-functions/getgrgid_r.texi: Likewise.
68600         * doc/posix-functions/getgrnam_r.texi: Likewise.
68601         * doc/posix-functions/getpwnam_r.texi: Likewise.
68602         * doc/posix-functions/getpwuid_r.texi: Likewise.
68603         * doc/posix-functions/readdir_r.texi: Likewise.
68604         * doc/posix-functions/sigwait.texi: Likewise.
68605         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
68606         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
68608 2010-04-25  Bruno Haible  <bruno@clisp.org>
68610         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
68611         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
68612         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
68613         * lib/ttyname_r.c: Include <limits.h>.
68614         (ttyname_r): Define using the system's ttyname_r function, if it exists
68615         and not on Solaris.
68616         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
68617         set.
68618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
68619         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
68620         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
68621         Reported by Simon Josefsson.
68623 2010-04-25  Bruno Haible  <bruno@clisp.org>
68625         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
68626         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
68627         * doc/posix-functions/ctime_r.texi: Likewise.
68628         * doc/posix-functions/getgrgid_r.texi: Likewise.
68629         * doc/posix-functions/getgrnam_r.texi: Likewise.
68630         * doc/posix-functions/getlogin_r.texi: Likewise.
68631         * doc/posix-functions/getpwnam_r.texi: Likewise.
68632         * doc/posix-functions/getpwuid_r.texi: Likewise.
68633         * doc/posix-functions/readdir_r.texi: Likewise.
68634         * doc/posix-functions/sigwait.texi: Likewise.
68635         * doc/posix-functions/ttyname_r.texi: Likewise.
68636         Reported by Simon Josefsson.
68638 2010-04-25  Bruno Haible  <bruno@clisp.org>
68640         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
68641         * gnulib-tool (func_usage): Document that --with-*-tests options apply
68642         also to --create-testdir.
68643         (func_acceptable): Don't consider the status of *-tests modules here.
68644         (func_modules_transitive_closure): Consider it here, before including a
68645         test module.
68646         (func_import, func_create_testdir): Set inc_all_direct_tests,
68647         inc_all_indirect_tests.
68648         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
68649         --create-testdir and --create-megatestdir.
68651 2010-04-25  Bruno Haible  <bruno@clisp.org>
68653         gnulib-tool: Add --without-*-tests options.
68654         * gnulib-tool (func_usage): Document the --without-*-tests options.
68655         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
68656         excl_unportable_tests): New variables.
68657         Fail if they are specified with --import or --update.
68658         (func_acceptable): Respect the excl_*_tests variables.
68659         (func_import): Set the excl_*_tests variables to empty.
68661 2010-04-25  Simon Josefsson  <simon@josefsson.org>
68662             Bruno Haible  <bruno@clisp.org>
68664         Work around a MacOS X 10.4 bug with openpty.
68665         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
68666         * tests/test-openpty.c (main): Close the master side explicitly.
68668 2010-04-25  Bruno Haible  <bruno@clisp.org>
68670         strnlen: Fix a C++ test error on MacOS X and Solaris.
68671         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
68672         the function is not declared.
68673         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
68674         Simon Josefsson.
68676 2010-04-24  Bruno Haible  <bruno@clisp.org>
68678         Avoid a gcc warning.
68679         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
68680         of correct type for %08lx directive.
68681         Reported by Eric Blake.
68683 2010-04-24  Bruno Haible  <bruno@clisp.org>
68685         vasnprintf: Correct errno value in case of out-of-memory.
68686         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
68687         or sprintf. Use the errno value from SNPRINTF or sprintf.
68688         Reported by Ian Beckwith <ianb@erislabs.net>.
68690 2010-04-24  Bruno Haible  <bruno@clisp.org>
68692         ansi-c++-opt: Find correct compiler when cross-compiling.
68693         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
68694         AC_CHECK_PROGS.
68695         Reported by Simon Josefsson.
68697 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
68699         vc-list-files: Add support for subversion
68700         * build-aux/vc-list-files: Use "svn list" to generate the list of
68701         files controlled by subversion.
68703 2010-04-23  Jim Meyering  <meyering@redhat.com>
68705         vc-list-files tests: convert to use init.sh
68706         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
68707         path_prepend_.
68708         Use Exit, not exit.
68709         Use skip_ rather than open coding it.
68710         Remove trap set-up and compare definitions.
68711         * tests/test-vc-list-files-git.sh: Likewise.
68712         * modules/vc-list-files-tests (Files): Add tests/init.sh.
68714 2010-04-22  Simon Josefsson  <simon@josefsson.org>
68716         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
68717         backup files.
68719 2010-04-21  Simon Josefsson  <simon@josefsson.org>
68721         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
68723 2010-04-20  Eric Blake  <eblake@redhat.com>
68725         tests: be robust to ignored SIGPIPE
68726         * tests/test-select-in.sh: Consume all output.
68727         * tests/test-lseek.sh: Check correct exit status, while avoiding
68728         EPIPE.
68730 2010-04-20  Simon Josefsson  <simon@josefsson.org>
68731             Bruno Haible  <bruno@clisp.org>
68733         visibility: Don't use -fvisibility if it leads to a warning.
68734         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
68735         yes, don't pretend that visibility works if it leads to a warning.
68736         Reported by Mike Gran <spk121@yahoo.com>.
68738 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
68740         * build-aux/bootstrap: Use "git -h" for testing for supported options
68741         instead of "git --help".  The short-form option only shows a summary,
68742         and doesn't layout the full man page.  Grep for the full option name
68743         in the summary, too.
68745 2010-04-19  Bruno Haible  <bruno@clisp.org>
68747         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
68748         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
68749         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
68750         mention of RELOCATABLE_STRIP.
68751         Reported by Sylvain Beucler <beuc@beuc.net>.
68753 2010-04-19  Bruno Haible  <bruno@clisp.org>
68755         * lib/diffseq.h: Fix typo in comment.
68756         Reported by Eric Blake.
68758 2010-04-19  Bruno Haible  <bruno@clisp.org>
68760         ioctl: Move autoconf macro to a .m4 file.
68761         * m4/ioctl.m4: New file, extracted from modules/ioctl.
68762         * modules/ioctl (Files): Add it.
68763         (configure.ac): Simply invoke gl_FUNC_IOCTL.
68764         Reported by Ian Beckwith <ianb@erislabs.net>.
68766 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
68767             Bruno Haible  <bruno@clisp.org>
68769         diffseq: Accommodate use-case with abstract arrays.
68770         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
68771         is not defined.
68772         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
68773         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
68775 2010-04-18  Bruno Haible  <bruno@clisp.org>
68777         * doc/posix-headers/stdbool.texi: More precise wording.
68779 2010-04-17  Jim Meyering  <meyering@redhat.com>
68781         maint.mk: use gnu-style indentation in an embedded perl script
68782         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
68783         Rename variable: s/two/last_two_bytes/
68785 2010-04-16  Eric Blake  <eblake@redhat.com>
68787         test-stdbool: skip test that fails with Solaris CC
68788         * tests/test-stdbool.c (f): Skip test that causes compilation
68789         error under buggy C++ compiler.
68790         * lib/stdbool.in.h: Document the limitation.
68791         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
68793         setenv: allow compilation with C++
68794         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
68795         register keyword.
68797         stdint: allow test to pass with C++
68798         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
68800         getopt: allow compilation with C++
68801         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
68802         struct.
68803         * lib/getopt.c (_getopt_internal_r): Use correct type.
68804         Reported by Dagobert Michelson, via Joel E. Denny.
68806 2010-04-16  Bruno Haible  <bruno@clisp.org>
68808         Override netdb.h always.
68809         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
68810         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
68811         Reported by Ludovic Courtès <ludo@gnu.org>.
68813 2010-04-15  Bruno Haible  <bruno@clisp.org>
68815         openpty: Fix mistake from 2010-03-21.
68816         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
68817         Reported by Simon Josefsson.
68819 2010-04-15  Eric Blake  <eblake@redhat.com>
68821         test-forkpty: fix expected signature
68822         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
68823         Reported by Simon Josefsson.
68825 2010-04-15  Jim Meyering  <meyering@redhat.com>
68827         maint.mk: texinfo_suffix_re_: correct the default regexp
68828         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
68830         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
68831         make it configurable via texinfo_suffix_re_.
68833 2010-04-14  Eric Blake  <eblake@redhat.com>
68835         strtok_r: relax license to LGPLv2+
68836         * modules/strtok_r (License): Relax license.
68837         Reported by Matthias Bolte.
68839 2010-04-14  Simon Josefsson  <simon@josefsson.org>
68841         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
68842         version 1.4.4 by default instead of requiring the libgcrypt
68843         version used during build.  This makes it possible to use the
68844         application with older but still binary compatible libgcrypt
68845         versions.
68847 2010-04-13  Eric Blake  <eblake@redhat.com>
68849         getopt-gnu: match recent glibc fixes and posix ruling
68850         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
68851         '+' handling, when requesting extensions.
68852         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
68853         'W;' handling.
68854         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
68855         * doc/posix-functions/getopt.texi (getopt): Document this.
68856         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68857         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68858         Likewise.
68860         getopt: merge bug fixes from glibc
68861         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
68862         diagnostics.  Honor '+:' correctly.  Reject ';'.
68864         getopt-posix: detect MacOS bug
68865         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
68866         optind when missing a required argument.
68867         * doc/posix-functions/getopt.texi (getopt): Document the bug.
68868         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
68869         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
68870         Likewise.
68872         getopt-posix: avoid spurious failure on Solaris
68873         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
68874         an indicator that setting optind=1 is sufficient for reset.
68876         getopt-posix: avoid spurious failure on FreeBSD
68877         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
68878         in POSIX mode, since the m4 test uses it.
68880         gnulib-tool: silence warning on BSD sh
68881         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
68883 2010-04-13  Jim Meyering  <meyering@redhat.com>
68885         doc: users.txt: GNU patch now uses gnulib
68886         * users.txt: Add patch.
68888 2010-04-12  Jim Meyering  <meyering@redhat.com>
68890         maint.mk: generate more concise timing data for syntax-check rules
68891         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
68892         " done" from each line that reports a syntax-check test duration.
68894 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
68896         git-version-gen: use "git update-index..." rather than "git status"
68897         * build-aux/git-version-gen: Use git update-index --refresh, not
68898         "git status".  With some versions of git, "git status" would fail
68899         to update the index and result in an unwarranted "-dirty" suffix.
68901 2010-04-11  Jim Meyering  <meyering@redhat.com>
68903         openat: correct formatting (no semantic change)
68904         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
68905         Suggested by Bruno Haible.
68907 2010-04-11  Bruno Haible  <bruno@clisp.org>
68909         Stricter declaration checking in testdirs.
68910         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68911         If for_tests is true, augment AM_CPPFLAGS to define
68912         GNULIB_STRICT_CHECKING.
68913         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
68914         GNULIB_STRICT_CHECKING is defined, verify that the function is
68915         declared.
68917 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
68918             Bruno Haible  <bruno@clisp.org>
68920         libunistring: Improve configure output.
68921         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
68922         Don't say "consider installing GNU libunistring" when checking again
68923         with libiconv.
68925 2010-04-11  Bruno Haible  <bruno@clisp.org>
68927         libunistring: Correct value of $LTLIBUNISTRING.
68928         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
68929         correct the value of $LTLIBUNISTRING.
68931 2010-04-11  Bruno Haible  <bruno@clisp.org>
68933         havelib: Add static libraries to LIBS in the right order.
68934         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
68935         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
68937 2010-04-11  Bruno Haible  <bruno@clisp.org>
68939         libunistring: Detect libunistring also when it depends on libiconv.
68940         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
68941         the second AC_LIB_HAVE_LINKFLAGS invocation.
68943 2010-04-11  James Youngman  <jay@gnu.org>
68945         close-stream: declare local scalars to be "const"
68946         * lib/close-stream.c (close_stream): Make boolean variables const
68947         to document the fact that we set but do not change them.
68949 2010-04-11  Bruno Haible  <bruno@clisp.org>
68951         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
68953 2010-04-11  Jim Meyering  <meyering@redhat.com>
68955         maint.mk: don't include dist-check.mk
68956         * top/maint.mk: Remove bogus include directive.
68958         maint.mk: improve empty-line-at-EOF check
68959         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
68960         solution, rather than tail+Perl-based one.  The latter would read
68961         a few kilobytes from the end of each file, and did not handle empty
68962         files properly.
68964         maint.mk: print the elapsed time for each syntax-check rule
68965         * top/maint.mk (sc_m_rules_): Save start time in a file.
68966         (sc_z_rules_): New rules: remove temp file and print elapsed time.
68967         (local-check): Interpose the .z rules
68969 2010-04-11  Jim Meyering  <meyering@redhat.com>
68971         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
68972         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
68973         empty file with one that ends in an empty line.
68975 2010-04-10  Bruno Haible  <bruno@clisp.org>
68977         mkdir: Make it work on mingw64.
68978         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
68979         * lib/mkdir.c: Update comment.
68980         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
68982 2010-04-10  Bruno Haible  <bruno@clisp.org>
68984         Don't override improved macro from newer autoconf.
68985         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
68986         autoconf >= 2.62.
68987         Reported by Joel E. Denny <jdenny@clemson.edu>.
68989 2010-04-10  Jim Meyering  <meyering@redhat.com>
68991         maint.mk: new syntax-check rule: prohibit empty lines at end of file
68992         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
68994         maint.mk: correct a diagnostic
68995         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
68996         in diagnostic; now use $prohibit.
68998 2010-04-10  Bruno Haible  <address@hidden>
69000         fchownat: Fix a C++ test error on Solaris 8.
69001         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
69002         the function does not exist.
69004 2010-04-10  Bruno Haible  <bruno@clisp.org>
69006         vasnprintf: Add more tests.
69007         * tests/test-vasnprintf-posix.c: Include <errno.h>.
69008         (test_function): Test converting an invalid wide string.
69010         vasnprintf: Correct handling of unconvertible wide string arguments.
69011         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
69012         VASNPRINTF.
69013         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
69014         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
69015         smaller than the expected maximum need for the directive. Set errno to
69016         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
69017         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
69018         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
69019         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
69020         * modules/vasnprintf (Files): Add m4/printf.m4.
69021         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69023 2010-04-10  Bruno Haible  <bruno@clisp.org>
69025         vasnprintf: Fix crash in %ls directive.
69026         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
69027         string is passed as argument to %ls, with no precision and no width.
69028         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69030 2010-04-10  Bruno Haible  <bruno@clisp.org>
69032         vasnprintf: Fix multiple test failures on mingw.
69033         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
69034         _snprintf, or snwprintf, not _snwprintf.
69036 2010-04-10  Bruno Haible  <bruno@clisp.org>
69038         write: Fix a C++ test error on mingw.
69039         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
69041 2010-04-10  Bruno Haible  <bruno@clisp.org>
69043         vasnprintf test: Reduce code duplication.
69044         * tests/test-vasnprintf.c (test_function): New function, extracted from
69045         test_vasnprintf.
69046         (test_vasnprintf, test_asnprintf): Invoke it.
69048 2010-04-10  Bruno Haible  <bruno@clisp.org>
69050         strnlen: Fix warning in C++ mode on MacOS X.
69051         * lib/string.in.h (strnlen): Use the modern idiom.
69052         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
69053         defining strnlen as a macro already in <config.h>.
69054         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69055         REPLACE_STRNLEN.
69056         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
69057         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69059 2010-04-08  James Youngman  <jay@gnu.org>
69061         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
69062         the example.
69064 2010-04-09  Jim Meyering  <meyering@redhat.com>
69066         maint.mk: print better diagnostic when there is no $(_hv_file)
69067         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
69068         announce that when $(_hv_file) (aka help-version) does not exist.
69070         init.sh: run tr in the "C" locale to avoid multibyte interpretation
69071         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
69072         not try to interpret its random input bytes.  Jarno Rajahalme reported
69073         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
69074         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
69075         (mktempd_): Likewise, just in case.
69077         ftruncate: add two years to projected module removal date: 2012
69078         * m4/ftruncate.m4: Adjust comments.
69080         ftruncate: mark module as obsolete; even MinGW provides it, now
69081         * modules/ftruncate (Status): Obsolete.
69082         (Notice): Say that.
69083         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
69084         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
69086 2010-04-08  Bruno Haible  <bruno@clisp.org>
69088         Fix side effects from tests-related modules.
69089         * modules/dprintf-posix (Comment): New section.
69090         * modules/fprintf-posix (Comment): Likewise.
69091         * modules/obstack-printf-posix (Comment): Likewise.
69092         * modules/printf-posix (Comment): Likewise.
69093         * modules/snprintf-posix (Comment): Likewise.
69094         * modules/sprintf-posix (Comment): Likewise.
69095         * modules/vasnprintf-posix (Comment): Likewise.
69096         * modules/vasprintf-posix (Comment): Likewise.
69097         * modules/vdprintf-posix (Comment): Likewise.
69098         * modules/vfprintf-posix (Comment): Likewise.
69099         * modules/vprintf-posix (Comment): Likewise.
69100         * modules/vsnprintf-posix (Comment): Likewise.
69101         * modules/vsprintf-posix (Comment): Likewise.
69102         * modules/xprintf-posix (Comment): Likewise.
69103         * modules/xvasprintf-posix (Comment): Likewise.
69104         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
69105         * modules/floorf-tests (Depends-on): Likewise.
69106         * modules/round-tests (Depends-on): Likewise.
69107         * modules/roundf-tests (Depends-on): Likewise.
69108         * modules/trunc-tests (Depends-on): Likewise.
69109         * modules/truncf-tests (Depends-on): Likewise.
69110         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
69111         'fprintf-posix' module is not present.
69112         * tests/test-floorf2.c (check): Likewise.
69113         * tests/test-trunc2.c (check): Likewise.
69114         * tests/test-truncf2.c (check): Likewise.
69115         * tests/test-round2.c (equal): Likewise.
69116         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
69118 2010-04-07  Karl Berry  <karl@gnu.org>
69120         * config/srclist.txt,
69121         * config/srclistvars.sh,
69122         * config/srclist-update: doc fixes.
69124 2010-04-07  Jim Meyering  <meyering@redhat.com>
69126         maint.mk: add a PATH crosschecking syntax-check rule
69127         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
69128         Useful if you use a test like the one in help-version (coreutils,
69129         diffutils, grep, gzip) that ensures $(VERSION) matches what is
69130         printed by prog --version.
69132 2010-04-06  Bruno Haible  <bruno@clisp.org>
69134         Fix link error on mingw.
69135         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
69136         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
69138 2010-04-06  Bruno Haible  <bruno@clisp.org>
69140         Assume rmdir exists.
69141         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
69143 2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>
69145         doc: update users.txt
69146         * users.txt: Add gcal.
69148 2010-04-06  Jim Meyering  <meyering@redhat.com>
69150         init.sh: simply unset TMPDIR rather than risking env -i
69151         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
69152         although it probably works fine on all Unix-based systems, some
69153         systems (Cygwin?) cannot tolerate a totally cleared environment.
69154         Suggestion from Eric Blake.
69156 2010-04-06  Jim Meyering  <meyering@redhat.com>
69158         init.sh: portability fix: use env's POSIX-specified -i option not -u
69159         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
69160         than unportable env -u.  Solaris 5.11's env lacks support for -u.
69162 2010-04-05  Bruno Haible  <bruno@clisp.org>
69164         btowc: Work around Cygwin 1.7.2 bug.
69165         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
69166         does not map NUL to 0.
69167         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
69169 2010-04-05  Bruno Haible  <bruno@clisp.org>
69171         Make the multithread modules work on Cygwin 1.7.2.
69172         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
69173         imported symbols can be declared weak, so that it returns "no" on
69174         Cygwin 1.7.2.
69176 2010-04-05  Bruno Haible  <bruno@clisp.org>
69178         Use the module 'strncat'.
69179         * modules/unistr/u8-strncat (Depends-on): Add strncat.
69181         Tests for module 'strncat'.
69182         * modules/strncat-tests: New file.
69183         * tests/test-strncat.c: New file.
69185         New module 'strncat'.
69186         * lib/string.in.h (strncat): New declaration.
69187         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
69188         * m4/strncat.m4: New file, based on m4/memchr.m4.
69189         * modules/strncat: New file.
69190         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
69191         is declared.
69192         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
69193         REPLACE_STRNCAT.
69194         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
69195         REPLACE_STRNCAT.
69196         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
69197         module.
69198         * tests/test-string-c++.cc: Check signature of strncat.
69200 2010-04-05  Jim Meyering  <meyering@redhat.com>
69202         xstrtoumax-tests: convert to use init.sh
69203         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
69204         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69205         Use Exit, not exit.
69206         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69208         xstrtoimax-tests: convert to use init.sh
69209         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
69210         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69211         Use Exit, not exit.
69212         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69214 2010-04-05  Bruno Haible  <bruno@clisp.org>
69216         sys_socket: Avoid #define replacements in C++ mode.
69217         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
69218         warning to the function if possible, rather than #defining the symbol
69219         to a dysfunctional alias.
69221 2010-04-05  Bruno Haible  <bruno@clisp.org>
69223         fseeko: Fix C++ test error on mingw.
69224         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
69225         gl_FUNC_FSEEKO.
69226         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
69227         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
69228         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
69229         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
69231 2010-04-05  Bruno Haible  <bruno@clisp.org>
69233         duplocale: Improve test output.
69234         * tests/test-duplocale.c (main): Print reason for skipped test.
69236 2010-04-05  Bruno Haible  <bruno@clisp.org>
69238         Assume rmdir exists.
69239         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
69240         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
69242 2010-04-05  Bruno Haible  <bruno@clisp.org>
69244         Fix link error on Solaris 8 with cc.
69245         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
69247 2010-04-05  Bruno Haible  <bruno@clisp.org>
69249         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69250         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
69252 2010-04-05  Bruno Haible  <bruno@clisp.org>
69254         vasprintf: Update documentation.
69255         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
69257 2010-04-05  Bruno Haible  <bruno@clisp.org>
69259         ptsname: Improve test.
69260         * tests/test-ptsname.c (main): Also try the various master names of BSD
69261         systems.
69263 2010-04-05  Bruno Haible  <bruno@clisp.org>
69265         memchr: Avoid a possible C++ test error.
69266         * lib/string.in.h (memchr): Provide declaration if function is missing.
69267         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
69268         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
69269         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
69270         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
69272 2010-04-05  Bruno Haible  <bruno@clisp.org>
69274         strtok_r: Improve idiom.
69275         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
69276         AC_LIBOBJ is used.
69278 2010-04-05  Bruno Haible  <bruno@clisp.org>
69280         strdup: Improve idiom.
69281         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
69282         AC_LIBOBJ is used.
69283         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
69284         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
69285         when AC_LIBOBJ is used.
69287 2010-04-05  Bruno Haible  <bruno@clisp.org>
69289         mbsinit, mbrtowc, wcrtomb: Improve idioms.
69290         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
69291         don't set REPLACE_MBSINIT to 1.
69292         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
69293         don't set REPLACE_MBRTOWC to 1.
69294         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
69295         exist, don't set REPLACE_MBSRTOWCS to 1.
69296         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
69297         exist, don't set REPLACE_MBSNRTOWCS to 1.
69298         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
69299         don't set REPLACE_WCRTOMB to 1.
69300         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
69301         exist, don't set REPLACE_WCSRTOMBS to 1.
69302         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
69303         exist, don't set REPLACE_WCSNRTOMBS to 1.
69305 2010-04-05  Bruno Haible  <bruno@clisp.org>
69307         ldexpl: Improve idiom.
69308         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
69309         make sure to set HAVE_DECL_LDEXPL to 0.
69311 2010-04-05  Jim Meyering  <meyering@redhat.com>
69313         xstrtol-tests: convert to use init.sh
69314         * modules/xstrtol-tests (Files): Add tests/init.sh.
69315         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69316         Use Exit, not exit.
69317         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69319         atexit-tests: convert to use init.sh
69320         * modules/atexit-tests (Files): Add tests/init.sh.
69321         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
69322         Use Exit, not exit.
69323         Remove uses of $EXEEXT and "./" to run a program in the current dir.
69325         init.sh: fix typo
69326         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
69328         init.sh: make it easier for a test script to write to the tty, ...
69329         when using automake's parallel-tests mode.
69330         * tests/init.sh (stderr_fileno_): Define overridable variable.
69331         (warn_): New function, to use it.
69332         (fail_, skip_, framework_failure_): Use warn_.
69334 2010-04-04  Bruno Haible  <bruno@clisp.org>
69336         btowc: Avoid warning.
69337         * lib/btowc.c: Include <stdlib.h>.
69338         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
69340 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69341             Bruno Haible  <bruno@clisp.org>
69343         wchar: Port to NetBSD 1.5.
69344         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
69345         * lib/wctype.in.h (WEOF): Likewise.
69347 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
69348             Bruno Haible  <bruno@clisp.org>
69350         Port extended stdio to NetBSD 1.5.
69351         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
69352         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
69353         older.
69355 2010-04-04  Bruno Haible  <bruno@clisp.org>
69357         string: Remove unused substitution.
69358         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
69359         HAVE_DECL_STRERROR.
69360         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
69362 2010-04-04  Bruno Haible  <bruno@clisp.org>
69364         strtod: Avoid a possible C++ test error.
69365         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
69366         set REPLACE_STRTOD.
69368 2010-04-04  Bruno Haible  <bruno@clisp.org>
69370         strerror: Update documentation.
69371         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
69373 2010-04-04  Bruno Haible  <bruno@clisp.org>
69375         stdio: Fix some C++ test errors on Solaris 8 with GCC.
69376         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
69377         _GL_CXXALIAS_SYS_CAST.
69379 2010-04-04  Bruno Haible  <bruno@clisp.org>
69381         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
69382         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
69383         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
69384         REPLACE_FREXPL to 1.
69385         * doc/posix-functions/frexpl.texi: Update documentation.
69387 2010-04-04  Bruno Haible  <bruno@clisp.org>
69389         math: Fix some C++ test errors on Solaris 8 and Cygwin.
69390         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
69392 2010-04-04  Bruno Haible  <bruno@clisp.org>
69394         Implement nanosleep for native Windows.
69395         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
69397 2010-04-04  Bruno Haible  <bruno@clisp.org>
69399         math: Fix some C++ test errors on Solaris 8.
69400         * lib/math.in.h (truncf, trunc): Use simpler idiom.
69402 2010-04-04  Bruno Haible  <bruno@clisp.org>
69404         math: Fix some C++ test errors on Cygwin.
69405         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
69406         truncl): Provide declaration if the system does not have it.
69407         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
69408         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
69409         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
69410         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
69411         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
69412         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
69413         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
69414         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
69415         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
69416         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
69417         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
69418         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
69419         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
69420         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
69421         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
69422         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
69423         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
69424         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69425         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69426         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
69427         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
69428         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
69430 2010-04-04  Bruno Haible  <bruno@clisp.org>
69432         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
69433         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
69434         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
69435         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
69436         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
69437         * m4/isinf.m4 (gl_ISINF): Likewise.
69438         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
69440 2010-04-04  Bruno Haible  <bruno@clisp.org>
69442         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
69443         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
69445 2010-04-04  Bruno Haible  <bruno@clisp.org>
69447         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
69448         * modules/tmpfile (configure.ac): Update.
69450         tmpfile: Fix C++ test error on mingw.
69451         * lib/stdio.in.h (tmpfile): New declaration.
69452         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
69453         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
69454         * modules/tmpfile (Depends-on): Add stdio.
69455         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
69456         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
69457         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
69458         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
69459         REPLACE_TMPFILE.
69460         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
69462 2010-04-04  Bruno Haible  <bruno@clisp.org>
69464         ioctl: Fix C++ test error on mingw.
69465         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
69466         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
69467         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
69469 2010-04-03  Bruno Haible  <bruno@clisp.org>
69471         wcwidth: Fix C++ test error on mingw.
69472         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
69473         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
69474         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
69476 2010-04-03  Bruno Haible  <bruno@clisp.org>
69478         nanosleep: Fix C++ test error on mingw.
69479         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
69480         * lib/time.in.h (nanosleep): Use modern idiom.
69481         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
69482         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
69483         REPLACE_NANOSLEEP to 1.
69484         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
69485         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
69487 2010-04-03  Bruno Haible  <bruno@clisp.org>
69489         strptime: Fix C++ test error on mingw.
69490         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
69491         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
69492         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
69493         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
69494         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
69495         not REPLACE_STRPTIME.
69496         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
69497         REPLACE_STRPTIME.
69499 2010-04-03  Bruno Haible  <bruno@clisp.org>
69501         timegm: Fix C++ test error on mingw.
69502         * lib/time.in.h (timegm): Use modern idiom.
69503         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
69504         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
69505         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
69506         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
69508 2010-04-03  Bruno Haible  <bruno@clisp.org>
69510         timegm: Assume declaration if function exists.
69511         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
69512         if it exists. Don't clobber ac_cv_func_timegm.
69514 2010-04-03  Bruno Haible  <bruno@clisp.org>
69516         time_r: Fix C++ test error on mingw.
69517         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
69518         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
69519         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
69520         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
69521         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
69523 2010-04-03  Bruno Haible  <bruno@clisp.org>
69525         time_r: Minor updates.
69526         * modules/time_r (Description): Mention the provided functions.
69527         * lib/time_r.c: Don't include <string.h>.
69528         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
69529         * doc/posix-functions/localtime_r.texi: Likewise.
69531 2010-04-03  Bruno Haible  <bruno@clisp.org>
69533         time: Fix regression introduced on 2010-03-08.
69534         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
69535         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
69537 2010-04-03  Jim Meyering  <meyering@redhat.com>
69539         maint.mk: don't silently disable project-specific syntax-check rules
69540         * top/maint.mk (_prohibit_regexp): Define, to help people realize
69541         that they need to convert their project-specific syntax-check rules
69542         to use the new _sc_search_regexp.
69544 2010-04-03  Bruno Haible  <bruno@clisp.org>
69546         fchdir: Fix regression introduced on 2010-03-08.
69547         * lib/unistd.in.h (fchdir): Fix declaration.
69548         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
69549         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
69550         REPLACE_FCHDIR.
69551         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
69552         REPLACE_FCHDIR.
69554 2010-04-03  Bruno Haible  <bruno@clisp.org>
69556         getpagesize: Fix C++ test error on mingw.
69557         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
69558         system does not declare the function.
69559         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
69560         declared.
69561         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
69562         HAVE_DECL_GETPAGESIZE.
69563         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
69565 2010-04-03  Bruno Haible  <bruno@clisp.org>
69567         stdio: Make C++ tests work on mingw.
69568         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
69569         does not declare the function.
69571 2010-04-03  Bruno Haible  <bruno@clisp.org>
69573         ftello: Fix C++ test error on mingw.
69574         * lib/stdio.in.h (ftello): Use modern idiom.
69575         * lib/ftello.c (ftello): Renamed from rpl_ftello.
69576         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
69577         is missing and that it needs to be replaced.
69578         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
69579         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
69580         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
69582 2010-04-03  Bruno Haible  <bruno@clisp.org>
69584         fseeko: Fix C++ test error on mingw.
69585         * lib/stdio.in.h (fseeko): Use modern idiom.
69586         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
69587         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
69588         is missing and that it needs to be replaced.
69589         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
69590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
69591         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
69593 2010-04-03  Bruno Haible  <bruno@clisp.org>
69595         mkstemp: Fix C++ test error on mingw.
69596         * lib/stdlib.in.h (mkstemp): Use modern idiom.
69597         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
69598         function is missing and that it needs to be replaced.
69599         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
69600         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
69602 2010-04-03  Bruno Haible  <bruno@clisp.org>
69604         stpncpy: Fix C++ test error on mingw.
69605         * lib/string.in.h (stpncpy): Use modern idiom.
69606         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
69607         function is missing and that it needs to be replaced.
69608         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
69609         REPLACE_STPNCPY.
69610         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
69612 2010-04-03  Bruno Haible  <bruno@clisp.org>
69614         sys_stat: Fix C++ test error on mingw.
69615         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
69616         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
69618 2010-04-03  Bruno Haible  <bruno@clisp.org>
69620         pty: Update doc.
69621         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
69623 2010-04-03  Bruno Haible  <bruno@clisp.org>
69625         unistd: Fix C++ test error on mingw.
69626         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
69628 2010-04-03  Bruno Haible  <bruno@clisp.org>
69630         Update doc regarding mingw.
69631         * doc/glibc-functions/openpty.texi: Update regarding mingw.
69632         * doc/glibc-functions/login_tty.texi: Likewise.
69633         * doc/glibc-functions/forkpty.texi: Likewise.
69635 2010-04-03  Bruno Haible  <bruno@clisp.org>
69637         stdlib: Avoid compilation failure of c-strtold on mingw.
69638         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
69640 2010-04-03  Bruno Haible  <bruno@clisp.org>
69642         locale: Make C++ tests work on Cygwin and mingw.
69643         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
69644         cannot provide the function.
69645         Reported by Simon Josefsson.
69647 2010-04-03  Bruno Haible  <bruno@clisp.org>
69649         localename: Port to MacOS X 10.6.
69650         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
69651         memory layout of the locales in MacOS X 10.6 as well.
69652         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
69654 2010-04-02  Bruno Haible  <bruno@clisp.org>
69656         gnulib-tool: Ensure that long-running tests are executed last.
69657         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
69658         running tests after the one for the other tests.
69660 2010-04-02  Bruno Haible  <bruno@clisp.org>
69662         gnulib-tool: Ensure the tests in the main directory are executed first.
69663         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
69664         start with the current directory.
69666 2010-04-02  Bruno Haible  <bruno@clisp.org>
69668         Tests for module 'havelib', moved here from GNU gettext.
69669         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
69670         modifications.
69671         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
69672         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
69673         with modifications.
69674         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
69675         modifications.
69676         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
69677         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
69678         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
69679         with modifications.
69680         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
69681         with modifications.
69682         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
69683         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
69684         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
69685         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
69686         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
69687         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
69688         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
69689         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
69690         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
69691         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
69692         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
69693         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
69694         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
69695         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
69696         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
69697         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
69698         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
69699         with modifications.
69700         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
69701         with modifications.
69702         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
69703         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
69704         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
69705         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
69706         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
69707         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
69708         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
69709         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
69710         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
69711         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
69712         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
69713         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
69714         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
69715         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
69716         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
69717         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
69718         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
69719         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
69720         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
69721         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
69722         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
69723         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
69724         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
69725         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
69726         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
69727         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
69728         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
69729         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
69730         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
69731         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
69732         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
69733         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
69734         * tests/havelib/rpathx/rpathx.c: New file, from
69735         gettext/autoconf-lib-link.
69736         * tests/havelib/rpathx/Makefile.am: New file, from
69737         gettext/autoconf-lib-link.
69738         * tests/havelib/rpathx/configure.ac: New file, from
69739         gettext/autoconf-lib-link with modifications.
69740         * tests/havelib/rpathy/rpathy.c: New file, from
69741         gettext/autoconf-lib-link.
69742         * tests/havelib/rpathy/Makefile.am: New file, from
69743         gettext/autoconf-lib-link.
69744         * tests/havelib/rpathy/configure.ac: New file, from
69745         gettext/autoconf-lib-link with modifications.
69746         * tests/havelib/rpathz/rpathz.c: New file, from
69747         gettext/autoconf-lib-link.
69748         * tests/havelib/rpathz/Makefile.am: New file, from
69749         gettext/autoconf-lib-link.
69750         * tests/havelib/rpathz/configure.ac: New file, from
69751         gettext/autoconf-lib-link with modifications.
69752         * tests/havelib/rpathlx/usex.c: New file, from
69753         gettext/autoconf-lib-link.
69754         * tests/havelib/rpathlx/Makefile.am: New file, from
69755         gettext/autoconf-lib-link.
69756         * tests/havelib/rpathlx/configure.ac: New file, from
69757         gettext/autoconf-lib-link with modifications.
69758         * tests/havelib/rpathly/usey.c: New file, from
69759         gettext/autoconf-lib-link.
69760         * tests/havelib/rpathly/Makefile.am: New file, from
69761         gettext/autoconf-lib-link.
69762         * tests/havelib/rpathly/configure.ac: New file, from
69763         gettext/autoconf-lib-link with modifications.
69764         * tests/havelib/rpathlz/usez.c: New file, from
69765         gettext/autoconf-lib-link.
69766         * tests/havelib/rpathlz/Makefile.am: New file, from
69767         gettext/autoconf-lib-link.
69768         * tests/havelib/rpathlz/configure.ac: New file, from
69769         gettext/autoconf-lib-link with modifications.
69770         * tests/havelib/rpathlyx/usey.c: New file, from
69771         gettext/autoconf-lib-link.
69772         * tests/havelib/rpathlyx/Makefile.am: New file, from
69773         gettext/autoconf-lib-link.
69774         * tests/havelib/rpathlyx/configure.ac: New file, from
69775         gettext/autoconf-lib-link with modifications.
69776         * tests/havelib/rpathlzyx/usez.c: New file, from
69777         gettext/autoconf-lib-link.
69778         * tests/havelib/rpathlzyx/Makefile.am: New file, from
69779         gettext/autoconf-lib-link.
69780         * tests/havelib/rpathlzyx/configure.ac: New file, from
69781         gettext/autoconf-lib-link with modifications.
69782         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
69783         with modifications.
69785 2010-04-02  Bruno Haible  <bruno@clisp.org>
69787         gnulib-tool: Create distributed built sources also for the tests.
69788         * gnulib-tool (func_create_testdir): Also generate distributed built
69789         sources in the tests directory.
69791 2010-04-02  Bruno Haible  <bruno@clisp.org>
69793         gnulib-tool: Obey user's environment variables.
69794         * gnulib-tool (func_create_testdir): When creating built sources,
69795         respect the environment variables for autoconf, automake, etc. given by
69796         the user.
69798 2010-04-02  Bruno Haible  <bruno@clisp.org>
69800         gnulib-tool: Provide the value of --m4-base to modules.
69801         * gnulib-tool (func_import, func_create_testdir): Emit a definition
69802         of gl_m4_base.
69804 2010-04-02  Eric Blake  <eblake@redhat.com>
69806         maint.mk: fix some fallout
69807         * NEWS: Document the incompatible change, and its effect on cfg.mk.
69808         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
69810 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69812         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
69813         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
69814         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
69815         (sc_cast_of_x_alloc_return_value): Likewise.
69816         (sc_cast_of_alloca_return_value): Likewise.
69817         (sc_space_tab): Likewise.
69818         (sc_prohibit_atoi_atof): Likewise.
69819         (sc_prohibit_magic_number_exit): Likewise.
69820         (sc_error_exit_success): Likewise.
69821         (sc_file_system): Likewise.
69822         (sc_prohibit_have_config_h): Likewise.
69823         (sc_require_config_h): Likewise.
69824         (sc_prohibit_HAVE_MBRTOWC): Likewise.
69825         (sc_obsolete_symbols): Likewise.
69826         (sc_changelog): Likewise.
69827         (sc_program_name): Likewise.
69828         (sc_the_the): Likewise.
69829         (sc_trailing_blank): Likewise.
69830         (sc_two_space_separator_in_usage): Likewise.
69831         (sc_useless_cpp_parens): Likewise.
69832         (sc_GPL_version): Likewise.
69833         (sc_GFDL_version): Likewise.
69834         (sc_texinfo_acronym): Likewise.
69835         (sc_prohibit_cvs_keyword): Likewise.
69836         (sc_prohibit_stat_st_blocks): Likewise.
69837         (sc_prohibit_S_IS_definition): Likewise.
69838         (sc_redundant_const): Likewise.
69839         (sc_makefile_TAB_only_indentation): Likewise.
69840         (sc_m4_quote_check): Likewise.
69841         (sc_makefile_path_separator_check): Likewise.
69842         (sc_copyright_check): Likewise.
69843         (sc_Wundef_boolean): Likewise.
69844         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
69846         maint.mk: match 0 or more whitespace-before-function-call '('
69847         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
69848         that have zero or two-and-more spaces between the function name
69849         and the open parenthesis.
69850         (sc_error_message_warn_fatal): Likewise.
69851         (sc_error_message_uppercase): Likewise.
69852         (sc_error_message_period): Likewise.
69854 2010-03-31  Eric Blake  <eblake@redhat.com>
69856         maint.mk: check for [ as well as test
69857         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
69858         Based on a libvirt report by Matthias Bolte.
69860         gnumakefile: don't squelch _version output
69861         * top/GNUmakefile (_version): Create one-shot dependency rather
69862         than using $(shell) when version must be regenerated.
69863         (_autoreconf): Run verbosely, by default.
69865         sys_time: avoid compiler warnings
69866         * lib/sys_time.in.h (includes): Ensure gcc pragma is
69867         unconditional, fixing regression from 2010-03-29.
69868         Reported by Simon Josefsson.
69870 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
69872         maint.mk: s/_header_without_use/_sc_header_without_use/
69873         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
69874         (sc_prohibit_assert_without_use): Use the new name.
69875         (sc_prohibit_close_stream_without_use): Likewise.
69876         (sc_prohibit_getopt_without_use): Likewise.
69877         (sc_prohibit_quotearg_without_use): Likewise.
69878         (sc_prohibit_quote_without_use): Likewise.
69879         (sc_prohibit_long_options_without_use): Likewise.
69880         (sc_prohibit_inttostr_without_use): Likewise.
69881         (sc_prohibit_ignore_value_without_use): Likewise.
69882         (sc_prohibit_error_without_use): Likewise.
69883         (sc_prohibit_xalloc_without_use): Likewise.
69884         (sc_prohibit_hash_without_use): Likewise.
69885         (sc_prohibit_hash_pjw_without_use): Likewise.
69886         (sc_prohibit_safe_read_without_use): Likewise.
69887         (sc_prohibit_argmatch_without_use): Likewise.
69888         (sc_prohibit_canonicalize_without_use): Likewise.
69889         (sc_prohibit_root_dev_ino_without_use): Likewise.
69890         (sc_prohibit_openat_without_use): Likewise.
69891         (sc_prohibit_c_ctype_without_use): Likewise.
69892         (sc_prohibit_signal_without_use): Likewise.
69893         (sc_prohibit_intprops_without_use): Likewise.
69895 2010-03-30  Eric Blake  <eblake@redhat.com>
69897         maint: improve module indicators
69898         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
69899         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
69900         columns, and avoid extra macro expansion.
69902         fdopendir: work around FreeBSD bug
69903         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
69904         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
69905         * modules/dirent (Makefile.am): Substitute it.
69906         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
69907         declaration.
69908         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
69909         fix.
69910         Reported by Christian Weisgerber <naddy@mips.inka.de>.
69912 2010-03-29  Bruno Haible  <bruno@clisp.org>
69914         Emit #pragma system_header after the inclusion guard, not before.
69915         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
69916         guard that spans the entire file, not before. This enables an
69917         optimization in GCC's preprocessor.
69918         * lib/ctype.in.h: Likewise.
69919         * lib/dirent.in.h: Likewise.
69920         * lib/errno.in.h: Likewise.
69921         * lib/float.in.h: Likewise.
69922         * lib/getopt.in.h: Likewise.
69923         * lib/iconv.in.h: Likewise.
69924         * lib/langinfo.in.h: Likewise.
69925         * lib/locale.in.h: Likewise.
69926         * lib/math.in.h: Likewise.
69927         * lib/netdb.in.h: Likewise.
69928         * lib/netinet_in.in.h: Likewise.
69929         * lib/pty.in.h: Likewise.
69930         * lib/sched.in.h: Likewise.
69931         * lib/se-selinux.in.h: Likewise.
69932         * lib/search.in.h: Likewise.
69933         * lib/spawn.in.h: Likewise.
69934         * lib/stdarg.in.h: Likewise.
69935         * lib/stdint.in.h: Likewise.
69936         * lib/string.in.h: Likewise.
69937         * lib/strings.in.h: Likewise.
69938         * lib/sys_file.in.h: Likewise.
69939         * lib/sys_ioctl.in.h: Likewise.
69940         * lib/sys_time.in.h: Likewise.
69941         * lib/sys_times.in.h: Likewise.
69942         * lib/sys_utsname.in.h: Likewise.
69943         * lib/sys_wait.in.h: Likewise.
69944         * lib/sysexits.in.h: Likewise.
69945         * lib/wctype.in.h: Likewise.
69947 2010-03-28  James Youngman  <jay@gnu.org>
69949         save-cwd: don't leak a file descriptor when the caller execs.
69950         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
69951         saved file descriptor.
69952         * modules/save-cwd (Depends-on): Depend on cloexec.
69954 2010-03-29  Bruno Haible  <bruno@clisp.org>
69956         Remove vestiges of fts-lgpl module.
69957         * lib/fts_.h: Assume GNULIB_FTS is 1.
69958         * lib/fts.c: Likewise.
69959         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
69961 2010-03-28  Bruno Haible  <bruno@clisp.org>
69963         Fix definition of tests witness macro.
69964         * gnulib-tool (func_import): Fix definition of witness macro.
69966 2010-03-28  Bruno Haible  <bruno@clisp.org>
69968         Fix ioctl's protoype on glibc systems.
69969         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
69970         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
69971         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
69972         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
69973         signature. If not, arrange to replace the ioctl function.
69974         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
69975         REPLACE_IOCTL.
69976         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
69977         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
69978         Reported by Ludovic Courtès <ludo@gnu.org>.
69980 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
69982         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
69983         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
69984         made it so grep -r --include=GLOB* ... did not work.
69986 2010-03-26  Jim Meyering  <meyering@redhat.com>
69987             Eric Blake  <eblake@redhat.com>
69989         maint.mk: prohibit use of test's -o and -a operators
69990         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
69992 2010-03-28  Bruno Haible  <bruno@clisp.org>
69994         Remove unused GNULIB_XYZ macro definitions.
69995         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
69996         invocation.
69998 2010-03-28  Bruno Haible  <bruno@clisp.org>
70000         Mark privileged tests modules.
70001         * modules/idpriv-drop-tests (Status): New section.
70002         * modules/idpriv-droptemp-tests (Status): New section.
70004 2010-03-28  Bruno Haible  <bruno@clisp.org>
70006         Split C++ tests into separate tests modules.
70007         * modules/dirent-c++-tests: New file, extracted from
70008         modules/dirent-tests.
70009         * modules/dirent-tests: Depend on it.
70010         * modules/fcntl-h-c++-tests: New file, extracted from
70011         modules/fcntl-h-tests.
70012         * modules/fcntl-h-tests: Depend on it.
70013         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
70014         * modules/glob-tests: Depend on it.
70015         * modules/iconv-h-c++-tests: New file, extracted from
70016         modules/iconv-h-tests.
70017         * modules/iconv-h-tests: Depend on it.
70018         * modules/langinfo-c++-tests: New file, extracted from
70019         modules/langinfo-tests.
70020         * modules/langinfo-tests: Depend on it.
70021         * modules/locale-c++-tests: New file, extracted from
70022         modules/locale-tests.
70023         * modules/locale-tests: Depend on it.
70024         * modules/math-c++-tests: New file, extracted from modules/math-tests.
70025         * modules/math-tests: Depend on it.
70026         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
70027         * modules/pty-tests: Depend on it.
70028         * modules/search-c++-tests: New file, extracted from
70029         modules/search-tests.
70030         * modules/search-tests: Depend on it.
70031         * modules/signal-c++-tests: New file, extracted from
70032         modules/signal-tests.
70033         * modules/signal-tests: Depend on it.
70034         * modules/spawn-c++-tests: New file, extracted from
70035         modules/spawn-tests.
70036         * modules/spawn-tests: Depend on it.
70037         * modules/stdio-c++-tests: New file, extracted from
70038         modules/stdio-tests.
70039         * modules/stdio-tests: Depend on it.
70040         * modules/stdlib-c++-tests: New file, extracted from
70041         modules/stdlib-tests.
70042         * modules/stdlib-tests: Depend on it.
70043         * modules/string-c++-tests: New file, extracted from
70044         modules/string-tests.
70045         * modules/string-tests: Depend on it.
70046         * modules/sys_ioctl-c++-tests: New file, extracted from
70047         modules/sys_ioctl-tests.
70048         * modules/sys_ioctl-tests: Depend on it.
70049         * modules/sys_select-c++-tests: New file, extracted from
70050         modules/sys_select-tests.
70051         * modules/sys_select-tests: Depend on it.
70052         * modules/sys_socket-c++-tests: New file, extracted from
70053         modules/sys_socket-tests.
70054         * modules/sys_socket-tests: Depend on it.
70055         * modules/sys_stat-c++-tests: New file, extracted from
70056         modules/sys_stat-tests.
70057         * modules/sys_stat-tests: Depend on it.
70058         * modules/sys_time-c++-tests: New file, extracted from
70059         modules/sys_time-tests.
70060         * modules/sys_time-tests: Depend on it.
70061         * modules/time-c++-tests: New file, extracted from modules/time-tests.
70062         * modules/time-tests: Depend on it.
70063         * modules/unistd-c++-tests: New file, extracted from
70064         modules/unistd-tests.
70065         * modules/unistd-tests: Depend on it.
70066         * modules/wchar-c++-tests: New file, extracted from
70067         modules/wchar-tests.
70068         * modules/wchar-tests: Depend on it.
70069         * modules/wctype-c++-tests: New file, extracted from
70070         modules/wctype-tests.
70071         * modules/wctype-tests: Depend on it.
70072         Reported by Simon Josefsson.
70074 2010-03-28  Bruno Haible  <bruno@clisp.org>
70076         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
70077         * gnulib-tool (func_exists_module): New function, extracted from
70078         func_verify_module.
70079         (func_verify_module): Use it.
70080         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
70081         'foo' only if 'foo' exists.
70082         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
70083         module.
70085 2010-03-28  Bruno Haible  <bruno@clisp.org>
70087         gnulib-tool: Add support for special categories of tests.
70088         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
70089         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
70090         (func_usage): Document them.
70091         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
70092         inc_unportable_tests, inc_all_tests): New variables.
70093         (func_acceptable): Consider these variables.
70094         (func_modules_transitive_closure): Make it work when the 'Status' field
70095         consists of multiple words.
70096         (func_import): Store and restore the values of inc_cxx_tests,
70097         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
70098         inc_all_tests in gnulib-comp.m4.
70099         (func_create_testdir): Set inc_all_tests to true.
70100         * doc/gnulib.texi (Extra tests modules): New section.
70101         Suggested by Jim Meyering.
70103 2010-03-28  Bruno Haible  <bruno@clisp.org>
70105         ansi-c++-opt: Allow turning off the C++ build by default.
70106         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
70107         gl_CXX_CHOICE_DEFAULT_NO is defined.
70108         Requested by Eric Blake.
70110 2010-03-28  Bruno Haible  <bruno@clisp.org>
70112         unistd: Avoid #define replacements in C++ mode.
70113         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
70114         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
70115         setsockopt, shutdown, select): In C++, attach a warning to the function
70116         if possible, rather than #defining the symbol to a dysfunctional alias.
70117         Reported by John W. Eaton <jwe@gnu.org>.
70119 2010-03-28  Bruno Haible  <bruno@clisp.org>
70121         Fix link errors on mingw.
70122         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
70123         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
70124         $(LIBSOCKET).
70125         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
70126         $(LIBSOCKET).
70128 2010-03-28  Bruno Haible  <bruno@clisp.org>
70129             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70131         lib-ignore: Determine different options for different compilers.
70132         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
70133         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
70134         Add comments.
70135         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
70136         * NEWS: Mention the change.
70138 2010-03-27  Bruno Haible  <bruno@clisp.org>
70140         Remove unused GNULIB_XYZ macro definitions.
70141         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
70142         * modules/fseek (configure.ac): Likewise.
70143         * modules/ioctl (configure.ac): Likewise.
70144         * modules/open (configure.ac): Likewise.
70145         * modules/stdlib-safer (configure.ac): Likewise.
70147 2010-03-27  Bruno Haible  <bruno@clisp.org>
70149         Add a remark about certain modules.
70150         * modules/malloc (Comment): New section.
70151         * modules/realloc (Comment): Likewise.
70152         * modules/sigpipe (Comment): Likewise.
70154 2010-03-27  Bruno Haible  <bruno@clisp.org>
70156         Resolve conflict between the two kinds of module indicators.
70157         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
70158         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
70159         * modules/canonicalize (configure.ac): Invoke
70160         gl_MODULE_INDICATOR_FOR_TESTS.
70161         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
70162         GNULIB_XYZ.
70163         * tests/test-dirent-c++.cc: Likewise.
70164         * tests/test-dirent-safer.c: Likewise.
70165         * tests/test-dup2.c: Likewise.
70166         * tests/test-fchdir.c: Likewise.
70167         * tests/test-fcntl-h-c++.cc: Likewise.
70168         * tests/test-getopt.c: Likewise.
70169         * tests/test-getopt.h: Likewise.
70170         * tests/test-langinfo-c++.cc: Likewise.
70171         * tests/test-locale-c++.cc: Likewise.
70172         * tests/test-math-c++.cc: Likewise.
70173         * tests/test-pty-c++.cc: Likewise.
70174         * tests/test-search-c++.cc: Likewise.
70175         * tests/test-signal-c++.cc: Likewise.
70176         * tests/test-spawn-c++.cc: Likewise.
70177         * tests/test-stdio-c++.cc: Likewise.
70178         * tests/test-stdlib-c++.cc: Likewise.
70179         * tests/test-string-c++.cc: Likewise.
70180         * tests/test-sys_ioctl-c++.cc: Likewise.
70181         * tests/test-sys_select-c++.cc: Likewise.
70182         * tests/test-sys_socket-c++.cc: Likewise.
70183         * tests/test-sys_stat-c++.cc: Likewise.
70184         * tests/test-sys_time-c++.cc: Likewise.
70185         * tests/test-time-c++.cc: Likewise.
70186         * tests/test-unistd-c++.cc: Likewise.
70187         * tests/test-wchar-c++.cc: Likewise.
70188         * tests/uninorm/test-u8-nfc.c: Likewise.
70189         * tests/uninorm/test-u8-nfd.c: Likewise.
70190         * tests/uninorm/test-u8-nfkc.c: Likewise.
70191         * tests/uninorm/test-u8-nfkd.c: Likewise.
70192         * tests/uninorm/test-u16-nfc.c: Likewise.
70193         * tests/uninorm/test-u16-nfd.c: Likewise.
70194         * tests/uninorm/test-u16-nfkc.c: Likewise.
70195         * tests/uninorm/test-u16-nfkd.c: Likewise.
70196         * tests/uninorm/test-u32-nfc.c: Likewise.
70197         * tests/uninorm/test-u32-nfc-big.c: Likewise.
70198         * tests/uninorm/test-u32-nfd.c: Likewise.
70199         * tests/uninorm/test-u32-nfd-big.c: Likewise.
70200         * tests/uninorm/test-u32-nfkc.c: Likewise.
70201         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
70202         * tests/uninorm/test-u32-nfkd.c: Likewise.
70203         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
70204         * tests/uninorm/test-u32-normalize-big.c: Likewise.
70206 2010-03-27  Bruno Haible  <bruno@clisp.org>
70208         Distinguish two kinds of module indicators.
70209         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
70210         gl_MODULE_INDICATOR.
70211         (gl_MODULE_INDICATOR): New macro.
70212         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
70213         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
70214         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70215         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70216         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70217         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70218         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70219         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70220         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70221         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70222         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70223         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70225         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70226         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70227         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70228         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70229         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70230         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70231         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70232         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70233         * modules/cloexec (configure.ac): Likewise.
70234         * modules/getopt-gnu (configure.ac): Likewise.
70235         * modules/uninorm/u8-normalize (configure.ac): Likewise.
70236         * modules/uninorm/u16-normalize (configure.ac): Likewise.
70237         * modules/uninorm/u32-normalize (configure.ac): Likewise.
70238         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
70240 2010-03-27  Bruno Haible  <bruno@clisp.org>
70242         New module description field 'Comment'.
70243         * gnulib-tool: New option --extract-comment.
70244         (func_usage): Document it.
70245         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
70246         (func_get_comment): New function.
70247         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
70249 2010-03-27  Bruno Haible  <bruno@clisp.org>
70251         Addendum to 2010-02-07 commit.
70252         * gnulib-tool (func_usage): Document --extract-applicability option.
70254 2010-03-27  Bruno Haible  <bruno@clisp.org>
70256         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
70257         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
70258         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
70259         rather than link errors.
70261 2010-03-27  Bruno Haible  <bruno@clisp.org>
70263         Avoid side effects from tests-related modules on the compilation of lib.
70264         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
70265         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
70266         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
70267         parameter. Emit into AM_CPPFLAGS a definition of the designated C
70268         macro.
70269         (func_import): Define a witness macro. Assign it a value that depends
70270         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
70271         tests-related modules.
70272         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
70273         Reported by Jim Meyering.
70275 2010-03-27  Bruno Haible  <bruno@clisp.org>
70277         Factorize common .m4 code.
70278         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
70279         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
70280         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
70281         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
70282         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
70283         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
70284         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
70285         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
70286         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
70287         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
70288         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
70289         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
70290         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
70291         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
70292         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
70293         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
70294         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
70295         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
70296         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
70297         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
70298         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
70299         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
70300         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
70301         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
70302         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
70303         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
70304         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
70305         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
70306         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
70307         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
70308         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
70309         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
70311 2010-03-27  Bruno Haible  <bruno@clisp.org>
70313         Fix a compilation error on Cygwin with g++ >= 4.3.
70314         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
70315         if it is undefined or if we alias it to chmod.
70316         (lstat): Don't warn about the use of this function if it is undefined
70317         or if we alias it to stat.
70318         Reported by Simon Josefsson.
70320 2010-03-27  Bruno Haible  <bruno@clisp.org>
70322         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
70323         * modules/getlogin (configure.ac): Update.
70325         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
70326         * modules/getlogin_r (configure.ac): Update.
70328         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
70329         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
70330         * modules/inet_ntop (configure.ac): Update.
70332         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
70333         * modules/inet_pton (configure.ac): Update.
70335         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
70336         * modules/mbslen (configure.ac): Update.
70338         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
70339         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
70340         * modules/forkpty (configure.ac): Update.
70341         * modules/openpty (configure.ac): Update.
70343 2010-03-26  Simon Josefsson  <simon@josefsson.org>
70345         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
70346         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
70348 2010-03-25  Eric Blake  <eblake@redhat.com>
70350         maint: use pragma consistently across replacement headers
70351         * lib/ctype.in.h (system_header): Hoist for consistent placement.
70352         * lib/dirent.in.h (system_header): Likewise.
70353         * lib/errno.in.h (system_header): Likewise.
70354         * lib/float.in.h (system_header): Likewise.
70355         * lib/getopt.in.h (system_header): Likewise.
70356         * lib/iconv.in.h (system_header): Likewise.
70357         * lib/inttypes.in.h (system_header): Likewise.
70358         * lib/langinfo.in.h (system_header): Likewise.
70359         * lib/locale.in.h (system_header): Likewise.
70360         * lib/math.in.h (system_header): Likewise.
70361         * lib/netdb.in.h (system_header): Likewise.
70362         * lib/netinet_in.in.h (system_header): Likewise.
70363         * lib/pty.in.h (system_header): Likewise.
70364         * lib/sched.in.h (system_header): Likewise.
70365         * lib/se-selinux.in.h (system_header): Likewise.
70366         * lib/search.in.h (system_header): Likewise.
70367         * lib/spawn.in.h (system_header): Likewise.
70368         * lib/stdarg.in.h (system_header): Likewise.
70369         * lib/stdint.in.h (system_header): Likewise.
70370         * lib/string.in.h (system_header): Likewise.
70371         * lib/strings.in.h (system_header): Likewise.
70372         * lib/sys_file.in.h (system_header): Likewise.
70373         * lib/sys_ioctl.in.h (system_header): Likewise.
70374         * lib/sys_socket.in.h (system_header): Likewise.
70375         * lib/sys_times.in.h (system_header): Likewise.
70376         * lib/sys_utsname.in.h (system_header): Likewise.
70377         * lib/sys_wait.in.h (system_header): Likewise.
70378         * lib/sysexits.in.h (system_header): Likewise.
70379         * lib/unistd.in.h (system_header): Likewise.
70380         * lib/wctype.in.h (system_header): Likewise.
70382         arpa/inet: fix mingw compilation warning
70383         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
70384         Reported by Matthew Bolte.
70386 2010-03-25  Bruno Haible  <bruno@clisp.org>
70388         Avoid collision between gnulib wrapper and libintl wrapper.
70389         * lib/printf.c (printf): Don't define if a printf wrapper is already
70390         defined in intl/printf.c.
70391         Reported by Michel Boaventura <michel@michelboaventura.com>.
70393 2010-03-25  Bruno Haible  <bruno@clisp.org>
70395         Use ANSI C.
70396         * lib/readutmp.h (getutent): Provide ANSI C prototype.
70398 2010-03-25  Bruno Haible  <bruno@clisp.org>
70400         Minor formatting changes.
70401         * lib/acosl.c: Insert space before function argument list.
70402         * lib/argz.c: Likewise.
70403         * lib/asinl.c: Likewise.
70404         * lib/expl.c: Likewise.
70405         * lib/gen-uni-tables.c: Likewise.
70406         * lib/gettext.h: Likewise.
70407         * lib/glthread/lock.h: Likewise.
70408         * lib/tanl.c: Likewise.
70409         * lib/uniname/uniname.c: Likewise.
70410         * tests/test-idpriv-drop.c: Likewise.
70411         * tests/test-idpriv-droptemp.c: Likewise.
70412         * tests/test-lock.c: Likewise.
70413         * tests/test-tls.c: Likewise.
70414         * lib/argp-help.c: Insert space before function-like macro argument
70415         list.
70416         * lib/memcmp.c: Likewise.
70417         * tests/test-base64.c: Likewise.
70418         * lib/localename.c: Insert space before sizeof's argument list.
70419         * lib/safe-alloc.h: Likewise.
70420         * lib/file-set.h: Insert space before macro argument list.
70421         * tests/test-argp.c: Likewise.
70422         * lib/argp-namefrob.h: Insert space before function parameter list.
70423         * lib/getaddrinfo.c: Likewise.
70424         * lib/netdb.in.h: Likewise.
70425         * lib/parse-duration.h: Likewise.
70426         * lib/parse-duration.c: Likewise.
70427         * lib/poll.c: Likewise.
70428         * lib/select.c: Likewise.
70429         * lib/trim.h: Likewise.
70430         * tests/test-usleep.c: Likewise.
70431         * lib/ldexpl.c: Insert space before function parameter list and before
70432         function argument list.
70433         * lib/logl.c: Likewise.
70434         * lib/sqrtl.c: Likewise.
70435         * lib/trim.c: Likewise.
70436         * lib/cosl.c: Use GNU style indentation. Insert space before function
70437         argument list.
70438         * lib/sinl.c: Likewise.
70439         * lib/tsearch.c: Insert space after 'for'.
70440         Reported by Jim Meyering.
70442 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
70444         * maint.mk (sc_Wundef_boolean): Check for the presence of the
70445         config header before grepping, as it's not present before
70446         autoreconf/configure are run.  Reported by Simon Josefsson.
70448 2010-03-23  Bruno Haible  <bruno@clisp.org>
70450         pt_chown: Make it work with automake < 1.11.
70451         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
70452         Reported by Simon Josefsson.
70454 2010-03-23  Bruno Haible  <bruno@clisp.org>
70456         pt_chown: Don't depend on GPLed modules.
70457         * lib/pt_chown.c: Don't include idpriv.h.
70458         (main): Don't drop privileges.
70459         * modules/pt_chown (Depends-on): Remove idpriv-drop.
70460         Reported by Simon Josefsson.
70462 2010-03-24  Simon Josefsson  <simon@josefsson.org>
70464         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
70465         suggestions from karl@freefriends.org (Karl Berry).
70467 2010-03-22  Eric Blake  <eblake@redhat.com>
70469         gethostname: further tweaks
70470         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
70471         are overriding gethostname.
70472         Suggested by Bruno Haible.
70474 2010-03-21  Bruno Haible  <bruno@clisp.org>
70476         Fix comments.
70477         * lib/forkpty.c (rpl_forkpty): Fix comment.
70478         * lib/openpty.c (rpl_openpty): Likewise.
70479         Reported by Eric Blake.
70481 2010-03-22  Eric Blake  <eblake@redhat.com>
70483         gethostname: fix build on mingw
70484         * lib/unistd.in.h (includes): Work around fact that mingw
70485         <winsock2.h> re-includes <unistd.h>, by avoiding any
70486         redeclarations if we are being included by <winsock2.h>.
70487         Reported by Matthias Bolte.
70489 2010-03-21  Bruno Haible  <bruno@clisp.org>
70491         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70492         * lib/forkpty.c (forkpty): New replacement function, from glibc with
70493         modifications.
70494         * lib/pty.in.h (forkpty): Update declaration. Add comments.
70495         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
70496         provide the replacement.
70497         * modules/forkpty (Depends-on): Add openpty, login_tty.
70498         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
70499         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
70500         * doc/glibc-functions/forkpty.texi: More supported platforms.
70501         * config/srclist.txt: Add forkpty.c (commented).
70503 2010-03-21  Bruno Haible  <bruno@clisp.org>
70505         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
70506         (Makefile.am): Verify that PTY_LIB is defined.
70508         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
70510 2010-03-21  Bruno Haible  <bruno@clisp.org>
70512         Tests for module 'login_tty'.
70513         * modules/login_tty-tests: New file.
70514         * tests/test-login_tty.c: New file.
70516         New module 'login_tty'.
70517         * lib/login_tty.c: New file.
70518         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
70519         * modules/login_tty: New file.
70520         * doc/glibc-functions/login_tty.texi: Mention the new module.
70522 2010-03-21  Bruno Haible  <bruno@clisp.org>
70524         login_tty: Documentation.
70525         * doc/glibc-functions/login_tty.texi: New file.
70526         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
70528 2010-03-21  Bruno Haible  <bruno@clisp.org>
70530         pty: Consistent macro naming.
70531         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
70532         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
70533         * modules/pty (configure.ac): Update.
70535 2010-03-21  Bruno Haible  <bruno@clisp.org>
70537         Tests for openpty: Make stricter.
70538         * tests/test-openpty.c (main): Add test of canonical processing and
70539         erase.
70540         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
70542         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
70543         * lib/openpty.c (openpty): New replacement function.
70544         * lib/pty.in.h: Include <termios.h>.
70545         (openpty): Update declaration. Add comments.
70546         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
70547         is not declared, arrange to provide the replacement. Check for _getpty
70548         and posix_openpt.
70549         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
70550         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
70551         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
70552         * modules/pty-tests (test_pty_c___LDADD): New variable.
70553         * doc/glibc-functions/openpty.texi: More supported platforms.
70555 2010-03-21  Bruno Haible  <bruno@clisp.org>
70557         setenv: Tweaks.
70558         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
70559         the test program.
70560         * doc/posix-functions/setenv.texi: Update platforms list.
70562 2010-03-21  Bruno Haible  <bruno@clisp.org>
70564         New module 'unlockpt'.
70565         * lib/unlockpt.c: New file, from glibc with modifications.
70566         * m4/unlockpt.m4: New file.
70567         * modules/unlockpt: New file.
70568         * lib/stdlib.in.h (unlockpt): New declaration.
70569         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
70570         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
70571         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
70572         HAVE_UNLOCKPT.
70573         * doc/posix-functions/unlockpt.texi: Mention the new module.
70574         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
70575         * config/srclist.txt: Add unlockpt.c (commented).
70577 2010-03-21  Jim Meyering  <meyering@redhat.com>
70579         maint.mk: prohibit inclusion of "intprops.h" without use
70580         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
70582 2010-03-21  Bruno Haible  <bruno@clisp.org>
70584         New module 'grantpt'.
70585         * lib/grantpt.c: New file, from glibc with modifications.
70586         * m4/grantpt.m4: New file.
70587         * modules/grantpt: New file.
70588         * lib/stdlib.in.h (grantpt): New declaration.
70589         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
70590         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
70591         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
70592         HAVE_GRANTPT.
70593         * doc/posix-functions/grantpt.texi: Mention the new module.
70594         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
70595         * config/srclist.txt: Add grantpt.c (commented).
70597 2010-03-21  Bruno Haible  <bruno@clisp.org>
70599         New module 'pt_chown'.
70600         * lib/pt_chown.c: New file, from glibc with modifications.
70601         * lib/pty-private.h: New file, from glibc with modifications.
70602         * modules/pt_chown: New file.
70603         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
70605 2010-03-21  Bruno Haible  <bruno@clisp.org>
70607         Tests for module 'ptsname'.
70608         * modules/ptsname-tests: New file.
70609         * tests/test-ptsname.c: New file.
70611         New module 'ptsname'.
70612         * lib/ptsname.c: New file, from glibc with modifications.
70613         * m4/ptsname.m4: New file.
70614         * modules/ptsname: New file.
70615         * lib/stdlib.in.h (ptsname): New declaration.
70616         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
70617         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
70618         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
70619         HAVE_PTSNAME.
70620         * doc/posix-functions/ptsname.texi: Mention the new module.
70621         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
70622         * config/srclist.txt: Add ptsname.c (commented).
70624 2010-03-21  Bruno Haible  <bruno@clisp.org>
70626         Tests for module 'ttyname_r'.
70627         * modules/ttyname_r-tests: New file.
70628         * tests/test-ttyname_r.c: New file.
70630         New module 'ttyname_r'.
70631         * lib/ttyname_r.c: New file.
70632         * m4/ttyname_r.m4: New file.
70633         * modules/ttyname_r: New file.
70634         * lib/unistd.in.h (ttyname_r): New declaration.
70635         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
70636         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
70637         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
70638         HAVE_TTYNAME_R.
70639         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
70640         * doc/posix-functions/ttyname_r.texi: Mention the new module.
70642 2010-03-20  Bruno Haible  <bruno@clisp.org>
70644         signal: Undefine macro definitions in C++ mode.
70645         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
70646         sigfillset): Undefine macro definitions from the system header in C++
70647         mode.
70648         Reported by John W. Eaton <jwe@gnu.org>.
70650 2010-03-20  Bruno Haible  <bruno@clisp.org>
70652         Ensure no #include statements inside extern "C" { ... }.
70653         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
70654         contain #include statements.
70655         * lib/time.in.h: Likewise.
70657 2010-03-20  Bruno Haible  <bruno@clisp.org>
70659         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
70660         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
70661         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
70662         Reported by John W. Eaton <jwe@gnu.org>.
70664 2010-03-20  Bruno Haible  <bruno@clisp.org>
70666         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
70667         Reported by Jim Meyering.
70669 2010-03-20  Bruno Haible  <bruno@clisp.org>
70671         pipe: Set errno upon failure.
70672         * lib/pipe.h: Specify that when -1 is returned, errno is set.
70673         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
70674         errno value in error message.
70676 2010-03-20  Bruno Haible  <bruno@clisp.org>
70677             Jim Meyering  <meyering@redhat.com>
70679         lchown: Avoid "unused variable" warning.
70680         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
70682 2010-03-20  Bruno Haible  <bruno@clisp.org>
70684         Work around unlink() bug on MacOS X 10.5.6.
70685         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
70686         attempting to unlink a parent directory.
70687         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
70688         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
70689         activate for the replacement function.
70690         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
70692 2010-03-20  Bruno Haible  <bruno@clisp.org>
70694         Fix link errors on Solaris 8.
70695         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
70696         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
70698 2010-03-19  Jim Meyering  <meyering@redhat.com>
70700         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
70701         The _LIBC implementation of build_range_exp correctly honors the
70702         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
70703         However, the non-_LIBC implementation would ignore that syntax-bit
70704         flag and return REG_ERANGE unconditionally.
70705         This change makes it honor that flag.
70706         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
70707         Make two pointer parameters "const".
70708         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
70709         (parse_bracket_exp): Update caller.
70711         regex.m4: correct the reversed range endpoint ([b-a]) test
70712         * m4/regex.m4: When requiring that [b-a] evoke failure,
70713         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
70714         test pass once again for x86-based systems.
70716 2010-03-19  Bruno Haible  <bruno@clisp.org>
70718         scandir: Fix link error on Solaris 8.
70719         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
70720         macros.
70722 2010-03-19  Bruno Haible  <bruno@clisp.org>
70724         getusershell: Fix documentation.
70725         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
70726         module.
70727         * doc/glibc-functions/setusershell.texi: Likewise.
70729         getusershell: Provide declaration, missing on Solaris 9.
70730         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
70731         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
70732         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
70733         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
70734         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
70735         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
70736         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
70737         HAVE_GETUSERSHELL.
70738         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
70740 2010-03-19  Bruno Haible  <bruno@clisp.org>
70742         wctype: Provide iswblank function.
70743         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
70744         exists and is fine.
70745         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
70746         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
70747         * tests/test-wctype.c (main): Re-enable the iswblank tests.
70748         * doc/posix-functions/iswblank.texi: Update.
70750 2010-03-19  Bruno Haible  <bruno@clisp.org>
70752         Tests of module 'pty' in C++ mode.
70753         * modules/pty-tests: New file.
70754         * tests/test-pty-c++.cc: New file.
70755         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
70757 2010-03-19  Eric Blake  <eblake@redhat.com>
70759         logb: fix documentation
70760         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
70761         1.5 declaration bug.
70763         forkpty, openpty: prefer glibc's const-safe prototype
70764         * lib/forkpty.c (rpl_forkpty): New file.
70765         * lib/openpty.c (rpl_openpty): Likewise.
70766         * modules/forkpty (Files): Distribute it.
70767         * modules/openpty (Files): Likewise.
70768         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
70769         check...
70770         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
70771         replacement for non-const BSD signature.
70772         * modules/pty (Makefile.am): Substitute witnesses.
70773         * lib/pty.in.h (forkpty, openpty): Declare replacements.
70774         * tests/test-forkpty.c: Update signature check.
70775         * tests/test-openpty.c: Likewise.
70776         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
70777         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70779         forkpty, openpty: split functions into new modules
70780         * modules/pty (Makefile.am): Substitute new witnesses.
70781         (Libraries): Move library detection...
70782         * modules/forkpty: ...into new module.
70783         * modules/openpty: Another new module.
70784         * modules/pty-tests: Rename and split...
70785         * modules/forkpty-tests: ...to this...
70786         * modules/openpty-tests: ...and this.
70787         * tests/test-pty.c: Rename and split...
70788         * tests/test-forkpty.c: ...to this...
70789         * tests/test-openpty.c: ...and this.
70790         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
70791         (gl_PTY): Split library searching...
70792         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
70793         (gl_FORKPTY, gl_OPENPTY): New macros.
70794         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
70795         * NEWS: Mention the split.
70796         * MODULES.html.sh (Misc): Document the modules.
70797         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
70798         * doc/glibc-functions/openpty.texi (openpty): Likewise.
70800         pty: improve replacement header
70801         * lib/pty.in.h: New file.
70802         * modules/pty (Files): Ship it.
70803         (Makefile.am): Always build replacement.
70804         * m4/pty.m4: Rename...
70805         * m4/pty_h.m4: ...to this.
70806         (gl_PTY): Modernize setting of witness macros; update check of
70807         forkpty to take proper advantage of cache.
70808         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
70810         getopt: avoid compiler warning
70811         * lib/getopt.c (attribute_hidden): Remove unused macro.
70813 2010-03-18  Bruno Haible  <bruno@clisp.org>
70815         Fix link errors on Solaris 8.
70816         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
70817         * modules/search-tests (test_search_c___LDADD): Likewise.
70818         * modules/signal-tests (test_signal_c___LDADD): Likewise.
70819         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
70820         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
70821         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
70822         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
70823         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
70824         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
70826 2010-03-18  Bruno Haible  <bruno@clisp.org>
70828         Fix bug introduced on 2010-03-14.
70829         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
70830         (gl_SPAWN_H): Require it.
70831         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
70832         Reported by Simon Josefsson.
70834 2010-03-18  Bruno Haible  <bruno@clisp.org>
70836         Fix typo introduced on 2009-12-31.
70837         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
70838         posix_spawn_file_actions_adddup2.
70840 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
70841         and Eric Blake  <eblake@redhat.com>
70843         test-vc-list-files-git: make more robust
70844         * tests/test-vc-list-files-git.sh: Unset problematic environment
70845         variables.  Chain commands together.
70847 2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
70849         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
70850         `AC_CHECK_DECL' invocation.
70852 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
70854         * lib/inttostr.c (inttostr): Make sure the invocation of verify
70855         appears before executable statements. Suggested by Petr Sumbera
70856         <Petr.Sumbera@Sun.COM>.
70858 2010-03-14  Bruno Haible  <bruno@clisp.org>
70860         * tests/test-flock.c (test_exclusive): Comment out a test that causes
70861         portability problems. Instead use a simpler test.
70862         (main): Check that invalid arguments are rejected only on Linux.
70864 2010-03-14  Bruno Haible  <bruno@clisp.org>
70866         Fix bug introduced on 2009-12-31.
70867         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
70868         gl_PREREQ_SYS_H_WINSOCK2 always.
70869         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
70870         SYS_SOCKET_H variable.
70871         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
70872         Update comments.
70873         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
70874         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
70875         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
70876         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
70877         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
70879 2010-03-14  Bruno Haible  <bruno@clisp.org>
70881         Fix values returned by sinl, cosl.
70882         * lib/trigl.h: Add specification comments.
70883         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
70884         that combines the values from the precomputed table with the values of
70885         the Chebyshev polynomials.
70887 2010-03-14  Bruno Haible  <bruno@clisp.org>
70889         Fix compilation error when modules 'posix_spawn[p]' are not used.
70890         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
70891         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
70893 2010-03-14  Bruno Haible  <bruno@clisp.org>
70895         Fix compilation error on mingw when module 'time_r' is not used.
70896         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
70897         is 1.
70898         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
70899         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
70900         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
70901         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
70903 2010-03-14  Bruno Haible  <bruno@clisp.org>
70905         Fix compilation error with Sun C.
70906         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
70907         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
70908         instead of GCC specific ULONG_LONG_MAX.
70909         * lib/xstrtoll.c: Likewise.
70910         * lib/xstrtoull.c: Likewise.
70912 2010-03-13  Bruno Haible  <bruno@clisp.org>
70914         Allow the user to disable C++ code and tests.
70915         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
70916         (gl_PROG_ANSI_CXX): Require it.
70918 2010-03-13  Bruno Haible  <bruno@clisp.org>
70920         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
70921         cases.
70923 2010-03-13  Bruno Haible  <bruno@clisp.org>
70925         Test that gnulib does not break the standard C++ headers.
70926         * tests/test-locale-c++2.cc: New file.
70927         * modules/locale-tests (Files): Add it.
70928         (Makefile.am): Compile it for test-locale-c++.
70929         * tests/test-math-c++2.cc: New file.
70930         * modules/math-tests (Files): Add it.
70931         (Makefile.am): Compile it for test-math-c++.
70932         * tests/test-signal-c++2.cc: New file.
70933         * modules/signal-tests (Files): Add it.
70934         (Makefile.am): Compile it for test-signal-c++.
70935         * tests/test-stdio-c++2.cc: New file.
70936         * modules/stdio-tests (Files): Add it.
70937         (Makefile.am): Compile it for test-stdio-c++.
70938         * tests/test-stdlib-c++2.cc: New file.
70939         * modules/stdlib-tests (Files): Add it.
70940         (Makefile.am): Compile it for test-stdlib-c++.
70941         * tests/test-string-c++2.cc: New file.
70942         * modules/string-tests (Files): Add it.
70943         (Makefile.am): Compile it for test-string-c++.
70944         * tests/test-time-c++2.cc: New file.
70945         * modules/time-tests (Files): Add it.
70946         (Makefile.am): Compile it for test-time-c++.
70947         Reported by John W. Eaton <jwe@gnu.org>.
70949 2010-03-13  Bruno Haible  <bruno@clisp.org>
70951         * gnulib-tool (func_usage): Clarify which options are available for
70952         --create-testdir and --create-megatestdir.
70954 2010-03-13  Bruno Haible  <bruno@clisp.org>
70956         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
70957         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
70958         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
70959         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
70960         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
70961         when appropriate.
70962         Reported by Jim Meyering.
70964 2010-03-12  Simon Josefsson  <simon@josefsson.org>
70966         * gnulib-tool (func_import): Explain origin of code.
70968 2010-03-12  Bruno Haible  <bruno@clisp.org>
70970         Fix problem with automake's definition of CXXLINK.
70971         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
70972         Reported by Simon Josefsson and Ludovic Courtès.
70974 2010-03-12  Bruno Haible  <bruno@clisp.org>
70976         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
70977         stable releases.
70979 2010-03-11  Bruno Haible  <bruno@clisp.org>
70981         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
70982         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
70983         whether the system provides one variant or multiple variants of the
70984         function.
70985         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
70986         C++ compilers.
70987         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
70988         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
70989         Reported by Jim Meyering.
70991 2010-03-09  Simon Josefsson  <simon@josefsson.org>
70993         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
70995 2010-03-08  Bruno Haible  <bruno@clisp.org>
70997         gnulib-tool: Add support for --libtool in --create-testdir.
70998         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
70999         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
71001 2010-03-08  Eric Blake  <eblake@redhat.com>
71003         gnulib-tool.texi: mention possibility of git submodule
71004         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
71005         submodules.
71006         * doc/.gitignore: Ignore another generated file.
71008 2010-03-08  Karl Berry  <karl@gnu.org>
71010         * doc/gnulib-tool.texi (VCS Issues): Mention third option
71011         of committing gnulib files while skipping others.
71013 2010-03-07  Bruno Haible  <bruno@clisp.org>
71015         Tests of module 'wctype' in C++ mode.
71016         * tests/test-wctype-c++.cc: New file.
71017         * modules/wctype-tests (Files): Add it and tests/signature.h.
71018         (Depends-on): Add ansi-c++-opt.
71019         (Makefile.am): Arrange to compile and run test-wctype-c++.
71021         Tests of module 'wchar' in C++ mode.
71022         * tests/test-wchar-c++.cc: New file.
71023         * modules/wchar-tests (Files): Add it and tests/signature.h.
71024         (Depends-on): Add ansi-c++-opt.
71025         (Makefile.am): Arrange to compile and run test-wchar-c++.
71026         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
71027         gl_MODULE_INDICATOR.
71029         Tests of module 'unistd' in C++ mode.
71030         * tests/test-unistd-c++.cc: New file.
71031         * modules/unistd-tests (Files): Add it and tests/signature.h.
71032         (Depends-on): Add ansi-c++-opt.
71033         (Makefile.am): Arrange to compile and run test-unistd-c++.
71034         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
71035         gl_MODULE_INDICATOR.
71037         Tests of module 'time' in C++ mode.
71038         * tests/test-time-c++.cc: New file.
71039         * modules/time-tests (Files): Add it and tests/signature.h.
71040         (Depends-on): Add ansi-c++-opt.
71041         (Makefile.am): Arrange to compile and run test-time-c++.
71042         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71044         Tests of module 'sys_time' in C++ mode.
71045         * tests/test-sys_time-c++.cc: New file.
71046         * modules/sys_time-tests (Files): Add it and tests/signature.h.
71047         (Depends-on): Add ansi-c++-opt.
71048         (Makefile.am): Arrange to compile and run test-sys_time-c++.
71049         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
71050         gl_MODULE_INDICATOR.
71052         Tests of module 'sys_stat' in C++ mode.
71053         * tests/test-sys_stat-c++.cc: New file.
71054         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
71055         (Depends-on): Add ansi-c++-opt.
71056         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
71057         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
71058         gl_MODULE_INDICATOR.
71060         Tests of module 'sys_socket' in C++ mode.
71061         * tests/test-sys_socket-c++.cc: New file.
71062         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
71063         (Depends-on): Add ansi-c++-opt.
71064         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
71065         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
71066         gl_MODULE_INDICATOR.
71068         Tests of module 'sys_select' in C++ mode.
71069         * tests/test-sys_select-c++.cc: New file.
71070         * modules/sys_select-tests (Files): Add it and tests/signature.h.
71071         (Depends-on): Add ansi-c++-opt.
71072         (Makefile.am): Arrange to compile and run test-sys_select-c++.
71073         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
71074         gl_MODULE_INDICATOR.
71076         Tests of module 'sys_ioctl' in C++ mode.
71077         * tests/test-sys_ioctl-c++.cc: New file.
71078         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
71079         (Depends-on): Add ansi-c++-opt.
71080         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
71081         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
71082         gl_MODULE_INDICATOR.
71084         Tests of module 'string' in C++ mode.
71085         * tests/test-string-c++.cc: New file.
71086         * modules/string-tests (Files): Add it and tests/signature.h.
71087         (Depends-on): Add ansi-c++-opt.
71088         (Makefile.am): Arrange to compile and run test-string-c++.
71089         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
71090         gl_MODULE_INDICATOR.
71092         Tests of module 'stdlib' in C++ mode.
71093         * tests/test-stdlib-c++.cc: New file.
71094         * modules/stdlib-tests (Files): Add it and tests/signature.h.
71095         (Depends-on): Add ansi-c++-opt.
71096         (Makefile.am): Arrange to compile and run test-stdlib-c++.
71097         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
71098         gl_MODULE_INDICATOR.
71100         Tests of module 'stdio' in C++ mode.
71101         * tests/test-stdio-c++.cc: New file.
71102         * modules/stdio-tests (Files): Add it and tests/signature.h.
71103         (Depends-on): Add ansi-c++-opt.
71104         (Makefile.am): Arrange to compile and run test-stdio-c++.
71105         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
71106         gl_MODULE_INDICATOR.
71108         Tests of module 'spawn' in C++ mode.
71109         * tests/test-spawn-c++.cc: New file.
71110         * modules/spawn-tests (Files): Add it and tests/signature.h.
71111         (Depends-on): Add ansi-c++-opt.
71112         (Makefile.am): Arrange to compile and run test-spawn-c++.
71113         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
71114         gl_MODULE_INDICATOR.
71116         Tests of module 'signal' in C++ mode.
71117         * tests/test-signal-c++.cc: New file.
71118         * modules/signal-tests (Files): Add it and tests/signature.h.
71119         (Depends-on): Add ansi-c++-opt.
71120         (Makefile.am): Arrange to compile and run test-signal-c++.
71121         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
71122         gl_MODULE_INDICATOR.
71124         Tests of module 'search' in C++ mode.
71125         * tests/test-search-c++.cc: New file.
71126         * modules/search-tests (Files): Add it and tests/signature.h.
71127         (Depends-on): Add ansi-c++-opt.
71128         (Makefile.am): Arrange to compile and run test-search-c++.
71129         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
71130         gl_MODULE_INDICATOR.
71132         Tests of module 'math' in C++ mode.
71133         * tests/test-math-c++.cc: New file.
71134         * modules/math-tests (Files): Add it and tests/signature.h.
71135         (Depends-on): Add ansi-c++-opt.
71136         (Makefile.am): Arrange to compile and run test-math-c++.
71137         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
71139         Tests of module 'locale' in C++ mode.
71140         * tests/test-locale-c++.cc: New file.
71141         * modules/locale-tests (Files): Add it and tests/signature.h.
71142         (Depends-on): Add ansi-c++-opt.
71143         (Makefile.am): Arrange to compile and run test-locale-c++.
71144         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
71145         gl_MODULE_INDICATOR.
71147         Tests of module 'langinfo' in C++ mode.
71148         * tests/test-langinfo-c++.cc: New file.
71149         * modules/langinfo-tests (Files): Add it and tests/signature.h.
71150         (Depends-on): Add ansi-c++-opt.
71151         (Makefile.am): Arrange to compile and run test-langinfo-c++.
71152         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
71153         gl_MODULE_INDICATOR.
71155         Tests of module 'iconv-h' in C++ mode.
71156         * tests/test-iconv-h-c++.cc: New file.
71157         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
71158         (Depends-on): Add ansi-c++-opt.
71159         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
71161         Tests of module 'glob' in C++ mode.
71162         * tests/test-glob-c++.cc: New file.
71163         * modules/glob-tests (Files): Add it.
71164         (Depends-on): Add ansi-c++-opt.
71165         (Makefile.am): Arrange to compile and run test-glob-c++.
71167         Tests of module 'fcntl-h' in C++ mode.
71168         * tests/test-fcntl-h-c++.cc: New file.
71169         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
71170         (Depends-on): Add ansi-c++-opt.
71171         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
71172         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
71173         gl_MODULE_INDICATOR.
71175         Tests of module 'dirent' in C++ mode.
71176         * tests/test-dirent-c++.cc: New file.
71177         * modules/dirent-tests (Files): Add it and tests/signature.h.
71178         (Depends-on): Add ansi-c++-opt.
71179         (Makefile.am): Arrange to compile and run test-dirent-c++.
71180         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
71181         gl_MODULE_INDICATOR.
71183         New module 'ansi-c++-opt'.
71184         * modules/ansi-c++-opt: New file.
71185         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
71187         Document C++ namespace mode.
71188         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
71190         wctype: Avoid #define replacements in C++ mode.
71191         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
71192         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
71193         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
71194         In C++, define a namespaced alias symbol.
71195         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
71196         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
71197         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
71198         rule.
71200         wchar: Avoid #define replacements in C++ mode.
71201         * lib/wchar.in.h: Include c++defs.h.
71202         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
71203         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
71204         symbol.
71205         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
71206         * modules/wchar (Depends-on): Add c++defs.
71207         (Makefile.am): Update wchar.h rule.
71209         unistd: Avoid #define replacements in C++ mode.
71210         * lib/unistd.in.h: Include c++defs.h.
71211         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
71212         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
71213         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
71214         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
71215         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
71216         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
71217         symbol.
71218         (environ): Update.
71219         * modules/unistd (Depends-on): Add c++defs.
71220         (Makefile.am): Update unistd.h rule.
71222         time: Avoid #define replacements in C++ mode.
71223         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
71224         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
71225         define a namespaced alias symbol.
71226         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
71227         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
71228         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
71229         * modules/time (Depends-on): Add c++defs, warn-on-use.
71230         (Makefile.am): Update time.h rule.
71231         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
71232         * modules/nanosleep (configure.ac): Likewise.
71233         * modules/strptime (configure.ac): Likewise.
71234         * modules/timegm (configure.ac): Likewise.
71236         sys_time: Avoid #define replacements in C++ mode.
71237         * lib/sys_time.in.h: Include c++defs.h.
71238         (gettimeofday): In C++, define a namespaced alias symbol.
71239         * modules/sys_time (Depends-on): Add c++defs.
71240         (Makefile.am): Update sys/time.h rule.
71242         sys_stat: Avoid #define replacements in C++ mode.
71243         * lib/sys_stat.in.h: Include c++defs.h.
71244         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
71245         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
71246         namespaced alias symbol.
71247         In C++, define a namespaced alias symbol.
71248         * modules/sys_stat (Depends-on): Add c++defs.
71249         (Makefile.am): Update sys/stat.h rule.
71251         sys_socket: Avoid #define replacements in C++ mode.
71252         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
71253         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
71254         definitions also when the system has a <sys/socket.h>.
71255         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
71256         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
71257         In C++, define a namespaced alias symbol.
71258         * modules/sys_socket (Depends-on): Add c++defs.
71259         (Makefile.am): Update sys/socket.h rule.
71261         sys_select: Avoid #define replacements in C++ mode.
71262         * lib/sys_select.in.h: Include c++defs.h. Enable the function
71263         definitions also when the system has a <sys/select.h>.
71264         (select): In C++, define a namespaced alias symbol.
71265         * modules/sys_select (Depends-on): Add c++defs.
71266         (Makefile.am): Update sys/select.h rule.
71268         sys_ioctl: Avoid #define replacements in C++ mode.
71269         * lib/sys_ioctl.in.h: Include c++defs.h.
71270         (ioctl): In C++, define a namespaced alias symbol.
71271         * modules/sys_ioctl (Depends-on): Add c++defs.
71272         (Makefile.am): Update sys/ioctl.h rule.
71274         string: Avoid #define replacements in C++ mode.
71275         * lib/string.in.h: Include c++defs.h.
71276         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
71277         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
71278         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
71279         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
71280         strsignal, strverscmp): In C++, define a namespaced alias symbol.
71281         * modules/string (Depends-on): Add c++defs.
71282         (Makefile.am): Update string.h rule.
71284         stdlib: Avoid #define replacements in C++ mode.
71285         * lib/stdlib.in.h: Include c++defs.h.
71286         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
71287         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
71288         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
71289         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
71290         symbol.
71291         * modules/stdlib (Depends-on): Add c++defs.
71292         (Makefile.am): Update stdlib.h rule.
71294         stdio: Avoid #define replacements in C++ mode.
71295         * lib/stdio.in.h: Include c++defs.h.
71296         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
71297         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
71298         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
71299         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
71300         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
71301         namespaced alias symbol.
71302         * modules/stdio (Depends-on): Add c++defs.
71303         (Makefile.am): Update stdio.h rule.
71305         spawn: Avoid #define replacements in C++ mode.
71306         * lib/spawn.in.h: Include c++defs.h.
71307         (posix_spawn, posix_spawnp, posix_spawnattr_init,
71308         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
71309         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
71310         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
71311         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
71312         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
71313         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
71314         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
71315         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
71316         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
71317         In C++, define a namespaced alias symbol.
71318         * modules/spawn (Depends-on): Add c++defs.
71319         (Makefile.am): Update spawn.h rule.
71321         signal: Avoid #define replacements in C++ mode.
71322         * lib/signal.in.h: Include c++defs.h.
71323         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
71324         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
71325         namespaced alias symbol.
71326         * modules/signal (Depends-on): Add c++defs.
71327         (Makefile.am): Update signal.h rule.
71329         search: Avoid #define replacements in C++ mode.
71330         * lib/search.in.h: Include c++defs.h.
71331         (_gl_search_compar_fn, _gl_search_action_fn): New types.
71332         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
71333         symbol.
71334         * modules/search (Depends-on): Add c++defs.
71335         (Makefile.am): Update search.h rule.
71337         math: Avoid #define replacements in C++ mode.
71338         * lib/math.in.h: Include c++defs.h.
71339         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
71340         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
71341         trunc, truncl): In C++, define a namespaced alias symbol.
71342         * modules/math (Depends-on): Add c++defs.
71343         (Makefile.am): Update math.h rule.
71345         locale: Avoid #define replacements in C++ mode.
71346         * lib/locale.in.h: Include c++defs.h.
71347         (duplocale): In C++, define a namespaced alias symbol.
71348         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
71349         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
71350         * modules/locale (Depends-on): Add c++defs.
71351         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
71353         langinfo: Avoid #define replacements in C++ mode.
71354         * lib/langinfo.in.h: Include c++defs.h.
71355         (nl_langinfo): In C++, define a namespaced alias symbol.
71356         * modules/langinfo (Depends-on): Add c++defs.
71357         (Makefile.am): Update langinfo.h rule.
71359         iconv-h: Avoid #define replacements in C++ mode.
71360         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
71361         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
71362         symbol.
71363         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
71364         whenever iconv is present.
71365         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
71366         (Makefile.am): Update iconv.h rule.
71368         glob: Avoid #define replacements in C++ mode.
71369         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
71370         (_gl_glob_errfunc_fn): New type.
71371         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
71372         symbol.
71373         * modules/glob (Depends-on): Add c++defs, warn-on-use.
71374         (Makefile.am): Update glob.h rule.
71376         fcntl-h: Avoid #define replacements in C++ mode.
71377         * lib/fcntl.in.h: Include c++defs.h.
71378         (fcntl, open, openat): In C++, define a namespaced alias symbol.
71379         * modules/fcntl-h (Depends-on): Add c++defs.
71380         (Makefile.am): Update fcntl.h rule.
71382         dirent: Avoid #define replacements in C++ mode.
71383         * lib/dirent.in.h: Include c++defs.h.
71384         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
71385         namespaced alias symbol.
71386         (dirfd): Update declaration.
71387         * modules/dirent (Depends-on): Add c++defs.
71388         (Makefile.am): Update dirent.h rule.
71390         ctype: Make it usable in C++ code.
71391         * lib/ctype.in.h: Include c++defs.h.
71392         (isblank): Declare as extern "C".
71393         * modules/ctype (Depends-on): Add c++defs.
71394         (Makefile.am): Update ctype.h rule.
71396         New module 'c++defs'.
71397         * modules/c++defs: New file.
71398         * build-aux/c++defs.h: New file.
71399         Reported by John W. Eaton <jwe@gnu.org>.
71401 2010-03-07  Bruno Haible  <bruno@clisp.org>
71403         logb: Provide missing declaration for Cygwin.
71404         * lib/math.in.h (logb): New declaration.
71405         * m4/logb.m4: New file.
71406         * modules/logb (Files): Add m4/logb.m4.
71407         (Depends-on): Add math.
71408         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
71409         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
71410         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
71411         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
71412         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
71414 2010-03-07  Bruno Haible  <bruno@clisp.org>
71416         Fix test-cond link error.
71417         * tests/test-cond.c: Include <stdio.h>.
71419 2010-03-07  Bruno Haible  <bruno@clisp.org>
71421         Fix test-dirent-safer link error.
71422         * modules/dirent-safer-tests (Makefile.am): Define
71423         test_dirent_safer_LDADD.
71425 2010-03-07  Bruno Haible  <bruno@clisp.org>
71427         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
71428         among default module list.
71430 2010-03-07  Bruno Haible  <bruno@clisp.org>
71432         Fix link error on platforms with GNU libiconv.
71433         * modules/unistr/u8-strcoll-tests (Makefile): Define
71434         test_u8_strcoll_LDADD.
71435         * modules/unistr/u16-strcoll-tests (Makefile): Define
71436         test_u16_strcoll_LDADD.
71437         * modules/unistr/u32-strcoll-tests (Makefile): Define
71438         test_u32_strcoll_LDADD.
71440 2010-03-07  Bruno Haible  <bruno@clisp.org>
71442         Use POSIX declarations for socket functions.
71443         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
71444         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
71445         rpl_sendto): Change declaration to match POSIX.
71446         * lib/connect.c (rpl_connect): Likewise.
71447         * lib/accept.c (rpl_accept): Likewise.
71448         * lib/bind.c (rpl_bind): Likewise.
71449         * lib/getpeername.c (rpl_getpeername): Likewise.
71450         * lib/getsockname.c (rpl_getsockname): Likewise.
71451         * lib/recv.c (rpl_recv): Likewise.
71452         * lib/send.c (rpl_send): Likewise.
71453         * lib/recvfrom.c (rpl_recvfrom): Likewise.
71454         * lib/sendto.c (rpl_sendto): Likewise.
71456 2010-03-06  Bruno Haible  <bruno@clisp.org>
71458         Clarify access, euidaccess, faccessat.
71459         * doc/posix-functions/faccessat.texi: Mention security problem under
71460         "Other problems", not "Portability problems".
71461         * doc/posix-functions/access.texi: Likewise. Mention a related security
71462         problem.
71463         * doc/glibc-functions/euidaccess.texi: Mention security problems.
71464         * lib/euidaccess.c: Add comments about platforms.
71465         * lib/unistd.in.h (access, euidaccess): Add warnings.
71467 2010-03-07  Bruno Haible  <bruno@clisp.org>
71469         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
71470         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
71471         (POSIX_SPAWN_SETSCHEDULER): Likewise.
71472         (POSIX_SPAWN_USEVFORK): Define in a way that works when
71473         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71474         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
71475         declare when POSIX_SPAWN_SETSCHEDULER is zero.
71476         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
71477         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
71478         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
71479         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
71480         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
71481         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
71482         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
71483         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
71484         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
71485         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
71486         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
71487         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
71488         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
71489         Likewise.
71490         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
71491         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
71492         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
71493         Likewise.
71494         * tests/test-spawn.c (main): Make it work when
71495         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
71497 2010-03-07  Bruno Haible  <bruno@clisp.org>
71499         Fix incorrect Makefile.am generation in German locale.
71500         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71501         Execute sed command with character range in C locale.
71503 2010-03-06  Bruno Haible  <bruno@clisp.org>
71505         Tests for module 'iconv-h'.
71506         * modules/iconv-h-tests: New file.
71507         * tests/test-iconv-h.c: New file.
71509         New module 'iconv-h'.
71510         * modules/iconv-h: New file.
71511         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
71512         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
71513         (configure.ac): Remove gl_ICONV_H.
71514         (Makefile.am): Remove rule for iconv.h.
71516 2010-03-06  Bruno Haible  <bruno@clisp.org>
71518         More consistent naming of *.m4 files.
71519         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
71520         * modules/wctype (Files): Update.
71522         More consistent naming of *.m4 files.
71523         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
71524         * modules/wchar (Files): Update.
71526 2010-03-06  Jim Meyering  <meyering@redhat.com>
71528         euidaccess: relax license to LGPLv2+
71529         * modules/euidaccess (License): Relax to LGPLv2+.
71531 2010-03-06  Bruno Haible  <bruno@clisp.org>
71533         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
71534         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
71535         (Makefile.am): Augment lib_SOURCES instead.
71537 2010-03-04  Jim Meyering  <meyering@redhat.com>
71539         utime: remove obsolete module
71540         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
71541         unnecessary for years, and has been marked as obsolete for 10 months.
71542         * modules/utime: Remove file.
71543         * lib/utime.c: Remove file.
71544         * m4/utime.m4: Remove file.
71545         * m4/utimes-null.m4: Remove file.
71546         * doc/posix-functions/utime.texi (utime): Remove reference to
71547         the module.  Move the sole "fixed by gnulib" item into the
71548         "problems not fixed by Gnulib" list.
71549         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
71551 2010-03-05  Simon Josefsson  <simon@josefsson.org>
71553         * modules/exit (License): Relax license to LGPLv2+.
71554         (Status): Mark as obsolete.
71555         * NEWS: Mention deprecated 'exit' module.
71556         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
71557         of now obsolete 'exit'.
71559 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71561         fts-lgpl: remove unused module
71562         * modules/fts-lgpl: Remove.
71563         * MODULES.html.sh (func_all_modules): Adjust.
71564         * check-module (find_included_lib_files): Adjust.
71565         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
71567 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
71569         copy-acl: enhance Solaris ACL error handling
71570         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
71571         * lib/set-mode-acl.c (qset_acl): Likewise.
71573 2010-03-02  Bruno Haible  <bruno@clisp.org>
71575         spawn: Don't override the system defined values on FreeBSD 8.
71576         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
71577         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
71578         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
71579         if HAVE_POSIX_SPAWN is 1.
71580         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
71582 2010-03-01  Bruno Haible  <bruno@clisp.org>
71584         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
71585         regarding Automake.
71587 2010-02-25  Bruno Haible  <bruno@clisp.org>
71589         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
71590         * gnulib-tool: Define 'echo' as a function only before the ksh alias
71591         setting, not afterwards.
71592         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
71594 2010-02-24  Eric Blake  <eblake@redhat.com>
71596         bootstrap, git-version-gen: use timestamp
71597         * build-aux/git-version-gen (scriptversion): Force UTC.
71598         * build-aux/bootstrap (scriptversion): New variable.
71600         bootstrap: allow older git
71601         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
71602         older than 1.6.4.  Requested by the libvirt project.
71604 2010-02-23  Eric Blake  <eblake@redhat.com>
71606         warn-on-use: work with old autoconf
71607         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
71608         AS_VAR semantics of autoconf 2.60.
71609         Reported by Bruno Haible.
71611         bootstrap: improve some comments
71612         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
71613         clarification comments.
71615         gettimeofday: provide correct function
71616         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
71617         when replacement is declared, otherwise provide gettimeofday.
71618         Reported by Michael Goffioul.
71620 2010-02-23  Jim Meyering  <meyering@redhat.com>
71622         lib-ignore: relax license to "unlimited", not LGPLv2+
71623         * modules/lib-ignore (License): Relax to "unlimited".
71625 2010-02-23  Jim Meyering  <meyering@redhat.com>
71627         lib-ignore: relax license to LGPLv2+
71628         * modules/lib-ignore (License): Relax to LGPLv2+.
71630 2010-02-22  Eric Blake  <eblake@redhat.com>
71632         lseek: avoid bash 3.2 broken pipe bug
71633         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
71634         warning from bash 3.2.
71635         Reported by Ben Pfaff, with analysis from Bruno Haible.
71637         bootstrap: support non-FSF copyright holder
71638         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
71639         bootstrap.conf override of COPYRIGHT_HOLDER.
71640         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
71642         bootstrap: interoperate with gettext 0.14.1
71643         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
71645         bootstrap: allow for alternate submodule location
71646         * build-aux/bootstrap (gnulib_path): New variable; use instead of
71647         hardcoding submodule location.
71648         (gnulib_mk): Allow direct use of Makefile.am.
71650         bootstrap: use GNULIB_SRCDIR to reduce disk usage
71651         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
71652         rather than reconfiguring where the submodule points.
71654         gettimeofday: restore support for platforms that lack function
71655         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
71656         replacement if function is missing.
71657         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
71658         * modules/sys_time (Makefile.am): Substitute it.
71659         * lib/sys_time.in.h (gettimeofday): Check it.
71660         Reported by Michael Goffioul.
71662 2010-02-21  Bruno Haible  <bruno@clisp.org>
71664         * lib/stdio.in.h (obstack_printf): Fix typo.
71666 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
71668         vc-list-files: use bzr ls's -R option
71669         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
71670         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
71672 2010-02-21  Jim Meyering  <meyering@redhat.com>
71674         init.sh: fix EXEEXT shims to work also for names like test-prog
71675         * tests/init.sh: Re-exec a better shell, when needed.
71676         If the current shell lacks support for posix $(...), an init.sh-using
71677         test will now try to find a shell that supports that.  If EXEEXT is
71678         nonempty, we also require support for hyphen-in-alias-name and shell
71679         substitutions like ${var#glob}.  Failure to find such a shell results
71680         in a skipped test.
71682 2010-02-21  Bruno Haible  <bruno@clisp.org>
71684         Really work around "broken pipe" error message from bash 3.2.
71685         * gnulib-tool (func_reset_sigpipe): Remove function.
71686         (echo): In bash 3.2, define to a function that uses printf.
71687         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
71689 2010-02-20  Bruno Haible  <bruno@clisp.org>
71691         Restore support for automake 1.9.6 with autoconf 2.61.
71692         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
71693         Reported by James Youngman <jay@gnu.org>.
71695 2010-02-20  Bruno Haible  <bruno@clisp.org>
71697         Improve *printf warning condition.
71698         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
71699         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
71700         and the function is overridden due to SIGPIPE emulation.
71702 2010-02-20  Bruno Haible  <bruno@clisp.org>
71704         * lib/stdio.in.h: Tweak comments.
71706 2010-02-19  Bruno Haible  <bruno@clisp.org>
71708         Make it easier to find modules. New gnulib-tool option '--find'.
71709         * gnulib-tool: New option --find.
71710         (func_usage): Document it.
71711         (func_sanitize_modulelist): New function, extracted from
71712         func_all_modules.
71713         (func_all_modules): Invoke it.
71714         * doc/gnulib-tool.texi (Which modules?): New node.
71716 2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)
71718         * lib/sys_select.in.h: Provide select replacement even if
71719         sys/select.h exists on a system, for Interix.
71721 2010-02-18  Jim Meyering  <meyering@redhat.com>
71723         init.sh: don't use $(...) just yet
71724         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
71725         to accommodate e.g., Solaris' /bin/sh.
71727 2010-02-17  Bruno Haible  <bruno@clisp.org>
71729         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
71730         Reported by Ludovic Courtès <ludo@gnu.org>.
71732 2010-02-16  Simon Josefsson  <simon@josefsson.org>
71734         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
71735         linking with -lintl.
71737 2010-02-17  Simon Josefsson  <simon@josefsson.org>
71739         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
71740         if not provided by the system's netdb.h.  Reported by
71741         ludo@gnu.org (Ludovic Courtès).
71743 2010-02-15  Jim Meyering  <meyering@redhat.com>
71745         init.sh: improve portability and efficiency
71746         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
71747         "dummy" in a for loop.
71748         Use '!', not '^' to select the complement of a character set used
71749         in a "case" statement.
71750         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
71751         Suggestions from Eric Blake.
71753         init.sh: automatically accommodate programs with the .exe suffix
71754         Automatically arrange for an invocation of "prog" to execute the
71755         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
71756         may use the simpler "prog", yet still work when built on a system
71757         that requires specifying the added suffix.
71758         Do this by constructing a function named "prog" that invokes
71759         "prog.exe" for each .exe file in selected directories.
71760         * tests/init.sh (find_exe_basenames_): New function.
71761         (create_exe_shim_functions_): New function.
71762         (path_prepend_): Use it.
71764         maint.mk: mark syntax-check sc_*.m rules as .PHONY
71765         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
71766         "make -t syntax-check" doesn't create a ton of sc_*.m files.
71768 2010-02-14  Jim Meyering  <meyering@redhat.com>
71770         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
71771         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
71772         (sc_prohibit_hash_pjw_without_use): New rule.
71774         maint.mk: allow the default upload destination dir to be overridden
71775         * top/maint.mk (upload_dest_dir_): Define with a default that
71776         preserves the status quo.
71777         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
71778         Reported by Peter Simons.
71780         maint.mk: prohibit inclusion of "hash.h" without_use
71781         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
71783 2010-02-10  Jim Meyering  <meyering@redhat.com>
71785         maint.mk: prohibit inclusion of "ignore-value.h" without_use
71786         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
71788 2010-02-09  Eric Blake  <ebb9@byu.net>
71789         and Bruno Haible  <bruno@clisp.org>
71791         obstack-printf-posix: ensure declaration
71792         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
71793         extracted from gl_FUNC_OBSTACK_PRINTF.
71794         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
71795         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
71796         Likewise.
71797         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
71798         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
71799         0.
71801 2010-02-08  Bruno Haible  <bruno@clisp.org>
71803         gnulib-tool: Fix typo in 2010-02-07 commit.
71804         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
71805         Reported by Eric Blake.
71807 2010-02-07  Bruno Haible  <bruno@clisp.org>
71809         gnulib-tool: Fix up caching patches.
71810         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
71811         option --no-cache. Use associative arrays when supported by the shell.
71812         (sed_comments): New variable.
71813         (modcache): Renamed from do_cache.
71814         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
71815         abbreviate unnecessarily.
71816         (have_associative): New variable.
71817         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
71818         way also for ksh and zsh.
71819         (func_init_sed_convert_to_cache_statements): New function, extracted
71820         from func_cache_lookup_module. Add support for associative arrays.
71821         Don't set the c_MODULE_cached variable here. Ignore all lines before
71822         the first field header. Remove only the final newline, not all trailing
71823         newlines. Support empty fields correctly. Limit the use of 'eval' to
71824         assignments.
71825         (func_get_description, func_get_status, func_get_notice,
71826         func_get_applicability, func_get_filelist, func_get_dependencies,
71827         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
71828         func_get_automake_snippet, func_get_include_directive,
71829         func_get_link_directive, func_get_license, func_get_maintainer):
71830         Update documentation. List the unoptimized code first. Add support for
71831         associative arrays. Limit the use of 'eval' to assignments.
71832         (func_get_applicability): Undo stylistic pessimisations.
71833         (func_get_automake_snippet, func_get_include_directive): Reduce code
71834         duplication.
71835         (func_modules_transitive_closure, func_modules_add_dummy,
71836         func_modules_notice, func_modules_to_filelist, func_add_file,
71837         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
71838         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
71839         func_create_testdir, func_create_megatestdir): Update documentation.
71841 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71843         * gnulib-tool (func_cache_lookup_module): Store the module name
71844         belonging to the cache variable; error out if two different
71845         module names map to the same cache variable name.
71847 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71849         gnulib-tool: Make caching optional.
71850         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
71851         Update matching short versions of --no-changelog.
71852         (func_usage): Update.
71853         (sed_extract_cache_prog): Renamed from ...
71854         (sed_extract_prog): ... this; revert to old extraction script.
71855         (func_get_description, func_get_status)
71856         (func_get_notice, func_get_applicability, func_get_filelist)
71857         (func_get_dependencies, func_get_autoconf_early_snippet)
71858         (func_get_autoconf_snippet, func_get_automake_snippet)
71859         (func_get_include_directive, func_get_link_directive)
71860         (func_get_license, func_get_maintainer): If $do_cache is false,
71861         use old, non-caching extraction scripts.
71862         Suggestion by Bruno Haible.
71864 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71866         gnulib-tool: cache module metainformation.
71867         * gnulib-tool (sed_extract_prog): Match newline before each
71868         header, and rewrite header to a shell variable suffix.
71869         (func_cache_var, func_cache_lookup_module): New functions,
71870         to turn a module name into a cache variable prefix, and to
71871         look up and cache module metainformation.
71872         (func_get_description, func_get_status)
71873         (func_get_notice, func_get_applicability, func_get_filelist)
71874         (func_get_dependencies, func_get_autoconf_early_snippet)
71875         (func_get_autoconf_snippet, func_get_automake_snippet)
71876         (func_get_include_directive, func_get_link_directive)
71877         (func_get_license, func_get_maintainer): Use
71878         func_cache_lookup_module.
71880 2010-02-07  Bruno Haible  <bruno@clisp.org>
71882         fnctl: Fix missing dependency.
71883         * modules/fcntl (Depends-on): Add getdtablesize.
71884         Reported by John W. Eaton <jwe@gnu.org>.
71886 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71888         Argp: fix recognition of short alias options.
71890         * lib/argp-parse.c (convert_options): Fix improper use of
71891         `|' between character values.
71892         * tests/test-argp.c (group1_option): New alias option
71893         --read (-r).
71894         (group1_parser): Special handling for 'r'.
71895         (test15): New test case.
71896         (test_fun): Add test15.
71897         * tests/test-argp-2.sh: Update expected --help and --usage
71898         outputs.
71900 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
71902         * tests/test-argp.c: Fix indentation.
71904 2010-02-04  Eric Blake  <ebb9@byu.net>
71906         gettimeofday: expose type of second argument
71907         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
71908         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
71909         * tests/test-gettimeofday.c: Use it to silence warning.
71910         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
71911         the issue.
71913 2010-02-03  Jim Meyering  <meyering@redhat.com>
71915         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
71916         * lib/regcomp.c (TYPE_SIGNED): Define.
71917         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
71919         regcomp.c: avoid a new -Wshadow warning
71920         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
71922 2010-02-01  Jim Meyering  <meyering@redhat.com>
71924         removing useless parentheses in cpp #define directives
71925         For motivation, see commit c0221df4, "define STREQ(a,b)
71926         consistently, removing useless parentheses"
71927         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
71928         * lib/mountlist.c (MNT_IGNORE): Likewise.
71929         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
71931 2010-02-01  Eric Blake  <ebb9@byu.net>
71933         sys_time: use link-warning
71934         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
71935         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
71936         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
71937         * modules/sys_time (Depends-on): Add warn-on-use.
71938         (Makefile.am): Always build replacement.
71939         (configure.ac): Update substitutions.
71940         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
71941         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
71942         bother with SYS_TIME_H.
71943         * modules/gettimeofday (configure.ac): Declare indicator.
71944         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
71945         in use.
71947         closein-tests: silence compiler warning
71948         * tests/test-closein.c (main): Ignore fread result.
71949         * modules/closein-tests (Depends-on): Add ignore-value.
71951         tests: silence warning about system return
71952         * tests/test-areadlink-with-size.c (main): Ignore system result.
71953         * tests/test-areadlink.c (main): Likewise.
71954         * tests/test-areadlinkat-with-size.c (main): Likewise.
71955         * tests/test-areadlinkat.c (main): Likewise.
71956         * tests/test-canonicalize-lgpl.c (main): Likewise.
71957         * tests/test-canonicalize.c (main): Likewise.
71958         * tests/test-chown.c (main): Likewise.
71959         * tests/test-fchownat.c (main): Likewise.
71960         * tests/test-fdutimensat.c (main): Likewise.
71961         * tests/test-fstatat.c (main): Likewise.
71962         * tests/test-futimens.c (main): Likewise.
71963         * tests/test-lchown.c (main): Likewise.
71964         * tests/test-link.c (main): Likewise.
71965         * tests/test-linkat.c (main): Likewise.
71966         * tests/test-lstat.c (main): Likewise.
71967         * tests/test-mkdir.c (main): Likewise.
71968         * tests/test-mkdirat.c (main): Likewise.
71969         * tests/test-mkfifo.c (main): Likewise.
71970         * tests/test-mkfifoat.c (main): Likewise.
71971         * tests/test-mknod.c (main): Likewise.
71972         * tests/test-readlink.c (main): Likewise.
71973         * tests/test-remove.c (main): Likewise.
71974         * tests/test-rename.c (main): Likewise.
71975         * tests/test-renameat.c (main): Likewise.
71976         * tests/test-rmdir.c (main): Likewise.
71977         * tests/test-symlink.c (main): Likewise.
71978         * tests/test-symlinkat.c (main): Likewise.
71979         * tests/test-unlink.c (main): Likewise.
71980         * tests/test-unlinkat.c (main): Likewise.
71981         * tests/test-utimens.c (main): Likewise.
71982         * tests/test-utimensat.c (main): Likewise.
71983         * modules/areadlink-tests (Depends-on): Add ignore-value.
71984         * modules/areadlink-with-size-tests (Depends-on): Likewise.
71985         * modules/areadlinkat-tests (Depends-on): Likewise.
71986         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
71987         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
71988         * modules/canonicalize-tests (Depends-on): Likewise.
71989         * modules/chown-tests (Depends-on): Likewise.
71990         * modules/fdutimensat-tests (Depends-on): Likewise.
71991         * modules/futimens-tests (Depends-on): Likewise.
71992         * modules/lchown-tests (Depends-on): Likewise.
71993         * modules/link-tests (Depends-on): Likewise.
71994         * modules/linkat-tests (Depends-on): Likewise.
71995         * modules/lstat-tests (Depends-on): Likewise.
71996         * modules/mkdir-tests (Depends-on): Likewise.
71997         * modules/mkfifo-tests (Depends-on): Likewise.
71998         * modules/mkfifoat-tests (Depends-on): Likewise.
71999         * modules/mknod-tests (Depends-on): Likewise.
72000         * modules/openat-tests (Depends-on): Likewise.
72001         * modules/readlink-tests (Depends-on): Likewise.
72002         * modules/remove-tests (Depends-on): Likewise.
72003         * modules/rename-tests (Depends-on): Likewise.
72004         * modules/renameat-tests (Depends-on): Likewise.
72005         * modules/rmdir-tests (Depends-on): Likewise.
72006         * modules/symlink-tests (Depends-on): Likewise.
72007         * modules/symlinkat-tests (Depends-on): Likewise.
72008         * modules/unlink-tests (Depends-on): Likewise.
72009         * modules/utimens-tests (Depends-on): Likewise.
72010         * modules/utimensat-tests (Depends-on): Likewise.
72012 2010-01-31  Bruno Haible  <bruno@clisp.org>
72014         Perform the same test for many <math.h> functions.
72015         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
72016         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
72017         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
72018         of gl_MATHFUNC.
72019         * modules/acos (configure.ac): Likewise.
72020         * modules/asin (configure.ac): Likewise.
72021         * modules/atan (configure.ac): Likewise.
72022         * modules/atan2 (configure.ac): Likewise.
72023         * modules/cbrt (configure.ac): Likewise.
72024         * modules/copysign (configure.ac): Likewise.
72025         * modules/cos (configure.ac): Likewise.
72026         * modules/cosh (configure.ac): Likewise.
72027         * modules/erf (configure.ac): Likewise.
72028         * modules/erfc (configure.ac): Likewise.
72029         * modules/exp (configure.ac): Likewise.
72030         * modules/fmod (configure.ac): Likewise.
72031         * modules/hypot (configure.ac): Likewise.
72032         * modules/j0 (configure.ac): Likewise.
72033         * modules/j1 (configure.ac): Likewise.
72034         * modules/jn (configure.ac): Likewise.
72035         * modules/lgamma (configure.ac): Likewise.
72036         * modules/log (configure.ac): Likewise.
72037         * modules/log10 (configure.ac): Likewise.
72038         * modules/log1p (configure.ac): Likewise.
72039         * modules/pow (configure.ac): Likewise.
72040         * modules/remainder (configure.ac): Likewise.
72041         * modules/sin (configure.ac): Likewise.
72042         * modules/sinh (configure.ac): Likewise.
72043         * modules/tan (configure.ac): Likewise.
72044         * modules/tanh (configure.ac): Likewise.
72045         * modules/y0 (configure.ac): Likewise.
72046         * modules/y1 (configure.ac): Likewise.
72047         * modules/yn (configure.ac): Likewise.
72048         Suggested by Paolo Bonzini.
72050 2010-01-31  Bruno Haible  <bruno@clisp.org>
72052         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
72054 2010-01-31  Bruno Haible  <bruno@clisp.org>
72056         Work around getdelim() bug on FreeBSD 8.0.
72057         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
72058         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
72059         not work.
72060         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
72061         is 1.
72062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
72063         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
72064         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
72065         a non-zero size.
72066         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
72068 2010-01-31  Bruno Haible  <bruno@clisp.org>
72070         Work around getline() bug on FreeBSD 8.0.
72071         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
72072         and a non-zero size.
72073         * tests/test-getline.c (main): Likewise.
72074         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
72075         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
72077 2010-01-28  Eric Blake  <ebb9@byu.net>
72079         regex: fix build failure
72080         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
72081         platforms.
72083 2010-01-28  Jim Meyering  <meyering@redhat.com>
72085         regex: do not ignore memory allocation failure
72086         * lib/regex_internal.c (create_cd_newstate): Detect
72087         re_node_set_init_copy failure.   Extracted from glibc commit
72088         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72090         regex: sync more white-space changes from libc
72091         * lib/regex_internal.c: White-space only changes.
72092         * lib/regexec.c: Likewise.
72094         regex: add many uses of __attribute_warn_unused_result__
72095         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
72096         * lib/regexec.c: Likewise.
72097         Extracted from a messy glibc commit.
72099         regcomp.c: spelling and merge-artifact from glibc
72100         * lib/regcomp.c: Merge remainder of glibc's
72101         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72103         regcomp.c: sync white-space changes from glibc
72104         * lib/regcomp.c: Merge to accommodate white space
72105         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
72107         regcomp.c: do not ignore internal return values
72108         * lib/regcomp.c: Do not ignore internal return values.
72109         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
72110         but without its white-space changes and spelling fixes.
72112         regex_internal.h: define __attribute_warn_unused_result__
72113         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
72115         maint: add a syntax-check rule to check for vulnerable Makefile.in
72116         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
72118 2010-01-27  Jim Meyering  <meyering@redhat.com>
72120         ncftpput-ftp: clean up spaces
72121         * build-aux/ncftpput-ftp: Make Copyright line consistent.
72122         Remove trailing blanks.
72124 2010-01-27  Simon Josefsson  <simon@josefsson.org>
72126         * build-aux/git-version-gen: Fix copyright statement.
72127         * build-aux/gnupload: Likewise.
72128         * tests/test-arcfour.c: Likewise.
72129         * tests/test-arctwo.c: Likewise.
72130         * tests/test-count-one-bits.c: Likewise.
72131         * tests/test-crc.c: Likewise.
72132         * tests/test-des.c: Likewise.
72133         * tests/test-gc-arcfour.c: Likewise.
72134         * tests/test-gc-arctwo.c: Likewise.
72135         * tests/test-gc-des.c: Likewise.
72136         * tests/test-gc-hmac-md5.c: Likewise.
72137         * tests/test-gc-hmac-sha1.c: Likewise.
72138         * tests/test-gc-md2.c: Likewise.
72139         * tests/test-gc-md4.c: Likewise.
72140         * tests/test-gc-md5.c: Likewise.
72141         * tests/test-gc-pbkdf2-sha1.c: Likewise.
72142         * tests/test-gc-rijndael.c: Likewise.
72143         * tests/test-gc-sha1.c: Likewise.
72144         * tests/test-gc.c: Likewise.
72145         * tests/test-gethostname.c: Likewise.
72146         * tests/test-gettimeofday.c: Likewise.
72147         * tests/test-hash.c: Likewise.
72148         * tests/test-hmac-md5.c: Likewise.
72149         * tests/test-hmac-sha1.c: Likewise.
72150         * tests/test-md2.c: Likewise.
72151         * tests/test-md4.c: Likewise.
72152         * tests/test-md5.c: Likewise.
72153         * tests/test-memchr.c: Likewise.
72154         * tests/test-memchr2.c: Likewise.
72155         * tests/test-memcmp.c: Likewise.
72156         * tests/test-memmem.c: Likewise.
72157         * tests/test-memrchr.c: Likewise.
72158         * tests/test-rawmemchr.c: Likewise.
72159         * tests/test-read-file.c: Likewise.
72160         * tests/test-rijndael.c: Likewise.
72161         * tests/test-sockets.c: Likewise.
72162         * tests/test-strchrnul.c: Likewise.
72163         * tests/test-strstr.c: Likewise.
72164         * tests/test-strtod.c: Likewise.
72165         * build-aux/ncftpput-ftp: Likewise.
72167 2010-01-26  Eric Blake  <ebb9@byu.net>
72169         ignore-value: update recommended header name
72170         * modules/ignore-value (Include): Only use <> for headers that
72171         exist in glibc.
72173 2010-01-26  Jim Meyering  <meyering@redhat.com>
72175         test-userspec.c: avoid compiler warnings
72176         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
72177         and "initialization discards qualifiers..." warnings.
72178         Put the first "uid" in its own scope, and make char* members "const".
72180 2010-01-25  Bruno Haible  <bruno@clisp.org>
72182         gnulib-tool: Make warning diagnostics consistent.
72183         * gnulib-tool (func_warning): New function.
72184         Use it everywhere where gnulib-tool produces output to stderr and it is
72185         not a fatal error.
72187 2010-01-25  Bruno Haible  <bruno@clisp.org>
72189         Fix test dependencies.
72190         * modules/xstrtol-tests (Depends-on): Add inttypes.
72191         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
72193 2010-01-25  Pádraig Brady  <P@draigBrady.com>
72195         syntax-check: detect incorrect boolean macro values in config.h
72196         * modules/maintainer-makefile (configure.ac): Parameterize the location
72197         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
72198         The logic is from Eric Blake and the location indicated by Jim Meyering.
72199         Note the more natural CONFIG_HEADER name is prohibited by automake
72200         for backwards compatibility reasons.
72201         * top/maint.mk (sc_Wundef_boolean): New rule.
72203 2010-01-25  Jim Meyering  <meyering@redhat.com>
72205         bootstrap: detect MacOS 10.6's shasum, too
72206         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
72207         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
72209 2010-01-23  Jim Meyering  <meyering@redhat.com>
72211         xstrtoll: new module
72212         * modules/xstrtoll: New file.
72213         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
72214         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
72215         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
72216         ./configure fails if you use this module and lack "long long".
72217         * modules/xstrtoll-tests: New module.
72218         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
72219         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
72220         new init.sh-based test framework.
72222 2010-01-24  Bruno Haible  <bruno@clisp.org>
72224         Tests for module 'yn'.
72225         * modules/yn-tests: New file.
72226         * tests/test-yn.c: New file.
72228         Tests for module 'y1'.
72229         * modules/y1-tests: New file.
72230         * tests/test-y1.c: New file.
72232         Tests for module 'y0'.
72233         * modules/y0-tests: New file.
72234         * tests/test-y0.c: New file.
72236         Tests for module 'tanh'.
72237         * modules/tanh-tests: New file.
72238         * tests/test-tanh.c: New file.
72240         Tests for module 'tan'.
72241         * modules/tan-tests: New file.
72242         * tests/test-tan.c: New file.
72244         Tests for module 'sqrt'.
72245         * modules/sqrt-tests: New file.
72246         * tests/test-sqrt.c: New file.
72248         Tests for module 'sinh'.
72249         * modules/sinh-tests: New file.
72250         * tests/test-sinh.c: New file.
72252         Tests for module 'sin'.
72253         * modules/sin-tests: New file.
72254         * tests/test-sin.c: New file.
72256         Tests for module 'rint'.
72257         * modules/rint-tests: New file.
72258         * tests/test-rint.c: New file.
72260         Tests for module 'remainder'.
72261         * modules/remainder-tests: New file.
72262         * tests/test-remainder.c: New file.
72264         Tests for module 'pow'.
72265         * modules/pow-tests: New file.
72266         * tests/test-pow.c: New file.
72268         Tests for module 'nextafter'.
72269         * modules/nextafter-tests: New file.
72270         * tests/test-nextafter.c: New file.
72272         Tests for module 'modf'.
72273         * modules/modf-tests: New file.
72274         * tests/test-modf.c: New file.
72276         Tests for module 'logb'.
72277         * modules/logb-tests: New file.
72278         * tests/test-logb.c: New file.
72280         Tests for module 'log1p'.
72281         * modules/log1p-tests: New file.
72282         * tests/test-log1p.c: New file.
72284         Tests for module 'log10'.
72285         * modules/log10-tests: New file.
72286         * tests/test-log10.c: New file.
72288         Tests for module 'log'.
72289         * modules/log-tests: New file.
72290         * tests/test-log.c: New file.
72292         Tests for module 'lgamma'.
72293         * modules/lgamma-tests: New file.
72294         * tests/test-lgamma.c: New file.
72296         Tests for module 'ldexp'.
72297         * modules/ldexp-tests: New file.
72298         * tests/test-ldexp.c: New file.
72300         Tests for module 'jn'.
72301         * modules/jn-tests: New file.
72302         * tests/test-jn.c: New file.
72304         Tests for module 'j1'.
72305         * modules/j1-tests: New file.
72306         * tests/test-j1.c: New file.
72308         Tests for module 'j0'.
72309         * modules/j0-tests: New file.
72310         * tests/test-j0.c: New file.
72312         Tests for module 'hypot'.
72313         * modules/hypot-tests: New file.
72314         * tests/test-hypot.c: New file.
72316         Tests for module 'fmod'.
72317         * modules/fmod-tests: New file.
72318         * tests/test-fmod.c: New file.
72320         Tests for module 'fabs'.
72321         * modules/fabs-tests: New file.
72322         * tests/test-fabs.c: New file.
72324         Tests for module 'exp'.
72325         * modules/exp-tests: New file.
72326         * tests/test-exp.c: New file.
72328         Tests for module 'erfc'.
72329         * modules/erfc-tests: New file.
72330         * tests/test-erfc.c: New file.
72332         Tests for module 'erf'.
72333         * modules/erf-tests: New file.
72334         * tests/test-erf.c: New file.
72336         Tests for module 'cosh'.
72337         * modules/cosh-tests: New file.
72338         * tests/test-cosh.c: New file.
72340         Tests for module 'cos'.
72341         * modules/cos-tests: New file.
72342         * tests/test-cos.c: New file.
72344         Tests for module 'copysign'.
72345         * modules/copysign-tests: New file.
72346         * tests/test-copysign.c: New file.
72348         Tests for module 'cbrt'.
72349         * modules/cbrt-tests: New file.
72350         * tests/test-cbrt.c: New file.
72352         Tests for module 'atan2'.
72353         * modules/atan2-tests: New file.
72354         * tests/test-atan2.c: New file.
72356         Tests for module 'atan'.
72357         * modules/atan-tests: New file.
72358         * tests/test-atan.c: New file.
72360         Tests for module 'asin'.
72361         * modules/asin-tests: New file.
72362         * tests/test-asin.c: New file.
72364         Tests for module 'acos'.
72365         * modules/acos-tests: New file.
72366         * tests/test-acos.c: New file.
72368 2010-01-24  Bruno Haible  <bruno@clisp.org>
72370         Fix tests for common <math.h> functions.
72371         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
72372         code snippet that references the function pointer, rather than merely
72373         calling the function. Substitute the FUNC_LIBM variable.
72374         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
72375         * modules/acos (configure.ac): Likewise.
72376         * modules/asin (configure.ac): Likewise.
72377         * modules/atan (configure.ac): Likewise.
72378         * modules/atan2 (configure.ac): Likewise.
72379         * modules/cbrt (configure.ac): Likewise.
72380         * modules/copysign (configure.ac): Likewise.
72381         * modules/cos (configure.ac): Likewise.
72382         * modules/cosh (configure.ac): Likewise.
72383         * modules/erf (configure.ac): Likewise.
72384         * modules/erfc (configure.ac): Likewise.
72385         * modules/exp (configure.ac): Likewise.
72386         * modules/fabs (configure.ac): Likewise.
72387         * modules/fmod (configure.ac): Likewise.
72388         * modules/hypot (configure.ac): Likewise.
72389         * modules/j0 (configure.ac): Likewise.
72390         * modules/j1 (configure.ac): Likewise.
72391         * modules/jn (configure.ac): Likewise.
72392         * modules/ldexp (configure.ac): Likewise.
72393         * modules/lgamma (configure.ac): Likewise.
72394         * modules/log (configure.ac): Likewise.
72395         * modules/log10 (configure.ac): Likewise.
72396         * modules/log1p (configure.ac): Likewise.
72397         * modules/logb (configure.ac): Likewise.
72398         * modules/modf (configure.ac): Likewise.
72399         * modules/nextafter (configure.ac): Likewise.
72400         * modules/pow (configure.ac): Likewise.
72401         * modules/remainder (configure.ac): Likewise.
72402         * modules/rint (configure.ac): Likewise.
72403         * modules/sin (configure.ac): Likewise.
72404         * modules/sinh (configure.ac): Likewise.
72405         * modules/tan (configure.ac): Likewise.
72406         * modules/tanh (configure.ac): Likewise.
72407         * modules/y0 (configure.ac): Likewise.
72408         * modules/y1 (configure.ac): Likewise.
72409         * modules/yn (configure.ac): Likewise.
72411 2010-01-24  Bruno Haible  <bruno@clisp.org>
72413         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
72414         * tests/test-acosl.c (x): New variable.
72415         (main): Store argument in x and fetch it from x.
72416         * tests/test-asinl.c (x): New variable.
72417         (main): Store argument in x and fetch it from x.
72418         * tests/test-atanl.c (x): New variable.
72419         (main): Store argument in x and fetch it from x.
72420         * tests/test-cosl.c (x): New variable.
72421         (main): Store argument in x and fetch it from x.
72422         * tests/test-expl.c (x): New variable.
72423         (main): Store argument in x and fetch it from x.
72424         * tests/test-logl.c (x): New variable.
72425         (main): Store argument in x and fetch it from x.
72426         * tests/test-sinl.c (x): New variable.
72427         (main): Store argument in x and fetch it from x.
72428         * tests/test-sqrtl.c (x): New variable.
72429         (main): Store argument in x and fetch it from x.
72430         * tests/test-tanl.c (x): New variable.
72431         (main): Store argument in x and fetch it from x.
72433 2010-01-24  Bruno Haible  <bruno@clisp.org>
72435         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
72436         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
72437         assignments to the initial TESTS_ENVIRONMENT.
72438         * doc/gnulib.texi (Unit test modules): Document it.
72439         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
72440         TESTS_ENVIRONMENT.
72441         * modules/btowc-tests (Makefile.am): Likewise.
72442         * modules/c-stack-tests (Makefile.am): Likewise.
72443         * modules/c-strcase-tests (Makefile.am): Likewise.
72444         * modules/copy-file-tests (Makefile.am): Likewise.
72445         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
72446         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
72447         * modules/mbrtowc-tests (Makefile.am): Likewise.
72448         * modules/mbscasecmp-tests (Makefile.am): Likewise.
72449         * modules/mbscasestr-tests (Makefile.am): Likewise.
72450         * modules/mbschr-tests (Makefile.am): Likewise.
72451         * modules/mbscspn-tests (Makefile.am): Likewise.
72452         * modules/mbsinit-tests (Makefile.am): Likewise.
72453         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
72454         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
72455         * modules/mbspbrk-tests (Makefile.am): Likewise.
72456         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
72457         * modules/mbsrchr-tests (Makefile.am): Likewise.
72458         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
72459         * modules/mbsspn-tests (Makefile.am): Likewise.
72460         * modules/mbsstr-tests (Makefile.am): Likewise.
72461         * modules/nl_langinfo-tests (Makefile.am): Likewise.
72462         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
72463         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
72464         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
72465         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
72466         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
72467         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
72468         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
72469         * modules/wcrtomb-tests (Makefile.am): Likewise.
72470         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
72471         * modules/wcsrtombs-tests (Makefile.am): Likewise.
72472         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
72473         assignments from TESTS_ENVIRONMENT.
72474         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
72475         augmentation.
72476         * modules/argp-version-etc-tests (Makefile.am): Likewise.
72477         * modules/atexit-tests (Makefile.am): Likewise.
72478         * modules/binary-io-tests (Makefile.am): Likewise.
72479         * modules/closein-tests (Makefile.am): Likewise.
72480         * modules/dprintf-posix-tests (Makefile.am): Likewise.
72481         * modules/exclude-tests (Makefile.am): Likewise.
72482         * modules/fflush-tests (Makefile.am): Likewise.
72483         * modules/fpending-tests (Makefile.am): Likewise.
72484         * modules/fprintf-posix-tests (Makefile.am): Likewise.
72485         * modules/freadahead-tests (Makefile.am): Likewise.
72486         * modules/freadptr-tests (Makefile.am): Likewise.
72487         * modules/freadseek-tests (Makefile.am): Likewise.
72488         * modules/fseek-tests (Makefile.am): Likewise.
72489         * modules/fseeko-tests (Makefile.am): Likewise.
72490         * modules/ftell-tests (Makefile.am): Likewise.
72491         * modules/ftello-tests (Makefile.am): Likewise.
72492         * modules/idpriv-drop-tests (Makefile.am): Likewise.
72493         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
72494         * modules/lseek-tests (Makefile.am): Likewise.
72495         * modules/parse-duration-tests (Makefile.am): Likewise.
72496         * modules/perror-tests (Makefile.am): Likewise.
72497         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
72498         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
72499         * modules/pipe-tests (Makefile.am): Likewise.
72500         * modules/pread-tests (Makefile.am): Likewise.
72501         * modules/printf-posix-tests (Makefile.am): Likewise.
72502         * modules/select-tests (Makefile.am): Likewise.
72503         * modules/sigpipe-tests (Makefile.am): Likewise.
72504         * modules/tsearch-tests (Makefile.am): Likewise.
72505         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
72506         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
72507         * modules/uniname/uniname-tests (Makefile.am): Likewise.
72508         * modules/uniwidth/width-tests (Makefile.am): Likewise.
72509         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
72510         * modules/version-etc-tests (Makefile.am): Likewise.
72511         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
72512         * modules/vprintf-posix-tests (Makefile.am): Likewise.
72513         * modules/xalloc-die-tests (Makefile.am): Likewise.
72514         * modules/xprintf-posix-tests (Makefile.am): Likewise.
72515         * modules/xstrtoimax-tests (Makefile.am): Likewise.
72516         * modules/xstrtol-tests (Makefile.am): Likewise.
72517         * modules/xstrtoumax-tests (Makefile.am): Likewise.
72518         * modules/yesno-tests (Makefile.am): Likewise.
72519         Suggested by Jim Meyering.
72521 2010-01-24  Bruno Haible  <bruno@clisp.org>
72523         More documentation.
72524         * doc/gnulib.texi (Writing modules): New chapter.
72525         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
72526         the new chapter.
72528 2010-01-24  Jim Meyering  <meyering@redhat.com>
72530         maint.mk: do not prepend "./" after filtering
72531         * top/maint.mk (_prepend_srcdir_prefix): New variable
72532         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
72533         "./" when $(srcdir) is ".".
72535         define STREQ(a,b) consistently, removing useless parentheses
72536         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
72537         since the only risk is that "a" or "b" contains an unparenthesized
72538         comma, but if either did that, STREQ would have 3 or more arguments.
72539         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
72540         * lib/fts.c (STREQ): Remove unnecessary parentheses.
72541         * lib/hash-triple.c (STREQ): Likewise.
72542         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
72543         * lib/getugroups.c (STREQ): Likewise.
72545 2010-01-23  Jim Meyering  <meyering@redhat.com>
72547         maint.mk: fix syntax-check in a non-srcdir build directory
72548         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
72549         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
72551 2010-01-22  Jim Meyering  <meyering@redhat.com>
72553         userspec: add unit tests
72554         * tests/test-userspec.c: New file.
72555         * modules/userspec-tests: Likewise.
72557 2010-01-21  Jim Meyering  <meyering@redhat.com>
72559         maint.mk: handle source file names containing "." robustly
72560         * top/maint.mk (_dot_escaped_srcdir): Define.
72561         (VC_LIST): Use it in LHS of sed substitution.
72563 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
72565         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
72566         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
72567         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
72568         from a non-srcdir build.
72570 2010-01-20  Eric Blake  <ebb9@byu.net>
72572         warn-on-use: use instead of link-warning
72573         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
72574         * modules/unistd (Depends-on, Makefile.am): Likewise.
72575         * modules/arpa_inet (Depends-on): Replace link-warning with
72576         warn-on-use.
72577         (Makefile.am): Update rules accordingly.
72578         * modules/ctype (Depends-on, Makefile.am): Likewise.
72579         * modules/dirent (Depends-on, Makefile.am): Likewise.
72580         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
72581         * modules/inttypes (Depends-on, Makefile.am): Likewise.
72582         * modules/langinfo (Depends-on, Makefile.am): Likewise.
72583         * modules/locale (Depends-on, Makefile.am): Likewise.
72584         * modules/math (Depends-on, Makefile.am): Likewise.
72585         * modules/search (Depends-on, Makefile.am): Likewise.
72586         * modules/signal (Depends-on, Makefile.am): Likewise.
72587         * modules/spawn (Depends-on, Makefile.am): Likewise.
72588         * modules/stdlib (Depends-on, Makefile.am): Likewise.
72589         * modules/string (Depends-on, Makefile.am): Likewise.
72590         * modules/strings (Depends-on, Makefile.am): Likewise.
72591         * modules/sys_file (Depends-on, Makefile.am): Likewise.
72592         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
72593         * modules/sys_select (Depends-on, Makefile.am): Likewise.
72594         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
72595         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
72596         * modules/sys_times (Depends-on, Makefile.am): Likewise.
72597         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
72598         * modules/wchar (Depends-on, Makefile.am): Likewise.
72599         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
72600         should be poisoned.
72601         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
72602         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
72603         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
72604         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
72605         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
72606         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
72607         * m4/math_h.m4 (gl_MATH_H): Likewise.
72608         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
72609         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
72610         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
72611         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
72612         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
72613         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
72614         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
72615         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
72616         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
72617         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
72618         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
72619         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
72620         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
72621         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
72622         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
72623         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
72624         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
72625         GL_LINK_WARNING.
72626         * lib/ctype.in.h: Likewise.
72627         * lib/dirent.in.h: Likewise.
72628         * lib/fcntl.in.h: Likewise.
72629         * lib/inttypes.in.h: Likewise.
72630         * lib/langinfo.in.h: Likewise.
72631         * lib/locale.in.h: Likewise.
72632         * lib/math.in.h: Likewise.
72633         * lib/search.in.h: Likewise.
72634         * lib/signal.in.h: Likewise.
72635         * lib/spawn.in.h: Likewise.
72636         * lib/stdio.in.h: Likewise.
72637         * lib/stdlib.in.h: Likewise.
72638         * lib/string.in.h: Likewise.
72639         * lib/strings.in.h: Likewise.
72640         * lib/sys_file.in.h: Likewise.
72641         * lib/sys_ioctl.in.h: Likewise.
72642         * lib/sys_select.in.h: Likewise.
72643         * lib/sys_socket.in.h: Likewise.
72644         * lib/sys_stat.in.h: Likewise.
72645         * lib/sys_times.in.h: Likewise.
72646         * lib/sys_utsname.in.h: Likewise.
72647         * lib/unistd.in.h: Likewise.
72648         * lib/wchar.in.h: Likewise.
72650 2010-01-20  Bruno Haible  <bruno@clisp.org>
72652         Avoid duplicate -lm.
72653         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
72654         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
72655         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
72656         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
72657         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
72658         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
72659         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
72660         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
72661         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
72662         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
72663         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
72664         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
72665         Reported by Paolo Bonzini.
72667 2010-01-19  Bruno Haible  <bruno@clisp.org>
72669         langinfo, nl_langinfo: Relicense under LGPLv2+.
72670         * modules/langinfo (License): Change to LGPLv2+.
72671         * modules/nl_langinfo (License): Likewise.
72672         Patch by David Lutterkort <lutter@redhat.com>.
72674 2010-01-19  Bruno Haible  <bruno@clisp.org>
72676         Avoid compilation error with cc on OSF/1 5.1.
72677         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
72678         statement, not before.
72679         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72681 2010-01-18  Bruno Haible  <bruno@clisp.org>
72683         Avoid a link error due to the __printf__ symbol.
72684         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
72685         and 2.6.x.
72686         (__format__, __printf__): Remove definitions.
72687         * lib/argp-fmtstream.h: Likewise.
72688         * lib/argp.h: Likewise.
72689         * lib/error.h: Likewise.
72690         * lib/vasnprintf.h: Likewise.
72691         * lib/xprintf.h: Likewise.
72692         * lib/xvasprintf.h: Likewise.
72693         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72695 2010-01-18  Bruno Haible  <bruno@clisp.org>
72697         Tests for module 'tanl'.
72698         * modules/tanl-tests: New file.
72699         * tests/test-tanl.c: New file.
72701         Tests for module 'sqrtl'.
72702         * modules/sqrtl-tests: New file.
72703         * tests/test-sqrtl.c: New file.
72705         Tests for module 'sinl'.
72706         * modules/sinl-tests: New file.
72707         * tests/test-sinl.c: New file.
72709         Tests for module 'logl'.
72710         * modules/logl-tests: New file.
72711         * tests/test-logl.c: New file.
72713         Tests for module 'expl'.
72714         * modules/expl-tests: New file.
72715         * tests/test-expl.c: New file.
72717         Tests for module 'cosl'.
72718         * modules/cosl-tests: New file.
72719         * tests/test-cosl.c: New file.
72721         Tests for module 'atanl'.
72722         * modules/atanl-tests: New file.
72723         * tests/test-atanl.c: New file.
72725         Tests for module 'asinl'.
72726         * modules/asinl-tests: New file.
72727         * tests/test-asinl.c: New file.
72729         Tests for module 'acosl'.
72730         * modules/acosl-tests: New file.
72731         * tests/test-acosl.c: New file.
72733         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72734         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
72735         tanl): Use the standard gnulib idiom.
72736         * lib/cosl.c: Don't include trigl.c and sincosl.c.
72737         * lib/sinl.c: Likewise.
72738         * lib/tanl.c: Don't include trigl.c.
72739         (kernel_tanl): Make static.
72740         * lib/sincosl.c: Include trigl.h first.
72741         * lib/trigl.c: Likewise.
72742         * m4/acosl.m4: New file.
72743         * m4/asinl.m4: New file.
72744         * m4/atanl.m4: New file.
72745         * m4/cosl.m4: New file.
72746         * m4/expl.m4: New file.
72747         * m4/logl.m4: New file.
72748         * m4/sinl.m4: New file.
72749         * m4/sqrtl.m4: New file.
72750         * m4/tanl.m4: New file.
72751         * m4/mathl.m4: Remove file.
72752         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
72753         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
72754         Don't initialize GNULIB_MATHL.
72755         * modules/acosl: New file.
72756         * modules/asinl: New file.
72757         * modules/atanl: New file.
72758         * modules/cosl: New file.
72759         * modules/expl: New file.
72760         * modules/logl: New file.
72761         * modules/sinl: New file.
72762         * modules/sqrtl: New file.
72763         * modules/tanl: New file.
72764         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
72765         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
72766         substitute GNULIB_MATHL.
72767         * modules/mathl: Rewritten.
72768         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
72769         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
72770         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
72771         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
72772         * doc/posix-functions/expl.texi: Mention the 'expl' module.
72773         * doc/posix-functions/logl.texi: Mention the 'logl' module.
72774         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
72775         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
72776         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
72778 2010-01-18  Bruno Haible  <bruno@clisp.org>
72780         sqrt: Make gl_FUNC_SQRT requirable.
72781         * m4/sqrt.m4: New file.
72782         * modules/sqrt (Files): Add it.
72783         (configure.ac): Invoke gl_FUNC_SQRT.
72785 2010-01-18  Bruno Haible  <bruno@clisp.org>
72787         New modules for common <math.h> functions.
72788         * m4/mathfunc.m4: New file.
72789         * modules/acos: New file.
72790         * modules/asin: New file.
72791         * modules/atan: New file.
72792         * modules/atan2: New file.
72793         * modules/cbrt: New file.
72794         * modules/copysign: New file.
72795         * modules/cos: New file.
72796         * modules/cosh: New file.
72797         * modules/erf: New file.
72798         * modules/erfc: New file.
72799         * modules/exp: New file.
72800         * modules/fabs: New file.
72801         * modules/fmod: New file.
72802         * modules/hypot: New file.
72803         * modules/j0: New file.
72804         * modules/j1: New file.
72805         * modules/jn: New file.
72806         * modules/ldexp: New file.
72807         * modules/lgamma: New file.
72808         * modules/log: New file.
72809         * modules/log10: New file.
72810         * modules/log1p: New file.
72811         * modules/logb: New file.
72812         * modules/modf: New file.
72813         * modules/nextafter: New file.
72814         * modules/pow: New file.
72815         * modules/remainder: New file.
72816         * modules/rint: New file.
72817         * modules/sin: New file.
72818         * modules/sinh: New file.
72819         * modules/sqrt: New file.
72820         * modules/tan: New file.
72821         * modules/tanh: New file.
72822         * modules/y0: New file.
72823         * modules/y1: New file.
72824         * modules/yn: New file.
72825         * doc/posix-functions/acos.texi: Mention the 'acos' module.
72826         * doc/posix-functions/asin.texi: Mention the 'asin' module.
72827         * doc/posix-functions/atan.texi: Mention the 'atan' module.
72828         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
72829         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
72830         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
72831         * doc/posix-functions/cos.texi: Mention the 'cos' module.
72832         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
72833         * doc/posix-functions/erf.texi: Mention the 'erf' module.
72834         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
72835         * doc/posix-functions/exp.texi: Mention the 'exp' module.
72836         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
72837         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
72838         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
72839         * doc/posix-functions/j0.texi: Mention the 'j0' module.
72840         * doc/posix-functions/j1.texi: Mention the 'j1' module.
72841         * doc/posix-functions/jn.texi: Mention the 'jn' module.
72842         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
72843         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
72844         * doc/posix-functions/log.texi: Mention the 'log' module.
72845         * doc/posix-functions/log10.texi: Mention the 'log10' module.
72846         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
72847         * doc/posix-functions/logb.texi: Mention the 'logb' module.
72848         * doc/posix-functions/modf.texi: Mention the 'modf' module.
72849         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
72850         * doc/posix-functions/pow.texi: Mention the 'pow' module.
72851         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
72852         * doc/posix-functions/rint.texi: Mention the 'rint' module.
72853         * doc/posix-functions/sin.texi: Mention the 'sin' module.
72854         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
72855         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
72856         * doc/posix-functions/tan.texi: Mention the 'tan' module.
72857         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
72858         * doc/posix-functions/y0.texi: Mention the 'y0' module.
72859         * doc/posix-functions/y1.texi: Mention the 'y1' module.
72860         * doc/posix-functions/yn.texi: Mention the 'yn' module.
72862 2010-01-18  Jim Meyering  <meyering@redhat.com>
72864         ignore-value: relax license to LGPLv2+
72865         * modules/ignore-value (License): Relax to LGPLv2+.
72867         getdate: don't leak when TZ contains two or more '"'s
72868         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
72869         double quote in TZ after the first one.
72871         readtokens: do not leak internal token_lengths buffer
72872         * lib/readtokens.c (readtokens): Free the local, lengths,
72873         when the supplied "token_lengths" parameter is NULL.
72875 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72877         Fix a couple of missing LIBTHREAD link failures on AIX.
72878         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
72879         $(LIBTHREAD).
72880         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
72882         Link test-poll against INET_PTON_LIB.
72883         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
72884         for inet_pton on Solaris 10.
72886 2010-01-17  Bruno Haible  <bruno@clisp.org>
72888         unistdio/*-sprintf: Fix typo in module description.
72889         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
72890         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
72891         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
72892         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
72893         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
72894         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
72895         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
72896         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72898 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72900         gnulib-tool: fix filelist for AIX, HP-UX ksh.
72901         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
72902         variables in shell case patterns, for AIX and HP-UX ksh.
72904         Split large sed scripts, for HP-UX sed.
72905         * modules/stdio: Split sed scripts around 50 sed commands,
72906         to avoid HP-UX limit of 99 commands, in the near future.
72907         * modules/string: Likewise.
72908         * modules/unistd: Likewise.
72910         gnulib-tool: avoid writing in the current directory.
72911         * gnulib-tool (func_emit_lib_Makefile_am)
72912         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
72913         not in the current directory, so concurrent gnulib-tool
72914         instances do not interfere.
72916 2010-01-16  Jim Meyering  <meyering@redhat.com>
72918         doc: update users.txt
72919         * users.txt: Add grep.
72920         (diffutils, gzip): Update URLs.
72922 2010-01-12  Bruno Haible  <bruno@clisp.org>
72924         posix_spawn: Avoid test failure on Cygwin.
72925         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
72926         characters.
72927         Reported by Simon Josefsson.
72929 2010-01-12  Bruno Haible  <bruno@clisp.org>
72931         * tests/test-cond.c (main): When skipping the test, show the reason.
72933 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72935         * lib/striconv.c (str_cd_iconv): Avoid if before free.
72937 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72939         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
72940         VC_LIST_ALWAYS_EXCLUDE_REGEX.
72942 2010-01-12  Eric Blake  <ebb9@byu.net>
72944         build: guarantee AS_VAR_IF
72945         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
72946         (gl_AS_VAR_IF): Move...
72947         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
72948         Reported by Simon Josefsson.
72950 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72952         * lib/stdio.in.h: Fix typo.
72954 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72956         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
72957         libgpg-error.
72959 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72961         * tests/test-xalloc-die.sh: Use $EXEEXT.
72963 2010-01-12  Simon Josefsson  <simon@josefsson.org>
72964             Bruno Haible  <bruno@clisp.org>
72966         getlogin, getlogin_r: Avoid test failure.
72967         * tests/test-getlogin.c: Include <stdio.h>.
72968         (main): Skip the test when the function fails because stdin is not a
72969         tty.
72970         * tests/test-getlogin_r.c: Include <stdio.h>.
72971         (main): Skip the test when the function fails because stdin is not a
72972         tty.
72974 2010-01-11  Eric Blake  <ebb9@byu.net>
72976         tests: avoid more large file warnings
72977         * tests/test-fflush.c: Avoid warning about ftell use.
72978         * tests/test-fseek.c: Avoid warning about fseek use.
72980 2010-01-10  Bruno Haible  <bruno@clisp.org>
72982         nproc: Work better on Linux when /proc and /sys are not mounted.
72983         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
72984         as lower bound when, on glibc/Linux systems,
72985         sysconf (_SC_NPROCESSORS_CONF) returns 1.
72986         Suggested by Pádraig Brady <P@draigbrady.com>.
72987         Reported by Dmitry V. Levin <ldv@altlinux.org>.
72989         nproc: Refactor.
72990         * lib/nproc.c (num_processors_via_affinity_mask): New function,
72991         extracted from num_processors.
72992         (num_processors): Call it.
72994 2010-01-11  Jim Meyering  <meyering@redhat.com>
72996         utimecmp: avoid new warning from upcoming gcc-4.5.0
72997         * lib/utimecmp.c (BILLION): Define using #define rather than an
72998         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
73000 2010-01-11  Eric Blake  <ebb9@byu.net>
73002         math: add portability warnings for classification macros
73003         * modules/math (Depends-on): Add warn-on-use.
73004         (Makefile.am): Provide new substitutions.
73005         * m4/math_h.m4 (gl_MATH_H): Require inline.
73006         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
73007         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
73008         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
73009         implement warnings.
73011         unistd: warn on use of environ without module
73012         * modules/unistd (Depends-on): Add warn-on-use.
73013         (Makefile.am): Provide new substitutions.
73014         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
73015         * lib/unistd.in.h (environ): Wrap with a warning helper function.
73017         stdio: warn on suspicious uses
73018         * modules/stdio (Depends-on): Add warn-on-use.
73019         (Makefile.am): Provide new substitutions.
73020         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
73021         fseeko.
73022         * lib/stdio.in.h (gets): Always warn on use.
73023         (fseek, ftell): Adjust when warnings are issued, and honor
73024         _GL_NO_LARGE_FILES as a way to silence the warning.
73025         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
73026         any warning about large file offsets.
73027         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
73028         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
73029         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
73030         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
73031         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
73032         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
73033         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
73034         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
73036         warn-on-use: new module
73037         * modules/warn-on-use: New file.
73038         * build-aux/warn-on-use.h: Likewise.
73039         * m4/warn-on-use.m4: Likewise.
73040         * MODULES.html.sh (Support for building): Mention it.
73042 2010-01-10  Bruno Haible  <bruno@clisp.org>
73044         Tests for module 'unistr/u32-strdup'.
73045         * modules/unistr/u32-strdup-tests: New file.
73046         * tests/unistr/test-u32-strdup.c: New file.
73048         Tests for module 'unistr/u16-strdup'.
73049         * modules/unistr/u16-strdup-tests: New file.
73050         * tests/unistr/test-u16-strdup.c: New file.
73052         Tests for module 'unistr/u8-strdup'.
73053         * modules/unistr/u8-strdup-tests: New file.
73054         * tests/unistr/test-u8-strdup.c: New file.
73055         * tests/unistr/test-strdup.h: New file.
73057         Tests for module 'unistr/u32-strncmp'.
73058         * modules/unistr/u32-strncmp-tests: New file.
73059         * tests/unistr/test-u32-strncmp.c: New file.
73061         Tests for module 'unistr/u16-strncmp'.
73062         * modules/unistr/u16-strncmp-tests: New file.
73063         * tests/unistr/test-u16-strncmp.c: New file.
73065         Tests for module 'unistr/u8-strncmp'.
73066         * modules/unistr/u8-strncmp-tests: New file.
73067         * tests/unistr/test-u8-strncmp.c: New file.
73068         * tests/unistr/test-strncmp.h: New file.
73070         Tests for module 'unistr/u32-strcoll'.
73071         * modules/unistr/u32-strcoll-tests: New file.
73072         * tests/unistr/test-u32-strcoll.c: New file.
73074         Tests for module 'unistr/u16-strcoll'.
73075         * modules/unistr/u16-strcoll-tests: New file.
73076         * tests/unistr/test-u16-strcoll.c: New file.
73078         Tests for module 'unistr/u8-strcoll'.
73079         * modules/unistr/u8-strcoll-tests: New file.
73080         * tests/unistr/test-u8-strcoll.c: New file.
73082         Tests for module 'unistr/u32-strcmp'.
73083         * modules/unistr/u32-strcmp-tests: New file.
73084         * tests/unistr/test-u32-strcmp.c: New file.
73085         * tests/unistr/test-u32-strcmp.h: New file.
73087         Tests for module 'unistr/u16-strcmp'.
73088         * modules/unistr/u16-strcmp-tests: New file.
73089         * tests/unistr/test-u16-strcmp.c: New file.
73090         * tests/unistr/test-u16-strcmp.h: New file.
73092         Tests for module 'unistr/u8-strcmp'.
73093         * modules/unistr/u8-strcmp-tests: New file.
73094         * tests/unistr/test-u8-strcmp.c: New file.
73095         * tests/unistr/test-u8-strcmp.h: New file.
73096         * tests/unistr/test-strcmp.h: New file.
73098         Tests for module 'unistr/u32-strncat'.
73099         * modules/unistr/u32-strncat-tests: New file.
73100         * tests/unistr/test-u32-strncat.c: New file.
73102         Tests for module 'unistr/u16-strncat'.
73103         * modules/unistr/u16-strncat-tests: New file.
73104         * tests/unistr/test-u16-strncat.c: New file.
73106         Tests for module 'unistr/u8-strncat'.
73107         * modules/unistr/u8-strncat-tests: New file.
73108         * tests/unistr/test-u8-strncat.c: New file.
73109         * tests/unistr/test-strncat.h: New file.
73111         Tests for module 'unistr/u32-strcat'.
73112         * modules/unistr/u32-strcat-tests: New file.
73113         * tests/unistr/test-u32-strcat.c: New file.
73115         Tests for module 'unistr/u16-strcat'.
73116         * modules/unistr/u16-strcat-tests: New file.
73117         * tests/unistr/test-u16-strcat.c: New file.
73119         Tests for module 'unistr/u8-strcat'.
73120         * modules/unistr/u8-strcat-tests: New file.
73121         * tests/unistr/test-u8-strcat.c: New file.
73122         * tests/unistr/test-strcat.h: New file.
73124         Tests for module 'unistr/u32-stpncpy'.
73125         * modules/unistr/u32-stpncpy-tests: New file.
73126         * tests/unistr/test-u32-stpncpy.c: New file.
73128         Tests for module 'unistr/u16-stpncpy'.
73129         * modules/unistr/u16-stpncpy-tests: New file.
73130         * tests/unistr/test-u16-stpncpy.c: New file.
73132         Tests for module 'unistr/u8-stpncpy'.
73133         * modules/unistr/u8-stpncpy-tests: New file.
73134         * tests/unistr/test-u8-stpncpy.c: New file.
73135         * tests/unistr/test-stpncpy.h: New file.
73137         Tests for module 'unistr/u32-strncpy'.
73138         * modules/unistr/u32-strncpy-tests: New file.
73139         * tests/unistr/test-u32-strncpy.c: New file.
73141         Tests for module 'unistr/u16-strncpy'.
73142         * modules/unistr/u16-strncpy-tests: New file.
73143         * tests/unistr/test-u16-strncpy.c: New file.
73145         Tests for module 'unistr/u8-strncpy'.
73146         * modules/unistr/u8-strncpy-tests: New file.
73147         * tests/unistr/test-u8-strncpy.c: New file.
73148         * tests/unistr/test-strncpy.h: New file.
73150         Tests for module 'unistr/u32-stpcpy'.
73151         * modules/unistr/u32-stpcpy-tests: New file.
73152         * tests/unistr/test-u32-stpcpy.c: New file.
73154         Tests for module 'unistr/u16-stpcpy'.
73155         * modules/unistr/u16-stpcpy-tests: New file.
73156         * tests/unistr/test-u16-stpcpy.c: New file.
73158         Tests for module 'unistr/u8-stpcpy'.
73159         * modules/unistr/u8-stpcpy-tests: New file.
73160         * tests/unistr/test-u8-stpcpy.c: New file.
73161         * tests/unistr/test-stpcpy.h: New file.
73163         Tests for module 'unistr/u32-strcpy'.
73164         * modules/unistr/u32-strcpy-tests: New file.
73165         * tests/unistr/test-u32-strcpy.c: New file.
73167         Tests for module 'unistr/u16-strcpy'.
73168         * modules/unistr/u16-strcpy-tests: New file.
73169         * tests/unistr/test-u16-strcpy.c: New file.
73171         Tests for module 'unistr/u8-strcpy'.
73172         * modules/unistr/u8-strcpy-tests: New file.
73173         * tests/unistr/test-u8-strcpy.c: New file.
73174         * tests/unistr/test-strcpy.h: New file.
73176         Tests for module 'unistr/u32-strnlen'.
73177         * modules/unistr/u32-strnlen-tests: New file.
73178         * tests/unistr/test-u32-strnlen.c: New file.
73180         Tests for module 'unistr/u16-strnlen'.
73181         * modules/unistr/u16-strnlen-tests: New file.
73182         * tests/unistr/test-u16-strnlen.c: New file.
73184         Tests for module 'unistr/u8-strnlen'.
73185         * modules/unistr/u8-strnlen-tests: New file.
73186         * tests/unistr/test-u8-strnlen.c: New file.
73187         * tests/unistr/test-strnlen.h: New file.
73189         Tests for module 'unistr/u32-strlen'.
73190         * modules/unistr/u32-strlen-tests: New file.
73191         * tests/unistr/test-u32-strlen.c: New file.
73193         Tests for module 'unistr/u16-strlen'.
73194         * modules/unistr/u16-strlen-tests: New file.
73195         * tests/unistr/test-u16-strlen.c: New file.
73197         Tests for module 'unistr/u8-strlen'.
73198         * modules/unistr/u8-strlen-tests: New file.
73199         * tests/unistr/test-u8-strlen.c: New file.
73201         Tests for module 'unistr/u32-prev'.
73202         * modules/unistr/u32-prev-tests: New file.
73203         * tests/unistr/test-u32-prev.c: New file.
73205         Tests for module 'unistr/u16-prev'.
73206         * modules/unistr/u16-prev-tests: New file.
73207         * tests/unistr/test-u16-prev.c: New file.
73209         Tests for module 'unistr/u8-prev'.
73210         * modules/unistr/u8-prev-tests: New file.
73211         * tests/unistr/test-u8-prev.c: New file.
73213         Tests for module 'unistr/u32-next'.
73214         * modules/unistr/u32-next-tests: New file.
73215         * tests/unistr/test-u32-next.c: New file.
73217         Tests for module 'unistr/u16-next'.
73218         * modules/unistr/u16-next-tests: New file.
73219         * tests/unistr/test-u16-next.c: New file.
73221         Tests for module 'unistr/u8-next'.
73222         * modules/unistr/u8-next-tests: New file.
73223         * tests/unistr/test-u8-next.c: New file.
73225         Tests for module 'unistr/u32-strmbtouc'.
73226         * modules/unistr/u32-strmbtouc-tests: New file.
73227         * tests/unistr/test-u32-strmbtouc.c: New file.
73229         Tests for module 'unistr/u16-strmbtouc'.
73230         * modules/unistr/u16-strmbtouc-tests: New file.
73231         * tests/unistr/test-u16-strmbtouc.c: New file.
73233         Tests for module 'unistr/u8-strmbtouc'.
73234         * modules/unistr/u8-strmbtouc-tests: New file.
73235         * tests/unistr/test-u8-strmbtouc.c: New file.
73237         Tests for module 'unistr/u32-strmblen'.
73238         * modules/unistr/u32-strmblen-tests: New file.
73239         * tests/unistr/test-u32-strmblen.c: New file.
73241         Tests for module 'unistr/u16-strmblen'.
73242         * modules/unistr/u16-strmblen-tests: New file.
73243         * tests/unistr/test-u16-strmblen.c: New file.
73245         Tests for module 'unistr/u8-strmblen'.
73246         * modules/unistr/u8-strmblen-tests: New file.
73247         * tests/unistr/test-u8-strmblen.c: New file.
73249         Tests for module 'unistr/u32-cpy-alloc'.
73250         * modules/unistr/u32-cpy-alloc-tests: New file.
73251         * tests/unistr/test-u32-cpy-alloc.c: New file.
73253         Tests for module 'unistr/u16-cpy-alloc'.
73254         * modules/unistr/u16-cpy-alloc-tests: New file.
73255         * tests/unistr/test-u16-cpy-alloc.c: New file.
73257         Tests for module 'unistr/u8-cpy-alloc'.
73258         * modules/unistr/u8-cpy-alloc-tests: New file.
73259         * tests/unistr/test-u8-cpy-alloc.c: New file.
73260         * tests/unistr/test-cpy-alloc.h: New file.
73262         Tests for module 'unistr/u32-mbsnlen'.
73263         * modules/unistr/u32-mbsnlen-tests: New file.
73264         * tests/unistr/test-u32-mbsnlen.c: New file.
73266         Tests for module 'unistr/u16-mbsnlen'.
73267         * modules/unistr/u16-mbsnlen-tests: New file.
73268         * tests/unistr/test-u16-mbsnlen.c: New file.
73270         Tests for module 'unistr/u8-mbsnlen'.
73271         * modules/unistr/u8-mbsnlen-tests: New file.
73272         * tests/unistr/test-u8-mbsnlen.c: New file.
73274         Tests for module 'unistr/u32-chr'.
73275         * modules/unistr/u32-chr-tests: New file.
73276         * tests/unistr/test-u32-chr.c: New file.
73278         Tests for module 'unistr/u16-chr'.
73279         * modules/unistr/u16-chr-tests: New file.
73280         * tests/unistr/test-u16-chr.c: New file.
73282         Tests for module 'unistr/u8-chr'.
73283         * modules/unistr/u8-chr-tests: New file.
73284         * tests/unistr/test-u8-chr.c: New file.
73285         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
73287         Tests for module 'unistr/u32-cmp2'.
73288         * modules/unistr/u32-cmp2-tests: New file.
73289         * tests/unistr/test-u32-cmp2.c: New file.
73291         Tests for module 'unistr/u16-cmp2'.
73292         * modules/unistr/u16-cmp2-tests: New file.
73293         * tests/unistr/test-u16-cmp2.c: New file.
73295         Tests for module 'unistr/u8-cmp2'.
73296         * modules/unistr/u8-cmp2-tests: New file.
73297         * tests/unistr/test-u8-cmp2.c: New file.
73298         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
73300         Tests for module 'unistr/u32-cmp'.
73301         * modules/unistr/u32-cmp-tests: New file.
73302         * tests/unistr/test-u32-cmp.c: New file.
73304         Tests for module 'unistr/u16-cmp'.
73305         * modules/unistr/u16-cmp-tests: New file.
73306         * tests/unistr/test-u16-cmp.c: New file.
73308         Tests for module 'unistr/u8-cmp'.
73309         * modules/unistr/u8-cmp-tests: New file.
73310         * tests/unistr/test-u8-cmp.c: New file.
73311         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
73313         Tests for module 'unistr/u32-set'.
73314         * modules/unistr/u32-set-tests: New file.
73315         * tests/unistr/test-u32-set.c: New file.
73317         Tests for module 'unistr/u16-set'.
73318         * modules/unistr/u16-set-tests: New file.
73319         * tests/unistr/test-u16-set.c: New file.
73321         Tests for module 'unistr/u8-set'.
73322         * modules/unistr/u8-set-tests: New file.
73323         * tests/unistr/test-u8-set.c: New file.
73324         * tests/unistr/test-set.h: New file.
73326         Tests for module 'unistr/u32-move'.
73327         * modules/unistr/u32-move-tests: New file.
73328         * tests/unistr/test-u32-move.c: New file.
73330         Tests for module 'unistr/u16-move'.
73331         * modules/unistr/u16-move-tests: New file.
73332         * tests/unistr/test-u16-move.c: New file.
73334         Tests for module 'unistr/u8-move'.
73335         * modules/unistr/u8-move-tests: New file.
73336         * tests/unistr/test-u8-move.c: New file.
73337         * tests/unistr/test-move.h: New file.
73339         Tests for module 'unistr/u32-cpy'.
73340         * modules/unistr/u32-cpy-tests: New file.
73341         * tests/unistr/test-u32-cpy.c: New file.
73343         Tests for module 'unistr/u16-cpy'.
73344         * modules/unistr/u16-cpy-tests: New file.
73345         * tests/unistr/test-u16-cpy.c: New file.
73347         Tests for module 'unistr/u8-cpy'.
73348         * modules/unistr/u8-cpy-tests: New file.
73349         * tests/unistr/test-u8-cpy.c: New file.
73350         * tests/unistr/test-cpy.h: New file.
73352 2010-01-09  Bruno Haible  <bruno@clisp.org>
73354         Tests for module 'unistr/u32-uctomb'.
73355         * modules/unistr/u32-uctomb-tests: New file.
73356         * tests/unistr/test-u32-uctomb.c: New file.
73358         Tests for module 'unistr/u16-uctomb'.
73359         * modules/unistr/u16-uctomb-tests: New file.
73360         * tests/unistr/test-u16-uctomb.c: New file.
73362         Tests for module 'unistr/u8-uctomb'.
73363         * modules/unistr/u8-uctomb-tests: New file.
73364         * tests/unistr/test-u8-uctomb.c: New file.
73366         Tests for module 'unistr/u32-mbtoucr'.
73367         * modules/unistr/u32-mbtoucr-tests: New file.
73368         * tests/unistr/test-u32-mbtoucr.c: New file.
73370         Tests for module 'unistr/u16-mbtoucr'.
73371         * modules/unistr/u16-mbtoucr-tests: New file.
73372         * tests/unistr/test-u16-mbtoucr.c: New file.
73374         Tests for module 'unistr/u8-mbtoucr'.
73375         * modules/unistr/u8-mbtoucr-tests: New file.
73376         * tests/unistr/test-u8-mbtoucr.c: New file.
73378         Tests for module 'unistr/u32-mbtouc'.
73379         * modules/unistr/u32-mbtouc-tests: New file.
73380         * tests/unistr/test-u32-mbtouc.c: New file.
73382         Tests for module 'unistr/u16-mbtouc'.
73383         * modules/unistr/u16-mbtouc-tests: New file.
73384         * tests/unistr/test-u16-mbtouc.c: New file.
73386         Tests for module 'unistr/u8-mbtouc'.
73387         * modules/unistr/u8-mbtouc-tests: New file.
73388         * tests/unistr/test-u8-mbtouc.c: New file.
73390         Tests for module 'unistr/u32-mbtouc-unsafe'.
73391         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
73392         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
73393         * tests/unistr/test-u32-mbtouc.h: New file.
73395         Tests for module 'unistr/u16-mbtouc-unsafe'.
73396         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
73397         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
73398         * tests/unistr/test-u16-mbtouc.h: New file.
73400         Tests for module 'unistr/u8-mbtouc-unsafe'.
73401         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
73402         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
73403         * tests/unistr/test-u8-mbtouc.h: New file.
73405         Tests for module 'unistr/u32-mblen'.
73406         * modules/unistr/u32-mblen-tests: New file.
73407         * tests/unistr/test-u32-mblen.c: New file.
73409         Tests for module 'unistr/u16-mblen'.
73410         * modules/unistr/u16-mblen-tests: New file.
73411         * tests/unistr/test-u16-mblen.c: New file.
73413         Tests for module 'unistr/u8-mblen'.
73414         * modules/unistr/u8-mblen-tests: New file.
73415         * tests/unistr/test-u8-mblen.c: New file.
73417         Tests for module 'unistr/u32-to-u16'.
73418         * modules/unistr/u32-to-u16-tests: New file.
73419         * tests/unistr/test-u32-to-u16.c: New file.
73421         Tests for module 'unistr/u32-to-u8'.
73422         * modules/unistr/u32-to-u8-tests: New file.
73423         * tests/unistr/test-u32-to-u8.c: New file.
73425         Tests for module 'unistr/u16-to-u32'.
73426         * modules/unistr/u16-to-u32-tests: New file.
73427         * tests/unistr/test-u16-to-u32.c: New file.
73429         Tests for module 'unistr/u16-to-u8'.
73430         * modules/unistr/u16-to-u8-tests: New file.
73431         * tests/unistr/test-u16-to-u8.c: New file.
73433         Tests for module 'unistr/u8-to-u32'.
73434         * modules/unistr/u8-to-u32-tests: New file.
73435         * tests/unistr/test-u8-to-u32.c: New file.
73437         Tests for module 'unistr/u8-to-u16'.
73438         * modules/unistr/u8-to-u16-tests: New file.
73439         * tests/unistr/test-u8-to-u16.c: New file.
73441         Tests for module 'unistr/u32-check'.
73442         * modules/unistr/u32-check-tests: New file.
73443         * tests/unistr/test-u32-check.c: New file.
73445         Tests for module 'unistr/u16-check'.
73446         * modules/unistr/u16-check-tests: New file.
73447         * tests/unistr/test-u16-check.c: New file.
73449         Tests for module 'unistr/u8-check'.
73450         * modules/unistr/u8-check-tests: New file.
73451         * tests/unistr/test-u8-check.c: New file.
73453         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
73454         (category_equals): New function.
73455         (main): Add more tests.
73456         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
73458         * tests/unictype/test-bidi_byname.c (main): Add more tests.
73460 2010-01-10  Bruno Haible  <bruno@clisp.org>
73462         unistr/u*-strcoll: Try harder to distinguish different strings.
73463         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
73464         compare s1 and s2 to see if they are different.
73466 2010-01-10  Bruno Haible  <bruno@clisp.org>
73468         unistr/u*-stpncpy: Fix the return value.
73469         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
73470         description of the return value consistent with stpncpy in glibc.
73471         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
73472         written non-NUL unit.
73474 2010-01-10  Bruno Haible  <bruno@clisp.org>
73476         unistr/u*-next: Add missing dependencies.
73477         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
73478         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
73479         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
73481 2010-01-10  Bruno Haible  <bruno@clisp.org>
73483         unistr/u8-mbsnlen: Fix return value for incomplete character.
73484         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
73485         u8_mblen.
73486         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
73487         Remove unistr/u8-mblen.
73488         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
73489         u16_mblen.
73490         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
73491         Remove unistr/u16-mblen.
73493 2010-01-10  Bruno Haible  <bruno@clisp.org>
73495         wchar: Fix compilation error when <wchar.h> is used from coreutils.
73496         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
73497         Reported by Brian Gough <bjg@gnu.org> and
73498         Chris Clayton <chris2553@googlemail.com> via
73499         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
73501 2010-01-09  Bruno Haible  <bruno@clisp.org>
73503         unistr/u16-to-u32: Reject invalid input.
73504         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
73505         u16_mbtouc.
73506         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
73507         Remove unistr/u16-mbtouc.
73509         unistr/u16-to-u8: Reject invalid input.
73510         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
73511         u16_mbtouc.
73512         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
73513         Remove unistr/u16-mbtouc.
73515         unistr/u8-to-u32: Reject invalid input.
73516         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
73517         u8_mbtouc.
73518         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
73519         Remove unistr/u8-mbtouc.
73521         unistr/u8-to-u16: Reject invalid input.
73522         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
73523         u8_mbtouc.
73524         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
73525         Remove unistr/u8-mbtouc.
73527 2010-01-09  Bruno Haible  <bruno@clisp.org>
73529         Tests for module 'getlogin'.
73530         * modules/getlogin-tests: New file.
73531         * tests/test-getlogin.c: New file.
73533         New module 'getlogin'.
73534         * lib/unistd.in.h (getlogin): New declaration.
73535         * lib/getlogin.c: New file.
73536         * m4/getlogin.m4: New file.
73537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
73538         HAVE_GETLOGIN.
73539         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
73540         HAVE_GETLOGIN.
73541         * modules/getlogin: New file.
73542         * doc/posix-functions/getlogin.texi: Mention the new module.
73543         Reported by John W. Eaton <jwe@gnu.org>.
73545 2010-01-09  Bruno Haible  <bruno@clisp.org>
73547         getlogin_r: Support for native Windows.
73548         * lib/getlogin_r.c: Include <windows.h>
73549         (getlogin_r): Implement for native Windows.
73550         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
73551         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
73552         via John W. Eaton <jwe@gnu.org>.
73554 2010-01-09  Bruno Haible  <bruno@clisp.org>
73556         getlogin_r: Small fixes.
73557         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
73558         succeeds.
73559         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
73560         before testing whether getlogin_r is declared. No need to set
73561         HAVE_DECL_GETLOGIN_R to 1.
73562         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
73564 2010-01-09  Bruno Haible  <bruno@clisp.org>
73566         * lib/unistd.in.h (getlogin_r): Add comment.
73568 2010-01-09  Bruno Haible  <bruno@clisp.org>
73570         Tests for module 'getlogin_r'.
73571         * modules/getlogin_r-tests: New file.
73572         * tests/test-getlogin_r.c: New file.
73574 2010-01-09  Jim Meyering  <meyering@redhat.com>
73576         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
73577         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
73578         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
73580 2010-01-08  Simon Josefsson  <simon@josefsson.org>
73582         * lib/dup2.c (rpl_dup2): Improve comment.
73584 2010-01-08  Eric Blake  <ebb9@byu.net>
73586         maint.mk: allow packages to add makefile @@ exceptions
73587         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
73588         (sc_makefile_check): Rename...
73589         (sc_makefile_at_at_check): ...to this, and use hook.
73591         dup2: work around mingw bug
73592         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
73593         Reported by Simon Josefsson.
73595 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
73597         glob: Fix C++ compilation.
73598         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
73599         C++.
73601 2010-01-07  Bruno Haible  <bruno@clisp.org>
73603         Fix indentation of wctype.in.h, broken since 2007-01-06.
73604         * lib/wctype.in.h: Fix indentation of preprocessor directives.
73606 2010-01-07  Bruno Haible  <bruno@clisp.org>
73608         mbslen: Avoid collision with system function.
73609         * lib/string.in.h [MirBSD]: Include <wchar.h>.
73610         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
73611         * m4/mbslen.m4: New file.
73612         * modules/mbslen (Files): Add it.
73613         (configure.ac): Invoke gl_MBSLEN.
73614         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
73615         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
73616         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
73617         via Ian Beckwith <ianb@erislabs.net>.
73619 2010-01-07  Bruno Haible  <bruno@clisp.org>
73621         dirent: Document the last fix.
73622         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
73624 2010-01-07  Bruno Haible  <bruno@clisp.org>
73626         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
73627         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
73628         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
73629         va_list are defined.
73630         * doc/posix-headers/stdio.texi: Document the bug of missing types.
73631         Reported by Eric Blake.
73633 2010-01-07  Bruno Haible  <bruno@clisp.org>
73635         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
73636         * modules/xlist (Depends-on): Add 'list',
73637         * modules/xoset (Depends-on): Add 'oset'.
73638         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73640 2010-01-07  Bruno Haible  <bruno@clisp.org>
73642         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
73643         * doc/posix-functions/strncasecmp.texi: Likewise.
73645 2010-01-07  Bruno Haible  <bruno@clisp.org>
73647         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
73649 2010-01-07  John W. Eaton  <jwe@octave.org>
73651         wctype: allow C++ use
73652         * lib/wctype.in.h: Add extern "C" block for C++.
73654 2010-01-06  Eric Blake  <ebb9@byu.net>
73656         maint.mk: detect incorrect GFDL usage
73657         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
73659 2010-01-06  Jim Meyering  <meyering@redhat.com>
73660         and Eric Blake  <ebb9@byu.net>
73662         maint.mk: ignore multi-line copyright in NEWS
73663         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
73665 2010-01-06  Eric Blake  <ebb9@byu.net>
73667         select: add missing dependency
73668         * modules/select-tests (Depends-on): Move sockets dependency...
73669         * modules/select (Depends-on): ...here.
73670         Reported by Ian Beckwith.
73672         doc: regenerate INSTALL
73673         * doc/INSTALL: Reflect recent autoconf update.
73674         * doc/INSTALL.ISO: Likewise.
73675         * doc/INSTALL.UTF-8: Likewise.
73677         pread: fix compilation on glibc
73678         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
73679         Reported by Ralf Wildenhues.
73681         dirent: fix test failure
73682         * lib/dirent.in.h (includes): Guarantee ino_t.
73683         Reported by Ralf Wildenhues.
73685 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
73687         linkat, renameat: avoid bad free
73688         * lib/at-func2.c (at_func2): Fix typo.
73689         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
73691 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73693         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
73694         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
73695         to avoid failure of symlink test later.
73697 2010-01-06  Eric Blake  <ebb9@byu.net>
73699         stdio, unistd: guarantee ssize_t
73700         * lib/unistd.in.h (includes): Ensure that types required by POSIX
73701         2008 are exposed when needed.
73702         * lib/stdio.in.h (includes): Likewise.
73703         Reported by Ralf Wildenhues.
73705 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
73707         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
73708         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
73709         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
73711 2010-01-06  Jim Meyering  <meyering@redhat.com>
73713         readtokens: this module *does* require xalloc.h
73714         It uses only functions that were omitted by the old syntax-check rule.
73715         * lib/readtokens.c: Include "xalloc.h" once again.
73716         * modules/readtokens (Depends-on): Add xalloc.
73717         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
73719 2010-01-05  Eric Blake  <ebb9@byu.net>
73721         maint: support 'make announcement' from a VPATH build
73722         * top/maint.mk (announcement): Look for correct NEWS file.
73724 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
73726         utimens (fdutimens): ignore a negative FD, per contract
73727         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
73728         when we have a valid file descriptor.  Otherwise, using a brand
73729         new glibc (with just-patched futimens that now fails with EBADF)
73730         would cause this function to fail with ENOSYS.
73731         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
73732         See also http://bugzilla.redhat.com/552320.
73734 2010-01-05  Eric Blake  <ebb9@byu.net>
73736         strcase: document what it provides
73737         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
73738         gnulib module.
73739         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
73740         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
73742 2010-01-05  Jim Meyering  <meyering@redhat.com>
73744         maint: remove useless inclusions of "xalloc.h"
73745         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
73746         * lib/readtokens.c: Likewise.
73747         * lib/same.c: Likewise.
73748         * modules/getloadavg (Depends-on): Remove xalloc.
73749         * modules/readtokens: Likewise.
73750         * modules/same: Likewise.
73752         maint.mk: include 4 more function names in alloca.h-checking regexp
73753         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
73754         regexp.  Before, we would give a false-positive (saying alloca.h
73755         is included unnecessarily) when the only uses involved omitted symbols.
73757         xalloc.h: use consistent formatting
73758         * lib/xalloc.h: Move declarations to start in the first column.
73760 2010-01-05  Eric Blake  <ebb9@byu.net>
73762         mkdir: avoid xalloc
73763         * lib/mkdir.c (includes): Drop unused header.
73764         Reported by John W. Eaton.
73766 2010-01-04  Jim Meyering  <meyering@redhat.com>
73768         nl_langinfo: avoid configure-time syntax error
73769         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
73770         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
73771         the empty string.  Don't let that provoke a shell syntax error.
73773         regcomp, regexec, fnmatch: avoid array bounds read error
73774         * lib/regcomp.c (build_equiv_class): From glibc:
73775         Use only the low 24 bits of a findidx return value as an index
73776         into the weights array.  Patch by Ulrich Drepper:
73777         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
73778         * lib/regexec.c (check_node_accept_bytes): Likewise.
73779         * lib/fnmatch_loop.c (FCT): Likewise.
73781         regcomp: skip collseq lookup when there are no rules
73782         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
73783         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
73785         regcomp: recognize ill-formed { } expressions
73786         * lib/regcomp.c (parse_dup_op): From glibc:
73787         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
73789         regcomp: fix typo in comment
73790         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
73791         s/satisfy/satisfies/.
73793         regcomp: sync from glibc: remove dead store
73794         * lib/regcomp.c (duplicate_node_closure): Remove useless
73795         search_duplicated_node call and dead store.
73797         regcomp: sync from glibc; always use nl_langinfo
73798         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
73799         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
73800         * modules/regex (Depends-on): Add nl_langinfo.
73802 2010-01-04  Eric Blake  <ebb9@byu.net>
73804         fdopendir: fix configure test
73805         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
73807 2010-01-01  Bruno Haible  <bruno@clisp.org>
73809         wchar: Remove unused configure check.
73810         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
73812 2010-01-01  Eric Blake  <ebb9@byu.net>
73814         headers: make check of system header explicit
73815         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
73816         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
73817         ourselves.
73818         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
73819         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
73820         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
73821         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
73822         internals.
73823         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
73824         missing.
73825         Suggested by Bruno Haible.
73827 2010-01-01  Jim Meyering  <meyering@redhat.com>
73829         ChangeLog: tweak to eliminate unnecessary copyright line
73830         * ChangeLog: Remove a copyright line that was mistakenly updated
73831         by today's update-copyright run.  Reported by Eric Blake.
73833         test-update-copyright: don't let envvar setting cause test failure
73834         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
73836 2010-01-01  Bruno Haible  <bruno@clisp.org>
73838         localename: Avoid gcc warning.
73839         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
73840         function if it is not used.
73842 2010-01-01  Jim Meyering  <meyering@redhat.com>
73844         update nearly all FSF copyright year lists to include 2010
73845         Use the same procedure as for 2009, outlined in
73846         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
73848         version-etc: set COPYRIGHT_YEAR to 2010
73849         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
73851 2009-12-31  Eric Blake  <ebb9@byu.net>
73853         doc: correct availability of cygwin 1.5.x getopt
73854         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
73855         variables.
73856         * doc/posix-functions/opterr.texi (opterr): Likewise.
73857         * doc/posix-functions/optind.texi (optind): Likewise.
73858         * doc/posix-functions/optopt.texi (optopt): Likewise.
73859         * doc/posix-functions/tzname.texi (tzname): Likewise.
73861         openat: update maintainer
73862         * modules/openat (Maintainer): Add myself.
73864         utimens: avoid shadowing warning
73865         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
73866         buffers into one, to avoid shadowing, as well as avoiding a
73867         redundant stat.
73868         Reported by Jim Meyering.
73870         test-dup2: avoid compiler warning
73871         * tests/test-dup2.c (is_inheritable): Only define if used.
73873 2010-01-01  Bruno Haible  <bruno@clisp.org>
73875         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
73876         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
73877         defined, use wctomb instead of wcrtomb.
73879 2010-01-01  Bruno Haible  <bruno@clisp.org>
73881         iconv: Reject native Solaris iconv.
73882         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
73883         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
73885 2009-12-31  Bruno Haible  <bruno@clisp.org>
73887         * tests/test-signal.c (main): Remove test of 'SIG'.
73889 2009-12-31  Bruno Haible  <bruno@clisp.org>
73891         spawn: Fix incomplete fix.
73892         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73893         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73894         warnings for GNULIB_POSIXCHECK again.
73895         Reported by Eric Blake.
73897 2009-12-31  Bruno Haible  <bruno@clisp.org>
73899         Avoid namespace pollution on glibc systems.
73900         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
73901         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
73902         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
73903         glibc systems.
73905 2009-12-31  Bruno Haible  <bruno@clisp.org>
73907         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
73908         (gl_REPLACE_WCHAR_H): Turn into a no-op.
73909         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
73910         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
73911         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
73912         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
73913         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
73915 2009-12-31  Bruno Haible  <bruno@clisp.org>
73917         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
73918         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
73919         afterwards.
73921 2009-12-31  Bruno Haible  <bruno@clisp.org>
73923         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
73924         SYS_UTSNAME_H.
73926 2009-12-31  Bruno Haible  <bruno@clisp.org>
73928         spawn: Fix misapplied patch.
73929         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
73930         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
73931         warnings for GNULIB_POSIXCHECK.
73933 2009-12-31  Bruno Haible  <bruno@clisp.org>
73935         times: Update after sys_times changed.
73936         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
73937         * modules/times (Files): Add it.
73938         (configure.ac): Invoke gl_FUNC_TIMES.
73940 2009-12-31  Bruno Haible  <bruno@clisp.org>
73942         Use AC_C_INLINE where necessary.
73943         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
73944         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
73945         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
73946         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
73947         * m4/mbfile.m4 (gl_MBFILE): Likewise.
73948         * m4/mbiter.m4 (gl_MBITER): Likewise.
73949         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
73950         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
73951         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
73952         * modules/u64 (configure.ac): Likewise.
73954 2009-12-31  Bruno Haible  <bruno@clisp.org>
73956         Use AC_C_INLINE instead of module 'inline' where possible.
73957         * modules/inline (Description): Clarify purpose.
73958         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
73959         * modules/count-one-bits (Depends-on): Remove inline.
73960         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
73961         * modules/openat (Depends-on): Remove inline.
73962         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
73963         instead of depending on module 'inline'.
73964         * modules/filevercmp (Depends-on, configure.ac): Likewise.
73965         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
73966         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
73967         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
73968         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
73969         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
73970         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
73971         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
73972         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
73973         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
73974         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
73975         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
73976         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
73977         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
73978         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
73979         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
73980         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
73981         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
73982         Likewise.
73983         * modules/unictype/property-ascii-hex-digit (Depends-on,
73984         configure.ac): Likewise.
73985         * modules/unictype/property-bidi-arabic-digit (Depends-on,
73986         configure.ac): Likewise.
73987         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
73988         configure.ac): Likewise.
73989         * modules/unictype/property-bidi-block-separator (Depends-on,
73990         configure.ac): Likewise.
73991         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
73992         configure.ac): Likewise.
73993         * modules/unictype/property-bidi-common-separator (Depends-on,
73994         configure.ac): Likewise.
73995         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
73996         Likewise.
73997         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
73998         configure.ac): Likewise.
73999         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
74000         configure.ac): Likewise.
74001         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
74002         configure.ac): Likewise.
74003         * modules/unictype/property-bidi-european-digit (Depends-on,
74004         configure.ac): Likewise.
74005         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
74006         configure.ac): Likewise.
74007         * modules/unictype/property-bidi-left-to-right (Depends-on,
74008         configure.ac): Likewise.
74009         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
74010         configure.ac): Likewise.
74011         * modules/unictype/property-bidi-other-neutral (Depends-on,
74012         configure.ac): Likewise.
74013         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
74014         Likewise.
74015         * modules/unictype/property-bidi-segment-separator (Depends-on,
74016         configure.ac): Likewise.
74017         * modules/unictype/property-bidi-whitespace (Depends-on,
74018         configure.ac): Likewise.
74019         * modules/unictype/property-combining (Depends-on, configure.ac):
74020         Likewise.
74021         * modules/unictype/property-composite (Depends-on, configure.ac):
74022         Likewise.
74023         * modules/unictype/property-currency-symbol (Depends-on,
74024         configure.ac): Likewise.
74025         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
74026         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
74027         Likewise.
74028         * modules/unictype/property-default-ignorable-code-point (Depends-on,
74029         configure.ac): Likewise.
74030         * modules/unictype/property-deprecated (Depends-on, configure.ac):
74031         Likewise.
74032         * modules/unictype/property-diacritic (Depends-on, configure.ac):
74033         Likewise.
74034         * modules/unictype/property-extender (Depends-on, configure.ac):
74035         Likewise.
74036         * modules/unictype/property-format-control (Depends-on, configure.ac):
74037         Likewise.
74038         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
74039         Likewise.
74040         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
74041         Likewise.
74042         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
74043         Likewise.
74044         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
74045         Likewise.
74046         * modules/unictype/property-hyphen (Depends-on, configure.ac):
74047         Likewise.
74048         * modules/unictype/property-id-continue (Depends-on, configure.ac):
74049         Likewise.
74050         * modules/unictype/property-id-start (Depends-on, configure.ac):
74051         Likewise.
74052         * modules/unictype/property-ideographic (Depends-on, configure.ac):
74053         Likewise.
74054         * modules/unictype/property-ids-binary-operator (Depends-on,
74055         configure.ac): Likewise.
74056         * modules/unictype/property-ids-trinary-operator (Depends-on,
74057         configure.ac): Likewise.
74058         * modules/unictype/property-ignorable-control (Depends-on,
74059         configure.ac): Likewise.
74060         * modules/unictype/property-iso-control (Depends-on, configure.ac):
74061         Likewise.
74062         * modules/unictype/property-join-control (Depends-on, configure.ac):
74063         Likewise.
74064         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
74065         Likewise.
74066         * modules/unictype/property-line-separator (Depends-on, configure.ac):
74067         Likewise.
74068         * modules/unictype/property-logical-order-exception (Depends-on,
74069         configure.ac): Likewise.
74070         * modules/unictype/property-lowercase (Depends-on, configure.ac):
74071         Likewise.
74072         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
74073         * modules/unictype/property-non-break (Depends-on, configure.ac):
74074         Likewise.
74075         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
74076         Likewise.
74077         * modules/unictype/property-numeric (Depends-on, configure.ac):
74078         Likewise.
74079         * modules/unictype/property-other-alphabetic (Depends-on,
74080         configure.ac): Likewise.
74081         * modules/unictype/property-other-default-ignorable-code-point
74082         (Depends-on, configure.ac): Likewise.
74083         * modules/unictype/property-other-grapheme-extend (Depends-on,
74084         configure.ac): Likewise.
74085         * modules/unictype/property-other-id-continue (Depends-on,
74086         configure.ac): Likewise.
74087         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
74088         Likewise.
74089         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
74090         Likewise.
74091         * modules/unictype/property-other-math (Depends-on, configure.ac):
74092         Likewise.
74093         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
74094         Likewise.
74095         * modules/unictype/property-paired-punctuation (Depends-on,
74096         configure.ac): Likewise.
74097         * modules/unictype/property-paragraph-separator (Depends-on,
74098         configure.ac): Likewise.
74099         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
74100         Likewise.
74101         * modules/unictype/property-pattern-white-space (Depends-on,
74102         configure.ac): Likewise.
74103         * modules/unictype/property-private-use (Depends-on, configure.ac):
74104         Likewise.
74105         * modules/unictype/property-punctuation (Depends-on, configure.ac):
74106         Likewise.
74107         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
74108         Likewise.
74109         * modules/unictype/property-radical (Depends-on, configure.ac):
74110         Likewise.
74111         * modules/unictype/property-sentence-terminal (Depends-on,
74112         configure.ac): Likewise.
74113         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
74114         Likewise.
74115         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
74116         * modules/unictype/property-terminal-punctuation (Depends-on,
74117         configure.ac): Likewise.
74118         * modules/unictype/property-titlecase (Depends-on, configure.ac):
74119         Likewise.
74120         * modules/unictype/property-unassigned-code-value (Depends-on,
74121         configure.ac): Likewise.
74122         * modules/unictype/property-unified-ideograph (Depends-on,
74123         configure.ac): Likewise.
74124         * modules/unictype/property-uppercase (Depends-on, configure.ac):
74125         Likewise.
74126         * modules/unictype/property-variation-selector (Depends-on,
74127         configure.ac): Likewise.
74128         * modules/unictype/property-white-space (Depends-on, configure.ac):
74129         Likewise.
74130         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
74131         Likewise.
74132         * modules/unictype/property-xid-start (Depends-on, configure.ac):
74133         Likewise.
74134         * modules/unictype/property-zero-width (Depends-on, configure.ac):
74135         Likewise.
74136         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
74137         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
74138         Likewise.
74140 2009-12-31  Bruno Haible  <bruno@clisp.org>
74142         Remove unnecessary AC_C_INLINE invocation.
74143         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
74144         since 2009-08-21.
74146 2009-12-31  Jim Meyering  <meyering@redhat.com>
74148         maint.mk: don't require explicit gpg_key_ID in cfg.mk
74149         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
74150         With this change, we can all remove the gpg_key_ID = ... definition
74151         from our respective cfg.mk files.
74153         maint.mk: create announcement template in ~/, not in /tmp
74154         * top/maint.mk (emit_upload_commands): Adjust.
74155         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
74156         Remove temporary file, .ci-msg.
74158 2009-12-31  Eric Blake  <ebb9@byu.net>
74160         link-warning: always build headers with link warnings
74161         * modules/arpa_inet (Makefile.am): Always build replacement
74162         header.
74163         * modules/ctype (Makefile.am): Likewise.
74164         * modules/dirent (Makefile.am): Likewise.
74165         * modules/inttypes (Makefile.am): Likewise.
74166         * modules/langinfo (Makefile.am): Likewise.
74167         * modules/locale (Makefile.am): Likewise.
74168         * modules/spawn (Makefile.am): Likewise.
74169         * modules/sys_file (Makefile.am): Likewise.
74170         * modules/sys_ioctl (Makefile.am): Likewise.
74171         * modules/sys_select (Makefile.am): Likewise.
74172         * modules/sys_socket (Makefile.am): Likewise.
74173         * modules/sys_times (Makefile.am): Likewise.
74174         * modules/sys_utsname (Makefile.am): Likewise.
74175         * modules/sys_wait (Makefile.am): Likewise.
74176         * modules/wchar (Makefile.am): Likewise.
74177         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
74178         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
74179         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
74180         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
74181         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
74182         Likewise.
74183         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
74184         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
74185         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
74186         Likewise.
74187         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
74188         Likewise.
74189         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
74190         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
74191         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
74192         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
74193         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
74194         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74195         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74196         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
74197         (gl_WCHAR_H_DEFAULTS): Likewise.
74199 2009-12-31  Eric Blake  <ebb9@byu.net>
74201         signal, spawn: use link warnings
74202         * lib/signal.in.h (sigset_t): Make unconditional.
74203         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
74204         (sigpending, sigprocmask, sigaction): Add link warnings.
74205         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
74206         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
74207         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
74208         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
74209         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
74210         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
74211         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
74212         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
74213         (posix_spawn_file_actions_destroy)
74214         (posix_spawn_file_actions_addopen)
74215         (posix_spawn_file_actions_addclose)
74216         (posix_spawn_file_actions_adddup2): Likewise.
74217         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
74218         * tests/test-signal.c (main): Enhance test.
74220         spawn: improve wrapper support
74221         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
74222         (gl_SPAWN_H_DEFAULTS): New defaults.
74223         * modules/spawn (Makefile.am): Substitute them.
74224         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
74225         Only declare if missing or broken.
74227         sys_times, sys_utsname: use include_next
74228         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
74229         header.
74230         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
74231         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
74232         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
74233         * modules/sys_times (Depends-on): Add include_next.
74234         (Makefile.am): Substitute additional values.
74235         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
74236         * lib/sys_times.in.h (includes): Include native header, if
74237         available.
74238         * lib/sys_utsname.in.h (includes): Likewise.
74239         * tests/test-sys_times.c (main): Enhance test.
74241         fdutimensat: revert prior patch
74242         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
74243         utimens.h.
74244         Reported by Bruno Haible.
74246 2009-12-30  Eric Blake  <ebb9@byu.net>
74248         sys_wait: drop link-warning dependency
74249         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
74250         link-warning efforts.
74251         * lib/sys_wait.in.h: Likewise.
74253         fdutimensat: remove bogus dependency
74254         * modules/fdutimensat (Depends-on): Drop inline.
74256         unistd: fix typo
74257         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
74259 2009-12-30  Bruno Haible  <bruno@clisp.org>
74261         Fix compilation error with Solaris cc.
74262         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
74263         * lib/unicase/u16-is-invariant.c: Likewise.
74264         * lib/unicase/u32-is-invariant.c: Likewise.
74265         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
74267 2009-12-30  Bruno Haible  <bruno@clisp.org>
74269         Fix test crash.
74270         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
74271         locales.
74272         Reported by Simon Josefsson <simon@josefsson.org>.
74274 2009-12-30  Bruno Haible  <bruno@clisp.org>
74276         Fix compilation error on most platforms.
74277         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
74278         Reported by Simon Josefsson <simon@josefsson.org>
74279         and Nelson H. F. Beebe <beebe@math.utah.edu>.
74281 2009-12-30  Eric Blake  <ebb9@byu.net>
74283         futimens, utimensat: work around ntfs-3g bug
74284         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
74285         a ctime bug is present, and expand workaround to cover ntfs-3g.
74286         * lib/utimens.c (fdutimens, lutimens): Likewise.
74287         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
74288         (validate_timespec): Adjust return value.
74289         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
74290         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
74291         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
74293 2009-12-29  Eric Blake  <ebb9@byu.net>
74295         link-warning: make usage consistent
74296         * modules/ctype (Depends-on): Add link-warning.
74297         (Makefile.am): Update rules accordingly.
74298         * modules/langinfo (Depends-on, Makefile.am): Likewise.
74299         * modules/locale (Depends-on, Makefile.am): Likewise.
74300         * modules/sys_file (Makefile.am): Likewise.
74301         * modules/getopt-posix (Makefile.am): Delete unused link warning
74302         efforts.
74303         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
74304         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
74305         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
74306         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
74308         stdio: remove unused variables
74309         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
74310         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
74311         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
74313         tests: test more substitute headers
74314         * modules/ctype-tests: New file.
74315         * modules/dirent-tests: Likewise.
74316         * modules/spawn-tests: Likewise.
74317         * modules/sys_file-tests: Likewise.
74318         * modules/sys_ioctl-tests: Likewise.
74319         * modules/sys_wait-tests: Likewise.
74320         * tests/test-ctype.c: Likewise.
74321         * tests/test-dirent.c: Likewise.
74322         * tests/test-spawn.c: Likewise.
74323         * tests/test-sys_file.c: Likewise.
74324         * tests/test-sys_ioctl.c: Likewise.
74325         * tests/test-sys_wait.c: Likewise.
74326         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
74327         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
74328         whether or not flock is in use.
74330         tests: remove License section from module
74331         * modules/arpa_inet-tests: Remove unneeded section.
74332         * modules/byteswap-tests: Likewise.
74333         * modules/ceilf-tests: Likewise.
74334         * modules/ceill-tests: Likewise.
74335         * modules/crypto/des-tests: Likewise.
74336         * modules/crypto/gc-arcfour-tests: Likewise.
74337         * modules/crypto/gc-arctwo-tests: Likewise.
74338         * modules/crypto/gc-des-tests: Likewise.
74339         * modules/crypto/gc-hmac-md5-tests: Likewise.
74340         * modules/crypto/gc-hmac-sha1-tests: Likewise.
74341         * modules/crypto/gc-md2-tests: Likewise.
74342         * modules/crypto/gc-md4-tests: Likewise.
74343         * modules/crypto/gc-md5-tests: Likewise.
74344         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
74345         * modules/crypto/gc-rijndael-tests: Likewise.
74346         * modules/crypto/gc-sha1-tests: Likewise.
74347         * modules/crypto/gc-tests: Likewise.
74348         * modules/crypto/md2-tests: Likewise.
74349         * modules/crypto/md4-tests: Likewise.
74350         * modules/fcntl-h-tests: Likewise.
74351         * modules/floorf-tests: Likewise.
74352         * modules/floorl-tests: Likewise.
74353         * modules/frexp-nolibm-tests: Likewise.
74354         * modules/frexp-tests: Likewise.
74355         * modules/frexpl-nolibm-tests: Likewise.
74356         * modules/frexpl-tests: Likewise.
74357         * modules/getaddrinfo-tests: Likewise.
74358         * modules/inttypes-tests: Likewise.
74359         * modules/isfinite-tests: Likewise.
74360         * modules/isinf-tests: Likewise.
74361         * modules/ldexpl-tests: Likewise.
74362         * modules/locale-tests: Likewise.
74363         * modules/math-tests: Likewise.
74364         * modules/netdb-tests: Likewise.
74365         * modules/netinet_in-tests: Likewise.
74366         * modules/printf-frexp-tests: Likewise.
74367         * modules/printf-frexpl-tests: Likewise.
74368         * modules/priv-set-tests: Likewise.
74369         * modules/random_r-tests: Likewise.
74370         * modules/round-tests: Likewise.
74371         * modules/roundf-tests: Likewise.
74372         * modules/roundl-tests: Likewise.
74373         * modules/search-tests: Likewise.
74374         * modules/select-tests: Likewise.
74375         * modules/signal-tests: Likewise.
74376         * modules/stdbool-tests: Likewise.
74377         * modules/stddef-tests: Likewise.
74378         * modules/stdint-tests: Likewise.
74379         * modules/stdio-tests: Likewise.
74380         * modules/stdlib-tests: Likewise.
74381         * modules/string-tests: Likewise.
74382         * modules/strings-tests: Likewise.
74383         * modules/sys_select-tests: Likewise.
74384         * modules/sys_socket-tests: Likewise.
74385         * modules/sys_stat-tests: Likewise.
74386         * modules/sys_time-tests: Likewise.
74387         * modules/sys_utsname-tests: Likewise.
74388         * modules/sysexits-tests: Likewise.
74389         * modules/time-tests: Likewise.
74390         * modules/trunc-tests: Likewise.
74391         * modules/truncf-tests: Likewise.
74392         * modules/truncl-tests: Likewise.
74393         * modules/tsearch-tests: Likewise.
74394         * modules/unistd-tests: Likewise.
74395         * modules/wchar-tests: Likewise.
74396         * modules/wctype-tests: Likewise.
74398         tests: fix license on several tests
74399         * tests/test-des.c: Update to GPLv3+.
74400         * tests/test-flock.c: Likewise.
74401         * tests/test-fsync.c: Likewise.
74402         * tests/test-futimens.h: Likewise.
74403         * tests/test-gc-arcfour.c: Likewise.
74404         * tests/test-gc-arctwo.c: Likewise.
74405         * tests/test-gc-des.c: Likewise.
74406         * tests/test-gc-hmac-md5.c: Likewise.
74407         * tests/test-gc-hmac-sha1.c: Likewise.
74408         * tests/test-gc-md2.c: Likewise.
74409         * tests/test-gc-md4.c: Likewise.
74410         * tests/test-gc-md5.c: Likewise.
74411         * tests/test-gc-pbkdf2-sha1.c: Likewise.
74412         * tests/test-gc-rijndael.c: Likewise.
74413         * tests/test-gc-sha1.c: Likewise.
74414         * tests/test-gc.c: Likewise.
74415         * tests/test-getcwd.c: Likewise.
74416         * tests/test-link.c: Likewise.
74417         * tests/test-link.h: Likewise.
74418         * tests/test-lutimens.h: Likewise.
74419         * tests/test-md2.c: Likewise.
74420         * tests/test-md4.c: Likewise.
74421         * tests/test-mkdir.h: Likewise.
74422         * tests/test-rename.c: Likewise.
74423         * tests/test-rename.h: Likewise.
74424         * tests/test-safe-alloc.c: Likewise.
74425         * tests/test-utimens-common.h: Likewise.
74426         * tests/test-utimens.h: Likewise.
74428         maint: sync license texts
74429         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
74430         * doc/gpl-3.0.texi: Revert copyright year update.
74431         * doc/lgpl-3.0.texi: Likewise.
74433 2009-12-29  Jim Meyering  <meyering@redhat.com>
74435         update nearly all FSF copyright year lists to include 2009
74436         The files named by the following are exempted:
74437             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
74438               test -f "$dst" && { echo "$dst"; continue; }
74439               test -d "$dst" || continue
74440               echo "$dst"/$(basename "$src")
74441             done > exempt
74442             git ls-files tests/unictype >> exempt
74443         In the remaining files, convert to all-interval notation if
74444         - there is already at least one year interval like 2000-2003
74445         - the file is maintained by me
74446         - the file is in lib/uni*/, where that style already prevails
74447         Otherwise, use update-copyright's default.
74449 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74450         and Eric Blake  <ebb9@byu.net>
74452         tests: don't require debug system() to pass
74453         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
74454         * tests/test-rmdir.h (test_rmdir_func): Likewise.
74455         * tests/test-unlink.h (test_unlink_func): Likewise.
74456         * tests/test-fstatat.c (main): ...into callers.
74457         * tests/test-lstat.c (main): Likewise.
74458         * tests/test-rmdir.c (main): Likewise.
74459         * tests/test-unlink.c (main): Likewise.
74460         * tests/test-unlinkat.c (main): Likewise.
74461         * tests/test-areadlink-with-size.c (main): Don't require a
74462         debug-only system call to pass, aiding cross-testing to mingw.
74463         * tests/test-areadlink.c (main): Likewise.
74464         * tests/test-areadlinkat-with-size.c (main): Likewise.
74465         * tests/test-areadlinkat.c (main): Likewise.
74466         * tests/test-canonicalize-lgpl.c (main): Likewise.
74467         * tests/test-canonicalize.c (main): Likewise.
74468         * tests/test-chown.c (main): Likewise.
74469         * tests/test-fchownat.c (main): Likewise.
74470         * tests/test-lchown.c (main): Likewise.
74471         * tests/test-fdutimensat.c (main): Likewise.
74472         * tests/test-futimens.c (main): Likewise.
74473         * tests/test-link.c (main): Likewise.
74474         * tests/test-linkat.c (main): Likewise.
74475         * tests/test-mkdir.c (main): Likewise.
74476         * tests/test-mkdirat.c (main): Likewise.
74477         * tests/test-mkfifo.c (main): Likewise.
74478         * tests/test-mkfifoat.c (main): Likewise.
74479         * tests/test-mknod.c (main): Likewise.
74480         * tests/test-readlink.c (main): Likewise.
74481         * tests/test-remove.c (main): Likewise.
74482         * tests/test-rename.c (main): Likewise.
74483         * tests/test-renameat.c (main): Likewise.
74484         * tests/test-symlink.c (main): Likewise.
74485         * tests/test-symlinkat.c (main): Likewise.
74486         * tests/test-utimens.c (main): Likewise.
74487         * tests/test-utimensat.c (main): Likewise.
74489 2009-12-29  Simon Josefsson  <simon@josefsson.org>
74491         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
74492         on $(UNUSED_PARAMETER_H) to avoid build failure.
74494 2009-12-28  Jim Meyering  <meyering@redhat.com>
74496         update-copyright: you may specify a max. line length other than 72
74497         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
74499         maint: use consistent FSF copyright line syntax
74500         * lib/posixtm.c: Add missing comma in FSF copyright line.
74501         * lib/posixtm.h: Likewise.
74502         * lib/getugroups.c: Add missing ", Inc.".
74504         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
74505         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
74506         FSF copyright line.  Remove trailing blanks.
74508 2009-12-28  Eric Blake  <ebb9@byu.net>
74510         test-dup2: reduce dependencies
74511         * modules/cloexec (Configure.ac): Set witness.
74512         * modules/dup2-tests (Depends-on): Drop cloexec.
74513         * tests/test-dup2.c (main): Skip portion of test if cloexec module
74514         not present.
74515         Suggested by Bruno Haible.
74517 2009-12-26  Bruno Haible  <bruno@clisp.org>
74519         Remove an unneeded dependency.
74520         * modules/fseterr (Depends-on): Remove dup2.
74522 2009-12-26  Eric Blake  <ebb9@byu.net>
74524         tests: use macros.h in more places
74525         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
74526         (ASSERT_STREAM): Provide default of stderr.
74527         * tests/test-dirent-safer.c: Include macros.h, using alternate
74528         stream for assertions.
74529         * tests/test-dup-safer.c: Likewise.
74530         * tests/test-freopen-safer.c: Likewise.
74531         * tests/test-getopt.c: Likewise.
74532         * tests/test-openat-safer.c: Likewise.
74533         * tests/test-pipe.c: Likewise.
74534         * tests/test-popen-safer.c: Likewise.
74535         * modules/dirent-safer-tests (Files): Include macros.h.
74536         * modules/unistd-safer-tests (Files): Likewise.
74537         * modules/freopen-safer-tests (Files): Likewise.
74538         * modules/getopt-posix-tests (Files): Likewise.
74539         * modules/openat-safer-tests (Files): Likewise.
74540         * modules/pipe-tests (Files): Likewise.
74542 2009-12-26  Bruno Haible  <bruno@clisp.org>
74544         javacomp-script: Portability fix.
74545         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
74546         that it also works on Solaris.
74548 2009-12-26  Bruno Haible  <bruno@clisp.org>
74550         localename: Fix storage allocation of gl_locale_name_thread's result.
74551         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
74552         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
74553         all platforms that have 'uselocale'.
74554         (gl_locale_name_thread_unsafe): New function, extracted from
74555         gl_locale_name_thread.
74556         (gl_locale_name_thread): Call struniq on all platforms that have
74557         'uselocale'.
74558         * tests/test-localename.c (test_locale_name_thread): Check that the
74559         resulting strings are permanently allocated.
74560         * modules/localename-tests (Depends-on): Add strdup.
74562 2009-12-26  Bruno Haible  <bruno@clisp.org>
74564         * tests/test-localename.c (categories): Fill in the strings.
74566 2009-12-26  Jim Meyering  <meyering@redhat.com>
74568         isdir: complete the removal of m4/isdir.m4
74569         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
74571         isdir: clean up, since at least grep still uses it
74572         * lib/isdir.c: Include "isdir.h".
74573         (S_ISDIR): Remove now-unneeded definition.
74574         * modules/isdir (Files): Add lib/isdir.h.
74575         * lib/isdir.h: New file, with declaration.
74576         * m4/isdir.m4: Remove file -- unneeded.
74578 2009-12-25  Bruno Haible  <bruno@clisp.org>
74580         selinux-h: Make generated .h files standalone.
74581         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
74582         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
74583         * lib/se-selinux.in.h: Likewise.
74584         * modules/selinux-h (Depends-on): Add unused-parameter.
74585         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
74586         selinux/selinux.h and selinux/context.h.
74587         Suggested by Eric Blake.
74589 2009-12-25  Bruno Haible  <bruno@clisp.org>
74591         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
74592         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
74593         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
74594         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
74595         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
74597 2009-12-24  Bruno Haible  <bruno@clisp.org>
74599         openat: Fix warning.
74600         * lib/openat-proc.c: Include <unistd.h>.
74602 2009-12-24  Bruno Haible  <bruno@clisp.org>
74604         New module 'unused-parameter'.
74605         * build-aux/unused-parameter.h: New file, extracted from earlier
74606         gnulib-common.m4.
74607         * modules/unused-parameter: New file.
74608         * lib/unistr.h: Include unused-parameter.h.
74609         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
74610         _GL_UNUSED.
74611         * modules/unistr/base (Depends-on): Add unused-parameter.
74613 2009-12-24  Bruno Haible  <bruno@clisp.org>
74615         Add missing dependencies to 'extensions' module.
74616         * m4/extensions.m4: Add comment.
74617         * modules/accept4 (Depends-on): Add extensions.
74618         * modules/dup3 (Depends-on): Likewise.
74619         * modules/fcntl (Depends-on): Likewise.
74620         * modules/futimens (Depends-on): Likewise.
74621         * modules/mknod (Depends-on): Likewise.
74622         * modules/pipe2 (Depends-on): Likewise.
74623         * modules/stat-time (Depends-on): Likewise.
74624         * modules/strcasestr-simple (Depends-on): Likewise.
74625         * modules/strsignal (Depends-on): Likewise.
74626         * modules/utimensat (Depends-on): Likewise.
74627         * modules/localcharset (Depends-on): Likewise. Needed because of
74628         gl_FCNTL_O_FLAGS.
74629         * modules/wcrtomb (Depends-on): Likewise. Needed because of
74630         AC_TYPE_MBSTATE_T.
74631         * modules/wcsnrtombs (Depends-on): Likewise.
74632         * modules/wcsrtombs (Depends-on): Likewise.
74634 2009-12-24  Bruno Haible  <bruno@clisp.org>
74636         binary-io: Avoid gcc warning due to SET_BINARY.
74637         * lib/binary-io.h (SET_BINARY): Cast the result to void.
74638         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
74640 2009-12-24  Bruno Haible  <bruno@clisp.org>
74642         Avoid future namespace pollution on glibc systems.
74643         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
74644         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
74645         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
74646         glibc systems.
74648 2009-12-24  Bruno Haible  <bruno@clisp.org>
74650         Refactor common macros used in tests.
74651         * tests/macros.h: New file.
74652         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
74653         and/or <stdlib.h>, if appropriate.
74654         (ASSERT, SIZEOF): Remove macros.
74655         * tests/test-areadlink-with-size.c: Likewise.
74656         * tests/test-areadlinkat.c: Likewise.
74657         * tests/test-areadlinkat-with-size.c: Likewise.
74658         * tests/test-argmatch.c: Likewise.
74659         * tests/test-argv-iter.c: Likewise.
74660         * tests/test-array-mergesort.c: Likewise.
74661         * tests/test-array_list.c: Likewise.
74662         * tests/test-array_oset.c: Likewise.
74663         * tests/test-avltree_list.c: Likewise.
74664         * tests/test-avltree_oset.c: Likewise.
74665         * tests/test-avltreehash_list.c: Likewise.
74666         * tests/test-base64.c: Likewise.
74667         * tests/test-binary-io.c: Likewise.
74668         * tests/test-bitrotate.c: Likewise.
74669         * tests/test-btowc.c: Likewise.
74670         * tests/test-byteswap.c: Likewise.
74671         * tests/test-c-ctype.c: Likewise.
74672         * tests/test-c-stack.c: Likewise.
74673         * tests/test-c-strcasecmp.c: Likewise.
74674         * tests/test-c-strcasestr.c: Likewise.
74675         * tests/test-c-strncasecmp.c: Likewise.
74676         * tests/test-c-strstr.c: Likewise.
74677         * tests/test-canonicalize-lgpl.c: Likewise.
74678         * tests/test-canonicalize.c: Likewise.
74679         * tests/test-carray_list.c: Likewise.
74680         * tests/test-ceilf1.c: Likewise.
74681         * tests/test-ceilf2.c: Likewise.
74682         * tests/test-ceill.c: Likewise.
74683         * tests/test-chown.c: Likewise.
74684         * tests/test-cloexec.c: Likewise.
74685         * tests/test-copy-acl.c: Likewise.
74686         * tests/test-copy-file.c: Likewise.
74687         * tests/test-count-one-bits.c: Likewise.
74688         * tests/test-dprintf-posix.c: Likewise.
74689         * tests/test-dup2.c: Likewise.
74690         * tests/test-dup3.c: Likewise.
74691         * tests/test-duplocale.c: Likewise.
74692         * tests/test-fbufmode.c: Likewise.
74693         * tests/test-fchdir.c: Likewise.
74694         * tests/test-fchownat.c: Likewise.
74695         * tests/test-fcntl-safer.c: Likewise.
74696         * tests/test-fcntl.c: Likewise.
74697         * tests/test-fdopendir.c: Likewise.
74698         * tests/test-fdutimensat.c: Likewise.
74699         * tests/test-fflush2.c: Likewise.
74700         * tests/test-file-has-acl.c: Likewise.
74701         * tests/test-filevercmp.c: Likewise.
74702         * tests/test-flock.c: Likewise.
74703         * tests/test-floorf1.c: Likewise.
74704         * tests/test-floorf2.c: Likewise.
74705         * tests/test-floorl.c: Likewise.
74706         * tests/test-fnmatch.c: Likewise.
74707         * tests/test-fopen.h: Likewise.
74708         * tests/test-fpending.c: Likewise.
74709         * tests/test-fprintf-posix.c: Likewise.
74710         * tests/test-fpurge.c: Likewise.
74711         * tests/test-freadable.c: Likewise.
74712         * tests/test-freadahead.c: Likewise.
74713         * tests/test-freading.c: Likewise.
74714         * tests/test-freadptr.c: Likewise.
74715         * tests/test-freadptr2.c: Likewise.
74716         * tests/test-freadseek.c: Likewise.
74717         * tests/test-freopen.c: Likewise.
74718         * tests/test-frexp.c: Likewise.
74719         * tests/test-frexpl.c: Likewise.
74720         * tests/test-fseek.c: Likewise.
74721         * tests/test-fseeko.c: Likewise.
74722         * tests/test-fstatat.c: Likewise.
74723         * tests/test-fstrcmp.c: Likewise.
74724         * tests/test-fsync.c: Likewise.
74725         * tests/test-ftell.c: Likewise.
74726         * tests/test-ftello.c: Likewise.
74727         * tests/test-func.c: Likewise.
74728         * tests/test-futimens.c: Likewise.
74729         * tests/test-fwritable.c: Likewise.
74730         * tests/test-fwriting.c: Likewise.
74731         * tests/test-getcwd.c: Likewise.
74732         * tests/test-getdate.c: Likewise.
74733         * tests/test-getdelim.c: Likewise.
74734         * tests/test-getdtablesize.c: Likewise.
74735         * tests/test-getgroups.c: Likewise.
74736         * tests/test-getline.c: Likewise.
74737         * tests/test-getndelim2.c: Likewise.
74738         * tests/test-glob.c: Likewise.
74739         * tests/test-hash.c: Likewise.
74740         * tests/test-i-ring.c: Likewise.
74741         * tests/test-iconv-utf.c: Likewise.
74742         * tests/test-iconv.c: Likewise.
74743         * tests/test-idpriv-drop.c: Likewise.
74744         * tests/test-idpriv-droptemp.c: Likewise.
74745         * tests/test-inet_ntop.c: Likewise.
74746         * tests/test-inet_pton.c: Likewise.
74747         * tests/test-isblank.c: Likewise.
74748         * tests/test-isfinite.c: Likewise.
74749         * tests/test-isinf.c: Likewise.
74750         * tests/test-isnan.c: Likewise.
74751         * tests/test-isnand.h: Likewise.
74752         * tests/test-isnanf.h: Likewise.
74753         * tests/test-isnanl.h: Likewise.
74754         * tests/test-lchown.c: Likewise.
74755         * tests/test-ldexpl.c: Likewise.
74756         * tests/test-link.c: Likewise.
74757         * tests/test-linkat.c: Likewise.
74758         * tests/test-linked_list.c: Likewise.
74759         * tests/test-linkedhash_list.c: Likewise.
74760         * tests/test-localename.c: Likewise.
74761         * tests/test-lseek.c: Likewise.
74762         * tests/test-lstat.c: Likewise.
74763         * tests/test-mbmemcasecmp.c: Likewise.
74764         * tests/test-mbmemcasecoll.c: Likewise.
74765         * tests/test-mbrtowc.c: Likewise.
74766         * tests/test-mbscasecmp.c: Likewise.
74767         * tests/test-mbscasestr1.c: Likewise.
74768         * tests/test-mbscasestr2.c: Likewise.
74769         * tests/test-mbscasestr3.c: Likewise.
74770         * tests/test-mbscasestr4.c: Likewise.
74771         * tests/test-mbschr.c: Likewise.
74772         * tests/test-mbscspn.c: Likewise.
74773         * tests/test-mbsinit.c: Likewise.
74774         * tests/test-mbsncasecmp.c: Likewise.
74775         * tests/test-mbsnrtowcs.c: Likewise.
74776         * tests/test-mbspbrk.c: Likewise.
74777         * tests/test-mbspcasecmp.c: Likewise.
74778         * tests/test-mbsrchr.c: Likewise.
74779         * tests/test-mbsrtowcs.c: Likewise.
74780         * tests/test-mbsspn.c: Likewise.
74781         * tests/test-mbsstr1.c: Likewise.
74782         * tests/test-mbsstr2.c: Likewise.
74783         * tests/test-mbsstr3.c: Likewise.
74784         * tests/test-memchr.c: Likewise.
74785         * tests/test-memchr2.c: Likewise.
74786         * tests/test-memcmp.c: Likewise.
74787         * tests/test-memmem.c: Likewise.
74788         * tests/test-memrchr.c: Likewise.
74789         * tests/test-mkdir.c: Likewise.
74790         * tests/test-mkdirat.c: Likewise.
74791         * tests/test-mkfifo.c: Likewise.
74792         * tests/test-mkfifoat.c: Likewise.
74793         * tests/test-mknod.c: Likewise.
74794         * tests/test-nanosleep.c: Likewise.
74795         * tests/test-nl_langinfo.c: Likewise.
74796         * tests/test-obstack-printf.c: Likewise.
74797         * tests/test-open.c: Likewise.
74798         * tests/test-openat.c: Likewise.
74799         * tests/test-pipe-filter-gi1.c: Likewise.
74800         * tests/test-pipe-filter-gi2-main.c: Likewise.
74801         * tests/test-pipe-filter-ii1.c: Likewise.
74802         * tests/test-pipe-filter-ii2-main.c: Likewise.
74803         * tests/test-pipe2.c: Likewise.
74804         * tests/test-popen.h: Likewise.
74805         * tests/test-posixtm.c: Likewise.
74806         * tests/test-pread.c: Likewise.
74807         * tests/test-printf-frexp.c: Likewise.
74808         * tests/test-printf-frexpl.c: Likewise.
74809         * tests/test-printf-posix.c: Likewise.
74810         * tests/test-priv-set.c: Likewise.
74811         * tests/test-quotearg.c: Likewise.
74812         * tests/test-random_r.c: Likewise.
74813         * tests/test-rawmemchr.c: Likewise.
74814         * tests/test-rbtree_list.c: Likewise.
74815         * tests/test-rbtree_oset.c: Likewise.
74816         * tests/test-rbtreehash_list.c: Likewise.
74817         * tests/test-readlink.c: Likewise.
74818         * tests/test-remove.c: Likewise.
74819         * tests/test-rename.c: Likewise.
74820         * tests/test-renameat.c: Likewise.
74821         * tests/test-rmdir.c: Likewise.
74822         * tests/test-round1.c: Likewise.
74823         * tests/test-roundf1.c: Likewise.
74824         * tests/test-roundl.c: Likewise.
74825         * tests/test-safe-alloc.c: Likewise.
74826         * tests/test-sameacls.c: Likewise.
74827         * tests/test-set-mode-acl.c: Likewise.
74828         * tests/test-setenv.c: Likewise.
74829         * tests/test-sigaction.c: Likewise.
74830         * tests/test-signbit.c: Likewise.
74831         * tests/test-sleep.c: Likewise.
74832         * tests/test-snprintf-posix.c: Likewise.
74833         * tests/test-snprintf.c: Likewise.
74834         * tests/test-sprintf-posix.c: Likewise.
74835         * tests/test-stat-time.c: Likewise.
74836         * tests/test-stat.c: Likewise.
74837         * tests/test-strcasestr.c: Likewise.
74838         * tests/test-strchrnul.c: Likewise.
74839         * tests/test-strerror.c: Likewise.
74840         * tests/test-striconv.c: Likewise.
74841         * tests/test-striconveh.c: Likewise.
74842         * tests/test-striconveha.c: Likewise.
74843         * tests/test-strsignal.c: Likewise.
74844         * tests/test-strstr.c: Likewise.
74845         * tests/test-strtod.c: Likewise.
74846         * tests/test-strverscmp.c: Likewise.
74847         * tests/test-symlink.c: Likewise.
74848         * tests/test-symlinkat.c: Likewise.
74849         * tests/test-trunc1.c: Likewise.
74850         * tests/test-trunc2.c: Likewise.
74851         * tests/test-truncf1.c: Likewise.
74852         * tests/test-truncf2.c: Likewise.
74853         * tests/test-truncl.c: Likewise.
74854         * tests/test-uname.c: Likewise.
74855         * tests/test-unlink.c: Likewise.
74856         * tests/test-unlinkat.c: Likewise.
74857         * tests/test-unsetenv.c: Likewise.
74858         * tests/test-usleep.c: Likewise.
74859         * tests/test-utimens.c: Likewise.
74860         * tests/test-utimensat.c: Likewise.
74861         * tests/test-vasnprintf-posix.c: Likewise.
74862         * tests/test-vasnprintf-posix2.c: Likewise.
74863         * tests/test-vasnprintf.c: Likewise.
74864         * tests/test-vasprintf-posix.c: Likewise.
74865         * tests/test-vasprintf.c: Likewise.
74866         * tests/test-vdprintf-posix.c: Likewise.
74867         * tests/test-vfprintf-posix.c: Likewise.
74868         * tests/test-vprintf-posix.c: Likewise.
74869         * tests/test-vsnprintf-posix.c: Likewise.
74870         * tests/test-vsnprintf.c: Likewise.
74871         * tests/test-vsprintf-posix.c: Likewise.
74872         * tests/test-wcrtomb.c: Likewise.
74873         * tests/test-wcsnrtombs.c: Likewise.
74874         * tests/test-wcsrtombs.c: Likewise.
74875         * tests/test-wctype.c: Likewise.
74876         * tests/test-wcwidth.c: Likewise.
74877         * tests/test-xfprintf-posix.c: Likewise.
74878         * tests/test-xmemdup0.c: Likewise.
74879         * tests/test-xprintf-posix.c: Likewise.
74880         * tests/test-xvasprintf.c: Likewise.
74881         * tests/unicase/test-locale-language.c: Likewise.
74882         * tests/unicase/test-mapping-part1.h: Likewise.
74883         * tests/unicase/test-predicate-part1.h: Likewise.
74884         * tests/unicase/test-u8-casecmp.c: Likewise.
74885         * tests/unicase/test-u8-casecoll.c: Likewise.
74886         * tests/unicase/test-u8-casefold.c: Likewise.
74887         * tests/unicase/test-u8-is-cased.c: Likewise.
74888         * tests/unicase/test-u8-is-casefolded.c: Likewise.
74889         * tests/unicase/test-u8-is-lowercase.c: Likewise.
74890         * tests/unicase/test-u8-is-titlecase.c: Likewise.
74891         * tests/unicase/test-u8-is-uppercase.c: Likewise.
74892         * tests/unicase/test-u8-tolower.c: Likewise.
74893         * tests/unicase/test-u8-totitle.c: Likewise.
74894         * tests/unicase/test-u8-toupper.c: Likewise.
74895         * tests/unicase/test-u16-casecmp.c: Likewise.
74896         * tests/unicase/test-u16-casecoll.c: Likewise.
74897         * tests/unicase/test-u16-casefold.c: Likewise.
74898         * tests/unicase/test-u16-is-cased.c: Likewise.
74899         * tests/unicase/test-u16-is-casefolded.c: Likewise.
74900         * tests/unicase/test-u16-is-lowercase.c: Likewise.
74901         * tests/unicase/test-u16-is-titlecase.c: Likewise.
74902         * tests/unicase/test-u16-is-uppercase.c: Likewise.
74903         * tests/unicase/test-u16-tolower.c: Likewise.
74904         * tests/unicase/test-u16-totitle.c: Likewise.
74905         * tests/unicase/test-u16-toupper.c: Likewise.
74906         * tests/unicase/test-u32-casecmp.c: Likewise.
74907         * tests/unicase/test-u32-casecoll.c: Likewise.
74908         * tests/unicase/test-u32-casefold.c: Likewise.
74909         * tests/unicase/test-u32-is-cased.c: Likewise.
74910         * tests/unicase/test-u32-is-casefolded.c: Likewise.
74911         * tests/unicase/test-u32-is-lowercase.c: Likewise.
74912         * tests/unicase/test-u32-is-titlecase.c: Likewise.
74913         * tests/unicase/test-u32-is-uppercase.c: Likewise.
74914         * tests/unicase/test-u32-tolower.c: Likewise.
74915         * tests/unicase/test-u32-totitle.c: Likewise.
74916         * tests/unicase/test-u32-toupper.c: Likewise.
74917         * tests/unicase/test-ulc-casecmp.c: Likewise.
74918         * tests/unicase/test-ulc-casecoll.c: Likewise.
74919         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
74920         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
74921         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
74922         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
74923         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
74924         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
74925         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
74926         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
74927         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
74928         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
74929         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
74930         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
74931         * tests/unictype/test-bidi_byname.c: Likewise.
74932         * tests/unictype/test-bidi_name.c: Likewise.
74933         * tests/unictype/test-bidi_of.c: Likewise.
74934         * tests/unictype/test-bidi_test.c: Likewise.
74935         * tests/unictype/test-block_list.c: Likewise.
74936         * tests/unictype/test-block_of.c: Likewise.
74937         * tests/unictype/test-block_test.c: Likewise.
74938         * tests/unictype/test-categ_and.c: Likewise.
74939         * tests/unictype/test-categ_and_not.c: Likewise.
74940         * tests/unictype/test-categ_byname.c: Likewise.
74941         * tests/unictype/test-categ_name.c: Likewise.
74942         * tests/unictype/test-categ_none.c: Likewise.
74943         * tests/unictype/test-categ_of.c: Likewise.
74944         * tests/unictype/test-categ_or.c: Likewise.
74945         * tests/unictype/test-categ_test_withtable.c: Likewise.
74946         * tests/unictype/test-combining.c: Likewise.
74947         * tests/unictype/test-decdigit.c: Likewise.
74948         * tests/unictype/test-digit.c: Likewise.
74949         * tests/unictype/test-mirror.c: Likewise.
74950         * tests/unictype/test-numeric.c: Likewise.
74951         * tests/unictype/test-pr_byname.c: Likewise.
74952         * tests/unictype/test-pr_test.c: Likewise.
74953         * tests/unictype/test-predicate-part1.h: Likewise.
74954         * tests/unictype/test-scripts.c: Likewise.
74955         * tests/unictype/test-sy_c_ident.c: Likewise.
74956         * tests/unictype/test-sy_java_ident.c: Likewise.
74957         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
74958         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
74959         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
74960         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
74961         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
74962         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
74963         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
74964         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
74965         * tests/uninorm/test-canonical-decomposition.c: Likewise.
74966         * tests/uninorm/test-compat-decomposition.c: Likewise.
74967         * tests/uninorm/test-composition.c: Likewise.
74968         * tests/uninorm/test-decomposing-form.c: Likewise.
74969         * tests/uninorm/test-decomposition.c: Likewise.
74970         * tests/uninorm/test-u8-nfc.c: Likewise.
74971         * tests/uninorm/test-u8-nfd.c: Likewise.
74972         * tests/uninorm/test-u8-nfkc.c: Likewise.
74973         * tests/uninorm/test-u8-nfkd.c: Likewise.
74974         * tests/uninorm/test-u8-normcmp.c: Likewise.
74975         * tests/uninorm/test-u8-normcoll.c: Likewise.
74976         * tests/uninorm/test-u16-nfc.c: Likewise.
74977         * tests/uninorm/test-u16-nfd.c: Likewise.
74978         * tests/uninorm/test-u16-nfkc.c: Likewise.
74979         * tests/uninorm/test-u16-nfkd.c: Likewise.
74980         * tests/uninorm/test-u16-normcmp.c: Likewise.
74981         * tests/uninorm/test-u16-normcoll.c: Likewise.
74982         * tests/uninorm/test-u32-nfc.c: Likewise.
74983         * tests/uninorm/test-u32-nfd.c: Likewise.
74984         * tests/uninorm/test-u32-nfkc.c: Likewise.
74985         * tests/uninorm/test-u32-nfkd.c: Likewise.
74986         * tests/uninorm/test-u32-normalize-big.c: Likewise.
74987         * tests/uninorm/test-u32-normcmp.c: Likewise.
74988         * tests/uninorm/test-u32-normcoll.c: Likewise.
74989         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
74990         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
74991         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
74992         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
74993         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
74994         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
74995         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
74996         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
74997         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
74998         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
74999         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
75000         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
75001         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
75002         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
75003         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
75004         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
75005         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
75006         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
75007         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
75008         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
75009         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
75010         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
75011         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
75012         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
75013         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
75014         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
75015         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
75016         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
75017         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
75018         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
75019         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
75020         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
75021         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
75022         * tests/uniwidth/test-u8-strwidth.c: Likewise.
75023         * tests/uniwidth/test-u8-width.c: Likewise.
75024         * tests/uniwidth/test-u16-strwidth.c: Likewise.
75025         * tests/uniwidth/test-u16-width.c: Likewise.
75026         * tests/uniwidth/test-u32-strwidth.c: Likewise.
75027         * tests/uniwidth/test-u32-width.c: Likewise.
75028         * tests/uniwidth/test-uc_width.c: Likewise.
75029         * tests/uniwidth/test-uc_width2.c: Likewise.
75030         * modules/acl-tests (Files): Add tests/macros.h.
75031         * modules/areadlink-tests (Files): Likewise.
75032         * modules/areadlink-with-size-tests (Files): Likewise.
75033         * modules/areadlinkat-tests (Files): Likewise.
75034         * modules/areadlinkat-with-size-tests (Files): Likewise.
75035         * modules/argmatch-tests (Files): Likewise.
75036         * modules/argv-iter-tests (Files): Likewise.
75037         * modules/array-list-tests (Files): Likewise.
75038         * modules/array-mergesort-tests (Files): Likewise.
75039         * modules/array-oset-tests (Files): Likewise.
75040         * modules/avltree-list-tests (Files): Likewise.
75041         * modules/avltree-oset-tests (Files): Likewise.
75042         * modules/avltreehash-list-tests (Files): Likewise.
75043         * modules/base64-tests (Files): Likewise.
75044         * modules/binary-io-tests (Files): Likewise.
75045         * modules/bitrotate-tests (Files): Likewise.
75046         * modules/btowc-tests (Files): Likewise.
75047         * modules/byteswap-tests (Files): Likewise.
75048         * modules/c-ctype-tests (Files): Likewise.
75049         * modules/c-stack-tests (Files): Likewise.
75050         * modules/c-strcase-tests (Files): Likewise.
75051         * modules/c-strcasestr-tests (Files): Likewise.
75052         * modules/c-strstr-tests (Files): Likewise.
75053         * modules/canonicalize-lgpl-tests (Files): Likewise.
75054         * modules/canonicalize-tests (Files): Likewise.
75055         * modules/carray-list-tests (Files): Likewise.
75056         * modules/ceilf-tests (Files): Likewise.
75057         * modules/ceill-tests (Files): Likewise.
75058         * modules/chown-tests (Files): Likewise.
75059         * modules/cloexec-tests (Files): Likewise.
75060         * modules/copy-file-tests (Files): Likewise.
75061         * modules/count-one-bits-tests (Files): Likewise.
75062         * modules/dprintf-posix-tests (Files): Likewise.
75063         * modules/dup2-tests (Files): Likewise.
75064         * modules/dup3-tests (Files): Likewise.
75065         * modules/duplocale-tests (Files): Likewise.
75066         * modules/fbufmode-tests (Files): Likewise.
75067         * modules/fchdir-tests (Files): Likewise.
75068         * modules/fcntl-safer-tests (Files): Likewise.
75069         * modules/fcntl-tests (Files): Likewise.
75070         * modules/fdopendir-tests (Files): Likewise.
75071         * modules/fdutimensat-tests (Files): Likewise.
75072         * modules/fflush-tests (Files): Likewise.
75073         * modules/filevercmp-tests (Files): Likewise.
75074         * modules/flock-tests (Files): Likewise.
75075         * modules/floorf-tests (Files): Likewise.
75076         * modules/floorl-tests (Files): Likewise.
75077         * modules/fnmatch-tests (Files): Likewise.
75078         * modules/fopen-safer-tests (Files): Likewise.
75079         * modules/fopen-tests (Files): Likewise.
75080         * modules/fpending-tests (Files): Likewise.
75081         * modules/fprintf-posix-tests (Files): Likewise.
75082         * modules/fpurge-tests (Files): Likewise.
75083         * modules/freadable-tests (Files): Likewise.
75084         * modules/freadahead-tests (Files): Likewise.
75085         * modules/freading-tests (Files): Likewise.
75086         * modules/freadptr-tests (Files): Likewise.
75087         * modules/freadseek-tests (Files): Likewise.
75088         * modules/freopen-tests (Files): Likewise.
75089         * modules/frexp-nolibm-tests (Files): Likewise.
75090         * modules/frexp-tests (Files): Likewise.
75091         * modules/frexpl-nolibm-tests (Files): Likewise.
75092         * modules/frexpl-tests (Files): Likewise.
75093         * modules/fseek-tests (Files): Likewise.
75094         * modules/fseeko-tests (Files): Likewise.
75095         * modules/fstrcmp-tests (Files): Likewise.
75096         * modules/fsync-tests (Files): Likewise.
75097         * modules/ftell-tests (Files): Likewise.
75098         * modules/ftello-tests (Files): Likewise.
75099         * modules/func-tests (Files): Likewise.
75100         * modules/futimens-tests (Files): Likewise.
75101         * modules/fwritable-tests (Files): Likewise.
75102         * modules/fwriting-tests (Files): Likewise.
75103         * modules/getcwd-tests (Files): Likewise.
75104         * modules/getdate-tests (Files): Likewise.
75105         * modules/getdelim-tests (Files): Likewise.
75106         * modules/getdtablesize-tests (Files): Likewise.
75107         * modules/getgroups-tests (Files): Likewise.
75108         * modules/getline-tests (Files): Likewise.
75109         * modules/getndelim2-tests (Files): Likewise.
75110         * modules/glob-tests (Files): Likewise.
75111         * modules/hash-tests (Files): Likewise.
75112         * modules/i-ring-tests (Files): Likewise.
75113         * modules/iconv-tests (Files): Likewise.
75114         * modules/iconv_open-utf-tests (Files): Likewise.
75115         * modules/idpriv-drop-tests (Files): Likewise.
75116         * modules/idpriv-droptemp-tests (Files): Likewise.
75117         * modules/inet_ntop-tests (Files): Likewise.
75118         * modules/inet_pton-tests (Files): Likewise.
75119         * modules/isblank-tests (Files): Likewise.
75120         * modules/isfinite-tests (Files): Likewise.
75121         * modules/isinf-tests (Files): Likewise.
75122         * modules/isnan-tests (Files): Likewise.
75123         * modules/isnand-nolibm-tests (Files): Likewise.
75124         * modules/isnand-tests (Files): Likewise.
75125         * modules/isnanf-nolibm-tests (Files): Likewise.
75126         * modules/isnanf-tests (Files): Likewise.
75127         * modules/isnanl-nolibm-tests (Files): Likewise.
75128         * modules/isnanl-tests (Files): Likewise.
75129         * modules/lchown-tests (Files): Likewise.
75130         * modules/ldexpl-tests (Files): Likewise.
75131         * modules/link-tests (Files): Likewise.
75132         * modules/linkat-tests (Files): Likewise.
75133         * modules/linked-list-tests (Files): Likewise.
75134         * modules/linkedhash-list-tests (Files): Likewise.
75135         * modules/localename-tests (Files): Likewise.
75136         * modules/lseek-tests (Files): Likewise.
75137         * modules/lstat-tests (Files): Likewise.
75138         * modules/mbmemcasecmp-tests (Files): Likewise.
75139         * modules/mbmemcasecoll-tests (Files): Likewise.
75140         * modules/mbrtowc-tests (Files): Likewise.
75141         * modules/mbscasecmp-tests (Files): Likewise.
75142         * modules/mbscasestr-tests (Files): Likewise.
75143         * modules/mbschr-tests (Files): Likewise.
75144         * modules/mbscspn-tests (Files): Likewise.
75145         * modules/mbsinit-tests (Files): Likewise.
75146         * modules/mbsncasecmp-tests (Files): Likewise.
75147         * modules/mbsnrtowcs-tests (Files): Likewise.
75148         * modules/mbspbrk-tests (Files): Likewise.
75149         * modules/mbspcasecmp-tests (Files): Likewise.
75150         * modules/mbsrchr-tests (Files): Likewise.
75151         * modules/mbsrtowcs-tests (Files): Likewise.
75152         * modules/mbsspn-tests (Files): Likewise.
75153         * modules/mbsstr-tests (Files): Likewise.
75154         * modules/memchr-tests (Files): Likewise.
75155         * modules/memchr2-tests (Files): Likewise.
75156         * modules/memcmp-tests (Files): Likewise.
75157         * modules/memmem-tests (Files): Likewise.
75158         * modules/memrchr-tests (Files): Likewise.
75159         * modules/mkdir-tests (Files): Likewise.
75160         * modules/mkfifo-tests (Files): Likewise.
75161         * modules/mkfifoat-tests (Files): Likewise.
75162         * modules/mknod-tests (Files): Likewise.
75163         * modules/nanosleep-tests (Files): Likewise.
75164         * modules/nl_langinfo-tests (Files): Likewise.
75165         * modules/obstack-printf-tests (Files): Likewise.
75166         * modules/open-tests (Files): Likewise.
75167         * modules/openat-tests (Files): Likewise.
75168         * modules/pipe-filter-gi-tests (Files): Likewise.
75169         * modules/pipe-filter-ii-tests (Files): Likewise.
75170         * modules/pipe2-tests (Files): Likewise.
75171         * modules/popen-safer-tests (Files): Likewise.
75172         * modules/popen-tests (Files): Likewise.
75173         * modules/posixtm-tests (Files): Likewise.
75174         * modules/pread-tests (Files): Likewise.
75175         * modules/printf-frexp-tests (Files): Likewise.
75176         * modules/printf-frexpl-tests (Files): Likewise.
75177         * modules/printf-posix-tests (Files): Likewise.
75178         * modules/priv-set-tests (Files): Likewise.
75179         * modules/quotearg-tests (Files): Likewise.
75180         * modules/random_r-tests (Files): Likewise.
75181         * modules/rawmemchr-tests (Files): Likewise.
75182         * modules/rbtree-list-tests (Files): Likewise.
75183         * modules/rbtree-oset-tests (Files): Likewise.
75184         * modules/rbtreehash-list-tests (Files): Likewise.
75185         * modules/readlink-tests (Files): Likewise.
75186         * modules/remove-tests (Files): Likewise.
75187         * modules/rename-tests (Files): Likewise.
75188         * modules/renameat-tests (Files): Likewise.
75189         * modules/rmdir-tests (Files): Likewise.
75190         * modules/round-tests (Files): Likewise.
75191         * modules/roundf-tests (Files): Likewise.
75192         * modules/roundl-tests (Files): Likewise.
75193         * modules/safe-alloc-tests (Files): Likewise.
75194         * modules/setenv-tests (Files): Likewise.
75195         * modules/sigaction-tests (Files): Likewise.
75196         * modules/signbit-tests (Files): Likewise.
75197         * modules/sleep-tests (Files): Likewise.
75198         * modules/snprintf-posix-tests (Files): Likewise.
75199         * modules/snprintf-tests (Files): Likewise.
75200         * modules/sprintf-posix-tests (Files): Likewise.
75201         * modules/stat-tests (Files): Likewise.
75202         * modules/stat-time-tests (Files): Likewise.
75203         * modules/strcasestr-tests (Files): Likewise.
75204         * modules/strchrnul-tests (Files): Likewise.
75205         * modules/strerror-tests (Files): Likewise.
75206         * modules/striconv-tests (Files): Likewise.
75207         * modules/striconveh-tests (Files): Likewise.
75208         * modules/striconveha-tests (Files): Likewise.
75209         * modules/strsignal-tests (Files): Likewise.
75210         * modules/strstr-tests (Files): Likewise.
75211         * modules/strtod-tests (Files): Likewise.
75212         * modules/strverscmp-tests (Files): Likewise.
75213         * modules/symlink-tests (Files): Likewise.
75214         * modules/symlinkat-tests (Files): Likewise.
75215         * modules/trunc-tests (Files): Likewise.
75216         * modules/truncf-tests (Files): Likewise.
75217         * modules/truncl-tests (Files): Likewise.
75218         * modules/uname-tests (Files): Likewise.
75219         * modules/unicase/cased-tests (Files): Likewise.
75220         * modules/unicase/ignorable-tests (Files): Likewise.
75221         * modules/unicase/locale-language-tests (Files): Likewise.
75222         * modules/unicase/tolower-tests (Files): Likewise.
75223         * modules/unicase/totitle-tests (Files): Likewise.
75224         * modules/unicase/toupper-tests (Files): Likewise.
75225         * modules/unicase/u8-casecmp-tests (Files): Likewise.
75226         * modules/unicase/u8-casecoll-tests (Files): Likewise.
75227         * modules/unicase/u8-casefold-tests (Files): Likewise.
75228         * modules/unicase/u8-is-cased-tests (Files): Likewise.
75229         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
75230         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
75231         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
75232         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
75233         * modules/unicase/u8-tolower-tests (Files): Likewise.
75234         * modules/unicase/u8-totitle-tests (Files): Likewise.
75235         * modules/unicase/u8-toupper-tests (Files): Likewise.
75236         * modules/unicase/u16-casecmp-tests (Files): Likewise.
75237         * modules/unicase/u16-casecoll-tests (Files): Likewise.
75238         * modules/unicase/u16-casefold-tests (Files): Likewise.
75239         * modules/unicase/u16-is-cased-tests (Files): Likewise.
75240         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
75241         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
75242         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
75243         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
75244         * modules/unicase/u16-tolower-tests (Files): Likewise.
75245         * modules/unicase/u16-totitle-tests (Files): Likewise.
75246         * modules/unicase/u16-toupper-tests (Files): Likewise.
75247         * modules/unicase/u32-casecmp-tests (Files): Likewise.
75248         * modules/unicase/u32-casecoll-tests (Files): Likewise.
75249         * modules/unicase/u32-casefold-tests (Files): Likewise.
75250         * modules/unicase/u32-is-cased-tests (Files): Likewise.
75251         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
75252         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
75253         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
75254         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
75255         * modules/unicase/u32-tolower-tests (Files): Likewise.
75256         * modules/unicase/u32-totitle-tests (Files): Likewise.
75257         * modules/unicase/u32-toupper-tests (Files): Likewise.
75258         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
75259         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
75260         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
75261         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
75262         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
75263         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
75264         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
75265         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
75266         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
75267         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
75268         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
75269         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
75270         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
75271         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
75272         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
75273         * modules/unictype/bidicategory-name-tests (Files): Likewise.
75274         * modules/unictype/bidicategory-of-tests (Files): Likewise.
75275         * modules/unictype/bidicategory-test-tests (Files): Likewise.
75276         * modules/unictype/block-list-tests (Files): Likewise.
75277         * modules/unictype/block-of-tests (Files): Likewise.
75278         * modules/unictype/block-test-tests (Files): Likewise.
75279         * modules/unictype/category-C-tests (Files): Likewise.
75280         * modules/unictype/category-Cc-tests (Files): Likewise.
75281         * modules/unictype/category-Cf-tests (Files): Likewise.
75282         * modules/unictype/category-Cn-tests (Files): Likewise.
75283         * modules/unictype/category-Co-tests (Files): Likewise.
75284         * modules/unictype/category-Cs-tests (Files): Likewise.
75285         * modules/unictype/category-L-tests (Files): Likewise.
75286         * modules/unictype/category-Ll-tests (Files): Likewise.
75287         * modules/unictype/category-Lm-tests (Files): Likewise.
75288         * modules/unictype/category-Lo-tests (Files): Likewise.
75289         * modules/unictype/category-Lt-tests (Files): Likewise.
75290         * modules/unictype/category-Lu-tests (Files): Likewise.
75291         * modules/unictype/category-M-tests (Files): Likewise.
75292         * modules/unictype/category-Mc-tests (Files): Likewise.
75293         * modules/unictype/category-Me-tests (Files): Likewise.
75294         * modules/unictype/category-Mn-tests (Files): Likewise.
75295         * modules/unictype/category-N-tests (Files): Likewise.
75296         * modules/unictype/category-Nd-tests (Files): Likewise.
75297         * modules/unictype/category-Nl-tests (Files): Likewise.
75298         * modules/unictype/category-No-tests (Files): Likewise.
75299         * modules/unictype/category-P-tests (Files): Likewise.
75300         * modules/unictype/category-Pc-tests (Files): Likewise.
75301         * modules/unictype/category-Pd-tests (Files): Likewise.
75302         * modules/unictype/category-Pe-tests (Files): Likewise.
75303         * modules/unictype/category-Pf-tests (Files): Likewise.
75304         * modules/unictype/category-Pi-tests (Files): Likewise.
75305         * modules/unictype/category-Po-tests (Files): Likewise.
75306         * modules/unictype/category-Ps-tests (Files): Likewise.
75307         * modules/unictype/category-S-tests (Files): Likewise.
75308         * modules/unictype/category-Sc-tests (Files): Likewise.
75309         * modules/unictype/category-Sk-tests (Files): Likewise.
75310         * modules/unictype/category-Sm-tests (Files): Likewise.
75311         * modules/unictype/category-So-tests (Files): Likewise.
75312         * modules/unictype/category-Z-tests (Files): Likewise.
75313         * modules/unictype/category-Zl-tests (Files): Likewise.
75314         * modules/unictype/category-Zp-tests (Files): Likewise.
75315         * modules/unictype/category-Zs-tests (Files): Likewise.
75316         * modules/unictype/category-and-not-tests (Files): Likewise.
75317         * modules/unictype/category-and-tests (Files): Likewise.
75318         * modules/unictype/category-byname-tests (Files): Likewise.
75319         * modules/unictype/category-name-tests (Files): Likewise.
75320         * modules/unictype/category-none-tests (Files): Likewise.
75321         * modules/unictype/category-of-tests (Files): Likewise.
75322         * modules/unictype/category-or-tests (Files): Likewise.
75323         * modules/unictype/category-test-withtable-tests (Files): Likewise.
75324         * modules/unictype/combining-class-tests (Files): Likewise.
75325         * modules/unictype/ctype-alnum-tests (Files): Likewise.
75326         * modules/unictype/ctype-alpha-tests (Files): Likewise.
75327         * modules/unictype/ctype-blank-tests (Files): Likewise.
75328         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
75329         * modules/unictype/ctype-digit-tests (Files): Likewise.
75330         * modules/unictype/ctype-graph-tests (Files): Likewise.
75331         * modules/unictype/ctype-lower-tests (Files): Likewise.
75332         * modules/unictype/ctype-print-tests (Files): Likewise.
75333         * modules/unictype/ctype-punct-tests (Files): Likewise.
75334         * modules/unictype/ctype-space-tests (Files): Likewise.
75335         * modules/unictype/ctype-upper-tests (Files): Likewise.
75336         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
75337         * modules/unictype/decimal-digit-tests (Files): Likewise.
75338         * modules/unictype/digit-tests (Files): Likewise.
75339         * modules/unictype/mirror-tests (Files): Likewise.
75340         * modules/unictype/numeric-tests (Files): Likewise.
75341         * modules/unictype/property-alphabetic-tests (Files): Likewise.
75342         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
75343         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
75344         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
75345         Likewise.
75346         * modules/unictype/property-bidi-block-separator-tests (Files):
75347         Likewise.
75348         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
75349         Likewise.
75350         * modules/unictype/property-bidi-common-separator-tests (Files):
75351         Likewise.
75352         * modules/unictype/property-bidi-control-tests (Files): Likewise.
75353         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
75354         Likewise.
75355         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
75356         Likewise.
75357         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
75358         Likewise.
75359         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
75360         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
75361         Likewise.
75362         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
75363         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
75364         Likewise.
75365         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
75366         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
75367         * modules/unictype/property-bidi-segment-separator-tests (Files):
75368         Likewise.
75369         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
75370         * modules/unictype/property-byname-tests (Files): Likewise.
75371         * modules/unictype/property-combining-tests (Files): Likewise.
75372         * modules/unictype/property-composite-tests (Files): Likewise.
75373         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
75374         * modules/unictype/property-dash-tests (Files): Likewise.
75375         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
75376         * modules/unictype/property-default-ignorable-code-point-tests (Files):
75377         Likewise.
75378         * modules/unictype/property-deprecated-tests (Files): Likewise.
75379         * modules/unictype/property-diacritic-tests (Files): Likewise.
75380         * modules/unictype/property-extender-tests (Files): Likewise.
75381         * modules/unictype/property-format-control-tests (Files): Likewise.
75382         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
75383         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
75384         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
75385         * modules/unictype/property-hex-digit-tests (Files): Likewise.
75386         * modules/unictype/property-hyphen-tests (Files): Likewise.
75387         * modules/unictype/property-id-continue-tests (Files): Likewise.
75388         * modules/unictype/property-id-start-tests (Files): Likewise.
75389         * modules/unictype/property-ideographic-tests (Files): Likewise.
75390         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
75391         * modules/unictype/property-ids-trinary-operator-tests (Files):
75392         Likewise.
75393         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
75394         * modules/unictype/property-iso-control-tests (Files): Likewise.
75395         * modules/unictype/property-join-control-tests (Files): Likewise.
75396         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
75397         * modules/unictype/property-line-separator-tests (Files): Likewise.
75398         * modules/unictype/property-logical-order-exception-tests (Files):
75399         Likewise.
75400         * modules/unictype/property-lowercase-tests (Files): Likewise.
75401         * modules/unictype/property-math-tests (Files): Likewise.
75402         * modules/unictype/property-non-break-tests (Files): Likewise.
75403         * modules/unictype/property-not-a-character-tests (Files): Likewise.
75404         * modules/unictype/property-numeric-tests (Files): Likewise.
75405         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
75406         * modules/unictype/property-other-default-ignorable-code-point-tests
75407         (Files): Likewise.
75408         * modules/unictype/property-other-grapheme-extend-tests (Files):
75409         Likewise.
75410         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
75411         * modules/unictype/property-other-id-start-tests (Files): Likewise.
75412         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
75413         * modules/unictype/property-other-math-tests (Files): Likewise.
75414         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
75415         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
75416         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
75417         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
75418         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
75419         * modules/unictype/property-private-use-tests (Files): Likewise.
75420         * modules/unictype/property-punctuation-tests (Files): Likewise.
75421         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
75422         * modules/unictype/property-radical-tests (Files): Likewise.
75423         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
75424         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
75425         * modules/unictype/property-space-tests (Files): Likewise.
75426         * modules/unictype/property-terminal-punctuation-tests (Files):
75427         Likewise.
75428         * modules/unictype/property-test-tests (Files): Likewise.
75429         * modules/unictype/property-titlecase-tests (Files): Likewise.
75430         * modules/unictype/property-unassigned-code-value-tests (Files):
75431         Likewise.
75432         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
75433         * modules/unictype/property-uppercase-tests (Files): Likewise.
75434         * modules/unictype/property-variation-selector-tests (Files): Likewise.
75435         * modules/unictype/property-white-space-tests (Files): Likewise.
75436         * modules/unictype/property-xid-continue-tests (Files): Likewise.
75437         * modules/unictype/property-xid-start-tests (Files): Likewise.
75438         * modules/unictype/property-zero-width-tests (Files): Likewise.
75439         * modules/unictype/scripts-tests (Files): Likewise.
75440         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
75441         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
75442         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
75443         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
75444         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
75445         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
75446         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
75447         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
75448         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
75449         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
75450         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
75451         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
75452         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
75453         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
75454         * modules/uninorm/composition-tests (Files): Likewise.
75455         * modules/uninorm/decomposing-form-tests (Files): Likewise.
75456         * modules/uninorm/decomposition-tests (Files): Likewise.
75457         * modules/uninorm/filter-tests (Files): Likewise.
75458         * modules/uninorm/nfc-tests (Files): Likewise.
75459         * modules/uninorm/nfd-tests (Files): Likewise.
75460         * modules/uninorm/nfkc-tests (Files): Likewise.
75461         * modules/uninorm/nfkd-tests (Files): Likewise.
75462         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
75463         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
75464         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
75465         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
75466         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
75467         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
75468         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
75469         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
75470         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
75471         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
75472         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
75473         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
75474         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
75475         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
75476         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
75477         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
75478         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
75479         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
75480         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
75481         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
75482         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
75483         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
75484         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
75485         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
75486         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
75487         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
75488         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
75489         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
75490         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
75491         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
75492         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
75493         * modules/uniwidth/u8-width-tests (Files): Likewise.
75494         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
75495         * modules/uniwidth/u16-width-tests (Files): Likewise.
75496         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
75497         * modules/uniwidth/u32-width-tests (Files): Likewise.
75498         * modules/uniwidth/width-tests (Files): Likewise.
75499         * modules/unlink-tests (Files): Likewise.
75500         * modules/unsetenv-tests (Files): Likewise.
75501         * modules/usleep-tests (Files): Likewise.
75502         * modules/utimens-tests (Files): Likewise.
75503         * modules/utimensat-tests (Files): Likewise.
75504         * modules/vasnprintf-posix-tests (Files): Likewise.
75505         * modules/vasnprintf-tests (Files): Likewise.
75506         * modules/vasprintf-posix-tests (Files): Likewise.
75507         * modules/vasprintf-tests (Files): Likewise.
75508         * modules/vdprintf-posix-tests (Files): Likewise.
75509         * modules/vfprintf-posix-tests (Files): Likewise.
75510         * modules/vprintf-posix-tests (Files): Likewise.
75511         * modules/vsnprintf-posix-tests (Files): Likewise.
75512         * modules/vsnprintf-tests (Files): Likewise.
75513         * modules/vsprintf-posix-tests (Files): Likewise.
75514         * modules/wcrtomb-tests (Files): Likewise.
75515         * modules/wcsnrtombs-tests (Files): Likewise.
75516         * modules/wcsrtombs-tests (Files): Likewise.
75517         * modules/wctype-tests (Files): Likewise.
75518         * modules/wcwidth-tests (Files): Likewise.
75519         * modules/xmemdup0-tests (Files): Likewise.
75520         * modules/xprintf-posix-tests (Files): Likewise.
75521         * modules/xvasprintf-tests (Files): Likewise.
75523 2009-12-24  Eric Blake  <ebb9@byu.net>
75525         test-nanosleep: fix typo
75526         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
75527         patch.
75528         Reported by Bruno Haible.
75530 2009-12-24  Bruno Haible  <bruno@clisp.org>
75532         Reduce namespace pollution on glibc systems.
75533         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
75534         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
75535         systems.
75536         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
75537         <getopt.h> on glibc systems.
75538         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
75539         systems.
75540         * lib/fcntl.c: Include <unistd.h> here instead.
75542 2009-12-24  Bruno Haible  <bruno@clisp.org>
75544         * lib/stdlib.in.h (includes): Fix typo in today's commit.
75546 2009-12-24  Eric Blake  <ebb9@byu.net>
75548         tests: add signature checks
75549         * tests/signature.h (SIGNATURE_CHECK): New file.
75550         * modules/atexit-tests (Files): Use it.
75551         * modules/btowc-tests (Files): Likewise.
75552         * modules/canonicalize-lgpl-tests (Files): Likewise.
75553         * modules/ceilf-tests (Files): Likewise.
75554         * modules/ceill-tests (Files): Likewise.
75555         * modules/chown-tests (Files): Likewise.
75556         * modules/dprintf-posix-tests (Files): Likewise.
75557         * modules/dup2-tests (Files): Likewise.
75558         * modules/dup3-tests (Files): Likewise.
75559         * modules/duplocale-tests (Files): Likewise.
75560         * modules/fchdir-tests (Files): Likewise.
75561         * modules/fcntl-tests (Files): Likewise.
75562         * modules/fdopendir-tests (Files): Likewise.
75563         * modules/fflush-tests (Files): Likewise.
75564         * modules/flock-tests (Files): Likewise.
75565         * modules/floorf-tests (Files): Likewise.
75566         * modules/floorl-tests (Files): Likewise.
75567         * modules/fnmatch-tests (Files): Likewise.
75568         * modules/fopen-tests (Files): Likewise.
75569         * modules/fprintf-posix-tests (Files): Likewise.
75570         * modules/freopen-tests (Files): Likewise.
75571         * modules/frexp-nolibm-tests (Files): Likewise.
75572         * modules/frexp-tests (Files): Likewise.
75573         * modules/frexpl-nolibm-tests (Files): Likewise.
75574         * modules/frexpl-tests (Files): Likewise.
75575         * modules/fseek-tests (Files): Likewise.
75576         * modules/fseeko-tests (Files): Likewise.
75577         * modules/fsync-tests (Files): Likewise.
75578         * modules/ftell-tests (Files): Likewise.
75579         * modules/ftello-tests (Files): Likewise.
75580         * modules/futimens-tests (Files): Likewise.
75581         * modules/getaddrinfo-tests (Files): Likewise.
75582         * modules/getcwd-tests (Files): Likewise.
75583         * modules/getdelim-tests (Files): Likewise.
75584         * modules/getdtablesize-tests (Files): Likewise.
75585         * modules/getgroups-tests (Files): Likewise.
75586         * modules/gethostname-tests (Files): Likewise.
75587         * modules/getline-tests (Files): Likewise.
75588         * modules/getopt-posix-tests (Files): Likewise.
75589         * modules/gettimeofday-tests (Files): Likewise.
75590         * modules/glob-tests (Files): Likewise.
75591         * modules/iconv-tests (Files): Likewise.
75592         * modules/inet_ntop-tests (Files): Likewise.
75593         * modules/inet_pton-tests (Files): Likewise.
75594         * modules/isblank-tests (Files): Likewise.
75595         * modules/lchown-tests (Files): Likewise.
75596         * modules/ldexpl-tests (Files): Likewise.
75597         * modules/link-tests (Files): Likewise.
75598         * modules/linkat-tests (Files): Likewise.
75599         * modules/lseek-tests (Files): Likewise.
75600         * modules/lstat-tests (Files): Likewise.
75601         * modules/mbrtowc-tests (Files): Likewise.
75602         * modules/mbsinit-tests (Files): Likewise.
75603         * modules/mbsnrtowcs-tests (Files): Likewise.
75604         * modules/mbsrtowcs-tests (Files): Likewise.
75605         * modules/memchr-tests (Files): Likewise.
75606         * modules/memcmp-tests (Files): Likewise.
75607         * modules/memmem-tests (Files): Likewise.
75608         * modules/memrchr-tests (Files): Likewise.
75609         * modules/mkdir-tests (Files): Likewise.
75610         * modules/mkfifo-tests (Files): Likewise.
75611         * modules/mkfifoat-tests (Files): Likewise.
75612         * modules/mknod-tests (Files): Likewise.
75613         * modules/nanosleep-tests (Files): Likewise.
75614         * modules/nl_langinfo-tests (Files): Likewise.
75615         * modules/obstack-printf-tests (Files): Likewise.
75616         * modules/open-tests (Files): Likewise.
75617         * modules/openat-tests (Files): Likewise.
75618         * modules/perror-tests (Files): Likewise.
75619         * modules/pipe2-tests (Files): Likewise.
75620         * modules/poll-tests (Files): Likewise.
75621         * modules/popen-tests (Files): Likewise.
75622         * modules/posix_spawn-tests (Files): Likewise.
75623         * modules/posix_spawnp-tests (Files): Likewise.
75624         * modules/pread-tests (Files): Likewise.
75625         * modules/printf-posix-tests (Files): Likewise.
75626         * modules/pty-tests (Files): Likewise.
75627         * modules/random_r-tests (Files): Likewise.
75628         * modules/rawmemchr-tests (Files): Likewise.
75629         * modules/readlink-tests (Files): Likewise.
75630         * modules/remove-tests (Files): Likewise.
75631         * modules/rename-tests (Files): Likewise.
75632         * modules/renameat-tests (Files): Likewise.
75633         * modules/rmdir-tests (Files): Likewise.
75634         * modules/round-tests (Files): Likewise.
75635         * modules/roundf-tests (Files): Likewise.
75636         * modules/roundl-tests (Files): Likewise.
75637         * modules/select-tests (Files): Likewise.
75638         * modules/setenv-tests (Files): Likewise.
75639         * modules/sigaction-tests (Files): Likewise.
75640         * modules/sleep-tests (Files): Likewise.
75641         * modules/snprintf-posix-tests (Files): Likewise.
75642         * modules/snprintf-tests (Files): Likewise.
75643         * modules/sprintf-posix-tests (Files): Likewise.
75644         * modules/stat-tests (Files): Likewise.
75645         * modules/strcasestr-tests (Files): Likewise.
75646         * modules/strchrnul-tests (Files): Likewise.
75647         * modules/strerror-tests (Files): Likewise.
75648         * modules/strsignal-tests (Files): Likewise.
75649         * modules/strstr-tests (Files): Likewise.
75650         * modules/strtod-tests (Files): Likewise.
75651         * modules/strverscmp-tests (Files): Likewise.
75652         * modules/symlink-tests (Files): Likewise.
75653         * modules/symlinkat-tests (Files): Likewise.
75654         * modules/times-tests (Files): Likewise.
75655         * modules/trunc-tests (Files): Likewise.
75656         * modules/truncf-tests (Files): Likewise.
75657         * modules/truncl-tests (Files): Likewise.
75658         * modules/tsearch-tests (Files): Likewise.
75659         * modules/uname-tests (Files): Likewise.
75660         * modules/unlink-tests (Files): Likewise.
75661         * modules/unsetenv-tests (Files): Likewise.
75662         * modules/usleep-tests (Files): Likewise.
75663         * modules/utimensat-tests (Files): Likewise.
75664         * modules/vasprintf-tests (Files): Likewise.
75665         * modules/vdprintf-posix-tests (Files): Likewise.
75666         * modules/vfprintf-posix-tests (Files): Likewise.
75667         * modules/vprintf-posix-tests (Files): Likewise.
75668         * modules/vsnprintf-posix-tests (Files): Likewise.
75669         * modules/vsnprintf-tests (Files): Likewise.
75670         * modules/vsprintf-posix-tests (Files): Likewise.
75671         * modules/wcrtomb-tests (Files): Likewise.
75672         * modules/wcsnrtombs-tests (Files): Likewise.
75673         * modules/wcsrtombs-tests (Files): Likewise.
75674         * modules/wcwidth-tests (Files): Likewise.
75675         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
75676         * tests/test-isinf.c (isinf): Likewise.
75677         * tests/test-isnan.c (isnan): Likewise.
75678         * tests/test-signbit.c (signbit): Likewise.
75679         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
75680         declaration, either as macro or with correct signature.
75681         (select): Ensure function under test is declared with correct
75682         signature in correct header.
75683         * tests/test-atexit.c (atexit): Likewise.
75684         * tests/test-btowc.c (btowc): Likewise.
75685         * tests/test-canonicalize-lgpl.c (realpath)
75686         (canonicalize_file_name): Likewise.
75687         * tests/test-ceilf1.c (ceilf): Likewise.
75688         * tests/test-ceill.c (ceill): Likewise.
75689         * tests/test-chown.c (chown): Likewise.
75690         * tests/test-dprintf-posix.c (dprintf): Likewise.
75691         * tests/test-dup2.c (dup2): Likewise.
75692         * tests/test-dup3.c (dup3): Likewise.
75693         * tests/test-duplocale.c (duplocale): Likewise.
75694         * tests/test-fchdir.c (fchdir): Likewise.
75695         * tests/test-fchownat.c (fchownat): Likewise.
75696         * tests/test-fcntl.c (fcntl): Likewise.
75697         * tests/test-fdopendir.c (fdopendir): Likewise.
75698         * tests/test-fflush.c (fflush): Likewise.
75699         * tests/test-flock.c (flock): Likewise.
75700         * tests/test-floorf1.c (floorf): Likewise.
75701         * tests/test-floorl.c (floorl): Likewise.
75702         * tests/test-fnmatch.c (fnmatch): Likewise.
75703         * tests/test-fopen.c (fopen): Likewise.
75704         * tests/test-fprintf-posix.c (fprintf): Likewise.
75705         * tests/test-freopen.c (freopen): Likewise.
75706         * tests/test-frexp.c (frexp): Likewise.
75707         * tests/test-frexpl.c (frexpl): Likewise.
75708         * tests/test-fseek.c (fseek): Likewise.
75709         * tests/test-fseeko.c (fseeko): Likewise.
75710         * tests/test-fstatat.c (fstatat): Likewise.
75711         * tests/test-fsync.c (fsync): Likewise.
75712         * tests/test-ftell.c (ftell): Likewise.
75713         * tests/test-ftello.c (ftello): Likewise.
75714         * tests/test-futimens.c (futimens): Likewise.
75715         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
75716         (gai_strerror): Likewise.
75717         * tests/test-getcwd.c (getcwd): Likewise.
75718         * tests/test-getdelim.c (getdelim): Likewise.
75719         * tests/test-getdtablesize.c (getdtablesize): Likewise.
75720         * tests/test-getgroups.c (getgroups): Likewise.
75721         * tests/test-gethostname.c (gethostname): Likewise.
75722         * tests/test-getline.c (getline): Likewise.
75723         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
75724         Likewise.
75725         * tests/test-gettimeofday.c (gettimeofday): Likewise.
75726         * tests/test-glob.c (glob, globfree): Likewise.
75727         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
75728         * tests/test-inet_ntop.c (inet_ntop): Likewise.
75729         * tests/test-inet_pton.c (inet_pton): Likewise.
75730         * tests/test-isblank.c (isblank): Likewise.
75731         * tests/test-lchown.c (lchown): Likewise.
75732         * tests/test-ldexpl.c (ldexpl): Likewise.
75733         * tests/test-link.c (link): Likewise.
75734         * tests/test-linkat.c (linkat): Likewise.
75735         * tests/test-lseek.c (lseek): Likewise.
75736         * tests/test-lstat.c (lstat): Likewise.
75737         * tests/test-mbrtowc.c (mbrtowc): Likewise.
75738         * tests/test-mbsinit.c (mbsinit): Likewise.
75739         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
75740         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
75741         * tests/test-memchr.c (memchr): Likewise.
75742         * tests/test-memcmp.c (memcmp): Likewise.
75743         * tests/test-memmem.c (memmem): Likewise.
75744         * tests/test-memrchr.c (memrchr): Likewise.
75745         * tests/test-mkdir.c (mkdir): Likewise.
75746         * tests/test-mkdirat.c (mkdirat): Likewise.
75747         * tests/test-mkfifo.c (mkfifo): Likewise.
75748         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
75749         * tests/test-mknod.c (mknod): Likewise.
75750         * tests/test-nanosleep.c (nanosleep): Likewise.
75751         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
75752         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
75753         Likewise.
75754         * tests/test-open.c (open): Likewise.
75755         * tests/test-openat.c (openat): Likewise.
75756         * tests/test-perror.c (perror): Likewise.
75757         * tests/test-pipe2.c (pipe2): Likewise.
75758         * tests/test-poll.c (poll): Likewise.
75759         * tests/test-popen.c (popen, pclose): Likewise.
75760         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
75761         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
75762         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
75763         (posix_spawn_file_actions_destroy)
75764         (posix_spawn_file_actions_addclose)
75765         (posix_spawn_file_actions_addopen)
75766         (posix_spawn_file_actions_adddup2): Likewise.
75767         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
75768         * tests/test-pread.c (pread): Likewise.
75769         * tests/test-printf-posix.c (printf): Likewise.
75770         * tests/test-pty.c (openpty, forkpty): Likewise.
75771         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
75772         (random_r): Likewise.
75773         * tests/test-rawmemchr.c (rawmemchr): Likewise.
75774         * tests/test-readlink.c (readlink): Likewise.
75775         * tests/test-remove.c (remove): Likewise.
75776         * tests/test-rename.c (rename): Likewise.
75777         * tests/test-renameat.c (renameat): Likewise.
75778         * tests/test-rmdir.c (rmdir): Likewise.
75779         * tests/test-round1.c (round): Likewise.
75780         * tests/test-roundf1.c (roundf): Likewise.
75781         * tests/test-roundl.c (roundl): Likewise.
75782         * tests/test-setenv.c (setenv): Likewise.
75783         * tests/test-sigaction.c (sigaction): Likewise.
75784         * tests/test-sleep.c (sleep): Likewise.
75785         * tests/test-snprintf.c (snprintf): Likewise.
75786         * tests/test-sprintf-posix.c (sprintf): Likewise.
75787         * tests/test-stat.c (stat): Likewise.
75788         * tests/test-stpncpy.c (stpncpy): Likewise.
75789         * tests/test-strcasestr.c (strcasestr): Likewise.
75790         * tests/test-strchrnul.c (strchrnul): Likewise.
75791         * tests/test-strerror.c (strerror): Likewise.
75792         * tests/test-strsignal.c (strsignal): Likewise.
75793         * tests/test-strstr.c (strstr): Likewise.
75794         * tests/test-strtod.c (strtod): Likewise.
75795         * tests/test-strverscmp.c (strverscmp): Likewise.
75796         * tests/test-symlink.c (symlink): Likewise.
75797         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
75798         * tests/test-times.c (times): Likewise.
75799         * tests/test-trunc1.c (trunc): Likewise.
75800         * tests/test-truncf1.c (truncf): Likewise.
75801         * tests/test-truncl.c (truncl): Likewise.
75802         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
75803         Likewise.
75804         * tests/test-uname.c (uname): Likewise.
75805         * tests/test-unlink.c (unlink): Likewise.
75806         * tests/test-unlinkat.c (unlinkat): Likewise.
75807         * tests/test-unsetenv.c (unsetenv): Likewise.
75808         * tests/test-usleep.c (usleep): Likewise.
75809         * tests/test-utimensat.c (utimensat): Likewise.
75810         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
75811         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
75812         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
75813         * tests/test-vprintf-posix.c (vprintf): Likewise.
75814         * tests/test-vsnprintf.c (vsnprintf): Likewise.
75815         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
75816         * tests/test-wcrtomb.c (wcrtomb): Likewise.
75817         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
75818         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
75819         * tests/test-wcwidth.c (wcwidth): Likewise.
75821         build: pull in conditional headers during GNULIB_POSIXCHECK
75822         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
75823         definitions from any conditionally-included headers.
75824         * lib/stdlib.in.h (includes): Likewise.
75825         * lib/unistd.in.h (includes): Likewise.
75827 2009-12-24  Bruno Haible  <bruno@clisp.org>
75829         * tests/test-argv-iter.c: Include header file being tested immediately
75830         after config.h.
75831         * tests/test-base64.c: Likewise.
75832         * tests/test-flock.c: Likewise.
75833         * tests/test-fsync.c: Likewise.
75834         * tests/test-getdate.c: Likewise.
75835         * tests/test-getndelim2.c: Likewise.
75836         * tests/test-isfinite.c: Likewise.
75837         * tests/test-isinf.c: Likewise.
75838         * tests/test-strerror.c: Likewise.
75839         * tests/test-strsignal.c: Likewise.
75841 2009-12-23  Eric Blake  <ebb9@byu.net>
75843         unistd: work around cygwin bug
75844         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
75845         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
75846         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
75848 2009-12-23  Bruno Haible  <bruno@clisp.org>
75850         localename: More tests.
75851         * tests/test-localename.c (SIZEOF): New macro.
75852         (categories): New variable.
75853         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
75854         test_locale_name_default): Add test w.r.t. thread locale.
75855         (test_locale_name_thread): New function.
75856         (main): Invoke it.
75858         localename: Make aware of thread locale.
75859         * lib/localename.h (gl_locale_name_thread): New declaration.
75860         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
75861         behaviour with respect to thread locale.
75862         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
75863         <langinfo.h>, glthread/lock.h.
75864         (SIZE_BITS): New macro.
75865         (string_hash): New function.
75866         (struct hash_node): New type.
75867         (HASH_TABLE_SIZE): New macro.
75868         (struniq_hash_table, struniq_lock): New variables.
75869         (struniq): New function.
75870         (gl_locale_name_thread): New function.
75871         (gl_locale_name): Invoke it.
75872         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
75873         * modules/localename (Depends-on): Add lock.
75874         Reported by Mike Gran <spk121@yahoo.com>.
75876 2009-12-23  Eric Blake  <ebb9@byu.net>
75878         va-args: new module
75879         * modules/va-args: New file.
75880         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
75881         * MODULES.html.sh (Core language properties): Mention it.
75883         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
75884         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
75885         named alias for __attribute__((__unused__)).
75886         * lib/chown.c: Update client.
75887         * lib/fchmodat.c: Likewise.
75888         * lib/fts.c: Likewise.
75889         * lib/getdate.y: Likewise.
75890         * lib/getgroups.c: Likewise.
75891         * lib/getopt.c: Likewise.
75892         * lib/getugroups.c: Likewise.
75893         * lib/mkdir.c: Likewise.
75894         * lib/mkfifo.c: Likewise.
75895         * lib/mkfifoat.c: Likewise.
75896         * lib/mknod.c: Likewise.
75897         * lib/mknodat.c: Likewise.
75898         * lib/readlink.c: Likewise.
75899         * lib/se-context.in.h: Likewise.
75900         * lib/se-selinux.in.h: Likewise.
75901         * lib/sockets.c: Likewise.
75902         * lib/symlink.c: Likewise.
75903         * lib/symlinkat.c: Likewise.
75904         * lib/unicodeio.c: Likewise.
75905         * lib/unistr.h: Likewise.
75906         * tests/test-areadlink.c: Likewise.
75907         * tests/test-areadlinkat.c: Likewise.
75908         * tests/test-filenamecat.c: Likewise.
75909         * tests/test-fseeko.c: Likewise.
75910         * tests/test-ftello.c: Likewise.
75911         * tests/test-getdate.c: Likewise.
75912         * tests/test-getgroups.c: Likewise.
75913         * tests/test-gethostname.c: Likewise.
75914         * tests/test-quotearg.c: Likewise.
75915         * tests/test-version-etc.c: Likewise.
75916         * tests/test-xalloc-die.c: Likewise.
75917         * tests/test-xfprintf-posix.c: Likewise.
75918         * tests/test-xprintf-posix.c: Likewise.
75919         * tests/test-xvasprintf.c: Likewise.
75921         tests: avoid compiler warnings
75922         * tests/test-fcntl.c (main): Delete unused parameters.
75923         * tests/test-freopen-safer.c (main): Likewise.
75924         * tests/test-xalloc-die.c (main): Mark unused parameters.
75925         * tests/test-fseeko.c (main): Likewise.
75926         * tests/test-ftello.c (main): Likewise.
75927         * tests/test-nanosleep.c (main): Avoid declaration warning.
75928         * tests/test-sleep.c (main): Likewise.
75929         * tests/test-unsetenv.c (main): Silence warning about string
75930         literal.
75931         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
75933 2009-12-23  Bruno Haible  <bruno@clisp.org>
75935         * tests/test-localename.c (test_locale_name): New function, extracted
75936         from main. Also test mixed situations.
75937         (test_locale_name_posix, test_locale_name_environ,
75938         test_locale_name_default): New functions.
75939         (main): Invoke them all.
75940         * modules/localename-tests (configure.ac): Test for newlocale.
75942 2009-12-23  Bruno Haible  <bruno@clisp.org>
75944         unistd: Ensure getcwd gets declared before being overridden.
75945         * lib/unistd.in.h: Conditionally include <io.h>.
75947 2009-12-22  Bruno Haible  <bruno@clisp.org>
75949         wchar: Diagnose broken combination of glibc and gcc versions and flags.
75950         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
75951         (gl_WCHAR_H): Invoke it.
75952         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
75953         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
75954         Reported by Karl Berry <karl@freefriends.org>.
75956 2009-12-22  Eric Blake  <ebb9@byu.net>
75958         math, unistd: avoid redundant includes
75959         * lib/math.in.h (isnan): No need to re-include <math.h>.
75960         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
75962         getsubopt: work around cygwin bug
75963         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
75964         avoid conflicting with system getsubopt.
75965         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
75966         bug.
75968         getopt: synchronize from glibc
75969         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
75970         parameter order.  Adjust all callers.
75971         (_getopt_internal_r, main): Adjust quoting in error messages.
75972         Drop considerations for outdated POSIX 1003.2 error message.
75973         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
75974         callers.
75975         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
75977         test-getopt: test stderr behavior
75978         * modules/getopt-posix-tests (Depends-on): Add dup2.
75979         * tests/test-getopt.c (ASSERT): Avoid stderr.
75980         (main): Move stderr to a temporary file.
75981         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
75982         Instead, add parameter to inform caller if output occurred.
75983         (test_getopt): Adjust all existing tests to expect silence, and
75984         add new tests of leading ":".
75985         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
75986         glibc shortcomings with leading "-:" or "+:" in optstring.
75987         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
75988         Likewise.
75989         * doc/posix-functions/getopt.texi (getopt): Likewise.
75991         test-getopt: enhance test
75992         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
75993         supports optind=0.
75994         * tests/test-getopt.c (OPTIND_MIN): Move...
75995         * tests/test-getopt.h (OPTIND_MIN): ...here.
75996         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
75997         Require that optind=0 works, since modern BSD supports it in
75998         addition to optreset, and since coreutils expects it.
75999         (test_getopt_long_only): New test.
76000         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
76001         glibc shortcomings with 'W;', and enforcement of optind=0.
76002         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
76003         Likewise.
76005 2009-12-21  Bruno Haible  <bruno@clisp.org>
76007         localename: Improvements for MacOS X and Cygwin.
76008         * lib/localename.h (gl_locale_name_environ): New declaration.
76009         * lib/localename.c (gl_locale_name_environ): New function, extracted from
76010         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
76011         (gl_locale_name_posix): Invoke it.
76012         (gl_locale_name_default): Add comments. Use Windows native API also on
76013         Cygwin.
76015 2009-12-21  Bruno Haible  <bruno@clisp.org>
76017         Update list of Win32 locale ids.
76018         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
76019         (LANG_SAMI): Renamed from LANG_SAAMI.
76020         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
76021         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
76022         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
76023         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
76024         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
76025         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
76026         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
76027         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
76028         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
76029         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
76030         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
76031         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
76032         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
76033         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
76034         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
76035         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
76036         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
76037         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
76038         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
76039         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
76040         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
76041         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
76042         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
76043         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
76044         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
76045         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
76046         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
76047         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
76048         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
76049         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
76050         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
76051         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
76052         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
76053         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
76054         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
76055         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
76056         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
76057         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
76058         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
76059         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
76060         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
76061         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
76062         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
76063         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
76064         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
76065         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
76066         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
76067         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
76068         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
76069         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
76070         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
76071         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
76072         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
76073         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
76074         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
76075         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
76076         Add more languages and countries for Sami, Sorbian. Add more countries
76077         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
76078         for Pashto. Change country for Syriac, Tswana.
76080 2009-12-21  Eric Blake  <ebb9@byu.net>
76082         test-utimens: avoid spurious failure
76083         * tests/test-chown.h (nap): Factor...
76084         * tests/nap.h: ...into new file.
76085         * tests/test-lchown.h (nap): Avoid duplication.
76086         * tests/test-utimens-common.h (nap): Use shared implementation,
76087         necessary on file systems with 1-second resolution.
76088         * modules/chown-tests (Files): Include new file.
76089         * modules/fdutimensat-tests (Files): Likewise.
76090         * modules/futimens-tests (Files): Likewise.
76091         * modules/lchown-tests (Files): Likewise.
76092         * modules/openat-tests (Files): Likewise.
76093         * modules/utimens-tests (Files): Likewise.
76094         * modules/utimensat-tests (Files): Likewise.
76096 2009-12-19  Eric Blake  <ebb9@byu.net>
76098         futimens, utimensat: work around Linux bug
76099         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
76100         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
76101         * lib/utimensat.c (rpl_utimensat): Work around it.
76102         * lib/futimens.c (rpl_futimens): Adjust comment.
76104         utimens: work around Linux ctime bug
76105         * lib/utimens.c (detect_ctime_bug): New helper function.
76106         (update_timespec): Differentiate between workaround needed for
76107         this bug vs. what is needed for systems that lack utimensat.
76108         (fdutimens, lutimens): Work around bug.
76110         utimens: check for ctime update
76111         * tests/test-utimens-common.h (check_ctime): Define.
76112         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
76113         * tests/test-futimens.h (test_futimens): Likewise.
76114         * tests/test-lutimens.h (test_lutimens): Likewise.
76115         * doc/posix-functions/futimens.texi (futimens): Document the bug.
76116         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
76118 2009-12-19  Bruno Haible  <bruno@clisp.org>
76120         dprintf-posix: Check against memory leak fixed on 2009-12-15.
76121         * tests/test-dprintf-posix2.sh: New file.
76122         * tests/test-dprintf-posix2.c: New file.
76123         * modules/dprintf-posix-tests (Files): Add them.
76124         (configure.ac): Check for getrlimit and setrlimit.
76125         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76127 2009-12-19  Bruno Haible  <bruno@clisp.org>
76129         fprintf-posix: Check against memory leak fixed on 2009-12-15.
76130         * tests/test-fprintf-posix3.sh: New file.
76131         * tests/test-fprintf-posix3.c: New file.
76132         * modules/fprintf-posix-tests (Files): Add them.
76133         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
76135 2009-12-19  Eric Blake  <ebb9@byu.net>
76137         dirfd: fix prototype
76138         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
76139         * lib/dirfd.c (dirfd): Likewise.
76141         canonicalize: reduce memory usage
76142         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
76143         allocation to size.
76144         Reported by Solar Designer <solar@openwall.com>.
76146 2009-12-19  Bruno Haible  <bruno@clisp.org>
76148         New module attribute 'Applicability'.
76149         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
76150         * gnulib-tool: New option --extract-applicability.
76151         (func_usage): Document it.
76152         (sed_extract_prog): Recognize it.
76153         (func_get_applicability): New function.
76154         (func_import): Generalize handling of 'link-warning' module.
76155         * modules/link-warning (Applicability): New section.
76156         * modules/arg-nonnull (Applicability): New section.
76157         Repoted by Simon Josefsson <simon@josefsson.org>.
76159 2009-12-19  Bruno Haible  <bruno@clisp.org>
76161         fflush: tweak
76162         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
76163         * lib/fseeko.c (rpl_fseeko): Likewise.
76165 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
76167         * lib/gl_list.h: Fix typo in comment.
76169 2009-12-16  Eric Blake  <ebb9@byu.net>
76171         fcntl: use to simplify other modules
76172         * modules/cloexec (Depends-on): Add fcntl.
76173         * modules/fchdir (Depends-on): Likewise.
76174         * modules/fd-safer-flag (Depends-on): Likewise.
76175         * modules/unistd-safer (Depends-on): Likewise.
76176         * modules/dup3 (configure.ac): Set module indicator.
76177         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
76178         missing.
76179         * lib/fchdir.c (_gl_register_dup): Fix comment.
76180         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
76181         * lib/dup-safer.c (dup_safer): Likewise.
76182         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
76183         * lib/dup3.c (dup3): Likewise.
76184         * tests/test-fchdir.c (main): Enhance test.
76185         Fixes a dup_cloexec bug reported by Ondřej Vašík.
76187         fcntl: port portions of fcntl to mingw
76188         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
76189         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
76190         replacement for mingw.
76191         * modules/fcntl (Description): Update.
76192         (Depends-on): Add dup2.
76193         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
76194         * modules/fcntl-h (Makefile.am): Substitute it.
76195         * lib/fcntl.in.h (fcntl): Update declaration.
76196         (F_DUPFD, F_GETFD): New macros, when needed.
76197         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
76198         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
76199         * tests/test-fcntl.c (check_flags, main): Enhance test for items
76200         we now guarantee.
76202         fcntl: work around cygwin bug in F_DUPFD
76203         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
76204         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
76205         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
76206         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
76207         * doc/posix-functions/fcntl.texi (fcntl): Document it.
76209         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
76210         * modules/fcntl (Files): List new files.
76211         (configure.ac): Run a test.
76212         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
76213         * lib/fcntl.c (rpl_fcntl): Likewise.
76214         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
76215         (gl_FCNTL_H): Always replace fcntl.h.
76216         * modules/fcntl-h (Makefile.am): Substitute witnesses.
76217         * lib/fcntl.in.h (fcntl): Declare replacement.
76218         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
76219         needed, plus a witness.
76220         * doc/posix-functions/fcntl.texi (fcntl): Document this.
76221         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
76222         * tests/test-fcntl.c: New file.
76223         * modules/fcntl-tests: Likewise.
76225         binary-io: avoid potential compilation warning
76226         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
76227         directives.
76229         fflush: avoid compilation error on NetBSD
76230         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
76231         between off_t and fpos_t, since the latter is sometimes a struct.
76232         * lib/fseeko.c (rpl_fseeko): Likewise.
76233         Reported by Alexander Nasonov <alnsn@yandex.ru>.
76235 2009-12-15  Eric Blake  <ebb9@byu.net>
76237         fcntl-h, stdio, sys_ioctl: fix declarations
76238         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
76239         function must not take arguments.
76240         * lib/sys_ioctl.in.h (ioctl): Likewise.
76241         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
76242         (open): Add a link warning.
76244 2009-12-15  Jim Meyering  <meyering@redhat.com>
76246         areadlink, areadlink-with-size: relax license to LGPLv2+
76247         * modules/areadlink (License): Relax to LGPLv2+.
76248         * modules/areadlink-with-size (License): Likewise.
76250 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
76251             Bruno Haible  <bruno@clisp.org>
76253         *printf: Fix memory leak.
76254         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
76255         * lib/vfprintf.c (vfprintf): Likewise.
76256         * lib/dprintf.c (dprintf): Likewise.
76257         * lib/vdprintf.c (vdprintf): Likewise.
76259 2009-12-14  Eric Blake  <ebb9@byu.net>
76261         accept4: adjust module dependencies
76262         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
76264         utimens: one more try at avoiding compiler warning
76265         * lib/utimens.c (lutimens): Lower scope of result.
76267 2009-12-13  Bruno Haible  <bruno@clisp.org>
76269         Move the malloc checking from module 'list' to new module 'xlist'.
76270         * modules/xlist: New file.
76271         * lib/gl_xlist.h: New file.
76272         * lib/gl_xlist.c: New file.
76273         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
76274         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
76275         gl_list_add_last, gl_list_add_before, gl_list_add_after,
76276         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
76277         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
76278         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
76279         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
76280         gl_sortedlist_nx_add): New declarations.
76281         (struct gl_list_implementation): Rename and change methods accordingly.
76282         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
76283         (gl_list_nx_create): Renamed from gl_list_create.
76284         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76285         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76286         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76287         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76288         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76289         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76290         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76291         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76292         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
76293         gl_list_create_empty.
76294         (gl_list_nx_create): Renamed from gl_list_create.
76295         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
76296         (gl_list_nx_set_at): Renamed from gl_list_set_at.
76297         (gl_list_nx_add_first): Renamed from gl_list_add_first.
76298         (gl_list_nx_add_last): Renamed from gl_list_add_last.
76299         (gl_list_nx_add_before): Renamed from gl_list_add_before.
76300         (gl_list_nx_add_after): Renamed from gl_list_add_after.
76301         (gl_list_nx_add_at): Renamed from gl_list_add_at.
76302         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
76303         * lib/gl_array_list.c: Don't include xalloc.h.
76304         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
76305         NULL upon out-of-memory.
76306         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
76307         out-of-memory.
76308         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
76309         Change return type to 'int'.
76310         (gl_array_nx_set_at): Renamed from gl_array_set_at.
76311         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76312         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
76313         upon out-of-memory.
76314         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
76315         upon out-of-memory.
76316         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
76317         upon out-of-memory.
76318         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
76319         upon out-of-memory.
76320         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
76321         out-of-memory.
76322         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
76323         Update.
76324         (gl_array_list_implementation): Update.
76325         * lib/gl_carray_list.c: Don't include xalloc.h.
76326         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
76327         Return NULL upon out-of-memory.
76328         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
76329         out-of-memory.
76330         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
76331         Change return type to 'int'.
76332         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
76333         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
76334         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
76335         upon out-of-memory.
76336         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
76337         upon out-of-memory.
76338         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
76339         out-of-memory.
76340         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
76341         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
76342         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
76343         Update.
76344         (gl_carray_list_implementation): Update.
76345         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
76346         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
76347         gl_linked_create_empty. Return NULL upon out-of-memory.
76348         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
76349         out-of-memory.
76350         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
76351         Change return type to 'int'. Return -1 upon out-of-memory.
76352         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
76353         out-of-memory.
76354         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
76355         upon out-of-memory.
76356         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
76357         upon out-of-memory.
76358         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
76359         NULL upon out-of-memory.
76360         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
76361         upon out-of-memory.
76362         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
76363         out-of-memory.
76364         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
76365         Update.
76366         * lib/gl_linked_list.c: Don't include xalloc.h.
76367         (gl_linked_list_implementation): Update.
76368         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
76369         (add_to_bucket): Change return type to 'int'.
76370         (gl_linkedhash_list_implementation): Update.
76371         * lib/gl_anytree_list1.h (free_subtree): New function.
76372         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
76373         gl_tree_create_empty. Return NULL upon out-of-memory.
76374         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
76375         Change return type to 'int'. Return -1 upon out-of-memory.
76376         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
76377         out-of-memory.
76378         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
76379         (gl_tree_remove_node): New function, moved here from
76380         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
76381         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
76382         Update.
76383         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
76384         malloc, not xmalloc. Return NULL upon out-of-memory.
76385         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76386         out-of-memory.
76387         (gl_tree_remove_node_from_tree): New function, extracted from
76388         gl_tree_remove_node.
76389         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76390         upon out-of-memory.
76391         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76392         out-of-memory.
76393         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76394         upon out-of-memory.
76395         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76396         upon out-of-memory.
76397         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76398         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
76399         not xmalloc. Return NULL upon out-of-memory.
76400         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
76401         out-of-memory.
76402         (gl_tree_remove_node_from_tree): New function, extracted from
76403         gl_tree_remove_node.
76404         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
76405         upon out-of-memory.
76406         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
76407         out-of-memory.
76408         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
76409         upon out-of-memory.
76410         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
76411         upon out-of-memory.
76412         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
76413         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
76414         gl_anytree_list1.h before gl_anyavltree_list2.h.
76415         (gl_avltree_list_implementation): Update.
76416         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
76417         gl_anytree_list1.h before gl_anyavltree_list2.h.
76418         (gl_rbtree_list_implementation): Update.
76419         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
76420         Change return type to 'int'. Return -1 upon out-of-memory. Use
76421         __builtin_expect.
76422         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
76423         (gl_avltreehash_list_implementation): Update.
76424         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
76425         (gl_rbtreehash_list_implementation): Update.
76426         * modules/array-list (Depends-on): Remove xalloc.
76427         * modules/carray-list (Depends-on): Likewise.
76428         * modules/linked-list (Depends-on): Likewise.
76429         * modules/linkedhash-list (Depends-on): Likewise.
76430         * modules/avltree-list (Depends-on): Likewise.
76431         * modules/rbtree-list (Depends-on): Likewise.
76432         * modules/avltreehash-list (Depends-on): Likewise.
76433         * modules/rbtreehash-list (Depends-on): Likewise.
76435         * modules/xsublist: New file.
76436         * lib/gl_xsublist.h: New file.
76437         * lib/gl_xsublist.c: New file.
76438         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
76439         (gl_sublist_nx_create): New declaration.
76440         * lib/gl_sublist.c: Don't include xalloc.h.
76441         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
76442         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
76443         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
76444         Change return type to 'int'. Return -1 upon out-of-memory.
76445         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
76446         upon out-of-memory.
76447         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
76448         NULL upon out-of-memory.
76449         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
76450         upon out-of-memory.
76451         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
76452         NULL upon out-of-memory.
76453         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
76454         NULL upon out-of-memory.
76455         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
76456         upon out-of-memory.
76457         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
76458         (gl_sublist_list_implementation): Update.
76459         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
76460         upon out-of-memory.
76461         * modules/sublist (Depends-on): Remove xalloc.
76463         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
76464         * tests/test-carray_list.c: Likewise.
76465         * tests/test-linked_list.c: Likewise.
76466         * tests/test-linkedhash_list.c: Likewise.
76467         * tests/test-avltree_list.c: Likewise.
76468         * tests/test-rbtree_list.c: Likewise.
76469         * tests/test-avltreehash_list.c: Likewise.
76470         * tests/test-rbtreehash_list.c: Likewise.
76471         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
76472         * modules/carray-list-tests (Makefile.am): Likewise.
76473         * modules/linked-list-tests (Makefile.am): Likewise.
76474         * modules/linkedhash-list-tests (Makefile.am): Likewise.
76475         * modules/avltree-list-tests (Makefile.am): Likewise.
76476         * modules/rbtree-list-tests (Makefile.am): Likewise.
76477         * modules/avltreehash-list-tests (Makefile.am): Likewise.
76478         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
76480         * NEWS: Mention the changes.
76482         * lib/clean-temp.c: Include gl_xlist.h.
76483         * modules/clean-temp (Depends-on): Add xlist.
76485         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
76486         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
76488         * tests/test-array_oset.c: Include gl_xlist.h.
76489         * modules/array-oset-tests (Depends-on): Add xlist.
76491         Reported by José E. Marchesi <jemarch@gnu.org>.
76493 2009-12-13  Bruno Haible  <bruno@clisp.org>
76495         Move the malloc checking from module 'oset' to new module 'xoset'.
76496         * modules/xoset: New file.
76497         * lib/gl_xoset.h: New file.
76498         * lib/gl_xoset.c: New file.
76499         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
76500         declarations.
76501         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
76502         (struct gl_oset_implementation): Rename and change methods accordingly.
76503         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
76504         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76505         'int'. Mark as __warn_unused_result__.
76506         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
76507         gl_oset_create_empty.
76508         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
76509         'int'.
76510         * lib/gl_array_oset.c: Don't include xalloc.h.
76511         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
76512         malloc, not xmalloc.
76513         (grow): Change return type to 'int'. Don't call xalloc_die.
76514         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
76515         to 'int'.
76516         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
76517         'int'.
76518         (gl_array_oset_implementation): Update.
76519         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
76520         gl_tree_create_empty.
76521         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
76522         'int'.
76523         * lib/gl_avltree_oset.c: Don't include xalloc.h.
76524         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76525         xmalloc.
76526         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76527         not xmalloc.
76528         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76529         xmalloc.
76530         (gl_avltree_oset_implementation): Update.
76531         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
76532         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
76533         xmalloc.
76534         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
76535         not xmalloc.
76536         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
76537         xmalloc.
76538         (gl_rbtree_oset_implementation): Update.
76539         * modules/array-oset (Depends-on): Remove xalloc.
76540         * modules/avltree-oset (Depends-on): Likewise.
76541         * modules/rbtree-oset (Depends-on): Likewise.
76542         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
76543         * tests/test-avltree_oset.c: Likewise.
76544         * tests/test-rbtree_oset.c: Likewise.
76545         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76546         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
76547         * modules/rbtree-oset-tests (Makefile.am): Likewise.
76548         * NEWS: Mention the change.
76550 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
76552         maint.mk: allow a project to override release-prep commands
76553         * top/maint.mk (alpha, beta, stable): Move release-preparatory
76554         commands into a new rule.
76555         (release-prep): New rule.
76556         (release-prep-hook): New overridable variable.
76558 2009-12-13  Bruno Haible  <bruno@clisp.org>
76560         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
76562 2009-12-13  Jim Meyering  <meyering@redhat.com>
76564         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
76565         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
76567 2009-12-12  Bruno Haible  <bruno@clisp.org>
76569         duplocale: Tweak.
76570         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
76572 2009-12-12  Karl Berry  <karl@gnu.org>
76574         * config/srclist.txt (strtoll.c): tab changes, no more sync.
76576 2009-12-12  Bruno Haible  <bruno@clisp.org>
76578         * m4/po.m4: Undo incorrect untabification.
76580 2009-12-12  Bruno Haible  <bruno@clisp.org>
76582         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
76583         * modules/c-strtod (Depends-on): Add locale.
76584         * modules/c-strtold (Depends-on): Likewise.
76586 2009-12-12  Bruno Haible  <bruno@clisp.org>
76588         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
76590 2009-12-11  Eric Blake  <ebb9@byu.net>
76592         setenv: relax requirement in light of POSIX ruling
76593         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
76594         not NULL.
76595         * tests/test-setenv.c (main): Relax test.
76596         * tests/test-unsetenv.c (main): Likewise.
76597         * doc/posix-functions/setenv.texi (setenv): Document this.
76598         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
76600 2009-12-11  Bruno Haible  <bruno@clisp.org>
76602         New module 'fd-safer-flag'.
76603         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
76604         * lib/dup-safer.c (dup_safer_flag): Remove function.
76605         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
76606         * lib/fd-safer.c (fd_safer_flag): Remove function.
76607         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
76608         * modules/cloexec (configure.ac): Drop indicator macro.
76609         * modules/fd-safer-flag: New file.
76610         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
76611         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
76612         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
76614 2009-12-11  Bruno Haible  <bruno@clisp.org>
76616         Tests for module 'nl_langinfo'.
76617         * modules/nl_langinfo-tests: New file.
76618         * tests/test-nl_langinfo.sh: New file.
76619         * tests/test-nl_langinfo.c: New file.
76621         New module 'nl_langinfo'.
76622         * lib/nl_langinfo.c: New file.
76623         * m4/nl_langinfo.m4: New file.
76624         * modules/nl_langinfo: New file.
76625         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
76627 2009-12-11  Bruno Haible  <bruno@clisp.org>
76629         Tests for module 'langinfo'.
76630         * modules/langinfo-tests: New file.
76631         * tests/test-langinfo.c: New file.
76633         New module 'langinfo'.
76634         * lib/langinfo.in.h: New file.
76635         * m4/langinfo_h.m4: New file.
76636         * modules/langinfo: New file.
76637         * doc/posix-headers/langinfo.texi: Mention the new module.
76639 2009-12-11  Bruno Haible  <bruno@clisp.org>
76641         * lib/config.charset: Untabify.
76643 2009-12-11  Bruno Haible  <bruno@clisp.org>
76645         * modules/unistd-safer (configure.ac): Drop indicator macro.
76647 2009-12-11  Bruno Haible  <bruno@clisp.org>
76649         Move pipe2-safer code to its own file.
76650         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
76651         * lib/pipe-safer.c (pipe2_safer): Remove function.
76652         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
76653         (Makefile.am): Add it to lib_SOURCES.
76655 2009-12-10  Bruno Haible  <bruno@clisp.org>
76657         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
76659 2009-12-10  Bruno Haible  <bruno@clisp.org>
76661         Declare which arguments expect non-NULL values, for GCC and clang.
76662         * build-aux/arg-nonnull.h: New file.
76663         * modules/arg-nonnull: New file.
76664         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
76665         (inet_ntop, inet_pton): Use it.
76666         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
76667         (closedir, dirfd, opendir, scandir, alphasort): Use it.
76668         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
76669         (open, openat): Use it.
76670         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
76671         (fnmatch): Use it.
76672         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
76673         (getopt, getopt_long, getopt_long_only): Use it.
76674         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
76675         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
76676         Use it.
76677         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
76678         (iconv_open): Use it.
76679         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
76680         (strtoimax, strtoumax): Use it.
76681         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
76682         (duplocale): Use it.
76683         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
76684         (frexp, frexpl): Use it.
76685         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
76686         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
76687         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
76688         (tsearch, tfind, tdelete, twalk): Use it.
76689         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
76690         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
76691         sigpending): Use it.
76692         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
76693         (posix_spawn, posix_spawnp, posix_spawnattr_init,
76694         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
76695         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
76696         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
76697         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
76698         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
76699         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
76700         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
76701         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
76702         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
76703         Use it.
76704         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
76705         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
76706         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
76707         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
76708         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
76709         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
76710         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
76711         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
76712         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
76713         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
76714         strtoull, unsetenv): Use it.
76715         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
76716         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
76717         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
76718         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
76719         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
76720         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
76721         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
76722         (strcasecmp, strncasecmp): Use it.
76723         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
76724         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
76725         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
76726         rpl_setsockopt): Use it.
76727         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
76728         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
76729         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
76730         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
76731         (gettimeofday): Use it.
76732         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
76733         (times): Use it.
76734         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
76735         (uname): Use it.
76736         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
76737         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
76738         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
76739         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
76740         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
76741         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
76742         unlinkat, write): Use it.
76743         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
76744         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
76745         * lib/argv-iter.h: Include arg-nonnull.h.
76746         (_ATTRIBUTE_NONNULL_): Remove macro.
76747         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
76748         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
76749         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
76750         optimization.
76751         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
76752         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
76753         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
76754         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
76755         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
76756         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
76757         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
76758         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
76759         * modules/arpa_inet (Depends-on): Add arg-nonnull.
76760         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
76761         * modules/dirent (Depends-on): Add arg-nonnull.
76762         (Makefile.am): Insert arg-nonnull.h into dirent.h.
76763         * modules/fcntl-h (Depends-on): Add arg-nonnull.
76764         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
76765         * modules/fnmatch (Depends-on): Add arg-nonnull.
76766         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
76767         * modules/getopt-posix (Depends-on): Add arg-nonnull.
76768         (Makefile.am): Insert arg-nonnull.h into getopt.h.
76769         * modules/glob (Depends-on): Add arg-nonnull.
76770         (Makefile.am): Insert arg-nonnull.h into glob.h.
76771         * modules/iconv_open (Depends-on): Add arg-nonnull.
76772         (Makefile.am): Insert arg-nonnull.h into iconv.h.
76773         * modules/inttypes (Depends-on): Add arg-nonnull.
76774         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
76775         * modules/locale (Depends-on): Add arg-nonnull.
76776         (Makefile.am): Insert arg-nonnull.h into locale.h.
76777         * modules/math (Depends-on): Add arg-nonnull.
76778         (Makefile.am): Insert arg-nonnull.h into math.h.
76779         * modules/netdb (Depends-on): Add arg-nonnull.
76780         (Makefile.am): Insert arg-nonnull.h into netdb.h.
76781         * modules/search (Depends-on): Add arg-nonnull.
76782         (Makefile.am): Insert arg-nonnull.h into search.h.
76783         * modules/signal (Depends-on): Add arg-nonnull.
76784         (Makefile.am): Insert arg-nonnull.h into signal.h.
76785         * modules/spawn (Depends-on): Add arg-nonnull.
76786         (Makefile.am): Insert arg-nonnull.h into spawn.h.
76787         * modules/stdio (Depends-on): Add arg-nonnull.
76788         (Makefile.am): Insert arg-nonnull.h into stdio.h.
76789         * modules/stdlib (Depends-on): Add arg-nonnull.
76790         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
76791         * modules/string (Depends-on): Add arg-nonnull.
76792         (Makefile.am): Insert arg-nonnull.h into string.h.
76793         * modules/strings (Depends-on): Add arg-nonnull.
76794         (Makefile.am): Insert arg-nonnull.h into strings.h.
76795         * modules/sys_socket (Depends-on): Add arg-nonnull.
76796         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
76797         * modules/sys_stat (Depends-on): Add arg-nonnull.
76798         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
76799         * modules/sys_time (Depends-on): Add arg-nonnull.
76800         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
76801         * modules/sys_times (Depends-on): Add arg-nonnull.
76802         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
76803         * modules/sys_utsname (Depends-on): Add arg-nonnull.
76804         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
76805         * modules/time (Depends-on): Add arg-nonnull.
76806         (Makefile.am): Insert arg-nonnull.h into time.h.
76807         * modules/unistd (Depends-on): Add arg-nonnull.
76808         (Makefile.am): Insert arg-nonnull.h into unistd.h.
76809         * modules/wchar (Depends-on): Add arg-nonnull.
76810         (Makefile.am): Insert arg-nonnull.h into wchar.h.
76811         * modules/argv-iter (Depends-on): Add arg-nonnull.
76812         * tests/test-canonicalize.c (null_ptr): New function.
76813         (main): Use it.
76814         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
76815         (main): Use it.
76816         * tests/test-memmem.c (null_ptr): New function.
76817         (main): Use it.
76818         Reported by Jim Meyering.
76820 2009-12-10  Bruno Haible  <bruno@clisp.org>
76822         Use spaces for indentation, not tabs.
76823         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
76824         * m4/*.m4: Untabify.
76825         * build-aux/*.h: Untabify.
76826         * tests/**/*.[hc]: Untabify.
76827         * README: New section "Indent with spaces, not TABs", based on
76828         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
76829         * NEWS: Mention the change.
76831 2009-12-10  Bruno Haible  <bruno@clisp.org>
76833         pty test: Fix link error.
76834         * modules/pty-tests (Makefile.am): Add the default LDADD value to
76835         test_pty_LDADD.
76837 2009-12-07  Simon Josefsson  <simon@josefsson.org>
76839         * modules/pty: New file.
76840         * modules/pty-tests: New file.
76841         * m4/pty.m4: New file.
76842         * tests/test-pty.c: New file.
76843         * doc/glibc-headers/pty.texi: Modified.
76844         * doc/glibc-functions/forkpty.texi: Modified.
76845         * doc/glibc-functions/openpty.texi: Modified.
76847 2009-12-10  Bruno Haible  <bruno@clisp.org>
76849         Avoid syntax error in C++ mode.
76850         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
76852 2009-12-10  Bruno Haible  <bruno@clisp.org>
76854         Use sed with option -e.
76855         * gnulib-tool (func_version, func_emit_copyright_notice,
76856         func_emit_initmacro_end, func_import, func_create_testdir): Pass
76857         option -e to sed.
76858         * modules/link-warning (Makefile.am): Likewise.
76860 2009-12-10  Jim Meyering  <meyering@redhat.com>
76862         mgetgroups: do not write bytes beyond end of malloc'd buffer
76863         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
76864         username, we call getgroups with a one-element-shorter buffer,
76865         but still told it the length was original, max_n_groups.
76867 2009-12-09  Eric Blake  <ebb9@byu.net>
76869         cloexec: relax license
76870         * modules/cloexec (Maintainer): Add myself.
76871         (License): Use LGPL, not GPL.
76873         link-warning: optimize generation
76874         * modules/link-warning (Makefile.am): Reduce process usage.
76876 2009-12-09  Bruno Haible  <bruno@clisp.org>
76878         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
76879         workaround was added on 2009-11-17.
76881 2009-12-09  Jim Meyering  <meyering@redhat.com>
76882             Bruno Haible  <bruno@clisp.org>
76884         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
76885         * modules/link-warning (Makefile.am): Make the comment-removing sed
76886         command more robust in the face of bootstrap-prepended comment lines.
76888 2009-12-09  Bruno Haible  <bruno@clisp.org>
76890         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
76891         most one group.
76893 2009-12-09  Simon Josefsson  <simon@josefsson.org>
76894             Bruno Haible  <bruno@clisp.org>
76896         * build-aux/link-warning.h: Add copyright notice.
76897         * modules/link-warning (Makefile.am): Generate link-warning.h from
76898         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
76899         * NEWS: Mention change in link-warning module.
76900         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
76901         * modules/dirent (Makefile.am): Add dependency to dirent.h.
76902         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
76903         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
76904         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
76905         * modules/math (Makefile.am): Add dependency to math.h.
76906         * modules/search (Makefile.am): Add dependency to search.h.
76907         * modules/signal (Makefile.am): Add dependency to signal.h.
76908         * modules/spawn (Makefile.am): Add dependency to spawn.h.
76909         * modules/stdio (Makefile.am): Add dependency to stdio.h.
76910         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
76911         * modules/string (Makefile.am): Add dependency to string.h.
76912         * modules/strings (Makefile.am): Add dependency to strings.h.
76913         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
76914         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
76915         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
76916         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
76917         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
76918         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
76919         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
76920         * modules/unistd (Makefile.am): Add dependency to unistd.h.
76921         * modules/wchar (Makefile.am): Add dependency to wchar.h.
76923 2009-12-09  Bruno Haible  <bruno@clisp.org>
76925         fchdir: Optimize away rpl_fstat when possible.
76926         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
76927         REPLACE_OPEN_DIRECTORY.
76928         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
76930 2009-12-09  Bruno Haible  <bruno@clisp.org>
76932         * lib/fchdir.c: Update comment.
76934 2009-12-09  Bruno Haible  <bruno@clisp.org>
76936         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
76938 2009-12-08  Eric Blake  <ebb9@byu.net>
76940         fchdir: avoid memory leak on re-registration.
76941         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
76943 2009-12-08  Jim Meyering  <meyering@redhat.com>
76945         init.sh: avoid Solaris 10 /bin/sh portability problem
76946         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
76947         sourced script:
76948           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
76949           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
76950           bar
76951         tests/init.sh relied on that, accepting a --set-path=DIR argument,
76952         and two tests used that idiom.
76953         * tests/init.sh: Update suggested usage comments.
76954         (path_prepend_): New function, to be used in place
76955         of the --src-path=DIR option.
76956         (setup_): Move PATH-prepending code into path_prepend_.
76957         * tests/test-pread.sh: Adapt to new usage.
76958         * tests/test-xalloc-die.sh: Likewise.
76960 2009-12-08  Simon Josefsson  <simon@josefsson.org>
76962         * doc/gnulib.texi (Glibc pty.h): Add.
76963         * doc/glibc-functions/forkpty.texi: Add.
76964         * doc/glibc-functions/openpty.texi: Add.
76965         Suggested by Bruno Haible.
76967 2009-12-08  Eric Blake  <ebb9@byu.net>
76969         fchdir: fix logic bugs
76970         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
76971         * tests/test-fchdir.c (main): Enhance test.
76972         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
76973         is in use.
76975         dup2: fix logic bugs
76976         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
76977         REPLACE_DUP2 to decide when rpl_dup2 is needed.
76978         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
76979         exists.
76980         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
76982 2009-12-07  Eric Blake  <ebb9@byu.net>
76984         unlink: fix m4 detection
76985         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
76987         unistd-safer: add unit test
76988         * modules/unistd-safer-tests: New file.
76989         * tests/test-dup-safer.c: Likewise.
76990         * tests/test-cloexec.c (setmode): Avoid compiler warning.
76991         * tests/test-dup2.c (setmode): Likewise.
76992         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
76994         cloexec: preserve text vs. binary across dup_cloexec
76995         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
76996         mode.
76997         * modules/dup2-tests (Depends-on): Add binary-io.
76998         * modules/cloexec-tests (Depends-on): Likewise.
76999         * tests/test-dup2.c (setmode, is_mode): New helpers.
77000         (main): Add tests that translation mode is preserved.
77001         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
77002         Reported by Bruno Haible.
77004         mgetgroups: reduce duplicate listings
77005         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
77006         resulting array.
77007         * tests/test-chown.h (test_chown): Simplify client.
77008         * tests/test-lchown.h (test_lchown): Likewise.
77010 2009-12-06  Bruno Haible  <bruno@clisp.org>
77012         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
77013         value.
77015 2009-12-06  Bruno Haible  <bruno@clisp.org>
77017         * lib/progname.c: Include stdio.h, stdlib.h.
77018         (set_program_name): Reject a NULL argument.
77020 2009-12-05  Eric Blake  <ebb9@byu.net>
77022         pipe2-safer: new module
77023         * modules/pipe2-safer: New file.
77024         * lib/unistd-safer.h (pipe2_safer): New prototype.
77025         * lib/unistd--.h (pipe2): New wrapper.
77026         * lib/pipe-safer.c (pipe2_safer): New function.
77027         * modules/pipe (Depends-on): Add pipe2-safer.
77028         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
77030         stdlib-safer: preserve cloexec flag for mkostemp[s]
77031         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
77032         fd_safer_flag.
77034         unistd-safer: allow preservation of cloexec status via flag
77035         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
77036         prototypes.
77037         * lib/dup-safer.c (dup_safer_flag): New function.
77038         * lib/fd-safer.c (fd_safer_flag): Likewise.
77039         * modules/cloexec (configure.ac): Set witness.
77041         test-dup2: enhance test
77042         * modules/dup2-tests (Depends-on): Add cloexec.
77043         * tests/test-dup2.c (main): Enhance test.
77045         cloexec: add dup_cloexec
77046         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
77047         header and comments.
77048         * lib/cloexec.c (set_cloexec_flag): Add comments.
77049         (dup_cloexec): New function, with mingw implementation borrowed
77050         from...
77051         * lib/w32spawn.h (dup_noinherit): ...here.
77052         * modules/execute (Depends-on): Add cloexec.
77053         * modules/pipe (Depends-on): Likewise.
77054         * modules/cloexec (Depends-on): Add dup2.
77055         * modules/cloexec-tests (Files): New file.
77056         * tests/test-cloexec.c: Likewise.
77058         test-xalloc-die: fix test for mingw
77059         * modules/xalloc-die-tests (Files): Add tests/init.sh.
77060         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
77061         directory and .exe suffix off argv[0] output.
77063         test-fseeko: fix test for mingw
77064         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
77065         than undefining fseek, so test will pass on mingw.
77067 2009-12-05  Bruno Haible  <bruno@clisp.org>
77069         * lib/progname.h (set_program_name): Clarify specification.
77070         * lib/progname.c (set_program_name): Likewise.
77071         Reported by Jim Meyering.
77073 2009-12-05  Jim Meyering  <meyering@redhat.com>
77075         maint.mk: backslash-escape parens in default regexp
77076         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
77077         backslash-escape the literal parentheses.
77079         maint.mk: news-date-check: use grep -E
77080         * top/maint.mk (today): Define a Make variable, not a...
77081         (news-date-check): ...shell variable.
77082         (news-date-regexp): Use the Make variable.
77083         Use grep's -E option.  Change the failing diagnostic to mention
77084         the variable, $(news-date-regexp).
77086 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
77088         maintainer-makefile: allow customization of NEWS entry format
77089         * top/maint.mk (news-date-regexp): New overridable variable.
77090         (news-date-check): Use it.
77092 2009-12-04  Eric Blake  <ebb9@byu.net>
77094         mgetgroups: add xgetgroups, and avoid ENOSYS failures
77095         * lib/mgetgroups.h (xgetgroups): New prototype.
77096         * lib/mgetgroups.c (xgetgroups): New wrapper.
77097         (mgetgroups): Handle ENOSYS.
77098         * modules/mgetgroups (Depends-on): Add realloc.
77099         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
77101         mgetgroups: avoid argument promotion issues with -1
77102         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
77103         for invalid gid_t.
77104         * tests/test-chown.h (getegid, test_chown): Likewise.
77105         * tests/test-lchown.h (getegid, test_lchown): Likewise.
77107 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
77109         exclude: Fix header file problems.
77110         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
77112 2009-12-01  Jim Meyering  <meyering@redhat.com>
77114         fts: fts_open: do not let an empty string cause immediate failure
77115         This is required in support of GNU rm, for which the command
77116         "rm A '' B" must process and remove both A and B, in spite of
77117         the empty string argument.
77118         * lib/fts.c (fts_open): Do not let the presence of an empty string
77119         cause fts_open to fail immediately.  Most fts-using tools must be
77120         able to process all arguments, in order, and can be expected to
77121         diagnose such arguments themselves.
77123 2009-11-30  Eric Blake  <ebb9@byu.net>
77125         utimens: fix compilation error
77126         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
77127         Declare variable at right scope.
77129 2009-11-29  Jim Meyering  <meyering@redhat.com>
77131         bootstrap: handle perl-5.11's changed --version output
77132         * build-aux/bootstrap (get_version): Handle perl separately,
77133         since perl-5.11's --version output is different.
77135 2009-11-28  Jim Meyering  <meyering@redhat.com>
77137         userspec: depend on the inttostr module, too
77138         * modules/userspec (Depends-on): Add inttostr.
77140         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
77141         * lib/userspec.c (parse_with_separator): Do not accept a user ID
77142         number of MAXUID when it evaluates to (uid_t) -1.
77143         Likewise for group ID.  Reported by Matt McCutchen in
77144         <http://savannah.gnu.org/bugs/?28113>
77146         userspec: reformat to use spaces, not TABs
77147         * lib/userspec.c: Expand TABs to spaces.
77148         Add Emacs' "indent-tabs-mode: nil" hint.
77150 2009-11-27  Eric Blake  <ebb9@byu.net>
77152         getopt-gnu: flush out another BSD bug
77153         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
77154         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
77155         flush out BSD bug.
77156         * tests/test-getopt.h (test_getopt): End lists with NULL.
77157         * tests/test-getopt_long.h (test_getopt_long): Likewise.
77158         (test_getopt_long_posix): Enhance test.
77159         * modules/getopt-posix-tests (Depends-on): Add stdbool.
77160         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
77161         getopt-gnu.
77162         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
77163         Likewise.
77165 2009-11-27  Simon Josefsson  <simon@josefsson.org>
77167         * modules/idpriv-droptemp-tests (Notice): Fix text.
77169 2009-11-27  Jim Meyering  <meyering@redhat.com>
77171         test-xalloc-die: avoid spurious failure due to libtool argv difference
77172         In a libtool-enabled project, this test would fail due to a difference
77173         in the emitted program name, e.g.,
77174         -test-xalloc-die: memory exhausted
77175         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
77176         Use program to avoid that.
77177         * modules/xalloc-die-tests (Depends-on): Add progname.
77178         * tests/test-xalloc-die.c: Include progname.h".
77179         (program_name): Remove decl.
77180         (main): Call set_program_name.
77181         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
77183 2009-11-26  Richard Jones  <rjones@redhat.com>
77185         w32sock: leave win32 error in place.
77186         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
77188 2009-11-26  Eric Blake  <ebb9@byu.net>
77190         init.sh: suggest to use skip_ and fail_ functions in comments
77191         * tests/init.sh: Add a sentence.
77193 2009-11-25  Bruno Haible  <bruno@clisp.org>
77195         init.sh: add documentation in comments
77196         * tests/init.sh: Add some developer and user documentation.
77198 2009-11-26  Jim Meyering  <meyering@redhat.com>
77200         init.sh: accommodate even those who specify bogus srcdir manually
77201         * tests/init.sh: Normally, srcdir is guaranteed by automake and
77202         configure-time tests to be sanitized, so that there is no need to
77203         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
77204         (with no double quotes) suffices.  However, since tests may be
77205         invoked manually, and since you may explicitly set srcdir to the
77206         name of a directory containing spaces, do quote its uses here.
77207         * tests/test-pread.sh: Likewise.
77208         Suggested by Bruno Haible.
77210         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
77211         * tests/test-pread.sh: Write no data into the pipe, because
77212         test-pread actually reads none.  This avoids a diagnostic,
77213         "bash: echo: write error: Broken pipe", that arises in the unusual
77214         event something is ignoring SIGPIPE, and might be interpreted
77215         as some sort of failure.  Reported by Bruno Haible.
77217 2009-11-25  Jim Meyering  <meyering@redhat.com>
77219         test-pread: cover failure with ESPIPE and EINVAL
77220         * tests/test-pread.c (main): Test for failure, too.
77221         * tests/test-pread.sh: Invoke with stdin on a pipe.
77222         Suggested by Eric Blake.
77224         pread: improvement and fix
77225         * modules/pread (Depends-on): Depend on lseek, for portability to
77226         e.g., mingw.  Suggested by Eric Blake.
77227         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
77229         unistd.in.h: correct declaration of pread
77230         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
77231         Reported by Richard W.M. Jones.
77233         test-pread.sh: distribute the test script
77234         * modules/pread-tests (Files): Include test-pread.sh.
77236         test-pread.sh: clean up
77237         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
77238         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
77239         That is unnecessary, since it's always ".".
77240         Suggestion from Eric Blake.
77242         test-pread.sh: make executable
77243         * tests/test-pread.sh: Set executable bit.
77244         Reported by Eric Blake.
77246         correct typo in test-pread.sh
77247         * tests/test-pread.sh: Add #! line.
77249         test pread
77250         * tests/test-pread.c: New file.
77251         * tests/test-pread.sh: Likewise.
77252         * modules/pread-tests: Likewise.
77254         pread: new module
77255         * modules/pread: New file.
77256         * lib/unistd.in.h (pread): Define/declare.
77257         * lib/pread.c (pread): New file.
77258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
77259         * modules/unistd (Makefile.am): Substitute witnesses.
77260         * doc/posix-functions/pread.texi (pread): Update.
77261         * MODULES.html.sh: Add pread.
77263 2009-11-25  Jim Meyering  <meyering@redhat.com>
77265         tests/init.sh: new file to be used via most *.sh tests
77266         * tests/init.sh: New file.
77268 2009-11-25  Eric Blake  <ebb9@byu.net>
77270         utimens: work around older Linux failure with symlinks
77271         * lib/utimens.c (lutimensat_works_really): New variable.
77272         (fdutimens, lutimens): Use it to manage kernels that support
77273         nanosecond times on files, but not on symlinks.
77274         Reported by Ondřej Vašík.
77276         utimes: fix configure grammar
77277         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
77279 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
77281         regex: Fix fastmap for multibyte character ranges.
77282         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
77283         characters when a multibyte character range is included.
77285 2009-11-22  Andy Wingo  <wingo@pobox.com>
77287         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
77288         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
77290 2009-11-24  Bruno Haible  <bruno@clisp.org>
77292         doc: Most *_l functions exist in MacOS X 10.5.
77293         * doc/posix-functions/duplocale.texi: Update platforms list.
77294         * doc/posix-functions/freelocale.texi: Likewise.
77295         * doc/posix-functions/newlocale.texi: Likewise.
77296         * doc/posix-functions/uselocale.texi: Likewise.
77297         * doc/posix-functions/isalnum_l.texi: Likewise.
77298         * doc/posix-functions/isalpha_l.texi: Likewise.
77299         * doc/posix-functions/isblank_l.texi: Likewise.
77300         * doc/posix-functions/iscntrl_l.texi: Likewise.
77301         * doc/posix-functions/isdigit_l.texi: Likewise.
77302         * doc/posix-functions/isgraph_l.texi: Likewise.
77303         * doc/posix-functions/islower_l.texi: Likewise.
77304         * doc/posix-functions/isprint_l.texi: Likewise.
77305         * doc/posix-functions/ispunct_l.texi: Likewise.
77306         * doc/posix-functions/isspace_l.texi: Likewise.
77307         * doc/posix-functions/isupper_l.texi: Likewise.
77308         * doc/posix-functions/iswalnum_l.texi: Likewise.
77309         * doc/posix-functions/iswalpha_l.texi: Likewise.
77310         * doc/posix-functions/iswblank_l.texi: Likewise.
77311         * doc/posix-functions/iswcntrl_l.texi: Likewise.
77312         * doc/posix-functions/iswctype_l.texi: Likewise.
77313         * doc/posix-functions/iswdigit_l.texi: Likewise.
77314         * doc/posix-functions/iswgraph_l.texi: Likewise.
77315         * doc/posix-functions/iswlower_l.texi: Likewise.
77316         * doc/posix-functions/iswprint_l.texi: Likewise.
77317         * doc/posix-functions/iswpunct_l.texi: Likewise.
77318         * doc/posix-functions/iswspace_l.texi: Likewise.
77319         * doc/posix-functions/iswupper_l.texi: Likewise.
77320         * doc/posix-functions/iswxdigit_l.texi: Likewise.
77321         * doc/posix-functions/isxdigit_l.texi: Likewise.
77322         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
77323         * doc/posix-functions/strcasecmp_l.texi: Likewise.
77324         * doc/posix-functions/strcoll_l.texi: Likewise.
77325         * doc/posix-functions/strfmon_l.texi: Likewise.
77326         * doc/posix-functions/strftime_l.texi: Likewise.
77327         * doc/posix-functions/strncasecmp_l.texi: Likewise.
77328         * doc/posix-functions/strxfrm_l.texi: Likewise.
77329         * doc/posix-functions/tolower_l.texi: Likewise.
77330         * doc/posix-functions/toupper_l.texi: Likewise.
77331         * doc/posix-functions/towctrans_l.texi: Likewise.
77332         * doc/posix-functions/towlower_l.texi: Likewise.
77333         * doc/posix-functions/towupper_l.texi: Likewise.
77334         * doc/posix-functions/wcscoll_l.texi: Likewise.
77335         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
77336         * doc/posix-functions/wctrans_l.texi: Likewise.
77337         * doc/posix-functions/wctype_l.texi: Likewise.
77338         * doc/glibc-functions/strptime_l.texi: Likewise.
77339         * doc/glibc-functions/strtod_l.texi: Likewise.
77340         * doc/glibc-functions/strtof_l.texi: Likewise.
77341         * doc/glibc-functions/strtol_l.texi: Likewise.
77342         * doc/glibc-functions/strtold_l.texi: Likewise.
77343         * doc/glibc-functions/strtoll_l.texi: Likewise.
77344         * doc/glibc-functions/strtoul_l.texi: Likewise.
77345         * doc/glibc-functions/strtoull_l.texi: Likewise.
77346         * doc/glibc-functions/wcsftime_l.texi: Likewise.
77347         * doc/glibc-functions/wcstod_l.texi: Likewise.
77348         * doc/glibc-functions/wcstof_l.texi: Likewise.
77349         * doc/glibc-functions/wcstol_l.texi: Likewise.
77350         * doc/glibc-functions/wcstold_l.texi: Likewise.
77351         * doc/glibc-functions/wcstoll_l.texi: Likewise.
77352         * doc/glibc-functions/wcstoul_l.texi: Likewise.
77353         * doc/glibc-functions/wcstoull_l.texi: Likewise.
77355 2009-11-24  Bruno Haible  <bruno@clisp.org>
77357         duplocale: Fix logic bug.
77358         * lib/duplocale.c: Don't include <langinfo.h>.
77359         (_NL_LOCALE_NAME): Remove macro.
77360         (rpl_duplocale): Use setlocale instead of nl_langinfo.
77361         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
77363 2009-11-23  Jim Meyering  <meyering@redhat.com>
77365         test-update-copyright: don't hard-code /usr/bin/perl
77366         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
77367         perl to print the current year.  Gilles Espinasse reported that
77368         the replaced use of perl was hard-coded as /usr/bin/perl.
77370 2009-11-23  Bruno Haible  <bruno@clisp.org>
77372         duplocale: Add support for glibc 2.3.x.
77373         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
77375 2009-11-22  Bruno Haible  <bruno@clisp.org>
77377         vasnprintf: Tiny optimization.
77378         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
77379         MacOS X.
77381 2009-11-22  Bruno Haible  <bruno@clisp.org>
77383         Tests for module 'duplocale'.
77384         * modules/duplocale-tests: New file.
77385         * tests/test-duplocale.c: New file.
77387         New module 'duplocale'.
77388         * m4/duplocale.m4: New file.
77389         * lib/locale.in.h (duplocale): New declaration.
77390         * lib/duplocale.c: New file.
77391         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
77392         gl_LOCALE_H_DEFAULTS): New macros.
77393         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
77394         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
77395         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
77396         REPLACE_DUPLOCALE.
77397         * modules/duplocale: New file.
77398         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
77400 2009-11-22  Bruno Haible  <bruno@clisp.org>
77402         * modules/locale-tests (configure.ac): Test for newlocale function.
77403         * tests/test-locale.c: When the system has extended locale functions,
77404         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
77406         locale: Make locale_t available when possible.
77407         * lib/locale.in.h: Include <xlocale.h> when it exists.
77408         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
77409         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
77410         * modules/locale (Depends-on): Add extensions.
77411         (Makefile.am): Also substitute HAVE_XLOCALE_H.
77412         * doc/posix-headers/locale.texi: Document the problem with locale_t.
77414 2009-11-22  Bruno Haible  <bruno@clisp.org>
77416         Add comments.
77417         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
77418         invocation.
77419         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
77420         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
77421         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
77423 2009-11-22  Bruno Haible  <bruno@clisp.org>
77425         error: account for the possibility of freopen (stdout).
77426         * lib/error.c: Include <unistd.h>.
77427         (flush_stdout): New function, extracted from error and error_at_line.
77428         Determine stdout's fd dynamically.
77429         (error, error_at_line): Invoke flush_stdout.
77430         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
77431         * modules/error (Depends-on): Add unistd.
77433 2009-11-22  Bruno Haible  <bruno@clisp.org>
77435         diffseq: Add comment.
77436         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
77438 2009-11-22  Jim Meyering  <meyering@redhat.com>
77440         c-stack: avoid defining an unused static function
77441         * lib/c-stack.c (find_stack_direction): Do not define this function
77442         when it will not be used.
77444         diffseq: avoid spurious gcc warnings
77445         * lib/diffseq.h (IF_LINT2): Define.
77446         (compareseq): Use it to initialize two members of "part".
77447         This avoids two used-uninitialized warnings.
77449 2009-11-21  Jim Meyering  <meyering@redhat.com>
77451         c-stack: avoid "ignoring return value of `write'" warning
77452         * lib/c-stack.c: Include "ignore-value.h".
77453         (die): Explicitly ignore each write return value.
77454         * modules/c-stack (Depends-on): Add ignore-value.
77456 2009-11-21  Bruno Haible  <bruno@clisp.org>
77458         diffseq: reduce scope of variable 'best'.
77459         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
77460         variable, earlier used for two different purposes.
77462 2009-11-21  Jim Meyering  <meyering@redhat.com>
77464         diffseq: remove useless assignment to "best"
77465         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
77466         assignment.  At that point "best" is already guaranteed to be zero.
77468 2009-11-20  Eric Blake  <ebb9@byu.net>
77470         build: mention ftp redirector in release announcements
77471         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
77472         values that used to come from cfg.mk; mention FTP redirect URL.
77473         * build-aux/announce-gen: Mention the mirror list.
77474         Suggested by Karl Berry.
77476         nanosleep: improve port to mingw
77477         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
77478         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
77479         LIB_NANOSLEEP, but only when needed.
77480         * modules/select (Link): Document LIBSOCKET.
77481         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
77482         enough.
77484         nanosleep: work around cygwin bug
77485         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
77486         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
77487         bug.
77488         (getnow): Delete, not needed.
77489         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
77490         LIB_CLOCK_GETTIME.
77491         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
77492         clock-time, gettime.
77493         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
77494         bug.
77495         * modules/nanosleep-tests: New test.
77496         * tests/test-nanosleep.c: New file.
77498         sleep: work around cygwin bug
77499         * lib/sleep.c (rpl_sleep): Work around the bug.
77500         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
77501         (gl_PREREQ_SLEEP): Delete unused macro.
77502         * modules/sleep (Depends-on): Add verify.
77503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77504         * modules/unistd (Makefile.am): Substitute witness.
77505         * lib/unistd.in.h (sleep): Update prototype.
77506         * doc/posix-functions/sleep.texi (sleep): Document the bug.
77507         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
77508         * modules/sleep-tests (Depends-on): Check for alarm.
77510 2009-11-20  Jim Meyering  <meyering@redhat.com>
77512         maint.mk: improve sc_prohibit_magic_number_exit
77513         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
77514         so it does not match uses like System.exit(1).
77515         Add comments showing how to correct all offenders.
77517 2009-11-19  Eric Blake  <ebb9@byu.net>
77519         xalloc-die-tests: add missing library
77520         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
77522         test-xvasprintf: silence compiler warnings
77523         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
77524         empty string from gcc.
77526 2009-11-19  Jim Meyering  <meyering@redhat.com>
77528         xfreopen: new module, from coreutils
77529         * modules/xfreopen: New module.
77530         * lib/xfreopen.c: New file.
77531         * lib/xfreopen.h: New file.
77532         * MODULES.html.sh (File stream based Input/Output"): Add it.
77534 2009-11-19  Eric Blake  <ebb9@byu.net>
77536         manywarnings: depend on warnings
77537         * modules/manywarnings (Depends-on): Add warnings.
77539         build: avoid compiler warnings
77540         * lib/select.c (rpl_select): Delete unused variable.
77541         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
77543 2009-11-18  Eric Blake  <ebb9@byu.net>
77545         tests: avoid false negative with --with-packager
77546         * tests/test-version-etc.sh: Discard packager information.
77547         * tests/test-argp-version-etc-1.sh: Likewise.
77548         Reported by Mike Frysinger.
77550         utimens: fix regression on Solaris
77551         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
77552         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
77553         can only change fd timestamps via futimesat.  Instead, use an
77554         additional witness macro to avoid BSD bug.
77555         Reported by Jim Meyering.
77557 2009-11-17  Eric Blake  <ebb9@byu.net>
77559         usleep: use it to simplify tests
77560         * modules/stat-time-tests (Depends-on): Add usleep.
77561         (configure.ac): Drop usleep check.
77562         * modules/chown-tests (Depends-on, configure.ac): Likewise.
77563         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
77564         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
77565         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
77566         * modules/openat-tests (Depends-on, configure.ac): Likewise.
77567         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
77568         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
77569         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
77570         Likewise.
77571         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
77572         * tests/test-lchown.h (nap): Likewise.
77573         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
77574         * tests/test-stat-time.c (nap): Likewise.
77575         * tests/test-utimens-common.h (nap): Update comments.
77577         usleep: new module
77578         * modules/usleep: New file.
77579         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
77580         * lib/usleep.c (usleep): Likewise.
77581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
77582         * modules/unistd (Makefile.am): Substitute witnesses.
77583         * lib/unistd.in.h (usleep): Add declaration.
77584         * doc/pastposix-functions/usleep.texi (usleep): Document this.
77585         * MODULES.html.sh (Date and time): Likewise.
77586         * modules/usleep-tests (Depends-on): New test.
77587         * tests/test-usleep.c: New file.
77589         chown: work around OpenBSD bug
77590         * lib/chown.c (rpl_chown): Work around the bug.
77591         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
77592         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
77593         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
77594         * modules/chown (Depends-on): Add stdbool.
77595         * modules/lchown (Depends-on): Likewise.
77596         * doc/posix-functions/chown.texi (chown): Document the bug.
77597         * doc/posix-functions/lchown.texi (lchown): Likewise.
77598         * tests/test-lchown.h (test_chown): Relax test.
77600         mkstemp: avoid conflict with C++ keyword template
77601         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
77602         * lib/mkostemp.c (mkostemp): Likewise.
77603         * lib/mkostemps.c (mkostemps): Likewise.
77604         * lib/mkstemp.c (mkstemp): Likewise.
77605         * lib/mkstemps.c (mkstemps): Likewise.
77607         xalloc-die-tests: optimize
77608         * tests/test-xalloc-die.sh: Reduce number of processes.
77610 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77612         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
77613         patch from ludo@gnu.org (Ludovic Courtès).
77615 2009-11-17  Jim Meyering  <meyering@redhat.com>
77617         version-etc: use proper license string
77618         * modules/version-etc (License): Use LGPL, not LGPLv3+.
77619         * modules/version-etc-fsf: Likewise.
77621 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77623         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
77624         printed to stdout.  Deal with EOL differences.
77626 2009-11-17  Eric Blake  <ebb9@byu.net>
77628         unsetenv: work around Solaris bug
77629         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
77630         * lib/unsetenv.c (rpl_unsetenv): Work around it.
77631         Reported by Jim Meyering.
77633         vasnprintf: avoid compiler warnings
77634         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
77635         variables.
77636         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
77638 2009-11-17  Simon Josefsson  <simon@josefsson.org>
77640         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
77641         settings since xalloc-die is no longer the self test,
77642         xalloc-die.sh is.
77644 2009-11-17  Jim Meyering  <meyering@redhat.com>
77646         test-xalloc-die.sh: make the code agree with the commit log
77647         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
77648         at the end, just in case you happen to have a test-xalloc-die
77649         program in some other PATH directory.
77651         test-xalloc-die.sh: fix a portability bug
77652         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
77653         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
77654         Otherwise, argv[0] (as often seen in diagnostics) would be too
77655         system-dependent, sometimes with, and sometimes without the leading "./".
77657         version-etc-fsf: relax license to LGPLv3+
77658         * modules/version-etc-fsf (License): Relax license.
77660 2009-11-16  Eric Blake  <ebb9@byu.net>
77662         xalloc-die-tests: avoid printing null pointer
77663         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
77664         shell script.
77665         * tests/test-xalloc-die.c (program_name): Declare.
77666         * tests/test-xalloc-die.sh (tmpfiles): New file.
77668         setenv, unsetenv: work around various bugs
77669         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
77670         (setenv) [HAVE_SETENV]: Work around bugs.
77671         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
77672         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
77673         for bugs.
77674         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
77675         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
77676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
77677         * modules/stdlib (Makefile.am): Update substitutions.
77678         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
77679         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
77680         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
77681         * modules/setenv-tests: New test.
77682         * modules/unsetenv-tests: Likewise.
77683         * tests/test-setenv.c: New file.
77684         * tests/test-unsetenv.c: Likewise.
77686 2009-11-16  Jim Meyering  <meyering@redhat.com>
77688         version-etc: relax license to LGPLv3+
77689         * modules/version-etc (License): Relax license.
77691         better AC_REQUIRE expanded-before-required-warning avoidance
77692         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
77693         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
77694         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
77695         which is no longer needed.
77697 2009-11-16  Eric Blake  <ebb9@byu.net>
77699         test-freading: clean up temporary file
77700         * tests/test-freading.c (main): Remove file on success, and use
77701         ASSERT more liberally.
77702         Reported by Jim Meyering.
77704 2009-11-16  Jim Meyering  <meyering@redhat.com>
77706         avoid new AC_REQUIRE expanded-before-required warnings
77707         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
77708         merely using it.
77709         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
77710         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
77712 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77714         * tests/test-xalloc-die.c: New file.
77715         * modules/xalloc-die-tests: New file.
77716         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
77717         XFAIL_TESTS so it can be appended by modules.
77719 2009-11-15  Simon Josefsson  <simon@josefsson.org>
77721         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
77722         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
77724 2009-11-14  Eric Blake  <ebb9@byu.net>
77726         fnmatch: avoid compiler warning
77727         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
77728         to silence compiler warning about mismatch signedness in ?:.
77729         Reported by Robert Millan.
77731         intprops: add double-inclusion guard
77732         * lib/intprops.h: Allow idempotent includes.
77733         Suggested by Bruce Korb.
77735         openat: detect Solaris fchownat bug
77736         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
77737         penalizing glibc chownat when only lchownat is broken.
77738         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
77739         trailing slash bugs.
77740         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
77741         * modules/openat-tests (Files): Include more files.
77742         (Depends-on): Add mgetgroups, sleep, stat-time.
77743         (configure.ac): Add additional checks.
77744         (Makefile.am): Build new test.
77745         * tests/test-fchownat.c: New file.
77747         lchown: detect Solaris and FreeBSD bug
77748         * lib/lchown.c (rpl_lchown): Work around bug.
77749         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
77750         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77751         * modules/unistd (Makefile.am): Populate it.
77752         * lib/unistd.in.h (lchown): Update declaration.
77753         * doc/posix-functions/lchown.texi (lchown): Document the bug.
77754         * modules/lchown-tests: New file.
77755         * tests/test-lchown.h (test_lchown): Likewise.
77756         * tests/test-lchown.c (main): Likewise.
77758         chown: detect Solaris and FreeBSD bug
77759         * lib/chown.c (rpl_chown): Work around bug.
77760         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
77761         (gl_PREREQ_CHOWN): Delete.
77762         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
77763         * modules/unistd (Makefile.am): Populate it.
77764         * lib/unistd.in.h (chown): Update declaration.
77765         * lib/lchown.c (chown): Update client.
77766         * modules/lchown (Depends-on): Add lstat.
77767         * doc/posix-functions/chown.texi (chown): Document the bug.
77768         * doc/posix-functions/getgroups.texi (getgroups): Document
77769         getgroups pitfall.
77770         * modules/chown-tests: New file.
77771         * tests/test-chown.h (test_chown): Likewise.
77772         * tests/test-chown.c (main): Likewise.
77774 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
77776         gnulib-tool: correctly detect absence of m4 directories
77777         * gnulib-tool: Avoid extra newline on data passed to wc -l.
77779 2009-11-14  Jim Meyering  <meyering@redhat.com>
77781         maint.mk: Prohibit inclusion of "xalloc.h" without use.
77782         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
77784 2009-11-14  John W. Eaton  <jwe@gnu.org>
77786         strftime.h: wrap function declaration in extern "C" block
77787         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
77789 2009-11-13  Eric Blake  <ebb9@byu.net>
77791         getgroups: avoid compiler warning
77792         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
77794         getgroups: work around FreeBSD bug
77795         * lib/getgroups.c (rpl_getgroups): Work around the bug.
77796         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
77797         * doc/posix-functions/getgroups.texi (getgroups): Document it.
77798         * tests/test-getgroups.c (main): Fix buffer overrun.
77800         getgroups: avoid compilation failure
77801         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
77802         * modules/getgroups (Depends-on): Add stdint.
77804 2009-11-13  Jim Meyering  <meyering@redhat.com>
77806         test-getgroups: avoid compilation failure
77807         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
77809 2009-11-13  Eric Blake  <ebb9@byu.net>
77811         mgetgroups: new module, taken from coreutils
77812         * modules/mgetgroups: New file.
77813         * lib/mgetgroups.h: Likewise.
77814         * lib/mgetgroups.c (mgetgroups): Likewise.
77815         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
77816         * MODULES.html.sh (Users and groups): Mention it.
77818         getgroups: don't expose GETGROUPS_T to user
77819         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
77820         an element at a time if GETGROUPS_T is wrong size.
77821         * lib/getugroups.h (getugroups): Change signature.
77822         * lib/unistd.in.h (getgroups): Likewise.
77823         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
77824         signature needs fixing.
77825         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
77826         AC_TYPE_GETGROUPS.
77827         * modules/group-member (Depends-on): Add getgroups.
77828         * lib/group-member.c (group_info, get_group_info): Use gid_t.
77829         (group_member): Rely on getgroups replacement.
77830         * lib/getugroups.c (getugroups): Use gid_t.
77831         * tests/test-getgroups.c (main): Likewise.
77832         * NEWS: Mention the signature change.
77833         * doc/posix-functions/getgroups.texi (getgroups): Mention the
77834         problem with signature.
77835         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
77836         GETGROUPS_T is still useful for setgroups.
77838         getgroups, getugroups: provide stubs for mingw
77839         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
77840         * lib/getugroups.c (getugroups): Likewise.
77841         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
77842         function.  Modernize replacement scheme.
77843         (gl_PREREQ_GETGROUPS): Delete.
77844         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
77845         * modules/getgroups (configure.ac): Declare witness.
77846         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
77847         * modules/unistd (Depends-on): Substitute witness.
77848         * lib/unistd.in.h (getgroups): Declare replacement.
77850         getgroups: avoid calling exit
77851         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
77852         drop xalloc.
77853         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
77854         dependencies.
77855         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
77856         exiting, in the rare case of malloc failure.
77858         getgroups: fix logic error
77859         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
77860         has more than 20 groups.
77861         * modules/getgroups-tests: New test.
77862         * tests/test-getgroups.c: New file.
77864 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77866         * tests/test-base64.c: Improve.
77868 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77870         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
77871         Blake <ebb9@byu.net>.
77873 2009-11-13  Simon Josefsson  <simon@josefsson.org>
77875         * tests/test-xvasprintf.c: Add %s%s related checks.
77877 2009-11-12  Eric Blake  <ebb9@byu.net>
77879         version-etc: match standards.texi style
77880         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
77881         and use <> only for URLs.
77883 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
77885         fts: do not fail on a submount during traversal
77886         * lib/fts.c (fts_build): Read the stat info again after opening
77887         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
77888         Original report at http://bugzilla.redhat.com/501848.
77890 2009-11-12  Jim Meyering  <meyering@redhat.com>
77892         bootstrap: sync from coreutils
77893         * build-aux/bootstrap (bootstrap_epilogue): New function.
77894         Use git_modules_config in one more place.  This make bootstrap's
77895         --gnulib-srcdir option more useful for testing.
77897         bootstrap: generalize autoheader check
77898         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
77899         AC_CONFIG_HEADERS.
77901 2009-11-11  Eric Blake  <ebb9@byu.net>
77903         mkfifoat: use new modules for Solaris and BSD bugs
77904         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
77905         * lib/mkfifoat.c (mknodat): Split...
77906         * lib/mknodat.c (mknodat): ...into new file.
77907         * modules/mkfifoat (Files): Ship new file.
77908         (Depends-on): Add mkfifo, mknod.
77909         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
77910         (Depends-on): Add symlink.
77911         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
77912         redundant with test_mkfifo.h.
77913         (do_mkfifoat, do_mknodat): New helpers.
77915         mknod: new module
77916         * modules/mknod: New file.
77917         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
77918         * lib/mknod.c (mknod): Likewise.
77919         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77920         defaults.
77921         * modules/sys_stat (Makefile.am): Substitute them.
77922         * lib/sys_stat.in.h (mknod): Declare replacement.
77923         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77924         Document it.
77925         * doc/posix-functions/mknod.texi (mknod): Likewise.
77926         * modules/mknod-tests: New test.
77927         * tests/test-mknod.c: Likewise.
77929         mkfifo: new module
77930         * modules/mkfifo: New file.
77931         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
77932         * lib/mkfifo.c (mkfifo): Likewise.
77933         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
77934         defaults.
77935         * modules/sys_stat (Makefile.am): Substitute them.
77936         * lib/sys_stat.in.h (mkfifo): Declare replacement.
77937         * MODULES.html.sh (Support for systems lacking POSIX:2008):
77938         Document it.
77939         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
77940         * modules/mkfifo-tests: New test.
77941         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
77942         from test-mkfifoat.c.
77943         * tests/test-mkfifo.c: New file.
77945         readlink: detect FreeBSD bug
77946         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
77947         slash on symlink.
77948         * doc/posix-functions/readlink.texi (readlink): Document the bug.
77949         * tests/test-readlink.h (test_readlink): Enhance test.
77951         symlink: detect FreeBSD bug
77952         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
77953         slash on symlink.
77954         * doc/posix-functions/symlink.texi (symlink): Document the bug.
77955         * tests/test-symlink.h (test_symlink): Enhance test.
77957 2009-11-10  Eric Blake  <ebb9@byu.net>
77959         link: detect FreeBSD bug
77960         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
77961         symlink.
77962         * doc/posix-functions/link.texi (link): Document the bug.
77963         * tests/test-link.h (test_link): Enhance test.
77964         * tests/test-linkat.c (main): Update caller.
77966         unlink, remove: detect FreeBSD bug
77967         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
77968         slash on symlink.
77969         * doc/posix-functions/unlink.texi (unlink): Document the bug.
77970         * doc/posix-functions/remove.texi (remove): Likewise.
77971         * tests/test-unlink.h (test_unlink): Enhance test.
77972         * tests/test-remove.c (main): Likewise.
77974 2009-11-09  Eric Blake  <ebb9@byu.net>
77976         rename: detect FreeBSD bug
77977         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
77978         slash on symlink.
77979         * modules/renameat-tests (Depends-on): Add filenamecat.
77980         * tests/test-rename.h (test_rename): Allow one more errno.
77981         * tests/test-renameat.c (main): Likewise.
77982         * doc/posix-functions/rename.texi (rename): Document the bug.
77984         open: detect FreeBSD bug
77985         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
77986         symlink.
77987         * doc/posix-functions/open.texi (open): Document the bug.
77988         * doc/posix-functions/utimes.texi (utimes): Likewise.
77989         * tests/test-open.h (test_open): Add parameters, and test symlink
77990         handling.
77991         * tests/test-open.c (main): Adjust caller.
77992         * tests/test-fcntl-safer.c (main): Likewise.
77993         * modules/open-tests (Depends-on): Add stdbool, symlink.
77994         * modules/fcntl-safer-tests (Depends-on): Likewise.
77995         * tests/test-openat.c (main): Add test-open tests.
77997         stat: detect FreeBSD bug
77998         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
77999         symlink.
78000         * doc/posix-functions/stat.texi (stat): Document the bug.
78001         * tests/test-stat.h (test_stat_func): Add argument.
78002         * tests/test-stat.c (main): Adjust caller.
78003         * tests/test-fstatat.c (main): Likewise.
78004         * modules/stat-tests (Depends-on): Add stdbool, symlink.
78005         Reported by Jim Meyering.
78007 2009-11-09  James Youngman  <jay@gnu.org>
78009         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
78010         * lib/strftime.c: Correct placement of #include "ignore-value.h".
78012 2009-11-08  Jim Meyering  <meyering@redhat.com>
78014         utimens: remove invalid futimesat call
78015         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
78016         It used the file descriptor of the target file as the DIR_FD
78017         parameter and NULL as the file name.  That caused failure with
78018         errno == EFAULT on FreeBSD-8.0-rc2
78020 2009-11-07  Eric Blake  <ebb9@byu.net>
78022         fflush, freadseek: use fseeko, not fseek
78023         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
78024         (clear_ungetc_buffer): Avoid potential problems on large files.
78025         * lib/freadseek.c (freadseek): Likewise.
78026         * modules/freadseek (Depends-on): Add fseeko.
78027         * modules/fseek (configure.ac): Set a witness.
78028         * tests/test-fflush.c (main): Use fseeko.
78029         * tests/test-fpurge.c (fseek): Disable link warning.
78030         * tests/test-freadable.c (fseek): Likewise.
78031         * tests/test-freading.c (fseek): Likewise.
78032         * tests/test-fseeko.c (fseek): Likewise.
78033         * tests/test-ftell.c (fseek): Likewise.
78034         * tests/test-ftello.c (fseek): Likewise.
78035         * tests/test-fwritable.c (fseek): Likewise.
78036         * tests/test-fwriting.c (fseek): Likewise.
78038 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78040         * modules/memchr (Depends-on): Drop getpagesize dependency.
78042 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78044         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
78045         Reported by Ludovic Courtès.
78046         * build-aux/pmccabe2html: Improve example usage.
78047         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
78049 2009-11-06  Jim Meyering  <meyering@redhat.com>
78051         do-release-commit-and-tag: New module.
78052         Automate the release-commit and tag process.
78053         * build-aux/do-release-commit-and-tag: New script, from coreutils.
78054         * modules/do-release-commit-and-tag: New file.
78055         * MODULES.html.sh (Support for maintaining and releasing): Add it.
78057 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78059         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
78060         because test-select.c uses inet_pton.
78062 2009-11-06  Simon Josefsson  <simon@josefsson.org>
78064         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
78065         GETADDRINFO_LIB.  Bump serial number.
78066         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
78067         Suggested by Eric Blake <ebb9@byu.net>.
78069 2009-11-05  Eric Blake  <ebb9@byu.net>
78071         strtod: detect darwin bug
78072         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
78073         Reported by Leo Davis.
78075         freopen-safer: new module
78076         * modules/freopen-safer: New module.
78077         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
78078         * lib/freopen-safer.c (freopen_safer): New file.
78079         * lib/stdio-safer.h (freopen_safer): New declaration.
78080         * lib/stdio--.h (freopen): New override.
78081         * MODULES.html.sh (File stream based Input/Output): Mention it.
78082         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
78083         freopen-safer module.
78084         * doc/posix-functions/stderr.texi (stderr): Likewise.
78085         * doc/posix-functions/stdin.texi (stdin): Likewise.
78086         * doc/posix-functions/stdout.texi (stdout): Likewise.
78087         * modules/freopen-safer-tests: New test.
78088         * tests/test-reopen-safer.c: New file.
78090 2009-11-05  Jim Meyering  <meyering@redhat.com>
78092         maint.mk: Prohibit inclusion of "close-stream.h" without use.
78093         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
78095 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78097         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
78099 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78101         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
78103 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78105         Fix link error.
78106         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78107         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78109 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78111         * tests/test-func.c: Also test value of __func__.
78113 2009-11-05  Simon Josefsson  <simon@josefsson.org>
78115         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
78116         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
78118 2009-11-05  Bruno Haible  <bruno@clisp.org>
78120         Fix link error.
78121         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
78122         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
78123         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
78125 2009-11-05  Bruno Haible  <bruno@clisp.org>
78127         Tests for module 'inet_pton'.
78128         * modules/inet_pton-tests: New file.
78129         * tests/test-inet_pton.c: New file.
78131 2009-11-05  Bruno Haible  <bruno@clisp.org>
78133         Tests for module 'inet_ntop'.
78134         * modules/inet_ntop-tests: New file.
78135         * tests/test-inet_ntop.c: New file.
78137 2009-11-04  Eric Blake  <ebb9@byu.net>
78139         stdlib-safer: wrap all mkstemp variants
78140         * modules/mkostemp (configure.ac): Set witness.
78141         * modules/mkostemps (configure.ac): Likewise.
78142         * modules/mkstemps (configure.ac): Likewise.
78143         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
78144         (mkstemps_safer): Wrap more functions.
78145         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
78146         wrapping.
78147         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
78148         (mkstemps_safer): Implement the wrappers.
78150         mkstemps, mkostemps: new modules
78151         * modules/mkostemps: New module.
78152         * modules/mkstemps: Likewise.
78153         * lib/mkostemps.c (mkostemps): New file.
78154         * lib/mkstemps.c (mkstemps): Likewise.
78155         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
78156         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
78157         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
78158         * modules/stdlib (Makefile.am): Substitute them.
78159         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
78160         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
78161         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
78162         * doc/gnulib.texi (Glibc stdlib.h): Include them.
78163         * MODULES.html.sh (File system functions): Mention them.
78165         tempname: resync from glibc
78166         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
78167         same values for __GT_FILE as glibc.  Abort even when assertions
78168         are disabled.
78169         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
78170         match its value otherwise.  Allow idempotent inclusion.
78171         * lib/mkdtemp.c (mkdtemp): Adjust caller.
78172         * lib/mkostemp.c (mkostemp): Likewise.
78173         * lib/mkstemp.c (mkstemp): Likewise.
78174         * lib/tmpfile.c (tmpfile): Likewise.
78175         * NEWS: Document this.
78177         utimens: fix use of futimens on older Linux
78178         * lib/utimens.c (fdutimens): Use updated, rather than original,
78179         timespec to avoid bug in older Linux kernel.
78180         Reported by Simon Josefsson.
78182 2009-11-04  Bruno Haible  <bruno@clisp.org>
78184         Make num_processors more flexible and consistent.
78185         * lib/nproc.h (enum nproc_query): New type.
78186         (num_processors): Add a 'query' argument.
78187         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
78188         (num_processors): Add a 'query' argument. Test the value of the
78189         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
78190         mingw, count the number of CPUs available for the current process.
78191         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
78192         Check for sched_getaffinity and sched_getaffinity_np.
78193         * modules/nproc (Depends-on): Add c-ctype, extensions.
78194         * NEWS: Mention the change.
78196 2009-11-03  Bruno Haible  <bruno@clisp.org>
78198         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
78200 2009-11-03  Jim Meyering  <meyering@redhat.com>
78202         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
78203         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
78204         if it is defined.
78206 2009-11-02  Eric Blake  <ebb9@byu.net>
78208         mktime, timegm: share common declaration
78209         * lib/mktime-internal.h: New file.
78210         * lib/mktime.c: Use it rather than open-coding a declaration.
78211         * lib/timegm.c: Likewise.
78212         * modules/mktime (Files): Ship it.
78213         * modules/timegm (Files): Likewise.
78214         Suggested by Bruno Haible.
78216         test-update-copyright: update test to match script changes
78217         * tests/test-update-copyright.sh: Avoid hard-coding perl
78218         location.  Don't update *.bak created by earlier runs.
78220 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
78221             Simon Josefsson  <simon@josefsson.org>
78222             Bruno Haible  <bruno@clisp.org>
78224         Fix link error on Solaris 8.
78225         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
78226         also in libnsl. Define also INET_PTON_LIB.
78227         * modules/inet_pton (Link): New section.
78229 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78230             Bruno Haible  <bruno@clisp.org>
78232         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
78233         * modules/inet_ntop (Link): New section.
78234         Reported by Boyan Kasarov <bkasarov@gmail.com>.
78236 2009-11-02  Eric Blake  <ebb9@byu.net>
78238         maint: avoid compiler warnings in m4 macros
78239         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
78240         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
78242 2009-11-02  Simon Josefsson  <simon@josefsson.org>
78244         * m4/pmccabe2html.m4: Remove file.
78245         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
78246         function.  Change maintainer.
78247         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
78248         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
78249         Courtès).
78251 2009-10-31  Eric Blake  <ebb9@byu.net>
78253         fseeko: fix m4 regression
78254         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
78255         regression from 2009-10-27.
78256         Reported by Ralf Wildenhues.
78258 2009-10-31  Jim Meyering  <meyering@redhat.com>
78260         inttostr: aesthetics and improved (compile-time) safety
78261         Define inttype_is_signed rather than inttype_is_unsigned,
78262         since the sole use is via "#if inttype_is_signed".
78263         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
78264         inttype_is_unsigned.
78265         * lib/offtostr.c (inttype_is_signed): Likewise.
78266         * lib/uinttostr.c (inttype_is_signed): Likewise.
78267         * lib/umaxtostr.c (inttype_is_signed): Likewise.
78268         * lib/inttostr.c (inttostr): Use verify to cross-check the
78269         inttype_is_signed value and the signedness of the actual type.
78270         * modules/inttostr (Depends-on): Add verify.
78272 2009-10-30  Eric Blake  <ebb9@byu.net>
78274         build: avoid compiler warnings
78275         * lib/fchmodat.c (lchmod): Mark unused variables.
78276         * lib/getopt.c (_getopt_initialize): Likewise.
78277         * lib/mktime.c (__mktime_internal): Provide prototype.
78278         * lib/inttostr.c (inttostr): Avoid compiler warning even with
78279         older gcc that do not understand #pragma GCC diagnostic.
78280         * lib/uinttostr.c (inttype_is_unsigned): Define.
78281         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
78283 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
78285         stat: fix compilation on AIX
78286         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
78287         only see struct stat64.
78289 2009-10-30  Eric Blake  <ebb9@byu.net>
78291         exclude: make more robust
78292         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
78293         rather than masking a coding bug.
78294         Suggested by Bruno Haible.
78296 2009-10-30  Jim Meyering  <meyering@redhat.com>
78298         perl scripts: remove #!/usr/bin/perl in favor of more portable...
78299         Rather than putting #!/usr/bin/perl on the first line,
78300         start with a variant of what's recommended by "man perlrun" that
78301         invokes the first "perl" program from your shell's search path.
78302         * build-aux/gitlog-to-changelog: Replace #!... as above.
78303         Add a "Local Variables" perl mode setting.
78304         Prompted by a patch from Ludovic Courtès.
78305         Improved by Eric Blake.
78306         * build-aux/useless-if-before-free: Likewise.
78307         * build-aux/announce-gen: Likewise.
78308         * build-aux/update-copyright: Likewise.
78310 2009-10-29  Eric Blake  <ebb9@byu.net>
78312         filenamecat-lgpl: adjust clients
78313         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
78314         filenamecat.
78315         * modules/renameat (Depends-on): Likewise.
78317         filenamecat: split into filenamecat-lgpl
78318         * modules/filenamecat-lgpl: New module.
78319         * modules/filenamecat (Files): Move library-safe files into
78320         filenamecat-lgpl.
78321         (Depends-on): Add filenamecat-lgpl.
78322         (configure.ac): Declare witness.
78323         * lib/filenamecat.h (file_name_concat): Only declare when using
78324         GPL module.
78325         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
78326         Move...
78327         * lib/filenamecat-lgpl.c: ...into new file.
78328         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
78329         (gl_FILE_NAME_CONCAT): Use it.
78330         * MODULES.html.sh (File system functions): Mention new module.
78332         argp: avoid memory leak
78333         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
78334         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
78335         base_name, since the latter malloc()s and can call exit().
78336         Leak introduced 2006-07-03.
78338         dirname-lgpl: adjust clients that don't need full dirname
78339         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
78340         * modules/filenamecat (Depends-on): Likewise.
78341         * modules/linkat (Depends-on): Likewise.
78342         * modules/mkancesdirs (Depends-on): Likewise.
78343         * modules/mkdir (Depends-on): Likewise.
78344         * modules/openat (Depends-on): Likewise.
78345         * modules/savewd (Depends-on): Likewise.
78346         * modules/rename (Depends-on): Likewise.
78347         (License): Relax license.
78348         * modules/mkdir-tests (Depends-on): Drop progname.
78349         (Makefile.am): Delete unneeded LDADD.
78350         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
78352         dirname: split into dirname-lgpl
78353         * modules/dirname-lgpl: New module.
78354         * modules/dirname (Files): Move library-safe files into
78355         dirname-lgpl.
78356         (Depends-on): Add dirname-lgpl.
78357         (configure.ac): Declare witness.
78358         * modules/double-slash-root (License): Relax license.
78359         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
78360         module.
78361         * lib/dirname.c (dir_len, mdir_name): Move...
78362         * lib/dirname-lgpl.c: ...into new file.
78363         * lib/basename.c (last_component, base_len): Move...
78364         * lib/basename-lgpl.c: ...into new file.
78365         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
78366         (gl_DIRNAME): Use it.
78367         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
78368         Mention new module.
78369         * modules/dirname-tests (Depends-on): Add progname.
78370         * tests/test-dirname.c (program_name): Delete.
78372         mkdir: make safe for libraries
78373         * modules/mkdir (Depends-on): Drop xalloc.
78374         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
78375         exit.
78377         tests: avoid some compiler warnings
78378         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
78379         literals.
78380         * tests/test-memchr.c (main): Avoid type mismatch.
78381         * tests/test-arpa_inet.c (main): Avoid unused parameters.
78382         * tests/test-base64.c (main): Likewise.
78383         * tests/test-getdelim.c (main): Likewise.
78384         * tests/test-gethostname.c (main): Likewise.
78385         * tests/test-getline.c (main): Likewise.
78386         * tests/test-netinet_in.c (main): Likewise.
78387         * tests/test-select.c (open_server_socket, main): Likewise.
78388         * tests/test-select-stdin.c (main): Likewise.
78389         * tests/test-sockets.c (main): Likewise.
78390         * tests/test-strsignal.c (main): Likewise.
78391         * tests/test-sys_select.c (main): Likewise.
78392         * tests/test-sys_socket.c (main): Likewise.
78393         * tests/test-u64.c (main): Likewise.
78394         * tests/test-xfprintf-posix.c (main): Likewise.
78395         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
78397         sockets: avoid compiler warning
78398         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
78400         maint: detect usage(1) and other suspicious exits
78401         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
78403 2009-10-29  Jim Meyering  <meyering@redhat.com>
78405         timespec: long-to-int truncation could make timespec_cmp malfunction
78406         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
78407         a multiple of 2^32 nanoseconds as no difference.
78409 2009-10-28  Jim Meyering  <meyering@redhat.com>
78411         fprintftime: wrap macro code argument in "do {...} while(0)"
78412         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
78413         cpy macro must be a statement that can be followed by a semicolon.
78414         Now that the else clause contains a comment and is hence longer
78415         than one line, I require curly braces.  That in turn requires
78416         that we wrap this code block in the standard do...while(0).
78418         fprintftime: remove stray semicolon from previous change
78419         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
78421         fprintftime: avoid a warning about ignored fwrite return value
78422         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
78423         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
78424         that is unsafe.
78425         * modules/fprintftime (Depends-on): Add ignore-value.
78427         exclude: avoid an unwarranted warning
78428         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
78430 2009-10-27  Eric Blake  <ebb9@byu.net>
78432         fseek: avoid compilation failure when fflush is replaced
78433         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
78434         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
78435         module is in use.
78436         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
78437         module is not in use; since REPLACE_FSEEK worked otherwise.
78438         (GNULIB_FTELLO): Likewise for ftell.
78439         Reported by Ian Beckwith and others.
78441 2009-10-27  Bruno Haible  <bruno@clisp.org>
78443         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
78444         Reported by Jim Meyering.
78446 2009-10-27  Jim Meyering  <jim@meyering.net>
78447             Bruno Haible  <bruno@clisp.org>
78449         Avoid warning despite dropping the return value of fwrite.
78450         * lib/unicodeio.c: Include ignore-value.h.
78451         (fwrite_success_callback): Explicitly ignore fwrite's return value.
78452         * modules/unicodeio (Depends-on): Add ignore-value.
78454 2009-10-26  Eric Blake  <ebb9@byu.net>
78456         areadlinkat: fix fallback path
78457         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
78458         pointer and zero.
78460 2009-10-22  Pádraig Brady  <P@draigBrady.com>
78462         Use a better IO block size for modern systems
78463         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
78464         * lib/md2.c: Likewise.
78465         * lib/md4.c: Likewise.
78466         * lib/md5.c: Likewise.
78467         * lib/sha1.c: Likewise.
78468         * lib/sha256.c: Likewise.
78469         * lib/sha512.c: Likewise.
78471 2009-10-22  Eric Blake  <ebb9@byu.net>
78473         tests: avoid several compiler warnings
78474         * tests/test-getcwd.c (main): Avoid buffer underflow.
78475         * tests/test-getdate.c (main): String literals are not safe with
78476         putenv, so use setenv.  Declare unused argument.
78477         * modules/getdate-tests (Depends-on): Add setenv.
78478         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
78479         problems with string literals in char *.
78480         * tests/test-hash.c (main): Avoid shadowing declaration.
78481         (insert_new): Treat string literals as char const *.
78482         * tests/test-getopt.h (test_getopt): Likewise.
78483         (getopt_loop): Alter types to minimize casting elsewhere.
78484         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
78485         (test_getopt_long_posix): Likewise.
78486         (do_getopt_long): Add wrapper to minimize casting.
78487         * tests/test-atexit.c (clear_temp_file): Use void.
78488         * tests/test-areadlink-with-size.c (main): Declare unused
78489         arguments.
78490         * tests/test-areadlink.c (main): Likewise.
78491         * tests/test-areadlinkat-with-size.c (main): Likewise.
78492         * tests/test-areadlinkat.c (main): Likewise.
78493         * tests/test-canonicalize-lgpl.c (main): Likewise.
78494         * tests/test-canonicalize.c (main): Likewise.
78495         * tests/test-dirent-safer.c (main): Likewise.
78496         * tests/test-dirname.c (main): Likewise.
78497         * tests/test-dup2.c (main): Likewise.
78498         * tests/test-fchdir.c (main): Likewise.
78499         * tests/test-fcntl-h.c (main): Likewise.
78500         * tests/test-fcntl-safer.c (main): Likewise.
78501         * tests/test-fdopendir.c (main): Likewise.
78502         * tests/test-fdutimensat.c (main): Likewise.
78503         * tests/test-fflush.c (main): Likewise.
78504         * tests/test-filenamecat.c (main): Likewise.
78505         * tests/test-filevercmp.c (main): Likewise.
78506         * tests/test-fopen-safer.c (main): Likewise.
78507         * tests/test-fopen.c (main): Likewise.
78508         * tests/test-fpending.c (main): Likewise.
78509         * tests/test-fpurge.c (main): Likewise.
78510         * tests/test-freading.c (main): Likewise.
78511         * tests/test-fstatat.c (main): Likewise.
78512         * tests/test-fsync.c (main): Likewise.
78513         * tests/test-futimens.c (main): Likewise.
78514         * tests/test-getndelim2.c (main): Likewise.
78515         * tests/test-gettimeofday.c (main): Likewise.
78516         * tests/test-getopt.c (main): Likewise.
78517         * tests/test-i-ring.c (main): Likewise.
78518         * tests/test-inttypes.c (main): Likewise.
78519         * tests/test-link.c (main): Likewise.
78520         * tests/test-lstat.c (main): Likewise.
78521         * tests/test-math.c (main): Likewise.
78522         * tests/test-md5.c (main): Likewise.
78523         * tests/test-memchr2.c (main): Likewise.
78524         * tests/test-memrchr.c (main): Likewise.
78525         * tests/test-mkdir.c (main): Likewise.
78526         * tests/test-mkdirat.c (main): Likewise.
78527         * tests/test-mkfifoat.c (main): Likewise.
78528         * tests/test-open.c (main): Likewise.
78529         * tests/test-openat-safer.c (main): Likewise.
78530         * tests/test-openat.c (main): Likewise.
78531         * tests/test-quotearg.c (main): Likewise.
78532         * tests/test-rawmemchr.c (main): Likewise.
78533         * tests/test-readlink.c (main): Likewise.
78534         * tests/test-remove.c (main): Likewise.
78535         * tests/test-rename.c (main): Likewise.
78536         * tests/test-renameat.c (main): Likewise.
78537         * tests/test-rmdir.c (main): Likewise.
78538         * tests/test-sha1.c (main): Likewise.
78539         * tests/test-signal.c (main): Likewise.
78540         * tests/test-sigaction.c (main): Likewise.
78541         * tests/test-stat.c (main): Likewise.
78542         * tests/test-stat-time.c (main): Likewise.
78543         * tests/test-stddef.c (main): Likewise.
78544         * tests/test-stdint.c (main): Likewise.
78545         * tests/test-stdio.c (main): Likewise.
78546         * tests/test-stdlib.c (main): Likewise.
78547         * tests/test-strchrnul.c (main): Likewise.
78548         * tests/test-strerror.c (main): Likewise.
78549         * tests/test-string.c (main): Likewise.
78550         * tests/test-strtod.c (main): Likewise.
78551         * tests/test-strverscmp.c (main): Likewise.
78552         * tests/test-symlink.c (main): Likewise.
78553         * tests/test-symlinkat.c (main): Likewise.
78554         * tests/test-sys_stat.c (main): Likewise.
78555         * tests/test-sys_time.c (main): Likewise.
78556         * tests/test-time.c (main): Likewise.
78557         * tests/test-unistd.c (main): Likewise.
78558         * tests/test-unlink.c (main): Likewise.
78559         * tests/test-unlinkat.c (main): Likewise.
78560         * tests/test-utimens.c (main): Likewise.
78561         * tests/test-utimensat.c (main): Likewise.
78562         * tests/test-version-etc.c (main): Likewise.
78563         * tests/test-wchar.c (main): Likewise.
78564         * tests/test-wctype.c (main): Likewise.
78565         * tests/test-xprintf-posix.c (main): Likewise.
78566         * tests/test-posixtm.c (main): Likewise.
78567         (STREQ): Delete unused macro.
78568         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
78569         shadowed variables.
78570         * tests/test-memchr.c (main): Likewise.
78572 2009-10-21  Eric Blake  <ebb9@byu.net>
78574         areadlinkat: avoid failure on older glibc
78575         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
78576         rather than mis-comparing 0 against FUNC_RESULT of char*.
78578 2009-10-21  Bruno Haible  <bruno@clisp.org>
78580         * modules/stpncpy (License): Relicense under LGPLv2+.
78581         Reported by David Lutterkort <lutter@redhat.com>.
78583 2009-10-20  Eric Blake  <ebb9@byu.net>
78585         utimensat: work around Solaris 9 bug
78586         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
78587         has trailing slash bugs.
78588         * tests/test-lutimens.h (test_lutimens): Enhance test.
78589         * tests/test-utimens.h (test_utimens): Likewise.
78590         * doc/posix-functions/utime.texi (utime): Enhance documentation.
78591         * doc/posix-functions/utimes.texi (utimes): Likewise.
78592         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78593         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
78594         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
78595         * doc/posix-functions/futimens.texi (futimens): Likewise.
78597         fdutimensat: new module
78598         * modules/fdutimensat: New file.
78599         * lib/fdutimensat.c (fdutimensat): Likewise.
78600         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
78601         * MODULES.html.sh (File system functions): Mention module.
78602         * modules/fdutimensat-tests: New test.
78603         * tests/test-fdutimensat.c: Likewise.
78605         doc: regenerate INSTALL
78606         * doc/INSTALL: Reflect recent autoconf update.
78607         * doc/INSTALL.ISO: Likewise.
78608         * doc/INSTALL.UTF-8: Likewise.
78610 2009-10-20  Pádraig Brady  <P@draigBrady.com>
78612         acl: warn if ACL support is not detected
78613         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
78615 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
78617         * lib/nproc.h: Add extern "C" block for C++.
78619 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
78620             Bruno Haible  <bruno@clisp.org>
78622         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
78623         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
78624         * doc/posix-functions/isalpha.texi: Likewise.
78625         * doc/posix-functions/isblank.texi: Likewise.
78626         * doc/posix-functions/iscntrl.texi: Likewise.
78627         * doc/posix-functions/isdigit.texi: Likewise.
78628         * doc/posix-functions/isgraph.texi: Likewise.
78629         * doc/posix-functions/islower.texi: Likewise.
78630         * doc/posix-functions/isprint.texi: Likewise.
78631         * doc/posix-functions/ispunct.texi: Likewise.
78632         * doc/posix-functions/isspace.texi: Likewise.
78633         * doc/posix-functions/isupper.texi: Likewise.
78634         * doc/posix-functions/isxdigit.texi: Likewise.
78636 2009-10-18  Bruno Haible  <bruno@clisp.org>
78638         Tests for module 'isblank'.
78639         * modules/isblank-tests: New file.
78640         * tests/test-isblank.c: New file.
78642         New module 'isblank'.
78643         * lib/isblank.c: New file.
78644         * m4/isblank.m4: New file.
78645         * modules/isblank: New file.
78646         * doc/posix-functions/isblank.texi: Mention the new module.
78648 2009-10-18  Bruno Haible  <bruno@clisp.org>
78650         New module 'ctype'.
78651         * lib/ctype.in.h: New file.
78652         * m4/ctype.m4: New file.
78653         * modules/ctype: New file.
78654         * doc/posix-headers/ctype.texi: Mention the new module.
78656 2009-10-18  Jim Meyering  <meyering@redhat.com>
78658         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
78659         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
78660         right after its initialization, rather than farther down.
78661         Keeping these in close proximity makes it easier to ensure
78662         that each such variable is initialized.  E.g.,
78664             LIB_CLOCK_GETTIME=
78665             AC_SUBST([LIB_CLOCK_GETTIME])
78667         This change also increments these serial numbers.
78668         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
78669         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78670         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78672 2009-10-18  Bruno Haible  <bruno@clisp.org>
78674         Don't let environment variables perturb build.
78675         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
78676         (gl_PREREQ_GETHRXTIME): ... not here.
78678 2009-10-18  Bruno Haible  <bruno@clisp.org>
78680         Avoid symlink attack in localcharset module.
78681         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
78682         (O_NOFOLLOW): Define fallback.
78683         (get_charset_aliases): Don't open the file if it is a symbolic link.
78684         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
78685         gl_FCNTL_H.
78686         (gl_FCNTL_H): Require it.
78687         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
78688         * modules/localcharset (Files): Add m4/fcntl_h.m4.
78689         Reported by Fergal Glynn <fglynn@veracode.com>.
78691 2009-10-18  Bruno Haible  <bruno@clisp.org>
78693         Implement nproc for mingw.
78694         * lib/nproc.c: Include <windows.h>
78695         (num_processors): On native Windows platforms, try GetSystemInfo.
78697 2009-10-18  Bruno Haible  <bruno@clisp.org>
78699         Implement nproc for IRIX.
78700         * lib/nproc.c: Include <sys/sysmp.h>.
78701         (num_processors): On IRIX systems, try sysmp.
78702         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
78704 2009-10-18  Bruno Haible  <bruno@clisp.org>
78706         Implement nproc for HP-UX.
78707         * lib/nproc.c: Include <sys/pstat.h>
78708         (num_processors): On HP-UX systems, try pstat_getdynamic.
78709         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
78710         pstat_getdynamic.
78712 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
78713             Bruno Haible  <bruno@clisp.org>
78715         Implement nproc for NetBSD, OpenBSD.
78716         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
78717         (ARRAY_SIZE): New macro.
78718         (num_processors): On BSD systems, try sysctl of HW_NCPU.
78719         * m4/nproc.m4: New file.
78720         * modules/nproc (Files): Add m4/nproc.m4.
78721         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
78722         (Makefile.am): Instead, augment lib_SOURCES.
78724 2009-10-18  Bruno Haible  <bruno@clisp.org>
78726         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
78727         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
78728         sys/param.h.
78730 2009-10-16  Eric Blake  <ebb9@byu.net>
78732         utimensat: new module
78733         * modules/utimensat: New file.
78734         * lib/utimensat.c (utimensat): Likewise.
78735         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
78736         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
78737         so we can work around Linux bugs.
78738         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78739         * modules/sys_stat (Makefile.am): Substitute them.
78740         * lib/sys_stat.in.h (utimensat): Declare it.
78741         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78742         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78743         * modules/utimensat-tests: New test.
78744         * tests/test-utimensat.c: Likewise.
78746         utimens: let lutimens work on non-symlinks
78747         * lib/utimens.c (lutimens): Fall back to utimens rather than
78748         failing with ENOSYS, when file is not a symlink.
78749         (utimens): Reduce redirection.
78750         * tests/test-lutimens.h (test_lutimens): Update test to cover
78751         non-symlinks.
78752         * tests/test-utimens.h (test_utimens): Update test to cover
78753         symlinks.
78754         * tests/test-utimens.c (main): Update caller.
78756         utimens: cache whether utimensat syscall works
78757         * lib/utimens.c (utimensat_works_really): New cache variable.
78758         (fdutimens, lutimens): Use it to avoid failing syscall.
78760         test-stat-time, test-utimens: improve portability
78761         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
78762         ext4 on alpha, and for cygwin.
78763         * tests/test-utimens-common.h: New file.
78764         (nap): Factor delays into single function.
78765         * tests/test-lutimens.h (test_lutimens): Use new header.
78766         * tests/test-futimens.h (test_futimens): Likewise.
78767         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
78768         timestamps to occur from same machine, as was done previously for
78769         test_utimens.
78770         * modules/utimens-tests (Files): Ship new file.
78771         * modules/futimens-tests (Files): Likewise.
78772         Reported in part by Jim Meyering.
78774         sys_stat: sort replacement declarations
78775         * lib/sys_stat.in.h: Sort declarations.
78776         * lib/futimens.c (futimens): Fix typo.
78778 2009-10-15  Jim Meyering  <meyering@redhat.com>
78780         don't let environment settings perturb build
78781         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
78782         could cause a configure-time and/or build-time malfunction.
78783         Typically, a configure-time function-in-library test is performed
78784         via code like this:
78786           LIB_VAR=
78787           AC_SUBST([LIB_VAR])
78788           prefix_saved_LIBS=$LIBS
78789             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
78790                        [test "$ac_cv_search_FUNC" = "none required" ||
78791                         LIB_VAR=$ac_cv_search_FUNC])
78792           LIBS=$prefix_saved_LIBS
78794         However, in each of the files affected by this change, the LIB_VAR=
78795         initialization was omitted.  Thus, when set in the environment, its
78796         value would propagate into generated Makefiles when FUNC is not found
78797         in LIB_NAME.
78798         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
78799         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
78800         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
78802 2009-10-14  Eric Blake  <ebb9@byu.net>
78804         fchdir: avoid infinite recursion in mingw
78805         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
78806         recursing.
78808         test-stat-time: port to mingw
78809         * tests/test-stat-time.c (force_unlink): Return a value.
78810         (test_ctime) [W32]: Fix compilation error.
78811         (nap): Don't call usleep with too large an argument.  Use
78812         force_unlink.
78813         * doc/pastposix-functions/usleep.texi (usleep): Document the
78814         portability issue.
78816 2009-10-13  Jim Meyering  <meyering@redhat.com>
78818         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
78819         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
78820         * modules/pipe-filter-ii: Likewise.
78821         * modules/sys_socket-tests: Likewise.
78822         * modules/tsearch-tests: Likewise.
78823         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
78824         (check): Depend on it.
78826 2009-10-12  Eric Blake  <ebb9@byu.net>
78828         utimens-tests: port to NFS file systems
78829         * tests/test-utimens.h (test_utimens): Refactor utimecmp
78830         comparisons to avoid spurious failures from timestamp drift
78831         between NFS machines.
78833 2009-10-12  Eric Blake  <ebb9@byu.net>
78835         stat-time-tests: minor cleanups
78836         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
78837         * tests/test-stat-time.c (nap): Separate assignment from call.
78838         Suggested by Paolo Bonzini and Bruno Haible.
78840         sys_stat: guarantee struct timespec
78841         * lib/sys_stat.in.h (includes): Always include <time.h>
78842         * modules/sys_stat (Depends-on): Add time.
78843         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
78844         mode_t permission values.
78845         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
78846         get at subsecond timestamps.
78848 2009-10-10  Eric Blake  <ebb9@byu.net>
78850         futimens: new module
78851         * modules/futimens: New file.
78852         * lib/futimens.c (futimens): Likewise.
78853         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
78854         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
78855         we can work around Linux bugs.
78856         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
78857         * modules/sys_stat (Makefile.am): Substitute them.
78858         * lib/sys_stat.in.h (futimens): Declare it.
78859         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
78860         * doc/posix-functions/futimens.texi (futimens): Likewise.
78861         * modules/futimens-tests: New test.
78862         * tests/test-futimens.c: Likewise.
78864         utimens: introduce fdutimens
78865         * lib/utimens.h (fdutimens): New prototype.
78866         * lib/utimens.c (gl_futimens): Move guts...
78867         (fdutimens): ...to new interface.
78868         * tests/test-utimens.c (do_fdutimens): Use it.
78870         utimens: add UTIME_NOW and UTIME_OMIT support
78871         * lib/utimens.c (validate_timespec, update_timespec): New helper
78872         functions.
78873         (gl_futimens, lutimens): Use them.
78874         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
78875         stdbool, sys_stat.
78876         (Link): Mention resulting library dependency.
78877         * modules/utimecmp (Link): Likewise.
78878         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
78879         (Makefile.am): Pick up library dependency.
78880         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
78881         definition.
78882         * tests/test-sys_stat.c: Test the definitions.
78883         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
78884         * NEWS: Document library dependency.
78886         utimecmp: support symlink timestamps
78887         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
78888         hashing when possible.  Use pathconf when available.
78889         (SYSCALL_RESOLUTION): Recognize tighter resolution.
78890         * modules/utimecmp (Depends-on): Add lstat.
78892         utimens: add lutimens interface
78893         * lib/utimens.c (lutimens): New function.
78894         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
78895         * lib/utimens.h (lutimens): Declare new interface.
78896         * tests/test-utimens.c (main): Enhance test.
78897         * tests/test-lutimens.h (test_lutimens): New file.
78898         * modules/utimens-tests (Files): Distribute it.
78899         (Depends-on): Add symlink.
78900         (configure.ac): Check for usleep.
78902         utimens: validate futimens usage
78903         * lib/utimens.c (gl_futimens): Require valid fd up front, using
78904         fewer syscalls on failure later on.  Avoid compiler warning on
78905         mingw.
78906         * modules/utimens (Depends-on): Add dup2.
78908         utimens: add test
78909         * modules/utimens-tests: New test.
78910         * tests/test-utimens.h: New file.
78911         * tests/test-futimens.h: Likewise.
78912         * tests/test-utimens.c: Likewise.
78914         doc: mention timestamp portability issues
78915         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
78916         instead.
78917         * doc/posix-functions/utime.texi (utime): Likewise.
78918         * doc/posix-functions/utimes.texi (utimes): Likewise.
78919         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
78920         instead.
78921         * doc/posix-functions/futimens.texi (futimens): Mention utimens
78922         module.
78923         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
78924         Mention weakness with symlink timestamps.
78925         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
78926         to utimensat/futimens instead.
78927         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
78929         test-dup2: enhance test
78930         * tests/test-dup2.c (main): Also check AT_FDCWD.
78932         test-stat-time: avoid more spurious failures
78933         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
78934         xfs; and avoid race if the two timestamps cross quantization edge.
78936         relocatable: prefer 'file system' over 'filesystem'
78937         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
78938         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
78939         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
78940         * doc/relocatable.texi (Enabling Relocatability): Likewise.
78941         * lib/relocatable.c (compute_curr_prefix): Likewise.
78943 2009-10-10  Jim Meyering  <meyering@redhat.com>
78945         stat-time-tests: check for the usleep function
78946         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
78948 2009-10-10  Bruno Haible  <bruno@clisp.org>
78950         * modules/xnanosleep: Put the Link section after the Include section.
78952 2009-10-09  Eric Blake  <ebb9@byu.net>
78954         dup2: work around FreeBSD 6.1 bug
78955         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
78956         * doc/posix-functions/dup2.texi (dup2): Document it.
78957         Reported by Nelson H. F. Beebe and Jim Meyering.
78959         test-stat-time: port to buggy NFS clients
78960         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
78961         (test_ctime): Also skip test if mtime and ctime are skewed.
78963         maint: prefer 'file system' over 'filesystem'
78964         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
78965         * doc/posix-functions/lstat.texi (lstat): Likewise.
78966         * lib/file-has-acl.c (file_has_acl): Likewise.
78967         * lib/fwriteerror.c [TEST]: Likewise.
78968         * tests/test-areadlink.h (test_areadlink): Likewise.
78969         * tests/test-areadlinkat-with-size.c (main): Likewise.
78970         * tests/test-areadlinkat.c (main): Likewise.
78971         * tests/test-canonicalize-lgpl.c (main): Likewise.
78972         * tests/test-canonicalize.c (main): Likewise.
78973         * tests/test-fstatat.c (main): Likewise.
78974         * tests/test-linkat.c (main): Likewise.
78975         * tests/test-lstat.h (test_lstat_func): Likewise.
78976         * tests/test-mkdir.h (test_mkdir): Likewise.
78977         * tests/test-readlink.h (test_readlink): Likewise.
78978         * tests/test-remove.c (main): Likewise.
78979         * tests/test-rename.h (test_rename): Likewise.
78980         * tests/test-renameat.c (main): Likewise.
78981         * tests/test-rmdir.h (test_rmdir_func): Likewise.
78982         * tests/test-symlink.h (test_symlink): Likewise.
78983         * tests/test-symlinkat.c (main): Likewise.
78984         * tests/test-unlink.h (test_unlink_func): Likewise.
78985         * tests/test-unlinkat.c (main): Likewise.
78987         maint: make realtime library usage explicit
78988         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
78989         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
78990         * modules/settime (Link): Likewise.
78991         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
78993         test-stat-time: speed up execution
78994         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
78995         warning on mingw.
78996         (nap): New helper function.
78997         (prepare_test): Use it to reduce sleep time.
78998         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
78999         execution.
79000         * modules/stat-time-tests (configure.ac): Check for usleep.
79002 2009-10-09  Jim Meyering  <meyering@redhat.com>
79004         selinux-h: always use getfilecon wrappers
79005         * lib/getfilecon.c: New file.
79006         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
79007         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
79008         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
79009         (fgetfilecon): Provide a stub.
79010         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
79011         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
79012         file unconditionally.
79013         When <selinux/selinux.h> is found, arrange to use wrappers.
79014         * modules/selinux-h (Files): Add getfilecon.c.
79015         (Makefile.am): Substitute include-next-related bits
79016         into the now-always-generated selinux/selinux.h file.
79017         * doc/glibc-functions/lgetfilecon.texi: New file.
79018         * doc/glibc-functions/fgetfilecon.texi: New file.
79019         * doc/glibc-functions/getfilecon.texi: New file.
79020         * doc/glibc-functions/getfilecon-desc.texi: New file.
79021         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
79022         which to pull in the new files.
79023         * MODULES.html.sh (Misc): Add selinux-h.
79025 2009-10-08  Jim Meyering  <meyering@redhat.com>
79027         unistd: fix comment typo
79028         * lib/unistd.in.h (euidaccess): Fix a comment typo.
79030 2009-10-08  Eric Blake  <ebb9@byu.net>
79032         areadlink: use SIZE_MAX consistently
79033         * modules/areadlink (Depends-on): Add stdint.
79034         * modules/areadlink-with-size (Depends-on): Likewise.
79035         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
79036         gives NULL; drop sys/types, since unistd gives size_t; and add
79037         stdint for SIZE_MAX.
79038         (SIZE_MAX): Rely on headers.
79039         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
79040         and add stdint.
79041         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
79042         (SIZE_MAX): Likewise.
79043         (INITIAL_BUF_SIZE): Turn into enum.
79044         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
79046 2009-10-08  Jim Meyering  <meyering@redhat.com>
79048         areadlinkat: avoid compilation failure
79049         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
79050         Fix typo in comment.
79052 2009-10-07  Eric Blake  <ebb9@byu.net>
79054         areadlinkat-with-size: new module
79055         * modules/areadlinkat-with-size: New module.
79056         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
79057         * lib/areadlink.h (areadlinkat): Declare it.
79058         * MODULES.html.sh (File system functions): Mention it.
79059         * modules/areadlinkat-with-size-tests: New test.
79060         * tests/test-areadlinkat-with-size.c: New file.
79062         xreadlinkat: new module
79063         * modules/xreadlinkat: New module.
79064         * lib/xreadlinkat.c (xreadlinkat): New file.
79065         * lib/xreadlink.h (xreadlinkat): Declare it.
79066         * MODULES.html.sh (File system functions): Mention it.
79068         areadlinkat: new module
79069         * lib/at-func.c (FUNC_FAIL): New define.
79070         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
79071         * modules/areadlinkat: New module.
79072         * lib/linkat.c (areadlinkat): Move...
79073         * lib/areadlinkat.c (areadlinkat): ...to new file.
79074         * lib/areadlink.h (areadlinkat): Declare it.
79075         * modules/linkat (Depends-on): Add areadlinkat.
79076         * MODULES.html.sh (File system functions): Mention it.
79077         * modules/areadlinkat-tests: New test.
79078         * tests/test-areadlinkat.c: New file.
79080         areadlink, areadlink-with-size: add tests
79081         * modules/areadlink-tests: New test.
79082         * modules/areadlink-with-size-tests: Likewise.
79083         * tests/test-areadlink.h: New file.
79084         * tests/test-areadlink.c: Likewise.
79085         * tests/test-areadlink-with-size.c: Likewise.
79087         maint: minor cleanups
79088         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
79089         _UNUSED_PARAMETER_ instead.
79090         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
79091         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
79092         * modules/linkat-tests (Files): Distribute test-link.h.
79094         openat, utimens: whitespace cleanup
79095         * lib/openat.c: Prefer space throughout, rather than mix of 8
79096         spaces vs. tabs.
79097         * lib/at-func.c: Likewise.
79098         * lib/utimens.c: Likewise.
79100         openat: avoid using wrong fd
79101         * lib/openat.c (openat_permissive): Reject user's fd if saving the
79102         working directory chooses same fd.
79103         * lib/at-func.c (AT_FUNC_NAME): Likewise.
79105         mkdir, mkdirat: fix cygwin 1.5.x bug
79106         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
79107         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
79108         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
79109         bug.
79110         (gl_PREREQ_MKDIR): Delete unused macro.
79111         * modules/mkdir (Files): Track file rename.
79112         (configure.ac): Update macro name.
79113         * modules/openat (Depends-on): Add mkdir.
79114         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
79116         mkdir, mkdirat: add tests
79117         * modules/mkdir-tests: New test.
79118         * tests/test-mkdir.h: New file.
79119         * tests/test-mkdir.c: Likewise.
79120         * tests/test-mkdirat.c: Likewise.
79121         * modules/openat-tests (Files): Add new files.
79122         (Makefile.am): Run new test.
79124 2009-10-06  Eric Blake  <ebb9@byu.net>
79126         doc: tweak *at function documentation
79127         * doc/posix-functions/faccessat.texi (faccessat): Mention
79128         known issue with replacement.
79129         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
79130         * doc/posix-functions/linkat.texi (linkat): Likewise.
79131         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
79132         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
79133         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79134         * doc/posix-functions/renameat.texi (renameat): Likewise.
79135         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
79137         openat: fix GNU/Hurd bug in unlinkat
79138         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
79139         broken.
79140         * doc/posix-functions/unlink.texi (unlink): Document this.
79141         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
79143         fdopendir: fix GNU/Hurd bug
79144         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
79145         allowing non-directory fds.
79146         * lib/fdopendir.c (rpl_fdopendir): Work around it.
79147         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
79148         * modules/dirent (Makefile.am): Substitute it.
79149         * lib/dirent.in.h (fdopendir): Declare replacement.
79150         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
79151         * tests/test-fdopendir.c (main): Test something other than
79152         /dev/null, since on Hurd that behaves like a directory.
79154         test-symlink: port to GNU/Hurd
79155         * tests/test-symlink.h (test_symlink): Relax expected errno.
79157         doc: tweak more cygwin information
79158         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
79159         now compatible with glibc.
79160         * doc/posix-functions/getopt.texi (getopt): Likewise.
79162         getopt-gnu: add another test
79163         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
79164         guarantee behavior relied on by m4.
79165         * tests/test-getopt.c (main): Use it.
79166         * modules/getopt-posix-tests (Depends-on): Add setenv.
79167         See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.
79169         getopt: fix compilation on darwin
79170         * lib/getopt.in.h (includes): Leave breadcrumbs during system
79171         include.
79172         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
79173         Reported by Ludovic Courtès.
79175 2009-10-06  Bruno Haible  <bruno@clisp.org>
79177         * modules/size_max (Description): Discourage its use.
79178         Reported by Simon Josefsson.
79180 2009-10-06  Jim Meyering  <meyering@redhat.com>
79182         linkat: avoid compilation failure
79183         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
79185 2009-10-05  Eric Blake  <ebb9@byu.net>
79187         linkat: support Linux 2.6.17
79188         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
79189         linkat on Linux, but allow cache variable override.
79190         * lib/linkat.c (rpl_linkat): Define override.
79191         * modules/linkat (Depends-on): Add symlinkat.
79192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
79193         * modules/unistd (Makefile.am): Substitute it.
79194         * lib/unistd.in.h (linkat): Declare replacement.
79195         Reported by Pádraig Brady.
79197         quotearg: port test to systems with C.UTF-8 locale
79198         * tests/test-quotearg.c (struct result_strings): Add another
79199         member, differentiating between C.ASCII and C.UTF-8 handling.
79200         (compare_strings): Add parameter.
79201         (main): Adjust all callers.
79203         getopt: avoid clash with FreeBSD _getopt_internal
79204         * lib/getopt.in.h (_getopt_internal): Override the name.
79205         * lib/getopt_int.h (includes): Pick up any overrides.
79206         Reported by Reuben Thomas.
79208         hash: allow C89 compilation
79209         * lib/hash.c (check_tuning): Move declaration before statement.
79210         Reported by Reuben Thomas.
79212 2009-10-05  Karl Berry  <karl@gnu.org>
79214         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
79216 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
79217             Bruno Haible  <bruno@clisp.org>
79219         * lib/uname.c (uname): Use a table-driven algorithm to compute
79220         Windows NT versions.
79222 2009-10-04  Bruno Haible  <bruno@clisp.org>
79224         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
79225         program_invocation_short_name.
79226         * modules/progname (configure.ac): Test for presence of
79227         program_invocation_short_name.
79228         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
79230 2009-10-04  Bruno Haible  <bruno@clisp.org>
79232         * lib/progname.c (set_program_name): Fix comment.
79233         Reported by Jim Meyering.
79235 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79236             Bruno Haible  <bruno@clisp.org>
79238         * lib/uname.c: Include <string.h>.
79239         (uname): Do only one call to GetVersionEx in the common case.
79241 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
79242             Bruno Haible  <bruno@clisp.org>
79244         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
79245         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
79246         (uname): Add support for Windows CE and various non-x86 CPU types.
79248 2009-10-03  Bruno Haible  <bruno@clisp.org>
79250         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
79251         invocation to tests/configure.ac.
79252         Reported by Ian Beckwith <ianb@erislabs.net>.
79254 2009-10-02  Eric Blake  <ebb9@byu.net>
79256         fchdir: avoid compiler warning
79257         * lib/fchdir.c (canonicalize_file_name)
79258         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
79260         test-open: support mingw errno values
79261         * tests/test-open.h (test_open): Relax test.
79262         * tests/test-fopen.h (test_fopen): Likewise.
79263         * tests/test-openat-safer.c (main): Likewise.
79265         open: fix opening directory on mingw
79266         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
79268         test-open: on GNU/Hurd, /dev/null is a directory
79269         * tests/test-fopen.h (main): Rename...
79270         (test_fopen): ...to this.  Use a guaranteed non-directory when
79271         confirming open behavior on trailing slash.
79272         * tests/test-openat-safer.c (main): Likewise.
79273         * tests/test-open.h (main): Likewise....
79274         (test_open): ...to this.
79275         * tests/test-fopen.c (main): Adjust caller.
79276         * tests/test-fopen-safer.c (main): Likewise.
79277         * tests/test-open.c (main): Likewise.
79278         * tests/test-fcntl-safer.c (main): Likewise.
79279         Reported by Samuel Thibault.
79281         rename, fchdir: don't ignore chdir failure
79282         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
79283         * lib/rename.c (rpl_rename) [W32]: Likewise.
79284         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
79285         an empty destination directory if source cannot be renamed,
79286         although there is still possibility for failure.
79287         * doc/posix-functions/rename.texi (rename): Document the race.
79288         Reported by Jim Meyering.
79290         maint: cleanup whitespace in recent commits
79291         * lib/rename.c (rpl_rename): Remove tabs.
79292         * tests/test-link.h (test_link): Likewise.
79293         * lib/fchdir.c (get_name): Likewise.
79294         Reported by Jim Meyering.
79296 2009-10-02  Ben Pfaff  <blp@gnu.org>
79298         relocatable-prog-wrapper: Add missing dependency on
79299         double-slash-root.
79300         * modules/relocatable-prog-wrapper: Add dependency.
79301         Reported by Ian Beckwith <ianb@erislabs.net>.
79303 2009-10-02  Eric Blake  <ebb9@byu.net>
79305         renameat: fix Solaris bugs
79306         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
79307         needed fixing.
79308         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
79309         * modules/stdio (Makefile.am): Substitute it.
79310         * lib/stdio.in.h (renameat): Declare replacement.
79311         * lib/renameat.c (rpl_renameat): Implement fix.
79313         renameat: new module
79314         * modules/renameat: New file.
79315         * lib/renameat.c (renameat): Likewise.
79316         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
79317         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79318         * modules/stdio (Makefile.am): Substitute them.
79319         * lib/stdio.in.h (renameat): Declare it.
79320         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79321         * doc/posix-functions/renameat.texi (renameat): Likewise.
79322         * modules/renameat-tests: New test.
79323         * tests/test-renameat.c: Likewise.
79325         rename: fix mingw bugs
79326         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
79327         directory overwrite bugs.
79329         rename: fix another cygwin 1.5 bug
79330         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
79331         checks.
79332         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
79333         unnecessary cygwin workarounds.  Also work around bug with moving
79334         full directory onto an empty one.
79335         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
79337         rename-dest-slash: merge into rename module
79338         * modules/rename-dest-slash (Status): Mark obsolete.
79339         (Depends-on): Add rename.
79340         (Files): Let rename do it all.
79341         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
79342         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
79343         * m4/rename-dest-slash.m4: ...so this file can be deleted.
79344         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
79345         * lib/rename.c (rpl_rename): Update comments.
79347         rename: fix cygwin 1.5.x bugs
79348         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
79349         * lib/rename.c (rpl_rename): Work around them.
79350         * modules/rename (Depends-on): Add same-inode.
79352         rename: fix Solaris 10 bug
79353         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79354         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
79355         was the only bug.
79357         rename: fix Solaris 9 bug
79358         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
79359         on non-directory.  Avoid calling exit.
79360         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
79361         strdup.
79362         * modules/rename-tests (Depends-on): Drop lstat.
79363         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
79364         (gl_PREREQ_RENAME): Delete unused macro.
79366         rename-dest-slash: fix NetBSD bug
79367         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
79368         links.
79369         * modules/rename-dest-slash (Depends-on): Add same-inode.
79371         rename-tests: new test, exposes several platform bugs
79372         * modules/rename-tests: New file.
79373         * tests/test-rename.h: Likewise.
79374         * tests/test-rename.c: Likewise.
79375         * doc/posix-functions/rename.texi (rename): Improve documentation,
79376         including bugs that will eventually be fixed in gnulib.
79378 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
79380         * lib/uname.c: Include <stdlib.h>
79381         (uname): Assume version info is available.
79383 2009-10-02  Jim Meyering  <meyering@redhat.com>
79385         gnu-web-doc-update: correct --help output
79386         * build-aux/gnu-web-doc-update: Make --help output relevant.
79388         gnu-web-doc-update: add standard options
79389         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
79391         gnu-web-doc-update: New module.
79392         Use this script to automatically update the on-line web documentation
79393         for your GNU project at http://www.gnu.org/software/$pkg/manual/
79394         * modules/gnu-web-doc-update: New file, from coreutils.
79395         * build-aux/gnu-web-doc-update: New script.
79397 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
79399         link: LoadLibrary is not needed.
79400         * lib/link.c: Use GetModuleHandle.
79402 2009-10-01  Eric Blake  <ebb9@byu.net>
79404         getopt: bump serial number
79405         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
79406         change.
79408         tests: tighten link, rmdir, and remove tests
79409         * tests/test-link.h (includes): No need to use <config.h> here.
79410         Clean up if directory hard link was created, otherwise test for
79411         trailing '.'.
79412         * tests/test-linkat.c (main): Simplify.
79413         * tests/test-remove.c (main): Enhance test for trailing '.'.
79414         * tests/test-rmdir.h (test_rmdir_func): Likewise.
79416 2009-10-01  Jim Meyering  <meyering@redhat.com>
79418         maint.mk: requiring "make major" was annoying, for a "minor" release.
79419         What is intended is "stable", to contrast with alpha and beta,
79420         so require "make stable", not "make major".
79421         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
79422         (get_tool_versions): Likewise.
79423         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
79425 2009-09-30  Ben Pfaff  <blp@gnu.org>
79427         Fix broken build of replacement for Windows tmpfile().
79428         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
79429         flags argument added along with the 'mkostemp' module.
79431 2009-09-28  Bruno Haible  <bruno@clisp.org>
79433         Avoid identifier clash with POSIX function 'remove' defined as a macro.
79434         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
79435         to 'remove_elt'.
79436         (gl_list_remove): Update.
79437         * lib/gl_list.c (gl_list_remove): Update.
79438         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
79439         to 'remove_elt'.
79440         (gl_oset_remove): Update.
79441         * lib/gl_list.c (gl_oset_remove): Update.
79442         Reported by Eric Blake.
79444 2009-09-28  Eric Blake  <ebb9@byu.net>
79446         doc: mention yet more cygwin 1.7 status
79447         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
79448         cygwin.
79449         * doc/glibc-functions/execvpe.texi (execvpe): New file.
79450         * doc/gnulib.texi (Glibc unistd.h): Mention it.
79452         argp: fix test failure
79453         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
79454         that are not upper-case.  Pass correct range to tolower.
79456 2009-09-27  Jim Meyering  <meyering@redhat.com>
79458         test-yesno: work around sparc-dash here-document infelicity
79459         Without this change, the literal \177 byte in a here document
79460         would make dash 0.5.5.1-3 access uninitialized memory.
79461         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
79462         Instead, use a marker, "@", and filter through tr to create the desired
79463         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
79465 2009-09-27  Bruno Haible  <bruno@clisp.org>
79467         Disable untested support for new flavours of ACLs on AIX.
79468         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
79469         progress.
79470         * lib/set-mode-acl.c (qset_acl): Likewise.
79472 2008-12-07  Bruno Haible  <bruno@clisp.org>
79474         Add support for new flavours of ACLs on AIX. (Untested.)
79475         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
79476         (file_has_acl): Add support for newer AIX.
79477         * lib/set-mode-acl.c (qset_acl): Likewise.
79478         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
79479         Rainer Tammer <tammer@tammer.net>.
79481 2009-09-26  Eric Blake  <ebb9@byu.net>
79483         argp: fix compilation of getopt
79484         * lib/getopt.in.h (includes): Use different guard than glibc.
79485         Reported by Sergey Poznyakoff.
79487         doc: mention more cygwin 1.7 status
79488         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
79489         bug.
79490         * doc/posix-functions/execl.texi (execl): Likewise.
79491         * doc/posix-functions/execle.texi (execle): Likewise.
79492         * doc/posix-functions/execlp.texi (execlp): Likewise.
79493         * doc/posix-functions/execv.texi (execv): Likewise.
79494         * doc/posix-functions/execve.texi (execve): Likewise.
79495         * doc/posix-functions/execvp.texi (execvp): Likewise.
79496         * doc/glibc-functions/canonicalize_file_name.texi
79497         (canonicalize_file_name): Cygwin 1.7 now provides this.
79498         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
79499         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
79500         on AT_SYMLINK_NOFOLLOW.
79502 2009-09-24  Eric Blake  <ebb9@byu.net>
79504         test-linkat: make test more robust
79505         * tests/test-linkat.c (main): Avoid collision with EEXIST.
79507         getopt: fix inclusion guards for cygwin
79508         * modules/getopt-posix (Depends-on): Add include-next.
79509         (Makefile.am): Substitute more items in replacement header.
79510         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
79511         <getopt.h>.
79512         * lib/getopt.in.h (includes): Use split inclusion guard, and
79513         prefer <getopt.h> over include <unistd.h> when one is present.
79514         (option): Also override name of 'struct option'.
79516         same-inode: revert prior change; it is not yet ready
79517         * NEWS: Undo mention of this change.
79518         * lib/same-inode.h (same-inode.h): Undo tri-state change.
79519         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79520         * lib/cycle-check.c (cycle_check): Likewise.
79521         * lib/same.c (same_name): Likewise.
79522         * lib/at-func2.c (at_func2): Likewise.
79524 2009-09-23  Eric Blake  <ebb9@byu.net>
79526         linkat: new module
79527         * modules/linkat: New file.
79528         * lib/at-func2.c (at_func2): Likewise.
79529         * lib/linkat.c (linkat): Likewise.
79530         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
79531         * lib/openat-priv.h (at_func2): Add declaration.
79532         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79533         * modules/unistd (Makefile.am): Substitute them.
79534         * lib/unistd.in.h (linkat): Declare it.
79535         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79536         * doc/posix-functions/linkat.texi (linkat): Likewise.
79537         * doc/posix-functions/link.texi (link): Tweak wording.
79538         * tests/test-link.c (main): Move guts...
79539         * tests/test-link.h (test_link): ...into new file.
79540         * modules/linkat-tests: New test.
79541         * tests/test-linkat.c: Likewise.
79542         * modules/link-tests (Files): Ship new file.
79543         (Depends-on): Add stdbool.
79545         dirname: add library-safe mdir_name
79546         * lib/dirname.h (mdir_name): New prototype.
79547         * lib/dirname.c (dir_name): Move guts...
79548         (mdir_name): ...to new function that avoids xalloc_die.
79550         fchdir: another mingw fix
79551         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
79552         * lib/fchdir.c (get_name): New helper method; skips canonicalize
79553         on mingw (where it has not yet been ported), and make it optional
79554         elsewhere.
79555         (_gl_register_fd): Use it.
79557         same-inode: make SAME_INODE tri-state, to port to mingw
79558         * NEWS: Mention this change.
79559         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
79560         st_ino always being 0.
79561         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
79562         * lib/cycle-check.c (cycle_check): Likewise.
79563         * lib/same.c (same_name): Likewise.
79565         lstat: avoid mingw compilation error
79566         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
79567         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
79568         lstat ourselves.
79569         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
79570         was adequate.
79571         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
79572         the checks for lstat.
79573         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
79575         link: fix test failure on Solaris 9
79576         * lib/link.c (rpl_link): Don't assume link will catch bogus
79577         trailing slash on source.
79579         test-symlinkat: enhance test
79580         * tests/test-readlink.c (main): Move guts...
79581         * tests/test-readlink.h (test_readlink): ...into new file.
79582         * tests/test-symlink.c (main): Move guts...
79583         * tests/test-symlink.h (test_symlink): ...into new file.
79584         * tests/test-symlinkat.c (main): Use new files for further
79585         coverage.
79586         (do_symlink, do_readlink): New helper functions.
79587         * modules/symlink-tests (Files): Ship new file.
79588         (Depends-on): Add stdbool.
79589         * modules/readlink-tests (Files): Ship new file.
79590         (Depends-on): Add stdbool.
79591         * modules/symlinkat-tests (Files): Use new files.
79593 2009-09-23  Eric Blake  <ebb9@byu.net>
79595         readlink: document portability issue with symlink length
79596         * doc/posix-functions/lstat.texi (lstat): Mention that some file
79597         systems have bogus st_size on symlinks, and mention the
79598         areadlink-with-size module.
79599         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
79600         * doc/posix-functions/readlink.texi (readlink): Mention the
79601         areadlink module, and ERANGE failure.
79602         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
79603         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
79605         readlink: fix Solaris 9 bug with trailing slash
79606         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
79607         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
79608         * doc/posix-functions/readlink.texi (readlink): Document this.
79609         * modules/readlink-tests: New test.
79610         * tests/test-readlink.c: Likewise.
79612         readlink: fix cygwin 1.5.x bug with return type
79613         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
79614         * lib/unistd.in.h (readlink): Use ssize_t.
79615         * lib/readlink.c (readlink): Likewise.
79616         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79617         * modules/unistd (Makefile.am): Substitute it.
79618         * lib/unistd.in.h (readlink): Declare replacement.
79619         * doc/posix-functions/readlink.texi (readlink): Document this.
79621         symlink: use throughout gnulib
79622         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
79623         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
79624         symlink is not used.
79625         * modules/symlinkat (Depends-on): Add symlink.
79626         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79627         * modules/canonicalize-tests (Depends-on): Likewise.
79628         * modules/lstat-tests (Depends-on): Likewise.
79629         * modules/openat-tests (Depends-on): Likewise.
79630         * modules/remove-tests (Depends-on): Likewise.
79631         * modules/rmdir-tests (Depends-on): Likewise.
79632         * modules/unlink-tests (Depends-on): Likewise.
79633         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
79634         * tests/test-canonicalize.c (symlink): Likewise.
79635         * tests/test-fstatat.c (symlink): Likewise.
79636         * tests/test-lstat.c (symlink): Likewise.
79637         * tests/test-remove.c (symlink): Likewise.
79638         * tests/test-rmdir.c (symlink): Likewise.
79639         * tests/test-unlink.c (symlink): Likewise.
79640         * tests/test-unlinkat.c (symlink): Likewise.
79642         symlink: new module, for Solaris 9 bug
79643         * modules/symlink: New file.
79644         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
79645         * lib/symlink.c: Likewise.
79646         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
79647         * modules/unistd (Makefile.am): Substitute them.
79648         * lib/unistd.in.h (symlink): Declare replacement.
79649         * MODULES.html.sh (File system functions): Mention it.
79650         * doc/posix-functions/symlink.texi (symlink): Likewise.
79651         * modules/symlink-tests: New test.
79652         * tests/test-symlink.c: Likewise.
79654 2009-09-23  Bruno Haible  <bruno@clisp.org>
79656         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
79657         when needed.
79658         Test case: gnulib-tool --import --with-tests atexit inttypes.
79659         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
79661 2009-09-23  Bruno Haible  <bruno@clisp.org>
79663         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
79664         subcommand, not in a subshell.
79666 2009-09-22  Eric Blake  <ebb9@byu.net>
79668         unistd: sort replacement declarations
79669         * lib/unistd.in.h: Sort declarations.
79671         open, openat: minor optimization
79672         * lib/open.c (open): If open succeeded, len is non-zero.
79673         * lib/openat.c (rpl_openat): Likewise.
79675         link-follow: ensure correct result
79676         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
79677         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
79678         distinguish between possible failures.
79680 2009-09-21  Eric Blake  <ebb9@byu.net>
79682         fts: avoid compiler warning
79683         * lib/fts.c (dirent_inode_sort_may_be_useful)
79684         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
79686 2009-09-19  Bruno Haible  <bruno@clisp.org>
79688         * lib/progreloc.c (canonicalize_file_name): New declaration.
79690 2009-09-19  Eric Blake  <ebb9@byu.net>
79692         link: fix quoting
79693         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
79695         openat: fix openat bugs on Solaris 9
79696         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
79697         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
79698         * modules/openat (Depends-on): Add open.
79699         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
79700         * modules/fcntl-h (Makefile.am): Substitute it.
79701         * lib/fcntl.in.h (openat): Declare replacement.
79702         * doc/posix-functions/openat.texi (openat): Document this.
79704         openat: move fstatat and unlinkat into correct files
79705         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
79706         compiled.
79707         * lib/openat.c (fstatat, unlinkat): Move...
79708         * lib/fstatat.c (fstatat): ...into correct files.
79709         * lib/unlinkat.c (unlinkat): Likewise.
79711         openat: fix unlinkat bugs on Solaris 9
79712         * lib/unlinkat.c (unlinkat): New file.
79713         * modules/openat (Depends-on): Add unlink.
79714         (Files): Distribute it.
79715         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
79716         trailing slash behavior is broken.
79717         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
79718         * modules/unistd (Makefile.am): Substitute it.
79719         * lib/unistd.in.h (unlinkat): Declare replacement.
79720         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
79722         openat: fix fstatat bugs on Solaris 9
79723         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
79724         stat.
79725         * doc/posix-functions/fstatat.texi (fstatat): Document this.
79727         test-unlinkat: enhance test, to expose Solaris 9 bug
79728         * tests/test-unlink.c (main): Factor guts...
79729         * tests/test-unlink.h (test_rmdir_func): ...into new file.
79730         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
79731         * tests/test-rmdir.c (main): Adjust caller.
79732         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
79733         (unlinker): New helper function.
79734         (rmdirat): Enhance check.
79735         * modules/rmdir-tests (Depends-on): Add stdbool.
79736         * modules/unlink-tests (Depends-on): Likewise.
79737         (Files): Add test-unlink.h.
79738         * modules/openat-tests (Files): Likewise.
79739         (Depends-on): Add unlinkdir.
79741         test-fstatat: new test, to expose Solaris 9 bugs
79742         * tests/test-stat.c (main): Factor guts...
79743         * tests/test-stat.h (test_stat_func): ...into new file.
79744         * tests/test-lstat.c (main): Factor guts...
79745         * tests/test-lstat.h (test_lstat_func): ...into new file.
79746         * tests/test-fstatat.c: New file.
79747         * modules/stat-tests (Files): Add test-stat.h.
79748         * modules/lstat-tests (Files): Add test-lstat.h.
79749         (Depends-on): Add stdbool.
79750         * modules/openat-tests (Depends-on): Add pathmax.
79751         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
79752         (Makefile.am): Run new test.
79754         remove: new module, for mingw and Solaris 9 bugs
79755         * modules/remove: New file.
79756         * lib/remove.c: Likewise.
79757         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
79758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
79759         * modules/stdio (Makefile.am): Use them.
79760         * lib/stdio.in.h (remove): Declare replacement.
79761         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79762         * doc/posix-functions/remove.texi (remove): Likewise.
79763         * modules/remove-tests: New test.
79764         * tests/test-remove.c: Likewise.
79766         unlink: new module, for Solaris 9 bug
79767         * modules/unlink: New file.
79768         * lib/unlink.c: Likewise.
79769         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
79770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
79771         * modules/unistd (Makefile.am): Use them.
79772         * lib/unistd.in.h (stat): Declare replacement.
79773         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79774         * doc/posix-functions/unlink.texi (unlink): Likewise.
79775         * modules/unlink-tests: New test.
79776         * tests/test-unlink.c: Likewise.
79778         lstat: fix Solaris 9 bug
79779         * lib/lstat.c (lstat): Also check for trailing slash on
79780         non-symlink, non-directories.  Use stat module to simplify logic.
79781         * doc/posix-functions/lstat.texi (lstat): Document it.
79782         * modules/lstat-tests (Depends-on): Add errno, same-inode.
79783         (configure.ac): Check for symlink.
79784         * tests/test-lstat.c (main): Add more tests.
79786         stat: add as dependency to other modules
79787         * modules/chown (Depends-on): Add stat.
79788         * modules/euidaccess (Depends-on): Likewise.
79789         * modules/fchdir (Depends-on): Likewise.
79790         * modules/isdir (Depends-on): Likewise.
79791         * modules/link (Depends-on): Likewise.
79792         * modules/lstat (Depends-on): Likewise.
79793         * modules/mkdir-p (Depends-on): Likewise.
79794         * modules/modechange (Depends-on): Likewise.
79795         * modules/open (Depends-on): Likewise.
79796         * modules/readlink (Depends-on): Likewise.
79797         * modules/same (Depends-on): Likewise.
79799         stat: fix Solaris 9 bug
79800         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
79801         slash.
79802         * lib/stat.c (rpl_stat): Work around it.
79803         * doc/posix-functions/stat.texi (stat): Update documentation.
79805         stat: new module, for mingw bug
79806         * modules/stat: New file.
79807         * lib/stat.c: Likewise.
79808         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
79809         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
79810         * modules/sys_stat (Makefile.am): Use them.
79811         * lib/sys_stat.in.h (stat): Declare replacement.
79812         * lib/openat.c (fstatat): Deal with lstat and stat being function
79813         macros.
79814         * modules/openat (Depends-on): Add inline.
79815         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
79816         * doc/posix-functions/stat.texi (stat): Likewise.
79817         * modules/stat-tests: New test.
79818         * tests/test-stat.c: Likewise.
79820 2009-09-19  Jim Meyering  <meyering@redhat.com>
79822         syntax-check: detect unnecessary inclusion of canonicalize.h
79823         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
79825 2009-09-19  Eric Blake  <ebb9@byu.net>
79827         canonicalize-lgpl: adjust clients to use correct header
79828         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79829         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
79830         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
79831         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
79832         * lib/progreloc.c (includes): Likewise.
79834 2009-09-19  Jim Meyering  <meyering@redhat.com>
79836         test-posixtm.c: correct a comment
79837         * tests/test-posixtm.c: Correct first-line comment.
79838         Spotted by Eric Blake.
79840 2009-09-16  Jim Meyering  <meyering@redhat.com>
79842         posixtm-tests: make T const-correct; add a test case
79843         * tests/test-posixtm.c (T): Declare const.
79844         Add a test for -(2^31+1).
79845         Remove useless can-succeed-only-in-2002 test.
79847         posixtm-tests: adjust the sole failing test
79848         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
79849         expected output matches what mktime now produces.  Cross-checked via
79850         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
79852         posixtm: move #ifdef'd tests into a new module
79853         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
79854         * tests/test-posixtm.c: ... this new file.
79855         * modules/posixtm-tests: New module.
79857 2009-09-19  Eric Blake  <ebb9@byu.net>
79859         openat: simplify use of at-func.c
79860         * lib/at-func.c (includes): Include prerequisites here, to
79861         simplify requirements on client files.
79862         * lib/openat-priv.h: Add double-inclusion guard.
79863         * lib/faccessat.c (includes): Simplify.
79864         * lib/fchmodat.c (includes): Likewise.
79865         * lib/fchownat.c (includes): Likewise.
79866         * lib/mkdirat.c (includes): Likewise.
79867         * lib/mkfifoat.c (includes): Likewise.
79868         * lib/symlinkat.c (includes): Likewise.
79870         openat: allow return of fd 0
79871         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
79872         * modules/save-cwd (Depends-on): Replace fcntl-safer with
79873         unistd-safer.
79874         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
79875         <fcntl.h>; this module does not leak fds.
79876         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
79877         must be allowed to return 0, leaving openat_safer to add the
79878         safety.
79879         (openat_permissive): Avoid writing to just-opened fd 2 if
79880         restoring the current directory fails.
79881         * lib/openat-die.c (openat_restore_fail): Add comment.
79882         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
79883         (save_cwd): Guarantee safe fd, but without use of open_safer.
79884         * tests/test-openat.c: New test.
79885         * modules/openat-tests (Files, Makefile.am): Distribute and build
79886         new file.
79888         relocatable-prog-wrapper: fix build
79889         * modules/relocatable-prog-wrapper (Files): Update name of
79890         canonicalize m4 file, broken on 2009-09-17.
79891         Reported by emad hajjar <aleppos@hotmail.com>.
79893 2009-09-19  Bruno Haible  <bruno@clisp.org>
79895         * lib/safe-alloc.h: Use the standard header with GPL copyright.
79896         * lib/safe-alloc.c: Likewise.
79897         Reported by Ian Beckwith <ianb@erislabs.net>.
79899 2009-09-18  Bruno Haible  <bruno@clisp.org>
79901         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
79902         Reported by <erobles@sensacd.com.mx>.
79904 2009-09-17  Eric Blake  <ebb9@byu.net>
79906         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
79907         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
79908         slashes when checking if last component is missing.
79909         * tests/test-canonicalize.c (main): Test this.
79911         canonicalize, canonicalize-lgpl: honor // if distinct from /
79912         * modules/canonicalize (Files): Add double-slash-root.m4.
79913         * modules/canonicalize-lgpl (Files): Likewise.
79914         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
79915         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
79916         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
79917         fallback definition.
79918         (canonicalize_filename_mode): Use it to protect //.
79919         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
79920         (__realpath): Likewise.
79921         * tests/test-canonicalize.c (main): Test this.
79922         * tests/test-canonicalize-lgpl.c (main): Likewise.
79923         * modules/canonicalize-tests (Depends-on): Add same-inode.
79924         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
79926         canonicalize-lgpl: fix glibc bug with trailing slash
79927         * m4/canonicalize-lgpl.m4: Move contents...
79928         * m4/canonicalize.m4: ...here.
79929         (gl_CANONICALIZE_LGPL): Factor realpath check...
79930         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
79931         glibc 2.3.5 bug, fixed 2005-04-27.
79932         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
79933         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
79934         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
79935         * modules/canonicalize-lgpl (Files): Manage file rename.
79936         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79937         * modules/stdlib (Makefile.am): Substitute witness.
79938         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
79939         is needed.
79940         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
79941         replacement is required.
79942         * lib/canonicalize.c (canonicalize_file_name): Likewise.
79943         * doc/glibc-functions/canonicalize_file_name.texi
79944         (canonicalize_file_name): Document this.
79945         * doc/posix-functions/realpath.texi (realpath): Likewise.
79947         canonicalize-lgpl: reject non-directory with trailing slash
79948         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
79949         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
79950         catches failures in glibc 2.3.5.
79951         * tests/test-canonicalize.c (main): Likewise.
79953         canonicalize-lgpl: use native realpath if it works
79954         * lib/canonicalize-lgpl.c (realpath): Guard with
79955         FUNC_REALPATH_WORKS.
79956         * lib/stdlib.in.h (realpath): Make declaration optional based on
79957         HAVE_REALPATH.
79958         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
79959         native realpath works.
79960         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
79961         * modules/stdlib (Makefile.am): Substitute witness.
79963         canonicalize, canonicalize-lgpl: use <stdlib.h>
79964         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
79965         (Include): Mention <stdlib.h>.
79966         (configure.ac): Mention functions we provide.
79967         * modules/canonicalize (configure.ac): Likewise.
79968         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
79969         realpath if canonicalize_file_name is missing.
79970         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
79971         * modules/stdlib (Makefile.am): Substitute witnesses.
79972         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
79973         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
79974         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
79975         * NEWS: Document this.
79976         * doc/glibc-functions/canonicalize_file_name.texi
79977         (canonicalize_file_name): Likewise.
79978         * doc/posix-functions/realpath.texi (realpath): Likewise.
79979         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
79981         test-canonicalize: consolidate into single C program
79982         * tests/test-canonicalize.sh: Delete; move setup into...
79983         * tests/test-canonicalize.c (main): ...the program, making it
79984         easier to run in debugger.  Add some tests.
79985         * modules/canonicalize-tests (Files): Remove unused file.
79986         (Depends-on): Add progname.
79987         (configure.ac, Makefile.am): Simplify.
79989         test-canonicalize-lgpl: consolidate into single C program
79990         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
79991         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
79992         easier to run in debugger.  Add some tests.
79993         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
79994         (configure.ac, Makefile.am): Simplify.
79996         canonicalize: avoid resolvepath
79997         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
79998         unnecessary checks.
79999         * lib/canonicalize.c (includes): Simplify.
80000         (canonicalize_file_name): Drop resolvepath implementation.
80001         * modules/canonicalize (Depends-on): Drop filenamecat.
80003         canonicalize: don't lose errno
80004         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
80005         over calls to free.
80007         canonicalize: simplify errno handling
80008         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
80009         assignment.
80011         canonicalize, canonicalize-lgpl: update module dependencies
80012         * modules/canonicalize (Depends-on): Add extensions, lstat,
80013         pathmax, stdlib.
80014         (Files): Drop pathmax.h.
80015         (configure.ac): Adjust macro name.
80016         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
80017         lstat, stdlib, sys_stat.
80018         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
80019         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
80020         extensions.
80021         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
80022         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
80023         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
80024         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
80025         declaration, if available.
80026         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
80027         we can rely on the readlink module.
80028         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
80029         (includes): Use <unistd.h> unconditionally.
80031 2009-09-17  Eric Blake  <ebb9@byu.net>
80033         maint: make Include sections of modules consistent
80034         * modules/alloca: Use only header name; no need to list #include.
80035         * modules/alloca-opt: Likewise.
80036         * modules/arpa_inet: Likewise.
80037         * modules/canon-host: Likewise.
80038         * modules/configmake: Likewise.
80039         * modules/dirent: Likewise.
80040         * modules/eealloc: Likewise.
80041         * modules/environ: Likewise.
80042         * modules/fchdir: Likewise.
80043         * modules/fcntl: Likewise.
80044         * modules/fcntl-h: Likewise.
80045         * modules/gethrxtime: Likewise.
80046         * modules/gettime: Likewise.
80047         * modules/ignore-value: Likewise.
80048         * modules/inet_ntop: Likewise.
80049         * modules/inet_pton: Likewise.
80050         * modules/inttypes: Likewise.
80051         * modules/isnand-nolibm: Likewise.
80052         * modules/isnanf-nolibm: Likewise.
80053         * modules/mbchar: Likewise.
80054         * modules/mbfile: Likewise.
80055         * modules/mbiter: Likewise.
80056         * modules/mbuiter: Likewise.
80057         * modules/netdb: Likewise.
80058         * modules/netinet_in: Likewise.
80059         * modules/nproc: Likewise.
80060         * modules/pagealign_alloc: Likewise.
80061         * modules/poll: Likewise.
80062         * modules/printf-frexp: Likewise.
80063         * modules/pthread: Likewise.
80064         * modules/putenv: Likewise.
80065         * modules/random_r: Likewise.
80066         * modules/relocatable-prog: Likewise.
80067         * modules/search: Likewise.
80068         * modules/select: Likewise.
80069         * modules/selinux-h: Likewise.
80070         * modules/settime: Likewise.
80071         * modules/signal: Likewise.
80072         * modules/size_max: Likewise.
80073         * modules/socklen: Likewise.
80074         * modules/ssize_t: Likewise.
80075         * modules/stdarg: Likewise.
80076         * modules/stdbool: Likewise.
80077         * modules/stddef: Likewise.
80078         * modules/stdint: Likewise.
80079         * modules/stdio: Likewise.
80080         * modules/stdlib: Likewise.
80081         * modules/string: Likewise.
80082         * modules/strings: Likewise.
80083         * modules/sys_file: Likewise.
80084         * modules/sys_ioctl: Likewise.
80085         * modules/sys_select: Likewise.
80086         * modules/sys_socket: Likewise.
80087         * modules/sys_stat: Likewise.
80088         * modules/sys_time: Likewise.
80089         * modules/sys_times: Likewise.
80090         * modules/sys_utsname: Likewise.
80091         * modules/sys_wait: Likewise.
80092         * modules/sysexits: Likewise.
80093         * modules/time: Likewise.
80094         * modules/times: Likewise.
80095         * modules/tmpfile: Likewise.
80096         * modules/trim: Likewise.
80097         * modules/unistd: Likewise.
80098         * modules/wchar: Likewise.
80099         * modules/wctype: Likewise.
80101 2009-09-17  Bruno Haible  <bruno@clisp.org>
80103         Make getdate.y compile on QNX and NetBSD 5 / i386.
80104         * m4/getdate.m4 (gl_GETDATE): Conditionally define
80105         TIME_T_FITS_IN_LONG_INT.
80106         * lib/getdate.y (long_time_t): New type.
80107         (relative_time): Change type of 'seconds' field to long_time_t.
80108         (get_date): Update types of local variables. Check against overflow
80109         during conversion from long_time_t to time_t.
80110         Reported by Matt Kraai <kraai@ftbfs.org>
80111         and Hasso Tepper <hasso@netbsd.org>.
80113 2009-09-17  Bruno Haible  <bruno@clisp.org>
80115         * modules/COPYING: Update copyright years.
80116         * modules/README: Likeiwse.
80117         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
80118         Reported by Ian Beckwith <ianb@erislabs.net>.
80120 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80122         * users.txt: Update references for gnuit package.
80124 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
80126         * m4/getdelim.m4: Fix typo in copyright line.
80128 2009-09-17  Bruno Haible  <bruno@clisp.org>
80130         * lib/atoll.c: Use the standard header with GPL copyright.
80131         * lib/argz.in.h: Likewise.
80132         * lib/glob.c: Likewise.
80133         * lib/glob-libc.h: Likewise.
80134         * lib/random_r.c: Likewise.
80135         * lib/siglist.h: Likewise.
80136         * lib/strsignal.c: Likewise.
80137         Reported by Ian Beckwith <ianb@erislabs.net>.
80139 2009-09-17  Eric Blake  <ebb9@byu.net>
80141         rmdir: ensure correct dependency order
80142         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
80144 2009-09-17  Bruno Haible  <bruno@clisp.org>
80146         Disable assertion that fails on NetBSD 5 / i386.
80147         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
80148         Reported by Sam Steingold <sds@gnu.org>
80149         and Hasso Tepper <hasso@netbsd.org>.
80151 2009-09-16  Eric Blake  <ebb9@byu.net>
80153         unlinkdir: port to mingw
80154         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
80155         on which no one can unlink a directory.
80157         stdlib: sort witness names
80158         * modules/stdlib (Makefile.am): Sort replacements.
80159         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
80160         * lib/stdlib.in.h: Likewise.
80162         parse-duration-tests: avoid link failure
80163         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
80164         LIBINTL.
80165         Reported by Tom G. Christensen.
80167         openat-tests: ensure unlinkat behaves like rmdir
80168         * tests/test-rmdir.c (main): Factor guts...
80169         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
80170         * modules/rmdir-tests (Files): Ship new file.
80171         * modules/openat-tests: New test.
80172         * tests/test-unlinkat.c: Likewise.
80174         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
80175         * modules/rmdir-errno (Status, Notice): Now obsolete.
80177         rmdir: work around cygwin 1.5.x and mingw bugs
80178         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
80179         * lib/rmdir.c (rmdir): Work around it.
80180         * modules/rmdir (Status, Notice): No longer obsolete.
80181         (Files): Add dos.m4.
80182         (Depends-on): Add unistd.
80183         (configure.ac): Set witnesses.
80184         (License): Relax to LGPLv2+.
80185         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
80186         * modules/unistd (Makefile.am): Substitute witnesses.
80187         * lib/unistd.in.h (rmdir): Declare replacement.
80188         * doc/posix-functions/rmdir.texi (rmdir): Document this.
80189         * modules/rmdir-tests: New tests.
80190         * tests/test-rmdir.c: Likewise.
80192 2009-09-15  Eric Blake  <ebb9@byu.net>
80194         fchdir: improve use of replacement functions
80195         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
80196         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
80197         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
80198         REPLACE_CLOSEDIR.
80199         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
80200         * modules/sys_stat (Makefile.am): Substitute correct witness.
80201         * modules/dirent (Makefile.am): Likewise.
80202         * modules/unistd (Makefile.am): Likewise.
80203         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
80204         * lib/unistd.in.h (dup): Likewise.
80205         * lib/sys_stat.in.h (fstat): Likewise.
80207         maint: ignore gnulib-tool temp files
80208         * .gitignore: Ignore files created during gnulib-tool --test.
80210 2009-09-13  Jim Meyering  <meyering@redhat.com>
80212         posixtm: don't reject a time that specify "60" as the number of seconds
80213         * lib/posixtm.c (posixtime): The code to reject invalid dates
80214         would also reject a time specified with the .60 suffix.
80215         But POSIX allows that, in order to accommodate leap seconds.
80216         So don't reject it.
80217         (main): Adjust tests accordingly.
80218         * modules/posixtm (Depends-on): Add stpcpy.
80220 2009-09-11  Jim Meyering  <meyering@redhat.com>
80222         announce-gen: include [$release_type] in emitted Subject:
80223         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
80224         e.g., [stable] in the emitted Subject: line.
80226 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80228         Remove obsolete macros from several modules.
80229         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
80230         obsolete Autoconf macros with their modern counterparts.
80231         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
80232         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
80233         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
80234         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
80235         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
80236         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
80237         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
80238         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
80239         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
80240         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
80241         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
80242         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
80243         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
80244         * m4/sockets.m4 (gl_SOCKETS): Likewise.
80245         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
80246         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
80247         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
80248         * m4/time_r.m4 (gl_TIME_R): Likewise.
80249         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
80250         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
80251         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
80253         Fix copyright header in build-aux scripts.
80254         * build-aux/git-version-gen: Fix copyright header to match GPLv3
80255         recommendation.
80256         * build-aux/ncftpput-ftp: Likewise.
80257         * build-aux/update-copyright: Likewise.
80259 2009-09-09  Eric Blake  <ebb9@byu.net>
80261         test-link: allow Linux choice of errno
80262         * tests/test-link.c (main): Relax test for alternate error.
80264         strndup: fix improper m4 caching
80265         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
80266         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
80267         (gl_PREREQ_STRNDUP): Delete.
80268         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
80269         * modules/string (Makefile.am): Substitute it.
80270         * lib/string.in.h (strndup): Modernize prototype.
80272         getcwd: port to mingw
80273         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
80274         different from the POSIX assumptions made throughout the getcwd
80275         module; fortunately, the mingw getcwd does not need replacement.
80276         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
80277         * modules/getcwd-tests: New test.
80278         * tests/test-getcwd.c: Likewise.
80280         link: fix platform bugs
80281         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
80282         * lib/link.c (link): Work around them.  Fix related mingw bug.
80283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
80284         * modules/unistd (Makefile.am): Substitute it.
80285         * lib/unistd.in.h (link): Declare replacement.
80286         * doc/posix-functions/link.texi (link): Document this.
80287         * modules/link (Depends-on): Add strdup-posix, sys_stat.
80289         test-link: consolidate into single C program, test more cases
80290         * tests/test-link.sh: Delete.
80291         * tests/test-link.c: Test more error conditions.  Exposes bugs on
80292         at least Cygwin and Solaris.
80293         * modules/link-tests (Files): Remove unused file.
80294         (Depends-on): Add errno, sys_stat.
80295         (Makefile.am): Simplify.
80297 2009-09-08  Bruno Haible  <bruno@clisp.org>
80299         Work around towlower, towupper bug on mingw.
80300         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
80301         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
80302         * doc/posix-functions/towlower.texi: Mention the mingw bug.
80303         * doc/posix-functions/towupper.texi: Likewise.
80304         Reported by Eric Blake.
80306 2009-09-08  Jim Meyering  <meyering@redhat.com>
80308         build: don't try to run autoheader if we don't use it
80309         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
80310         is not used in configure.ac.
80312 2009-09-08  Eric Blake  <ebb9@byu.net>
80314         euidaccess: fix compilation error
80315         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
80317         rawmemchr: relax license
80318         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
80319         okay.
80320         Reported by Jim Meyering.
80322         mkfifoat: new module
80323         * modules/mkfifoat: New file.
80324         * lib/mkfifoat.c: Likewise.
80325         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
80326         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
80327         * modules/sys_stat (Makefile.am): Use them.
80328         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
80329         * MODULES.html.sh (File system functions): Mention module.
80330         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
80331         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
80332         * modules/mkfifoat-tests: New test.
80333         * tests/test-mkfifoat.c: Likewise.
80335         strchrnul: relax license
80336         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
80337         okay.
80338         Reported by Jim Meyering.
80340 2009-09-08  Eric Blake  <ebb9@byu.net>
80342         fstatat: fix compilation on Solaris
80343         * lib/fstatat.c (includes): Add fcntl.h.
80344         Reported by Pádraig Brady.
80346 2009-09-07  Eric Blake  <ebb9@byu.net>
80348         rename: modernize replacement
80349         * modules/rename (Depends-on): Add stdio.
80350         (configure.ac): Declare witness.
80351         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
80352         stdio take care of replacement.
80353         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
80354         * modules/stdio (Makefile.am): Substitute them.
80355         * lib/stdio.in.h (rename): Declare replacement.
80356         * lib/rename.c (includes): Allow cross-compilation to non-windows
80357         machines.
80358         * doc/posix-functions/rename.texi (rename): Improve
80359         documentation.
80361         stdio: sort witness names
80362         * modules/stdio (Makefile.am): Sort replacements.
80363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
80364         * lib/stdio.in.h: Likewise.
80366         getcwd: minor cleanups
80367         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
80368         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
80370         openat: provide more convenience names
80371         * modules/faccessat (configure.ac): Add C witness.
80372         * lib/unistd.in.h (readlinkat): Fix typo.
80373         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
80374         convenience wrappers.
80375         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
80376         wrappers in syntax checks.
80378 2009-09-06  Eric Blake  <ebb9@byu.net>
80380         doc: fix comments in recent patches
80381         * lib/faccessat.c: Mention correct function.
80382         * lib/fchmodat.c: Likewise.
80383         * lib/fchownat.c: Likewise.
80384         * lib/symlinkat.c: Likewise.
80385         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
80386         constants.
80388         faccessat, symlinkat: continue cleanup of previous patch
80389         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
80390         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80391         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
80392         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
80393         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
80394         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
80395         set.
80397 2009-09-06  Bruno Haible  <bruno@clisp.org>
80399         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
80400         (fstatat): Declare if GNULIB_FSTATAT is set.
80401         (mkdirat): Declare if GNULIB_MKDIRAT is set.
80402         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
80403         (unlinkat): Declare if GNULIB_UNLINKAT is set.
80404         * modules/fcntl-h (Files): Remove m4/openat.m4.
80405         * modules/sys_stat (Files): Remove m4/openat.m4.
80406         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
80407         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
80408         * modules/unistd (Files): Remove m4/openat.m4.
80409         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
80410         GNULIB_OPENAT.
80411         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
80412         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
80413         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
80414         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
80415         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
80416         gl_OPENAT_DEFAULTS.
80417         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
80418         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
80419         Don't require gl_OPENAT_DEFAULTS.
80420         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
80421         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
80422         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
80423         (gl_OPENAT_DEFAULTS): Remove macro.
80425 2009-09-06  Bruno Haible  <bruno@clisp.org>
80427         * modules/openat (configure.ac): Remove unneeded witness.
80429 2009-09-06  Bruno Haible  <bruno@clisp.org>
80431         Set errno to ENOSYS when a function is entirely unsupported.
80432         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
80433         EOPNOTSUPP.
80434         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80435         * modules/chown (Depends-on): Remove errno.
80437 2009-09-06  Bruno Haible  <bruno@clisp.org>
80439         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
80441 2009-09-06  Bruno Haible  <bruno@clisp.org>
80443         * lib/sys_stat.in.h: Fix preprocessor command indentation.
80445 2009-09-06  Ben Pfaff  <blp@gnu.org>
80446             Bruno Haible  <bruno@clisp.org>
80448         Work around a glibc bug in strtok_r.
80449         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
80450         Undefine if UNDEFINE_STRTOK_R is set.
80451         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
80452         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
80453         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
80454         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
80455         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
80456         UNDEFINE_STRTOK_R.
80457         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
80459 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
80461         exclude: minor fix
80462         * lib/exclude.c: Include wctype.h
80464 2009-09-06  Akim Demaille  <demaille@gostai.com>
80466         bootstrap: improve error message
80467         * build-aux/bootstrap (find_tool): Upon failure, report the list
80468         of candidates.
80469         Honor the initial value of the envvar.
80471 2009-09-05  Eric Blake  <ebb9@byu.net>
80473         symlinkat: new module
80474         * modules/symlinkat: New file.
80475         * lib/symlinkat.c: Likewise.
80476         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
80477         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
80478         * modules/unistd (Makefile.am): Use them.
80479         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
80480         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
80481         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
80482         * MODULES.html.sh (File system functions): Mention module.
80483         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
80484         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
80485         * modules/symlinkat-tests: New test.
80486         * tests/test-symlinkat.c: Likewise.
80488         test-openat-safer: add more checks
80489         * tests/test-openat-safer.c (main): Check more code paths.
80491 2009-09-05  Jim Meyering  <meyering@redhat.com>
80493         syntax-check: detect unnecessary inclusion of openat.h
80494         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
80496 2009-09-05  Bruno Haible  <bruno@clisp.org>
80498         Support towlower, towupper.
80499         * doc/posix-functions/towlower.texi: Mention module wctype.
80500         * doc/posix-functions/towupper.texi: Likewise.
80501         * lib/wctype.in.h (towlower, towupper): New functions.
80502         * tests/test-wctype.c: Include stdio.h, stdlib.h.
80503         (ASSERT): New macro.
80504         (e): New variable.
80505         (main): Test also towlower, towupper. Test WEOF argument.
80506         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
80508 2009-09-05  Bruno Haible  <bruno@clisp.org>
80510         Fix conversion behaviour when the input is invalid.
80511         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
80512         mark occurring in first pass of indirect conversion.
80513         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
80514         input.
80515         Found by clang's static analyzer.
80517 2009-09-05  Bruno Haible  <bruno@clisp.org>
80519         * tests/test-striconveh.c (main): Test indirect conversion on platforms
80520         where direct conversion is possible.
80522 2009-09-04  Eric Blake  <ebb9@byu.net>
80524         openat: fail with ENOENT on empty name
80525         * lib/openat-proc.c (openat_proc_name): Special-case the empty
80526         buffer.
80528         link-follow: fix logic bug in prior patch
80529         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
80530         reversed sense of yes and no in prior patch.  Avoid confusing
80531         compilation failure with desired semantics.
80533         link-follow: accommodate mingw and cross-compilation
80534         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
80535         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
80536         cross-compilation results to -1, to make linkat easier to
80537         implement when cross-compiling.  Trivially support mingw.
80538         * modules/link-follow (configure.ac): Call new name.
80539         * NEWS: Mention this.
80541 2009-09-03  Eric Blake  <ebb9@byu.net>
80543         faccessat: compile replacement
80544         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
80545         needed.
80547         fts: fix compilation error
80548         * lib/fts.c (includes): Re-add "openat.h", for
80549         openat_needs_fchdir.
80551         faccessat: new module
80552         * modules/faccessat: New file.
80553         * lib/faccessat.c: Likewise.
80554         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
80555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
80556         * modules/unistd (Makefile.am): Use it.
80557         * lib/unistd.in.h (faccessat): Declare it.
80558         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
80559         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
80560         * MODULES.html.sh (File system functions): Mention it.
80561         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
80562         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
80564         euidaccess: prefer POSIX over non-standard implementation
80565         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
80566         * lib/euidaccess.c (euidaccess): Use it if available.
80568         openat: make template easier to use
80569         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
80570         AT_FUNC_F2 to be undefined.
80571         (VALIDATE_FLAG): New macro; use it to reject bad flags.
80572         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
80573         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
80574         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
80575         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
80576         Likewise.
80577         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
80578         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
80579         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
80580         Likewise.
80582         openat: declare in POSIX headers
80583         * NEWS: Mention this.
80584         * modules/openat (configure.ac): Declare witnesses.
80585         (Depends-on): Add fcntl-h, sys_stat, unistd.
80586         (Include): Mention correct headers.
80587         * modules/fcntl-h (Depends-on): Add link-warning.
80588         (Files): Add openat.m4.
80589         (Makefile.am): Substitute witnesses.
80590         * modules/sys_stat (Files, Makefile.am): Likewise.
80591         * modules/unistd (Files, Makefile.am): Likewise.
80592         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
80593         (gl_OPENAT_DEFAULTS): New macro.
80594         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
80595         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
80596         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
80597         (SYS_STAT_H): Remove unused variable.
80598         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
80599         * lib/fcntl--.h (includes): Remove unneeded header.
80600         * lib/openat-safer.c (includes): Likewise.
80601         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
80602         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
80603         appropriate headers.
80604         (__OPENAT_PREFIX): Delete.
80605         * lib/fcntl.in.h (openat): Provide declaration.
80606         (AT_FDCWD): Fix Solaris bug.
80607         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
80608         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
80609         * lib/fchmodat.c (includes):  Adjust to find declaration.
80610         * lib/fchownat.c (includes): Likewise.
80611         * lib/mkdirat.c (includes): Likewise.
80612         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
80613         still visible.
80615 2009-09-02  Eric Blake  <ebb9@byu.net>
80617         errno: use consistently
80618         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
80619         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
80620         * lib/canonicalize.c (ELOOP): Likewise.
80621         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
80622         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
80623         * lib/lchown.c (EOPNOTSUPP): Likewise.
80624         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
80625         * lib/savewd.c (ESTALE): Likewise.
80626         * lib/settime.c (ENOSYS): Likewise.
80627         * lib/utimens.c (ENOSYS): Likewise.
80628         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
80629         * lib/chdir-safer.c (ELOOP): Likewise.
80630         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
80631         * modules/c-stack (Depends-on): Add errno.
80632         * modules/canonicalize (Depends-on): Likewise.
80633         * modules/chdir-safer (Depends-on): Likewise.
80634         * modules/fdopendir (Depends-on): Likewise.
80635         * modules/inet_ntop (Depends-on): Likewise.
80636         * modules/inet_pton (Depends-on): Likewise.
80637         * modules/lchown (Depends-on): Likewise.
80638         * modules/openat (Depends-on): Likewise.
80639         * modules/savewd (Depends-on): Likewise.
80640         * modules/settime (Depends-on): Likewise.
80641         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
80643         fts: avoid leaking fds
80644         * modules/fts (Depends-on): Add cloexec.
80645         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
80646         flag.
80648         fts: make directory fds more robust
80649         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
80650         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
80652         backupfile, chdir-long, fts, savedir: make safer
80653         * lib/backupfile.c (includes): Use "dirent--.h", since
80654         numbered_backup can write to stderr during readdir.
80655         * lib/savedir.c (includes): Likewise.
80656         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
80657         emulation can write to stderr on failure.
80658         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
80659         * lib/getcwd.c: Document why opendir_safer is unused.
80660         * lib/glob.c: Likewise.
80661         * lib/scandir.c: Likewise.
80662         * lib/openat-proc.c: Likewise, for open_safer.
80663         * modules/backupfile (Depends-on): Add dirent-safer.
80664         * modules/savedir (Depends-on): Likewise.
80665         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
80666         * modules/chdir-long (Depends-on): Add openat-safer.
80668         openat-safer: new module
80669         * modules/openat-safer: New file.
80670         * lib/openat-safer.c: Likewise.
80671         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
80672         * lib/fcntl-safer.h (openat_safer): Declare.
80673         * lib/fcntl--.h (openat): Override.
80674         * MODULES.html.sh (File descriptor based I/O): Mention it.
80675         * lib/openat.h: Add double-inclusion guards.
80676         * lib/openat.c (includes): Only include "fcntl-safer.h", not
80677         "fcntl--.h", so we can implement openat.
80678         * modules/openat-safer-tests: New test.
80679         * tests/test-openat-safer.c: New file.
80681         dirent-safer: new module
80682         * modules/dirent-safer: New file.
80683         * lib/dirent--.h: Likewise.
80684         * lib/dirent-safer.h: Likewise.
80685         * lib/opendir-safer.c: Likewise.
80686         * m4/dirent-safer.m4: Likewise.
80687         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
80688         * modules/dirent-safer-tests: New test.
80689         * tests/test-dirent-safer.c: New file.
80690         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
80692         fdopendir: optimize on mingw
80693         * lib/unistd.in.h (_gl_directory_name): New prototype.
80694         * lib/fchdir.c (_gl_directory_name): Implement it.
80695         (fchdir): Use it to simplify implementation.
80696         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
80697         fchdir, when available, to avoid calling [f]chdir().
80699         fdopendir: split into its own module
80700         * lib/openat.c (fdopendir): Move...
80701         * lib/fdopendir.c: ...into new file.
80702         * modules/fdopendir: New module.
80703         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
80704         * modules/openat (Depends-on): Add fdopendir.
80705         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
80706         fdopendir here.
80707         * modules/savedir (Depends-on): Only need fdopendir, not full
80708         openat.
80709         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
80710         * lib/openat.h (fdopendir): Drop prototype.
80711         * lib/dirent.in.h (fdopendir): Provide prototype.
80712         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
80713         * modules/dirent (Makefile.am): Substitute them.
80714         * MODULES.html.sh (File system functions): Mention it.
80715         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
80716         * modules/fdopendir-tests: New file.
80717         * tests/test-fdopendir.c: Likewise.
80719         fchdir: use more consistent macro convention
80720         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
80721         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
80722         REPLACE_FCHDIR, rather than relying on config.h macros.
80723         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
80724         inside a single make-time REPLACE_FCHDIR block, rather than using
80725         the config.h FCHDIR_REPLACEMENT.
80726         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
80727         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
80728         Manage fstat replacement.
80729         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
80730         REPLACE_FCHDIR.
80731         * modules/sys_stat (Files): Add m4/unistd_h.m4.
80732         (Makefile.am): Substitute REPLACE_FCHDIR.
80733         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
80734         FCHDIR_REPLACEMENT.
80735         * lib/dup-safer.c (dup_safer): Likewise.
80736         * lib/dup2.c (rpl_dup2): Likewise.
80737         * lib/dup3.c (rpl_dup3): Likewise.
80738         * lib/open.c (rpl_open): Likewise.
80740         fchdir: simplify error handling, and support dup3
80741         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
80742         stdbool, malloc-posix, realloc-posix.
80743         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
80744         (ensure_dirs_slot): Return false on allocation failure.
80745         (rpl_dup2): Delete.
80746         (_gl_register_dup): New function.
80747         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
80748         (_gl_register_fd): Close fd on allocation failure.
80749         * lib/fcntl.in.h (_gl_register_fd): Update signature.
80750         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
80751         prototype.
80752         (rpl_dup2_fchdir): Delete prototype.
80753         * lib/open.c (open): Update caller.
80754         * lib/dup2.c (dup2): Track fchdir metadata.
80755         * lib/dup3.c (dup3): Likewise.
80756         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
80757         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
80759 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80761         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
80762         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
80763         don't pass arguments to AC_OUTPUT.
80765 2009-09-02  Bruno Haible  <bruno@clisp.org>
80767         * modules/mkdtemp (License): Relicense under LGPLv2+.
80768         Reported by Paolo Bonzini.
80770 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80772         Replace uses of obsolete autoconf macros in Jim's modules.
80773         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
80774         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
80775         can evoke a warning from autoconf when run with -Wobsolete
80776         enabled.  They were declared obsolete for good reasons (see
80777         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
80778         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
80779         should not continue using the deprecated macros.
80780         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
80781         obsolete Autoconf macros with modern counterparts.
80782         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80783         * m4/dos.m4 (gl_AC_DOS): Likewise.
80784         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
80785         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
80786         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
80787         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
80788         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
80789         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
80790         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
80791         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
80792         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
80793         Likewise.
80794         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
80795         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80796         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
80797         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
80798         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
80799         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80801 2009-09-01  Eric Blake  <ebb9@byu.net>
80803         fchdir: fix off-by-one bug in previous patch
80804         * lib/fchdir.c (rpl_fstat): Use correct bounds.
80805         (_gl_unregister_fd): Delete useless if.
80807 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
80809         maint.mk: sort the list of syntax-check rules
80810         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
80811         easier to get a sense of progress when the rules are run sequentially
80812         and take a long time.
80814 2009-09-01  Simon Josefsson  <simon@josefsson.org>
80816         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
80817         * modules/netinet_in: Likewise.
80818         * modules/sys_file: Likewise.
80819         * modules/sys_ioctl: Likewise.
80820         * modules/sys_select: Likewise.
80821         * modules/sys_socket: Likewise.
80822         * modules/sys_stat: Likewise.
80823         * modules/sys_time: Likewise.
80824         * modules/sys_times: Likewise.
80825         * modules/sys_utsname: Likewise.
80826         * modules/sys_wait: Likewise.
80828 2009-09-01  Jim Meyering  <meyering@redhat.com>
80830         fts: help ensure that return values are not ignored
80831         * lib/fts_.h (__GNUC_PREREQ): Define.
80832         (__attribute_warn_unused_result__): Define.
80833         (fts_children, fts_close, fts_open, fts_read): Declare with
80834         __attribute_warn_unused_result__.
80836         fts: fts_close now fails also when closing a dir file descriptor fails
80837         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
80838         and propagate to caller, along with errno.
80840         announce-gen: correct formatting in --help output
80841         * build-aux/announce-gen (usage): Move the one-line description in
80842         --help output "up", to where it belongs, just after Usage:.
80844 2009-08-31  Eric Blake  <ebb9@byu.net>
80846         fchdir: port to mingw
80847         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
80848         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
80849         opened, then use a substitute.
80850         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
80851         replacement.
80852         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
80853         (_gl_register_fd): No need to check stat if open already filters
80854         all directories.
80855         (fchdir): Fix error condition to match POSIX.
80856         * modules/fchdir (Depends-on): Add sys_stat.
80857         * doc/posix-functions/open.texi (open): Document the limitation.
80858         * modules/fchdir-tests: New file.
80859         * tests/test-fchdir.c: Likewise.
80861         canonicalize: allow cross-testing from cygwin to mingw
80862         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
80863         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
80864         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
80865         Likewise.
80866         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
80867         target does not support symlinks.
80868         * tests/test-canonicalize-lgpl.sh: Likewise.
80870         chown: avoid compilation warning on mingw
80871         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
80872         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
80873         mingw.
80874         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
80875         * modules/chown (Depends-on): Add errno.
80877 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
80879         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
80880         command.
80882 2009-08-31  Jim Meyering  <meyering@redhat.com>
80884         canonicalize: remove useless initialization
80885         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
80886         initialization of local, "end".
80888 2009-08-30  Bruno Haible  <bruno@clisp.org>
80890         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
80891         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
80892         ENOSYS.
80894 2009-08-30  Bruno Haible  <bruno@clisp.org>
80896         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
80897         /usr/xpg4/bin/tr when it exists.
80898         * tests/test-pipe-filter-gi1.sh: Likewise.
80900 2009-08-30  Bruno Haible  <bruno@clisp.org>
80902         Work around deficient /usr/bin/id program on Solaris.
80903         * tests/test-file-has-acl.sh (ID): New variable.
80904         * tests/test-set-mode-acl.sh (ID): Likewise.
80905         * tests/test-copy-acl.sh (ID): Likewise.
80906         * tests/test-copy-file.sh (ID): Likewise.
80908 2009-08-30  Bruno Haible  <bruno@clisp.org>
80910         New module 'xstriconveh'.
80911         * lib/xstriconveh.h: New file.
80912         * lib/xstriconveh.c: New file.
80913         * modules/xstriconveh: New file.
80915 2009-08-30  Bruno Haible  <bruno@clisp.org>
80917         Make it easier to use mem_cd_iconveh.
80918         * lib/striconveh.h (iconveh_t): New type.
80919         (iconveh_open, iconveh_close): New declarations.
80920         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80921         with a single 'const iconveh_t *' argument.
80922         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
80923         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
80924         with a single 'const iconveh_t *' argument.
80925         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
80926         * tests/test-striconveh.c (main): Update.
80927         * NEWS: Mention the change.
80929 2009-08-30  Bruno Haible  <bruno@clisp.org>
80931         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
80932         problem.
80934 2009-08-30  Bruno Haible  <bruno@clisp.org>
80936         Work around iconv_open problem on Solaris.
80937         * lib/iconv_open-solaris.gperf: New file.
80938         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
80939         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
80940         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
80941         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
80942         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
80943         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
80945 2009-08-29  Jim Meyering  <meyering@redhat.com>
80947         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
80948         * top/maint.mk (cvs-check): Remove target; it was just an alias
80949         to the better-named vc-diff-check.
80950         (maintainer-distcheck): Remove rule.  It was used only from
80951         the (alpha/beta/major) target, and all of its commands but one
80952         were coreutils-specific.
80953         (vc-dist): Remove rule.
80954         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
80955         Run vc-diff-check, not vc-dist.
80956         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
80958 2009-08-27  Bruno Haible  <bruno@clisp.org>
80960         * tests/test-bitrotate.c (main): Remove test that uses a shift count
80961         of 0.
80963 2009-08-27  Bruno Haible  <bruno@clisp.org>
80965         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
80966         compilers.
80967         * doc/func.texi: Document the SunPRO C bug.
80969 2009-08-27  Bruno Haible  <bruno@clisp.org>
80971         Fix link error on Solaris.
80972         * tests/test-parse-duration.c (xstrdup): Remove function.
80974 2009-08-26  Pádraig Brady  <P@draigbrady.com>
80976         ignore-value: handle pointer types, too
80977         * lib/ignore-value.h (__attribute__): Remove definition.
80978         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
80979         of a more concise and more-often effective "(void) i" statement.
80980         (ignore_ptr): New function to suppress warnings from functions that
80981         return pointers, and to make it explicit that one function doesn't
80982         handle all cases.
80984 2009-08-25  Bruno Haible  <bruno@clisp.org>
80986         dup2: work around a Linux bug.
80987         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
80988         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
80989         * doc/posix-functions/dup2.texi: Mention the Linux bug.
80990         Reported by Simon Josefsson.
80992 2009-08-25  Jim Meyering  <meyering@redhat.com>
80994         libguestfs uses gnulib
80995         * users.txt: Add libguestfs.
80997 2009-08-24  Eric Blake  <ebb9@byu.net>
80999         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
81000         * lib/pipe2.c (includes): Add binary-io.h.
81001         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
81003 2009-08-24  Bruno Haible  <bruno@clisp.org>
81005         Tolerate declared but missing accept4 syscall.
81006         * lib/accept4.c (accept4): Invoke original accept4 function first, if
81007         available.
81008         * lib/sys_socket.in.h (accept4): If the function is already present,
81009         override it.
81010         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
81011         * modules/accept4 (Makefile.am): Compile accept4.c always.
81012         Reported by Paolo Bonzini and Eric Blake.
81014 2009-08-23  Bruno Haible  <bruno@clisp.org>
81016         New module 'accept4'.
81017         * lib/sys_socket.in.h (accept4): New declaration.
81018         * lib/accept4.c: New file.
81019         * m4/accept4.m4: New file.
81020         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
81021         GNULIB_ACCEPT4, HAVE_ACCEPT4.
81022         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
81023         HAVE_ACCEPT4.
81024         * modules/accept4: New file.
81025         * doc/glibc-functions/accept4.texi: Mention the new module.
81027 2009-08-24  Jim Meyering  <meyering@redhat.com>
81029         progname: also set global program_invocation_name, when possible
81030         Before this change, a libtool-enabled program that calls glibc's
81031         error function would report the program name as
81032         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
81033         * modules/progname (configure.ac): Check for a declaration of
81034         program_invocation_name.
81035         * lib/progname.c:  Include <errno.h>.
81036         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
81037         Set program_invocation_name.
81039 2009-08-23  Bruno Haible  <bruno@clisp.org>
81041         * lib/dup3.c: Include <string.h>.
81043 2009-08-23  Bruno Haible  <bruno@clisp.org>
81045         * lib/dup3.c (dup3): Test only once whether the system actually exists.
81046         * lib/pipe2.c (pipe2): Likewise.
81047         Suggested by Eric Blake.
81049 2009-08-23  Bruno Haible  <bruno@clisp.org>
81051         Tolerate declared but missing dup3 syscall.
81052         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
81053         * lib/unistd.in.h (dup3): If the function is already present,
81054         override it.
81055         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
81056         * modules/dup3 (Makefile.am): Compile dup3.c always.
81057         Reported by Paolo Bonzini.
81059 2009-08-23  Bruno Haible  <bruno@clisp.org>
81061         Tolerate declared but missing pipe2 syscall.
81062         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
81063         available.
81064         * lib/unistd.in.h (pipe2): If the function is already present,
81065         override it.
81066         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
81067         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
81068         Reported by Paolo Bonzini.
81070 2009-08-23  Bruno Haible  <bruno@clisp.org>
81072         * lib/pipe2.c (pipe2): Move #ifs inside function.
81074 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81076         quotearg: document limitations of quote_these_too
81077         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
81078         those limitations are created.
81079         * lib/quotearg.h (set_char_quoting): Document that digits and
81080         letters that are special after backslash are not permitted.
81081         (quotearg_char): Cross-reference set_char_quoting documentation.
81083 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
81085         quotearg: implement custom_quoting_style
81086         * lib/quotearg.c: (struct quoting_options): Add left_quote and
81087         right_quote fields.
81088         (set_custom_quoting): New public function.
81089         (quotearg_buffer_restyled): Add left_quote and right_quote
81090         arguments, handle them very much like locale quoting, and update
81091         all uses.
81092         (quotearg_n_custom): New public function.
81093         (quotearg_n_custom_mem): New public function.
81094         (quotearg_custom): New public function.
81095         (quotearg_custom_mem): New public function.
81096         * lib/quotearg.h: Prototype and document new public functions.
81097         (enum quoting_style): For escape_quoting_style and
81098         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
81099         ignored even though they're otherwise like c_quoting_style.
81100         Add custom_quoting_style member and document with comparison to
81101         clocale_quoting_style.
81102         * tests/test-quotearg.c (custom_quotes): New array.
81103         (custom_results): New array.
81104         (main): Extend to test custom quoting.
81106 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81108         quotearg: fix right quote escaping when it's in quote_these_too
81109         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
81110         quote, be sure to prepend only one backslash.
81111         * tests/test-quotearg.c (use_quote_double_quotes): New function.
81112         (main): Test it.
81114 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
81116         quotearg-tests: test escaping of embedded locale quotes
81117         * tests/test-quotearg.c (struct result_strings): Add member for
81118         new input.
81119         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
81120         (inputs): Add new input.
81121         (results_g): Add expected results.
81122         (flag_results): Likewise.
81123         (locale_results): Likewise.
81124         (compare_strings): Check those.
81126 2009-08-23  Bruno Haible  <bruno@clisp.org>
81128         Tests for module 'dup3'.
81129         * modules/dup3-tests: New file.
81130         * tests/test-dup3.c: New file.
81132         New module 'dup3'.
81133         * lib/unistd.in.h (dup3): New declaration.
81134         * lib/dup3.c: New file.
81135         * m4/dup3.m4: New file.
81136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
81137         HAVE_DUP3.
81138         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
81139         * modules/dup3: New file.
81140         * doc/glibc-functions/dup3.texi: Mention the new module.
81142 2009-08-23  Bruno Haible  <bruno@clisp.org>
81144         Tweak the dup2 test.
81145         * tests/test-dup2.c (main): Create the test file empty. Verify that an
81146         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
81147         the test file is still empty. Fix argument order of lseek.
81149 2009-08-23  Bruno Haible  <bruno@clisp.org>
81151         Avoid test link errors when the modules getopt-gnu, gettext are used.
81152         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
81153         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81155 2009-08-23  Bruno Haible  <bruno@clisp.org>
81157         Fix getdtablesize() on mingw.
81158         * lib/getdtablesize.c (getdtablesize): Implement differently.
81159         * lib/unistd.in.h (getdtablesize): Improve comment.
81161 2009-08-23  Bruno Haible  <bruno@clisp.org>
81163         New module 'mkostemp'.
81164         Based on Ulrich Drepper's 2007-08-10 change in glibc.
81165         * lib/stdlib.in.h (mksotemp): New declaration.
81166         * lib/mkostemp.c: New file, from glibc with modifications.
81167         * lib/tempname.h (GT_FILE): Remove outdated comment.
81168         (gen_tempname): Add flags argument.
81169         * lib/tempname.c (__GT_BIGFILE): Remove macro.
81170         (__GT_FILE): Map to 1.
81171         (small_open, large_open): Remove macros.
81172         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
81173         * lib/mkstemp.c (mkstemp): Update.
81174         * lib/mkdtemp.c (mkdtemp): Likewise.
81175         * m4/mkostemp.m4: New file.
81176         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
81177         HAVE_MKOSTEMP.
81178         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
81179         HAVE_MKOSTEMP.
81180         * modules/mkostemp: New file, based on modules/mkstemp.
81181         * doc/glibc-functions/mkostemp.texi: Mention the new module.
81182         * NEWS: Mention the change.
81184 2009-08-23  Bruno Haible  <bruno@clisp.org>
81186         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
81187         Reported by Eric Blake.
81189 2009-08-23  Bruno Haible  <bruno@clisp.org>
81191         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
81192         Reported by Eric Blake.
81194 2009-08-23  Bruno Haible  <bruno@clisp.org>
81196         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
81197         * modules/pipe2 (Depends-on): Likewise.
81199 2009-08-23  Eric Blake  <ebb9@byu.net>
81201         fcntl-h: add O_TTY_INIT support
81202         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
81203         * tests/test-fcntl-h.c (o): Test it.
81204         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81206         fcntl-h: rename from fcntl, in preparation for fcntl(2)
81207         * modules/fcntl: Move <fcntl.h> header replacement...
81208         * modules/fcntl-h: ...to new name, so as not to collide with
81209         like-named function.
81210         * tests/test-fcntl.c: Rename...
81211         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
81212         * modules/fcntl-tests: Rename...
81213         * modules/fcntl-h-tests: ...to this.  Update test file name.
81214         * modules/chdir-long (Depends-on): Update clients.
81215         * modules/chdir-safer (Depends-on): Likewise.
81216         * modules/fcntl-safer (Depends-on): Likewise.
81217         * modules/fts (Depends-on): Likewise.
81218         * modules/mkancesdirs (Depends-on): Likewise.
81219         * modules/mkdir-p (Depends-on): Likewise.
81220         * modules/open (Depends-on): Likewise.
81221         * modules/savewd (Depends-on): Likewise.
81222         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
81223         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
81225 2009-08-22  Bruno Haible  <bruno@clisp.org>
81227         * modules/binary-io (License): Relicense under LGPL.
81228         * modules/pipe2 (License): Likewise.
81230 2009-08-22  Bruno Haible  <bruno@clisp.org>
81232         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
81233         return value.
81234         * lib/pipe-filter-gi.c (filter_init): Likewise.
81235         Reported by Eric Blake.
81237 2009-08-22  Bruno Haible  <bruno@clisp.org>
81239         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
81240         * modules/pipe (Depends-on): Add pipe2.
81242 2009-08-22  Bruno Haible  <bruno@clisp.org>
81244         Tests for module 'pipe2'.
81245         * modules/pipe2-tests: New file.
81246         * tests/test-pipe2.c: New file.
81248         New module 'pipe2'.
81249         * lib/unistd.in.h (pipe2): New declaration.
81250         * lib/pipe2.c: New file.
81251         * m4/pipe2.m4: New file.
81252         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
81253         HAVE_PIPE2.
81254         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
81255         * modules/pipe2: New file.
81256         * doc/glibc-functions/pipe2.texi: Mention the new module.
81258 2009-08-22  Bruno Haible  <bruno@clisp.org>
81260         Reference some new glibc functions.
81261         * doc/glibc-functions/accept4.texi: New file.
81262         * doc/glibc-functions/dup3.texi: New file.
81263         * doc/glibc-functions/mkostemp.texi: New file.
81264         * doc/glibc-functions/pipe2.texi: New file.
81265         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
81266         (Glibc sys/socket.h): Refer to accept4.
81267         (Glibc unistd.h): Refer to dup3, pipe2.
81268         Reported by Eric Blake.
81270 2009-08-22  Jim Meyering  <meyering@redhat.com>
81271             Bruno Haible  <bruno@clisp.org>
81273         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
81274         This makes it so packages using automake-1.11's silent-rules option
81275         can print e.g., a single "GEN    configmake.h" line, rather than
81276         the 30+ statements that perform the job.  If you want to see the
81277         actual commands, you can still run "make V=1".
81278         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
81279         so that make output is abbreviated when those variables are defined
81280         appropriately.
81281         * modules/argz: Likewise.
81282         * modules/arpa_inet: Likewise.
81283         * modules/byteswap: Likewise.
81284         * modules/configmake: Likewise.
81285         * modules/dirent: Likewise.
81286         * modules/errno: Likewise.
81287         * modules/fcntl: Likewise.
81288         * modules/float: Likewise.
81289         * modules/fnmatch: Likewise.
81290         * modules/getopt-posix: Likewise.
81291         * modules/glob: Likewise.
81292         * modules/iconv_open: Likewise.
81293         * modules/inttypes: Likewise.
81294         * modules/localcharset: Likewise.
81295         * modules/locale: Likewise.
81296         * modules/math: Likewise.
81297         * modules/netdb: Likewise.
81298         * modules/netinet_in: Likewise.
81299         * modules/poll: Likewise.
81300         * modules/posix_spawnp-tests: Likewise.
81301         * modules/sched: Likewise.
81302         * modules/search: Likewise.
81303         * modules/selinux-h: Likewise.
81304         * modules/signal: Likewise.
81305         * modules/spawn: Likewise.
81306         * modules/stdarg: Likewise.
81307         * modules/stdbool: Likewise.
81308         * modules/stddef: Likewise.
81309         * modules/stdint: Likewise.
81310         * modules/stdio: Likewise.
81311         * modules/stdlib: Likewise.
81312         * modules/string: Likewise.
81313         * modules/strings: Likewise.
81314         * modules/sys_file: Likewise.
81315         * modules/sys_ioctl: Likewise.
81316         * modules/sys_select: Likewise.
81317         * modules/sys_socket: Likewise.
81318         * modules/sys_stat: Likewise.
81319         * modules/sys_time: Likewise.
81320         * modules/sys_times: Likewise.
81321         * modules/sys_utsname: Likewise.
81322         * modules/sys_wait: Likewise.
81323         * modules/sysexits: Likewise.
81324         * modules/time: Likewise.
81325         * modules/unistd: Likewise.
81326         * modules/wchar: Likewise.
81327         * modules/wctype: Likewise.
81329 2009-08-22  Jim Meyering  <meyering@redhat.com>
81331         announce-gen: detect write failure
81332         * build-aux/announce-gen: Add Coda at end.
81333         Remove equivalent-but-more-verbose block at top.
81335 2009-08-19  Akim Demaille  <demaille@gostai.com>
81337         bootstrap: --help to stdout.
81338         * bootstrap (usage): Don't send --help to stderr.
81339         Use a here doc instead of a long string.
81341 2009-08-21  Eric Blake  <ebb9@byu.net>
81343         test-popen-safer: split from test-popen
81344         * tests/test-popen.c (main): Move...
81345         * tests/test-popen.h: ...into new file.
81346         * tests/test-popen-safer2.c: New file.
81347         * modules/popen-tests (Files): Add test-popen.h.
81348         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
81349         Suggested by Bruno Haible.
81351         test-fcntl-safer: split from test-open
81352         * tests/test-open.c (main): Move...
81353         * tests/test-open.h: ...into new file.
81354         * tests/test-fcntl-safer.c: New file.
81355         * modules/open-tests (Files): Add test-open.h.
81356         * modules/fcntl-safer-tests: New file.
81357         Suggested by Bruno Haible.
81359         test-fopen-safer: split from test-fopen
81360         * tests/test-fopen.c (main): Move...
81361         * tests/test-fopen.h: ...into new file.
81362         * tests/test-fopen-safer.c: New file.
81363         * modules/fopen-tests (Files): Add test-fopen.h.
81364         * modules/fopen-safer-tests: New file.
81365         Suggested by Bruno Haible.
81367 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81369         popen-safer: test O_CLOEXEC at run-time.
81370         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
81372 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
81374         fcntl: move more flags to the header
81375         * lib/cloexec.c: Do not define FD_CLOEXEC here.
81376         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
81377         * lib/fcntl.in.h: Do both things here.
81379 2009-08-21  Jim Meyering  <meyering@redhat.com>
81381         consistently remove $@-t before redirecting to it
81382         * modules/argz: Remove $@-t and $@ before redirecting to the former.
81383         * modules/alloca-opt: Likewise.
81384         * modules/byteswap: Likewise.
81385         * modules/fnmatch: Likewise.
81386         * modules/getopt-posix: Likewise.
81387         * modules/glob: Likewise.
81388         * modules/poll: Likewise.
81389         * modules/posix_spawnp-tests: Likewise.
81390         * modules/sys_socket: Likewise.
81391         * modules/sysexits: Likewise.
81393 2009-08-21  Eric Blake  <ebb9@byu.net>
81395         popen: simplify access to original popen
81396         * lib/popen.c (rpl_popen): No need to worry about popen being a
81397         macro.
81398         Reported by Bruno Haible.
81400 2009-08-20  Eric Blake  <ebb9@byu.net>
81402         build: avoid some compiler warnings
81403         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
81404         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
81405         type.
81406         (new_exclude_segment, excluded_file_pattern_p)
81407         (excluded_file_name_p): Reduce scope.
81408         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
81409         old-style declaration.
81411 2009-08-20  Simon Josefsson  <simon@josefsson.org>
81413         * tests/test-exclude1.sh: Handle Windows EOL.
81414         * tests/test-exclude2.sh: Likewise.
81415         * tests/test-exclude3.sh: Likewise.
81416         * tests/test-exclude4.sh: Likewise.
81417         * tests/test-exclude5.sh: Likewise.
81418         * tests/test-exclude6.sh: Likewise.
81419         * tests/test-exclude7.sh: Likewise.
81421 2009-08-19  Akim Demaille  <demaille@gostai.com>
81423         bootstrap: find sha1sum when named gsha1sum.
81424         * bootstrap (find_tool): New.
81425         ($SHA1SUM): New.
81426         Use it.
81428 2009-08-20  Jim Meyering  <meyering@redhat.com>
81430         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
81431         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
81432         expression that converts "." in a file name to "\." in the resulting
81433         regexp.  Start with a dummy statement, so that prior shell variable
81434         definitions are expanded portably.  Reported by Simon Josefsson.
81436 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
81438         Fix polling for writeability of a screen buffer.
81439         * lib/poll.c: Distinguish input and screen buffers for the
81440         Win32 implementation.
81441         * lib/select.c: Likewise.
81443 2009-08-19  Eric Blake  <ebb9@byu.net>
81445         popen-safer: prevent popen from clobbering std descriptors
81446         * modules/popen-safer: New file.
81447         * lib/popen-safer.c: Likewise.
81448         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
81449         * lib/stdio--.h (popen): Provide override.
81450         * lib/stdio-safer.h (popen_safer): Provide declaration.
81451         * tests/test-popen.c (includes): Partially test this.
81452         * modules/popen-safer-tests: New file, for more tests.
81453         * tests/test-popen-safer.c: Likewise.
81454         * MODULES.html.sh (file stream based Input/Output): Mention it.
81456         tests: test some of the *-safer modules
81457         * modules/fopen-safer (Depends-on): Add fopen.
81458         * modules/fcntl-safer (Depends-on): Add fcntl.
81459         * modules/stdlib-safer (Depends-on): Add stdlib.
81460         (configure.ac): Set indicator.
81461         * modules/unistd-safer (configure.ac): Likewise.
81462         * modules/tmpfile-safer (configure.ac): Likewise.
81463         (Depends-on): Add tmpfile.
81464         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
81465         active.
81466         * tests/test-fopen.c (includes): Test safer versions when they are
81467         in use.
81468         * tests/test-open.c (includes): Likewise.
81470         popen: fix cygwin 1.5 bug when stdin closed
81471         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
81472         * modules/popen: New file.
81473         * modules/popen-tests: Likewise.
81474         * tests/test-popen.c: Likewise.
81475         * m4/popen.m4: Likewise.
81476         * lib/popen.c: Likewise.
81477         * lib/stdio.in.h (popen): New declaration.
81478         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
81479         * modules/stdio (Makefile.am): Likewise.
81480         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
81482 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
81484         maint.mk: give full control over update-copyright exclusions
81485         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
81486         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
81487         (update-copyright): Don't force inclusion of top-level
81488         ChangeLog.  Don't force exclusion of all COPYING files, but make
81489         them the default exclusion instead.
81491 2009-08-16  Bruno Haible  <bruno@clisp.org>
81493         Fix test failures on Solaris 10.
81494         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
81495         tests when Solaris iconv() is used.
81496         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
81497         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
81498         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
81499         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
81500         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
81502 2009-08-16  Bruno Haible  <bruno@clisp.org>
81504         Fix test failures on Solaris 10.
81505         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
81506         'tr' program and pass it as first argument.
81507         * tests/test-pipe-filter-gi1.sh: Likewise.
81508         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
81509         program as first argument.
81510         * tests/test-pipe-filter-gi1.c (main): Likewise.
81512 2009-08-16  Eric Blake  <ebb9@byu.net>
81514         fpurge: fix previous commits
81515         * modules/fpurge (Makefile.am): Make replacement conditional,
81516         partially reverting 2007-04-29 change; missed in previous
81517         attempt.
81518         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
81519         is missing.
81521 2009-08-16  Bruno Haible  <bruno@clisp.org>
81523         Clarify fpurge's effect on the file position.
81524         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
81525         * tests/test-fpurge.c (main): Make a second pass for checking the file
81526         position.
81528 2009-08-16  Bruno Haible  <bruno@clisp.org>
81530         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
81531         declaration of fpurge is missing.
81532         * tests/test-fpurge.c (main): Check that the file has not more contents
81533         than expected. Close the file before removing it.
81535 2009-08-15  Eric Blake  <ebb9@byu.net>
81537         fpurge: don't wrap working cygwin implementation
81538         * lib/fpurge.c (fpurge): Fix comment typo.
81539         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
81540         1.7 to avoid replacement.
81541         * tests/test-fpurge.c (main): Enhance test.
81543 2009-08-15  Eric Blake  <ebb9@byu.net>
81544         and Jim Meyering  <meyering@redhat.com>
81546         test-update-copyright: skip if perl is insufficient
81547         * tests/test-update-copyright.sh: Failure to run maintainer tool
81548         should not cause testsuite failure on cygwin 1.5.
81550 2009-08-14  Eric Blake  <ebb9@byu.net>
81552         doc: mention more functions added in cygwin 1.7.0
81553         * doc/posix-headers/limits.texi (limits.h): Update for recent
81554         cygwin additions.
81555         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
81556         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
81557         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
81558         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
81559         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
81561 2009-08-14  Eric Blake  <ebb9@byu.net>
81563         maint.mk: simplify update-copyright rule
81564         * top/maint.mk (update-copyright-local): Delete, and document how
81565         to do it in cfg.mk instead.
81566         (update-copyright-exclude-regexp): Delete, and document how to do
81567         it in .x-update-copyright instead.
81568         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
81569         exclude ChangeLog.
81571 2009-08-14  Bruno Haible  <bruno@clisp.org>
81573         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
81575 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81577         maint.mk: support update-copyright-env
81578         * top/maint.mk (update-copyright-env): Define place-holder.
81579         (update-copyright): Expand $(update-copyright-env) before
81580         invoking update-copyright.
81582 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81584         update-copyright: implement forced reformatting
81585         * build-aux/update-copyright: Implement and document
81586         UPDATE_COPYRIGHT_FORCE.
81587         * tests/test-update-copyright.sh: Test it.
81589 2009-08-14  Eric Blake  <ebb9@byu.net>
81590         and Bruno Haible  <bruno@clisp.org>
81592         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
81593         * tests/test-locale.c: Revert previous patch related to NULL.
81594         * tests/test-stdio.c: Likewise.
81595         * tests/test-stdlib.c: Likewise.
81596         * tests/test-string.c: Likewise.
81597         * tests/test-unistd.c: Likewise.
81598         * modules/time-tests (Depends-on): Add verify.
81599         * modules/wchar-tests (Depends-on): Likewise.
81600         * tests/test-time.c: Test for NULL compliance.
81601         * tests/test-wchar.c: Likewise.
81602         * modules/locale (Depends-on): Add stddef.
81603         * modules/stdio (Depends-on): Likewise.
81604         * modules/stdlib (Depends-on): Likewise.
81605         * modules/string (Depends-on): Likewise.
81606         * modules/time (Depends-on): Likewise.
81607         * modules/unistd (Depends-on): Likewise.
81608         * modules/wchar (Depends-on): Likewise.
81609         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
81610         * lib/stdlib.in.h (includes): Likewise.
81611         * lib/string.in.h (includes): Likewise.
81612         * lib/time.in.h (includes): Likewise.
81613         * lib/unistd.in.h (includes): Likewise.
81614         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
81615         replaced.
81616         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
81617         * m4/stddef_h.m4: New file.
81618         * modules/stddef: Likewise.
81619         * lib/stddef.in.h: Likewise.
81620         * modules/stddef-tests: Likewise.
81621         * tests/test-stddef.c: Likewise.
81622         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
81623         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
81624         * doc/posix-headers/locale.texi (locale.h): Likewise.
81625         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
81626         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
81627         * doc/posix-headers/string.texi (string.h): Likewise.
81628         * doc/posix-headers/time.texi (time.h): Likewise.
81629         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
81630         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
81632 2009-08-14  Eric Blake  <ebb9@byu.net>
81634         doc: improve git diff of texinfo files
81635         * .gitattributes: Add rule for *.texi files, with hint on how to
81636         use it.
81637         Copied from m4, and based on a report by Bruno Haible.
81639 2009-08-14  Bruno Haible  <bruno@clisp.org>
81641         Disable multithread support by default on Cygwin 1.5.x for real.
81642         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
81644 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
81646         update-copyright: much ado about intervals
81647         * build-aux/update-copyright: Implement and document
81648         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
81649         of copyright year intervals.
81650         Also, document UPDATE_COPYRIGHT_YEAR.
81651         * tests/test-update-copyright.sh: Test it.
81653         update-copyright: convert 2-digit to 4-digit years
81654         * build-aux/update-copyright: Implement and document.
81655         * tests/test-update-copyright.sh: Update.
81657 2009-08-14  Jim Meyering  <meyering@redhat.com>
81659         test-exclude: avoid coreutils "make check" failure
81660         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
81661         just as in test-argmatch.c.
81663 2009-08-13  Eric Blake  <ebb9@byu.net>
81665         test-dup2: fix bad assumption
81666         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
81667         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
81669         test-version-etc: fix CRLF portability issue
81670         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
81671         recognize \r.
81672         * tests/test-argp-version-etc-1.sh: Likewise.
81674         getopt: update client modules
81675         * modules/argp (Depends-on): Use getopt-gnu.
81676         * modules/git-merge-changelog (Depends-on): Likewise.
81677         * modules/long-options (Depends-on): Likewise.
81678         * modules/xstrtol (Depends-on): Likewise.
81680 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81682         * tests/test-version-etc.sh: Don't fail on different
81683         project/version.  Don't fail on CRLF differences.  Rewrite to use
81684         multiple -e instead of multiple sed forks, suggested by Eric Blake
81685         <ebb9@byu.net>.
81686         * tests/test-argp-version-etc-1.sh: Likewise.
81688 2009-08-13  Simon Josefsson  <simon@josefsson.org>
81690         * tests/test-version-etc.sh: Don't fail on different
81691         project/version.
81693 2009-08-12  Bruno Haible  <bruno@clisp.org>
81695         Tests for modules 'getopt-posix', 'getopt-gnu'.
81696         * modules/getopt-posix-tests: New file.
81697         * tests/test-getopt.c: New file.
81698         * tests/test-getopt.h: New file.
81699         * tests/test-getopt_long.h: New file.
81701         New modules 'getopt-posix', 'getopt-gnu'.
81702         * modules/getopt-gnu: New file, renamed from modules/getopt.
81703         * modules/getopt-posix: New file.
81704         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
81705         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
81706         (gl_GETOPT): Remove macro.
81707         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
81708         Disable the test against BSD systems that declare optreset. Test
81709         against mingw bug. Test against lack of support of optional arguments
81710         on many platforms.
81711         * doc/glibc-headers/getopt.texi: Update module name and list of
81712         relevant platforms.
81713         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
81714         'getopt-gnu' and more portability problems.
81715         * NEWS: Mention the changes.
81717 2009-08-12  Bruno Haible  <bruno@clisp.org>
81719         Ensure that optarg etc. get declared by <unistd.h>.
81720         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
81721         AC_USE_SYSTEM_EXTENSIONS.
81722         * modules/getopt (Depends-on): Add 'extensions'.
81724 2009-08-12  Bruno Haible  <bruno@clisp.org>
81726         Avoid test link errors.
81727         * modules/pipe-filter-ii-tests (Makefile.am): Define
81728         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
81729         * modules/pipe-filter-gi-tests (Makefile.am): Define
81730         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
81731         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81733 2009-08-12  Bruno Haible  <bruno@clisp.org>
81735         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
81736         gl_GETOPT_SUBSTITUTE before.
81737         (gl_GETOPT): Use it.
81738         * m4/argp.m4 (gl_ARGP): Update.
81739         Reported by Sergey Poznyakoff.
81741         * m4/getopt.m4: Reorder macros.
81742         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
81743         (gl_GETOPT_SUBSTITUTE): Remove macro.
81745 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81747         Minor improvement in gitlog-to-changelog
81749         * build-aux/gitlog-to-changelog: New option `--format' makes
81750         output format string configurable.
81752 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
81754         Optimize exclude: use hash tables for non-wildcard patterns.
81756         * lib/exclude.c: Include hash.h and mbuiter.h
81757         (struct exclude_pattern, exclude_segment): New data types.
81758         (struct exclude): Rewrite.
81759         (fnmatch_pattern_has_wildcards): New function.
81760         (new_exclude_segment, free_exclude_segment): New functions.
81761         (excluded_file_pattern_p, excluded_file_name_p): New functions.
81762         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
81763         * lib/exclude.h (is_fnmatch_pattern): New prototype.
81764         * modules/exclude: Depend on hash and mbuiter.
81766         * modules/exclude-tests: New file.
81767         * tests/test-exclude.c: New file.
81768         * tests/test-exclude1.sh: New file.
81769         * tests/test-exclude2.sh: New file.
81770         * tests/test-exclude3.sh: New file.
81771         * tests/test-exclude4.sh: New file.
81772         * tests/test-exclude5.sh: New file.
81773         * tests/test-exclude6.sh: New file.
81774         * tests/test-exclude7.sh: New file.
81776 2009-08-12  Bruno Haible  <bruno@clisp.org>
81778         Ensure that getopt() gets declared by <unistd.h>.
81779         * lib/unistd.in.h: Conditionally include getopt.h.
81780         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
81781         Set GNULIB_UNISTD_H_GETOPT.
81782         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81783         GNULIB_UNISTD_H_GETOPT.
81784         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
81786 2009-08-12  Bruno Haible  <bruno@clisp.org>
81788         Clarify logic.
81789         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
81790         gl_replace_getopt instead of GETOPT_H.
81792 2009-08-12  Bruno Haible  <bruno@clisp.org>
81794         * m4/getopt.m4: Add comments.
81796 2009-08-12  Bruno Haible  <bruno@clisp.org>
81798         Disable multithread support by default on Cygwin 1.5.x.
81799         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
81800         set gl_use_threads=no if not specified otherwise.
81802 2009-08-11  Bruno Haible  <bruno@clisp.org>
81804         Avoid compilation error on NetBSD 5.0.
81805         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
81806         * tests/test-stdio.c: Likewise.
81807         * tests/test-stdlib.c: Likewise.
81808         * tests/test-string.c: Likewise.
81809         * tests/test-unistd.c: Likewise.
81810         Reported by Greg Troxel <gdt@ir.bbn.com>
81811         at <https://savannah.gnu.org/support/?106973>.
81813 2009-08-11  Bruno Haible  <bruno@clisp.org>
81815         * modules/dup2-tests (Depends-on): Remove close.
81817         Undo 2009-07-19 commit.
81818         * modules/acl-tests (Depends-on): Remove close.
81819         * modules/binary-io-tests (Depends-on): Likewise.
81820         * modules/closein-tests (Depends-on): Likewise.
81821         * modules/flock-tests (Depends-on): Likewise.
81822         * modules/fsync-tests (Depends-on): Likewise.
81823         * modules/lseek-tests (Depends-on): Likewise.
81824         * modules/pipe-tests (Depends-on): Likewise.
81825         * modules/posix_spawn-tests (Depends-on): Likewise.
81826         * modules/posix_spawnp-tests (Depends-on): Likewise.
81827         * modules/stat-time-tests (Depends-on): Likewise.
81828         * modules/yesno-tests (Depends-on): Likewise.
81830 2009-08-10  Bruno Haible  <bruno@clisp.org>
81832         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
81834 2009-08-10  Bruno Haible  <bruno@clisp.org>
81836         Fix a gcc warning.
81837         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
81839 2009-08-10  Bruno Haible  <bruno@clisp.org>
81841         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
81842         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
81843         not only the first time.
81844         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
81845         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
81846         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
81847         is 1, not only the first time.
81849 2009-08-10  Bruno Haible  <bruno@clisp.org>
81851         Make it possible to use module 'gethostname' without module 'close'.
81852         * lib/unistd.in.h (close): Evoke a link error only if
81853         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
81855         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81856         * modules/unistd (Makefile.am): Substitute
81857         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81858         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
81859         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
81860         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
81861         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81862         * modules/sys_ioctl (Makefile.am): Substitute
81863         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81864         * modules/socket (configure.ac): On native Windows, set
81865         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
81866         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
81867         Reported by Sam Steingold <sds@gnu.org>.
81869 2009-08-10  Bruno Haible  <bruno@clisp.org>
81871         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
81872         * modules/ioctl (configure.ac): Likewise.
81874 2009-08-10  Bruno Haible  <bruno@clisp.org>
81876         Avoid collision between gnulib wrapper and libintl wrapper.
81877         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
81878         already defined in intl/printf.c.
81879         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
81880         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
81882 2009-08-09  Bruno Haible  <bruno@clisp.org>
81884         Make <sys/select.h> really self-contained, also on Solaris 10.
81885         * lib/sys_select.in.h: Include <string.h>.
81886         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
81887         Solaris 10 problem.
81888         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
81889         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
81890         Reported by Jim Meyering.
81892 2009-08-09  Bruno Haible  <bruno@clisp.org>
81894         Avoid warnings from 'aclocal' that are due to a use of macro name
81895         AM_XGETTEXT_OPTION that is not defined in automake.
81896         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
81897         automake.
81898         * modules/error (configure.ac): Likewise.
81899         * modules/propername (configure.ac): Likewise.
81900         * modules/vasprintf (configure.ac): Likewise.
81901         * modules/verror (configure.ac): Likewise.
81902         * modules/xprintf (configure.ac): Likewise.
81903         * modules/xvasprintf (configure.ac): Likewise.
81905 2009-08-08  Bruno Haible  <bruno@clisp.org>
81907         Avoid compilation error in C++ mode.
81908         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
81909         Reported by Sam Steingold <sds@gnu.org>.
81911 2009-08-08  Bruno Haible  <bruno@clisp.org>
81913         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
81914         for the various Unix platforms.
81915         * doc/posix-headers/limits.texi: Update platforms list regarding
81916         HOST_NAME_MAX.
81917         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
81919 2009-08-07  Jim Meyering  <meyering@redhat.com>
81921         selinux-at: fix typo in a comment
81922         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
81923         Spotted by Paolo Bonzini.
81925         selinux-at: remove redundant m4 code, add documentation
81926         * modules/selinux-at (configure.ac): Remove redundant code.
81927         LIB_SELINUX is already set via the dependent module, selinux-h.
81928         (Include): Add quotes around selinux-at.h.
81929         * lib/selinux-at.h: Add documentation.
81930         Reported by Bruno Haible in
81931         http://marc.info/?l=gnulib-bug&m=124958988300749
81933 2009-08-07  Bruno Haible  <bruno@clisp.org>
81935         Avoid link error on MacOS X 10.3 and 10.4.
81936         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
81937         on non-ELF systems.
81938         * lib/argp-pv.c (argp_program_version): Likewise.
81939         Reported by Simon Josefsson.
81941 2009-08-07  Simon Josefsson  <simon@josefsson.org>
81943         * tests/test-version-etc.sh: Use $EXEEXT.
81945 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
81947         update-copyright: update documentation to point to maint.mk
81948         * build-aux/update-copyright: Here.
81950 2009-08-06  Jim Meyering  <meyering@redhat.com>
81952         maint.mk: support update-copyright-local
81953         * top/maint.mk (update-copyright-local): Define place-holder.
81954         (update-copyright): Depend on $(update-copyright-local).
81956 2009-08-06  Jim Meyering  <meyering@redhat.com>
81958         selinux-at: new module
81959         Initially written for coreutils, this module will soon be
81960         used by findutils, too.
81961         * MODULES.html.sh [Misc]: Add selinux-at.
81962         * lib/selinux-at.h: New file, from coreutils.
81963         * lib/selinux-at.c: Likewise.
81964         * modules/selinux-at: Likewise.
81965         (License): Change from LGPL to GPL, since it depends
81966         on the GPL'd openat module.
81968         doc: update README
81969         * README: Remove references to cogito.
81970         Remove cvs-repo-updating instructions from 2007.
81971         Don't imply that CVS is better if you have limited disk space.
81973 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81975         update-copyright: support C-style comments
81976         * build-aux/update-copyright: Implement and document.
81977         * tests/test-update-copyright.sh: Test.
81979 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81981         update-copyright: support omitted "(C)"
81982         * build-aux/update-copyright: Implement and document.  Also,
81983         allow variable whitespace before "(C)".
81984         * tests/test-update-copyright.sh: Test.
81986 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81988         update-copyright: don't trip on non-FSF copyright statements
81989         * build-aux/update-copyright: Fix so that the first correctly
81990         formatted FSF copyright statement is recognized no matter what
81991         appears before it.  Update documentation.
81992         * tests/test-update-copyright.sh: Test that.
81994 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
81996         update-copyright: clean up code a little
81997         * build-aux/update-copyright: Append "_re" to the name of any
81998         variable holding a regular expression.
81999         Replace "old" and "new" with "stmt" in variable names.
82000         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
82001         handled correctly.
82002         Format code more consistently.
82004 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
82006         update-copyright-tests: improve portability
82007         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
82008         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
82010 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82012         update-copyright: support @copyright{} and &copy;
82013         * build-aux/update-copyright: Implement and document.
82014         * tests/test-update-copyright.sh: Test.
82016 2009-08-04  Jim Meyering  <meyering@redhat.com>
82018         update-copyright-tests: correctly test EOL=\r\n handling
82019         * tests/test-update-copyright.sh: Put \r at the end of some lines
82020         for the dos-eol tests.  Based on a patch by Joel E. Denny.
82022         maint.mk: make update-copyright exclusion list more configurable
82023         * top/maint.mk (update-copyright): Default to excluding COPYING,
82024         but allow an override, in case someone does want to update that file.
82026         maint.mk: don't update copyright date in COPYING
82027         * top/maint.mk (update-copyright): Exclude COPYING.
82029         maint.mk: add a copyright-updating rule
82030         * top/maint.mk (update-copyright): New rule.
82031         Derived from coreutils/Makefile.am.
82033         update-copyright: rename some variables
82034         * build-aux/update-copyright: Rename a few variables for clarity.
82035         Tweak syntax.  List Joel E. Denny as coauthor.
82037 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
82039         update-copyright: fix bug for 2-digit last year and add tests
82040         * build-aux/update-copyright: Fix bug.
82041         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
82042         specified.
82043         * modules/update-copyright-tests: New
82044         * tests/test-update-copyright.sh: New.
82046 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82048         update-copyright: handle leading tabs in line prefix
82049         * build-aux/update-copyright: Count leading tabs as 8 spaces
82050         when computing margin.  This helps with the formatting of
82051         ChangeLogs, for example.
82052         Fix documentation a little.
82054 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82056         update-copyright: support EOL=\r\n
82057         * build-aux/update-copyright: Implement that.
82059 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
82061         update-copyright: automatically format copyright statements
82062         * build-aux/update-copyright: Implement that.
82063         Also, be a little more predictable and safer by always failing
82064         when the full copyright format is not perfectly recognized as an
82065         unbroken whole.  Discussed at
82066         <http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
82067         Rewrite documentation.
82069 2009-08-03  Bruno Haible  <bruno@clisp.org>
82071         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
82073 2009-08-02  Bruno Haible  <bruno@clisp.org>
82075         Tests for module 'uname'.
82076         * modules/uname-tests: New file.
82077         * tests/test-uname.c: New file.
82079         New module 'uname'.
82080         * lib/uname.c: New file.
82081         * m4/uname.m4: New file.
82082         * modules/uname: New file.
82083         * doc/posix-functions/uname.texi: Mention the new module.
82085 2009-08-02  Bruno Haible  <bruno@clisp.org>
82087         Tests for module 'sys_utsname'.
82088         * modules/sys_utsname-tests: New file.
82089         * tests/test-sys_utsname.c: New file.
82091         New module 'sys_utsname'.
82092         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
82093         * m4/sys_utsname_h.m4: New file.
82094         * modules/sys_utsname: New file.
82095         * doc/posix-headers/sys_utsname.texi: Mention the new module.
82097 2009-08-02  Bruno Haible  <bruno@clisp.org>
82099         Implicitly initialize the sockets library.
82100         * lib/gethostname.c: Include sockets.h.
82101         (rpl_gethostname): Invoke gl_sockets_startup.
82102         * lib/socket.c: Include sockets.h.
82103         (rpl_socket): Invoke gl_sockets_startup.
82104         * modules/gethostname (Depends-on): Add sockets.
82105         * modules/socket (Depends-on): Likewise.
82106         * tests/test-poll.c: Don't include sockets.h.
82107         (main): Don't invoke gl_sockets_startup.
82108         * tests/test-select.c: Don't include sockets.h.
82109         (main): Don't invoke gl_sockets_startup.
82111 2009-08-02  Bruno Haible  <bruno@clisp.org>
82113         Allow multiple calls to gl_sockets_startup.
82114         * lib/sockets.c (initialized_sockets_version): New variable.
82115         (gl_sockets_startup): Do nothing if already called for this or a higher
82116         version.
82117         (gl_sockets_cleanup): Reset initialized_sockets_version.
82119 2009-08-03  Simon Josefsson  <simon@josefsson.org>
82121         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
82122         different project/version.
82124 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
82125             Bruno Haible  <bruno@clisp.org>
82127         Tests for module 'pipe-filter-gi'.
82128         * modules/pipe-filter-gi-tests: New file.
82129         * tests/test-pipe-filter-gi1.sh: New file.
82130         * tests/test-pipe-filter-gi1.c: New file.
82131         * tests/test-pipe-filter-gi2.sh: New file.
82132         * tests/test-pipe-filter-gi2-main.c: New file.
82133         * tests/test-pipe-filter-gi2-child.c: New file.
82135         New module 'pipe-filter-gi'.
82136         * lib/pipe-filter-gi.c: New file.
82137         * modules/pipe-filter-gi: New file.
82139 2009-08-02  Bruno Haible  <bruno@clisp.org>
82140             Paolo Bonzini  <bonzini@gnu.org>
82142         Tests for module 'pipe-filter-ii'.
82143         * modules/pipe-filter-ii-tests: New file.
82144         * tests/test-pipe-filter-ii1.sh: New file.
82145         * tests/test-pipe-filter-ii1.c: New file.
82146         * tests/test-pipe-filter-ii2.sh: New file.
82147         * tests/test-pipe-filter-ii2-main.c: New file.
82148         * tests/test-pipe-filter-ii2-child.c: New file.
82150         New module 'pipe-filter-ii'.
82151         * lib/pipe-filter.h: New file.
82152         * lib/pipe-filter-ii.c: New file.
82153         * lib/pipe-filter-aux.h: New file.
82154         * modules/pipe-filter-ii: New file.
82156 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82158         * lib/gc-libgcrypt.c: Change copyright to FSF.
82159         * lib/gc-gnulib.c: Likewise.
82161 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
82163         * lib/gethostname.c: Include limits.h.
82165 2009-08-02  Simon Josefsson  <simon@josefsson.org>
82166             Bruno Haible  <bruno@clisp.org>
82168         Ensure HOST_NAME_MAX as part of the gethostname module.
82169         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
82170         define also HOST_NAME_MAX.
82171         * tests/test-gethostname.c: Include <limits.h>.
82172         (main): Check also HOST_NAME_MAX.
82173         * doc/posix-headers/limits.texi: Document the mingw problem.
82175 2009-08-02  Bruno Haible  <bruno@clisp.org>
82177         * lib/gethostname.c (gethostname): Fix handling of large len argument.
82178         Add comments.
82180 2009-03-31  Simon Josefsson  <simon@josefsson.org>
82182         * lib/gethostname.c: Add Windows wrapper.
82183         * m4/gethostname.m4: Look for gethostname in -lws2_32.
82184         * modules/gethostname: Depend on sys_socket & errno, for also
82185         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
82186         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
82188 2009-07-31  Jim Meyering  <meyering@redhat.com>
82190         getloadavg: fix symbol name in comment
82191         * lib/getloadavg.c: Correct a typo I introduced when adding
82192         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
82193         Matt Kraai spotted the problem.
82195 2009-07-29  Matt Kraai  <mkraai@beckman.com>
82197         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
82198         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
82199         code also if ! defined N_NAME_POINTER.
82200         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
82201         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
82202         but the n_name member is a 12-byte array.
82204 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
82206         update-copyright: generalize comment handling
82207         * build-aux/update-copyright: Handle copyright statements
82208         within more comment styles.
82209         Document usage.
82210         Report any file with an external copyright holder or parse failure.
82212 2009-07-29  Jim Meyering  <meyering@redhat.com>
82214         mktime: correct setting of REPLACE_MKTIME
82215         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
82217         update-copyright: new module
82218         * modules/update-copyright: New file.
82219         * build-aux/update-copyright: New file.
82220         * MODULES.html.sh (maint+release support): Add update-copyright.
82222 2009-07-27  Bruno Haible  <bruno@clisp.org>
82224         Fix compilation error when <ctime> is used and mktime is replaced.
82225         * lib/time.in.h (mktime): New declaration.
82226         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
82227         REPLACE_MKTIME instead of defining mktime in config.h.
82228         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
82229         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
82230         Reported by Ross McFarland <rwmcfa1@neces.com>.
82232 2009-07-27  Bruno Haible  <bruno@clisp.org>
82234         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
82235         Reported by Matt Kraai <mkraai@beckman.com>.
82237 2009-07-25  Jim Meyering  <meyering@redhat.com>
82239         maint.mk: avoid warnings about missing files
82240         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
82241         diagnostic when .prev-version does not exist.
82242         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
82243         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
82244         nonexistent cfg.mk.
82245         Suggestions from Simon Josefsson.
82247 2009-07-25  Bruno Haible  <bruno@clisp.org>
82249         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
82250         defined as macros. Needed on QNX 6.4.1.
82251         Reported by Matt Kraai <mkraai@beckman.com>.
82253 2009-07-23  Jim Meyering  <meyering@redhat.com>
82255         maint.mk: invoke "make dist" with a working value of XZ_OPT
82256         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
82258 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
82260         Make fseeko.c compile on QNX.
82261         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
82263 2009-07-22  Peter Simons  <simons@cryp.to>
82265         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
82266         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
82267         * lib/md4.h: Likewise.
82268         * lib/md5.h: Likewise.
82269         * lib/sha1.h: Likewise.
82270         * lib/sha256.h: Likewise.
82271         * lib/sha512.h: Likewise.
82273         tests-sha1: don't assign literal string to 'char *' variable
82274         * tests/test-sha1.c (main): Declare locals with "const" to match
82275         attributes of the right hand side.
82277 2009-07-21  Eric Blake  <ebb9@byu.net>
82279         dup2: fix more mingw problems
82280         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
82281         fd to itself.
82282         * doc/posix-functions/dup2.texi (dup2): Document the bug.
82283         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
82284         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
82285         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
82286         care of mingw bugs.
82288 2009-07-21  Jim Meyering  <meyering@redhat.com>
82290         vc-list-files: avoid failure when /bin/sh is dash
82291         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
82292         On some Debian based systems, /bin/sh is a symlink to dash, and running
82293         this command would omit the "/" following each 'tests' prefix:
82294           dash -x build-aux/vc-list-files -C . tests
82295         That is because bash and dash work differently:
82296           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
82297           bash ok
82298           dash odd
82300 2009-07-21  Eric Blake  <ebb9@byu.net>
82302         dup2-tests: test previous patch
82303         * modules/dup2-tests: New file.
82304         * tests/test-dup2.c: Likewise.
82305         * tests/test-open.c (main): Avoid unspecified behavior.
82306         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
82307         test.
82309         dup2: work around mingw and cygwin 1.5 bug
82310         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
82311         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
82312         * modules/unistd (Makefile.am): Substitute it.
82313         * lib/unistd.in.h (dup2): Declare the replacement.
82314         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
82315         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
82316         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
82317         * modules/execute (Depends-on): Add dup2.
82318         * modules/fseterr (Depends-on): Likewise.
82319         * modules/pipe (Depends-on): Likewise.
82320         * modules/posix_spawn-internal (Depends-on): Likewise.
82322 2009-07-21  Bruno Haible  <bruno@clisp.org>
82324         * modules/.gitattributes: New file.
82326 2009-07-20  Bruno Haible  <bruno@clisp.org>
82328         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
82329         (main): Use it.
82331 2009-07-20  Eric Blake  <ebb9@byu.net>
82333         test-pipe: make a bit more robust.
82334         * tests/test-pipe.c (myerr): Allow error messages regardless of
82335         what we do to stderr.
82336         (test_pipe): Rearrange to avoid deadlock.
82337         (child_main): Try a larger read, to ensure we avoided deadlock.
82338         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
82339         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
82340         if misused.
82342 2009-07-19  Jim Meyering  <meyering@redhat.com>
82344         fts: avoid false-positive cycle-detection
82345         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
82346         for each new command line argument.
82348 2009-07-19  Bruno Haible  <bruno@clisp.org>
82350         Fix build error on mingw with the modules sys_select and unistd.
82351         * modules/acl-tests (Depends-on): Add close.
82352         * modules/binary-io-tests (Depends-on): Likewise.
82353         * modules/closein-tests (Depends-on): Likewise.
82354         * modules/flock-tests (Depends-on): Likewise.
82355         * modules/fsync-tests (Depends-on): Likewise.
82356         * modules/lseek-tests (Depends-on): Likewise.
82357         * modules/pipe-tests (Depends-on): Likewise.
82358         * modules/posix_spawn-tests (Depends-on): Likewise.
82359         * modules/posix_spawnp-tests (Depends-on): Likewise.
82360         * modules/stat-time-tests (Depends-on): Likewise.
82361         * modules/yesno-tests (Depends-on): Likewise.
82363 2009-07-19  Bruno Haible  <bruno@clisp.org>
82365         Unify conditionals.
82366         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
82367         macros, not at the compiler macros.
82368         * lib/pipe.c: Likewise.
82369         * lib/execute.c: Likewise.
82370         * lib/spawni.c: Likewise.
82372 2009-07-19  Bruno Haible  <bruno@clisp.org>
82374         Fix handling of closed stdin/stdout/stderr on mingw.
82375         * lib/w32spawn.h: Include unistd.h.
82376         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
82377         file descriptor with O_NOINHERIT flag.
82378         (fd_safer_noinherit): New function, based on fd-safer.c.
82379         (dup_safer_noinherit): New function, based on dup-safer.c.
82380         (undup_safer_noinherit): New function.
82381         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
82382         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
82383         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
82384         instead of fd_safer.
82385         * tests/test-pipe.c: Include <windows.h>.
82386         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
82387         result.
82389         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
82390         from main.
82391         (test_pipe): Pass an extra argument for disambiguation.
82392         (main): Invoke parent_main or child_main.
82394         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
82395         consistently.
82397 2009-07-18  Eric Blake  <ebb9@byu.net>
82399         test-pipe: fix mingw build
82400         * tests/test-pipe.c (main): Avoid fcntl on mingw.
82402 2009-07-18  Bruno Haible  <bruno@clisp.org>
82404         * modules/pipe-tests (Makefile.am): Fix typo.
82406 2009-07-18  Eric Blake  <ebb9@byu.net>
82408         error: fix mingw build
82409         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
82410         Reported by Bruno Haible.
82412         error: avoid undefined use of stdout
82413         * lib/error.c (error, error_at_line): Check that fd 1 is open
82414         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
82415         is handling faults and the close_stdout module wants to report the
82416         detection of closed stdout as an error.
82418 2009-07-17  Eric Blake  <ebb9@byu.net>
82420         pipe: be robust in face of closed fds
82421         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
82422         should cause child to misbehave.
82423         * modules/pipe-tests: New module.
82424         * tests/test-pipe.c: New file.
82425         * tests/test-pipe.sh: New file.
82426         Reported by Akim Demaille.
82428 2009-07-14  Bruno Haible  <bruno@clisp.org>
82430         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
82431         Reported by anonymous kc.
82433 2009-07-07  Jim Meyering  <meyering@redhat.com>
82435         maint.mk: don't look for translatable strings in *.m4 or *.mk
82436         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
82437         when searching for translatable strings.
82439 2009-07-05  Jim Meyering  <meyering@redhat.com>
82441         remove superfluous parentheses in STREQ definition
82442         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
82443         * lib/getugroups.c (STREQ): Likewise.
82444         * lib/fnmatch.c (STREQ): Likewise.
82445         Spotted by Bruno Haible.
82447 2009-07-04  Jim Meyering  <meyering@redhat.com>
82449         argv-iter: new module
82450         * MODULES.html.sh: Add argv-iter.
82451         * lib/argv-iter.c, lib/argv-iter.h: New files.
82452         * modules/argv-iter: New file.
82453         * modules/argv-iter-tests: New file.
82454         * tests/test-argv-iter.c: Test it.
82456 2009-07-04  Bruno Haible  <bruno@clisp.org>
82458         Fix assertion.
82459         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
82460         contains more exact copies of a given entry than file2, leave the extra
82461         copies unpaired rather than aborting.
82462         Reported by Eric Blake.
82464 2009-07-02  Bruno Haible  <bruno@clisp.org>
82466         Speedup git-merge-changelog for git cherry-pick.
82467         * lib/git-merge-changelog.c (struct entries_mapping): New type.
82468         (entries_mapping_get): New function, extracted from compute_mapping.
82469         (entries_mapping_reverse_get): New function.
82470         (compute_mapping): Add a 'full' argument. Return the result in a
82471         'struct entries_mapping'.
82472         (main): Update. Access the mappings through entries_mapping_get.
82473         Reported by Eric Blake.
82475 2009-07-02  Bruno Haible  <bruno@clisp.org>
82477         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
82478         best_i.
82480 2009-07-02  Bruno Haible  <bruno@clisp.org>
82482         Speed up approximate search for matching ChangeLog entries.
82483         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
82484         argument. Call fstrcmp_bounded instead of fstrcmp.
82485         (compute_mapping, try_split_merged_entry, main): Update callers.
82487 2009-07-02  Bruno Haible  <bruno@clisp.org>
82489         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
82491 2009-06-30  Bruno Haible  <bruno@clisp.org>
82493         Reduce the number of uc_is_cased calls.
82494         * lib/unicase.h (casing_suffix_context_t): Add
82495         'first_char_except_ignorable' field.
82496         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
82497         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
82498         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
82499         Update initializer.
82500         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
82501         case-ignorable characters.
82502         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
82503         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
82504         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
82505         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
82506         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
82508 2009-06-30  Bruno Haible  <bruno@clisp.org>
82510         Tests for module 'unicase/ignorable'.
82511         * modules/unicase/ignorable-tests: New file.
82512         * tests/unicase/test-ignorable.c: New file, generated by
82513         gen-uni-tables.
82515         Tests for module 'unicase/cased'.
82516         * modules/unicase/cased-tests: New file.
82517         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
82518         * tests/unicase/test-predicate-part1.h: New file, derived from
82519         tests/unictype/test-predicate-part1.h.
82520         * tests/unicase/test-predicate-part2.h: New file, same as
82521         tests/unictype/test-predicate-part2.h.
82523         Fix evaluation of "Before C" condition of FINAL_SIGMA.
82524         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
82525         (output_casing_properties): New function.
82526         (main): Call it.
82527         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
82528         * lib/unicase/cased.c: Include unictype/bitmap.h.
82529         (uc_is_cased): Define through a bitmap lookup.
82530         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
82531         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
82532         (uc_is_case_ignorable): Define through a bitmap lookup.
82533         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
82534         lib/unictype/bitmap.h.
82535         (Depends-on): Add inline. Clean up.
82536         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
82537         lib/unictype/bitmap.h.
82538         (Depends-on): Add inline. Clean up.
82539         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
82540         recognition.
82541         * tests/unicase/test-u16-tolower.c (main): Likewise.
82542         * tests/unicase/test-u32-tolower.c (main): Likewise.
82544 2009-06-30  Bruno Haible  <bruno@clisp.org>
82546         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
82547         * lib/unicase/u16-casemap.c: Likewise.
82548         * lib/unicase/u32-casemap.c: Likewise.
82550 2009-06-29  Bruno Haible  <bruno@clisp.org>
82552         Define u32_casefold as a wrapper around u32_ct_casefold.
82553         * lib/unicase/u32-casefold.c: Update.
82554         * modules/unicase/u32-casefold (Depends-on): Add
82555         unicase/u32-ct-casefold, unicase/empty-prefix-context,
82556         unicase/empty-suffix-context. Clean up.
82558         Define u16_casefold as a wrapper around u16_ct_casefold.
82559         * lib/unicase/u16-casefold.c: Update.
82560         * modules/unicase/u16-casefold (Depends-on): Add
82561         unicase/u16-ct-casefold, unicase/empty-prefix-context,
82562         unicase/empty-suffix-context. Clean up.
82564         Define u8_casefold as a wrapper around u8_ct_casefold.
82565         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
82566         * lib/unicase/u8-casefold.c: Update.
82567         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
82568         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82570         Define u32_totitle as a wrapper around u32_ct_totitle.
82571         * lib/unicase/u32-totitle.c: Update.
82572         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
82573         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82575         Define u16_totitle as a wrapper around u16_ct_totitle.
82576         * lib/unicase/u16-totitle.c: Update.
82577         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
82578         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82580         Define u8_totitle as a wrapper around u8_ct_totitle.
82581         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
82582         functions.
82583         (FUNC): Delegate to U_CT_TOTITLE.
82584         * lib/unicase/u8-totitle.c: Update.
82585         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
82586         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
82588         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
82589         invocation.
82590         * modules/unicase/u32-tolower (Depends-on): Add
82591         unicase/empty-prefix-context, unicase/empty-suffix-context.
82593         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
82594         invocation.
82595         * modules/unicase/u16-tolower (Depends-on): Add
82596         unicase/empty-prefix-context, unicase/empty-suffix-context.
82598         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
82599         * modules/unicase/u8-tolower (Depends-on): Add
82600         unicase/empty-prefix-context, unicase/empty-suffix-context.
82602         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
82603         invocation.
82604         * modules/unicase/u32-toupper (Depends-on): Add
82605         unicase/empty-prefix-context, unicase/empty-suffix-context.
82607         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
82608         invocation.
82609         * modules/unicase/u16-toupper (Depends-on): Add
82610         unicase/empty-prefix-context, unicase/empty-suffix-context.
82612         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
82613         * modules/unicase/u8-toupper (Depends-on): Add
82614         unicase/empty-prefix-context, unicase/empty-suffix-context.
82616         New module 'unicase/u32-ct-casefold'.
82617         * lib/unicase/u32-ct-casefold.c: New file.
82618         * modules/unicase/u32-ct-casefold: New file.
82620         New module 'unicase/u16-ct-casefold'.
82621         * lib/unicase/u16-ct-casefold.c: New file.
82622         * modules/unicase/u16-ct-casefold: New file.
82624         New module 'unicase/u8-ct-casefold'.
82625         * lib/unicase/u8-ct-casefold.c: New file.
82626         * lib/unicase/u-ct-casefold.h: New file, derived from
82627         lib/unicase/u-casefold.h.
82628         * modules/unicase/u8-ct-casefold: New file.
82630         New module 'unicase/u32-ct-totitle'.
82631         * lib/unicase/u32-ct-totitle.c: New file.
82632         * modules/unicase/u32-ct-totitle: New file.
82634         New module 'unicase/u16-ct-totitle'.
82635         * lib/unicase/u16-ct-totitle.c: New file.
82636         * modules/unicase/u16-ct-totitle: New file.
82638         New module 'unicase/u8-ct-totitle'.
82639         * lib/unicase/u8-ct-totitle.c: New file.
82640         * lib/unicase/u-ct-totitle.h: New file, derived from
82641         lib/unicase/u-totitle.h.
82642         * modules/unicase/u8-ct-totitle: New file.
82644         New module 'unicase/u32-ct-tolower'.
82645         * lib/unicase/u32-ct-tolower.c: New file.
82646         * modules/unicase/u32-ct-tolower: New file.
82648         New module 'unicase/u16-ct-tolower'.
82649         * lib/unicase/u16-ct-tolower.c: New file.
82650         * modules/unicase/u16-ct-tolower: New file.
82652         New module 'unicase/u8-ct-tolower'.
82653         * lib/unicase/u8-ct-tolower.c: New file.
82654         * modules/unicase/u8-ct-tolower: New file.
82656         New module 'unicase/u32-ct-toupper'.
82657         * lib/unicase/u32-ct-toupper.c: New file.
82658         * modules/unicase/u32-ct-toupper: New file.
82660         New module 'unicase/u16-ct-toupper'.
82661         * lib/unicase/u16-ct-toupper.c: New file.
82662         * modules/unicase/u16-ct-toupper: New file.
82664         New module 'unicase/u8-ct-toupper'.
82665         * lib/unicase/u8-ct-toupper.c: New file.
82666         * modules/unicase/u8-ct-toupper: New file.
82668         Add context arguments to u*_casemap functions.
82669         * lib/unicase/unicasemap.h: Include unicase.h.
82670         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
82671         suffix_context arguments.
82672         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
82673         functions.
82674         (FUNC): Add prefix_context and suffix_context arguments. Use
82675         uc_is_cased and uc_is_case_ignorable.
82676         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
82677         * lib/unicase/u16-casemap.c: Likewise.
82678         * lib/unicase/u32-casemap.c: Likewise.
82679         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
82680         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82681         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
82682         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82683         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
82684         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
82686         New module 'unicase/u32-suffix-context'.
82687         * lib/unicase/u32-suffix-context.c: New file.
82688         * modules/unicase/u32-suffix-context: New file.
82690         New module 'unicase/u16-suffix-context'.
82691         * lib/unicase/u16-suffix-context.c: New file.
82692         * modules/unicase/u16-suffix-context: New file.
82694         New module 'unicase/u8-suffix-context'.
82695         * lib/unicase/u8-suffix-context.c: New file.
82696         * lib/unicase/u-suffix-context.h: New file.
82697         * modules/unicase/u8-suffix-context: New file.
82699         New module 'unicase/empty-suffix-context'.
82700         * lib/unicase/empty-suffix-context.c: New file.
82701         * modules/unicase/empty-suffix-context: New file.
82703         New module 'unicase/u32-prefix-context'.
82704         * lib/unicase/u32-prefix-context.c: New file.
82705         * modules/unicase/u32-prefix-context: New file.
82707         New module 'unicase/u16-prefix-context'.
82708         * lib/unicase/u16-prefix-context.c: New file.
82709         * modules/unicase/u16-prefix-context: New file.
82711         New module 'unicase/u8-prefix-context'.
82712         * lib/unicase/u8-prefix-context.c: New file.
82713         * lib/unicase/u-prefix-context.h: New file.
82714         * lib/unicase/context.h: New file.
82715         * modules/unicase/u8-prefix-context: New file.
82717         New module 'unicase/empty-prefix-context'.
82718         * lib/unicase/empty-prefix-context.c: New file.
82719         * modules/unicase/empty-prefix-context: New file.
82721         New module 'unicase/ignorable'.
82722         * lib/unicase/ignorable.c: New file.
82723         * modules/unicase/ignorable: New file.
82725         New module 'unicase/cased'.
82726         * lib/unicase/caseprop.h: New file.
82727         * lib/unicase/cased.c: New file.
82728         * modules/unicase/cased: New file.
82730         New functions for case mapping of substrings.
82731         * lib/unicase.h (casing_prefix_context_t): New type.
82732         (unicase_empty_prefix_context): New variable.
82733         (u8_casing_prefix_context, u16_casing_prefix_context,
82734         u32_casing_prefix_context, u8_casing_prefixes_context,
82735         u16_casing_prefixes_context, u32_casing_prefixes_context): New
82736         declarations.
82737         (casing_suffix_context_t): New type.
82738         (unicase_empty_suffix_context): New variable.
82739         (u8_casing_suffix_context, u16_casing_suffix_context,
82740         u32_casing_suffix_context, u8_casing_suffixes_context,
82741         u16_casing_suffixes_context, u32_casing_suffixes_context,
82742         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
82743         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
82744         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
82745         declarations.
82747 2009-06-28  Jim Meyering  <meyering@redhat.com>
82749         boostrap: indent only with spaces
82750         * build-aux/bootstrap: Indent only with spaces, never TABs.
82752         bootstrap: split long lines
82753         * build-aux/bootstrap: Keep line length < 80.
82755         bootstrap: sync from coreutils
82756         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
82757         just as autoreconf does.  Verify a list of prerequisite
82758         package-name,version-number pairs if defined in bootstrap.conf.
82759         Refer to README-prereq, if prerequisites are not satisfied.
82761 2009-06-27  Eric Blake  <ebb9@byu.net>
82763         tests: add test for bogus NULL definition
82764         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
82765         * tests/test-stdlib.c: Likewise.
82766         * tests/test-string.c: Likewise.
82767         * tests/test-locale.c: Likewise.
82768         * tests/test-unistd.c: Likewise.
82769         * modules/stdio-tests (Depends-on): Add verify.
82770         * modules/stdlib-tests (Depends-on): Likewise.
82771         * modules/string-tests (Depends-on): Likewise.
82772         * modules/locale-tests (Depends-on): Likewise.
82773         * modules/unistd-tests (Depends-on): Likewise.
82775 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
82777         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
82778         self-explaining comment.
82779         * m4/selinux-selinux-h: Update serial.
82780         (gl_LIBSELINUX): New macro, adding a warning for missing development
82781         packages to code extracted from...
82782         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
82783         Add warning for missing development packages here, too.
82785 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
82787         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
82789 2009-06-25  Eric Blake  <ebb9@byu.net>
82791         version-etc: fix regression
82792         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
82793         gcc.
82794         (version_etc): Use it, to catch bugs with trailing NULL.
82795         * lib/version-etc.c (version_etc_arn): Delete unused argument.
82796         (version_etc_va): Fix logic bug.
82797         * modules/version-etc-tests: Add test.
82798         * tests/test-version-etc.c: New file.
82799         * tests/test-version-etc.sh: Likewise.
82801 2009-06-25  Sam Steingold  <sds@gnu.org>
82803         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
82804         mbtowc declaration.
82806 2009-06-25  Eric Blake  <ebb9@byu.net>
82808         fpurge: migrate into <stdio.h>
82809         * lib/fpurge.h: Delete...
82810         * lib/stdio.in.h (fpurge): ...and declare here, instead.
82811         * lib/fpurge.c (fpurge): Change declaring header.
82812         * modules/fpurge (Files): Drop deleted file.
82813         (Depends-on): Add stdio.
82814         (configure.ac): Set witness.
82815         * modules/stdio (Makefile.am): Support fpurge macros.
82816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
82817         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
82818         * lib/fflush.c: Update client.
82819         * tests/test-fpurge.c: Likewise.
82820         * NEWS: Mention the change.
82822 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82824         * lib/argp-version-etc.c (program_authors): Add const
82825         qualifier.
82826         * lib/version-etc.c: Fix typos in the comments.
82827         * modules/argp-version-etc: Depends on version-etc.
82829 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82831         argp-version-etc: new module.
82833         * lib/argp-version-etc.c: New file.
82834         * lib/argp-version-etc.h: New file.
82835         * modules/argp-version-etc: New file.
82836         * modules/argp-version-etc-tests: New file.
82837         * tests/test-argp-version-etc.c: New test.
82838         * tests/test-argp-version-etc-1.sh: New test.
82840 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82842         Provide additional interfaces and documentation for version-etc
82843         module.
82845         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
82846         interfaces.
82847         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
82848         prototypes.
82850 2009-06-24  Bruno Haible  <bruno@clisp.org>
82852         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
82853         HAVE_LIB${NAME} macro.
82854         Reported by Sam Steingold <sds@gnu.org>.
82856 2009-06-23  Simon Josefsson  <simon@josefsson.org>
82858         * modules/hash-tests (test_hash_LDADD): Link to libintl when
82859         needed.
82861 2009-06-21  Bruno Haible  <bruno@clisp.org>
82863         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
82864         work.
82865         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
82866         together with LIB${NAME}, LTLIB${NAME}.
82867         Reported by Sam Steingold <sds@gnu.org>.
82869 2009-06-20  Jim Meyering  <meyering@redhat.com>
82871         tests: make sc_require_test_exit_idiom more generic
82872         * top/maint.mk (Exit_witness_file): New overridable variable.
82873         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
82874         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
82876 2009-06-19  Jim Meyering  <meyering@redhat.com>
82878         hash: reverse order of src/dst parameters in an internal interface
82879         * lib/hash.c (transfer_entries): Reverse order of parameters to
82880         put DST before SRC.  Adjust callers.
82882         tests: test-hash: avoid wholesale duplication
82883         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
82884         Instead, use a loop and add a single conditional.
82886         tests: test-hash: allow seed selection via a command line argument
82887         * tests/test-hash.c (get_seed): New function.
82888         (main): Use it.
82890 2009-06-19  Eric Blake  <ebb9@byu.net>
82892         hash: avoid memory leak on allocation failure
82893         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
82894         failure.  Factor repeated algorithm...
82895         (transfer_entries): ...into new helper routine.
82896         (hash_delete): React to hash_rehash return value.
82898         hash: reduce memory pressure in hash_rehash no-op case
82899         * lib/hash.c (next_prime): Avoid overflow.
82900         (hash_initialize): Factor bucket size computation...
82901         (compute_bucket_size): ...into new helper function.
82902         (hash_rehash): Use new function and open coding to reduce memory
82903         pressure, and avoid a memory leak in USE_OBSTACK code.
82904         Reported by Jim Meyering.
82906 2009-06-18  Eric Blake  <ebb9@byu.net>
82908         hash: make rotation more obvious
82909         * modules/hash (Depends-on): Add bitrotate and stdint.
82910         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
82911         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
82912         (SIZE_MAX): Rely on headers for definition.
82913         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
82914         (raw_hasher): Use rotr_sz.
82915         Suggested by Jim Meyering.
82917         hash: fix memory leak in last patch
82918         * lib/hash.c (hash_rehash): Avoid memory leak.
82920         hash: avoid no-op rehashing
82921         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
82923         hash: provide default callback functions
82924         * lib/hash.c (raw_hasher, raw_comparator): New functions.
82925         (hash_initialize): Use them as defaults.
82926         * tests/test-hash.c (main): Test this.
82928         hash: minor optimization
82929         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
82930         when possible.
82931         (hash_initialize): Document this promise.
82932         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
82933         * tests/test-hash.c (hash_compare_strings): Test this.
82935 2009-06-18  Bruno Haible  <bruno@clisp.org>
82937         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
82938         going to be replaced anyway.
82940 2009-06-18  Bruno Haible  <bruno@clisp.org>
82942         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
82943         in one place.
82944         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
82945         be replaced anyway.
82947 2009-06-18  Eric Blake  <ebb9@byu.net>
82949         hash: check for resize before insertion
82950         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
82951         threshold before insertion, so that a pathological hash_rehash
82952         that fills every bucket can still trigger another rehash.
82954 2009-06-18  Jim Meyering  <meyering@redhat.com>
82956         hash-tests: add a loop around the small tests
82957         * tests/test-hash.c (main): Repeat small tests with selected
82958         small initial table sizes.
82960 2009-06-17  Eric Blake  <ebb9@byu.net>
82962         hash: minor cleanups
82963         * lib/hash.h (hash_entry): Make opaque, by moving...
82964         * lib/hash.c (hash_entry): ...here.
82965         (hash_insert): Clarify restrictions on what can be inserted.
82966         (hash_get_next): Clarify when it is safe to remove an element
82967         during traversal.
82968         (check_tuning): Skip verification when tuning is known safe.
82969         (hash_initialize): Clarify restrictions on tuning.
82971 2009-06-17  Jim Meyering  <jim@meyering.net>
82972         and Eric Blake  <ebb9@byu.net>
82974         hash-tests: new module
82975         * modules/hash-tests: New file.
82976         * tests/test-hash.c: New file.
82978 2009-06-17  Eric Blake  <ebb9@byu.net>
82980         strstr-simple: document new module
82981         * MODULES.html.sh: Document new module.
82983         strstr, strcasestr: replace on platforms with broken memchr
82984         * modules/strstr: Split into...
82985         * modules/strstr-simple: ...new module that does not care about
82986         performance, but does care about glibc bug.
82987         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
82988         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
82989         if platform memchr is broken, per Debian bug 521737.
82990         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
82991         memchr.
82992         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
82993         * doc/posix-functions/strstr.texi (strstr): Document the fix.
82994         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
82995         * modules/mountlist (Depends-on): Add strstr-simple.
82996         * modules/gen-uni-tables (Depends-on): Likewise.
82997         * modules/argz (Depends-on): Add strstr.
82999 2009-06-17  Bruno Haible  <bruno@clisp.org>
83001         * modules/posix_spawn-internal (Depends-on): Add errno.
83003 2009-06-17  Bruno Haible  <bruno@clisp.org>
83005         Define missing ESTALE on Interix 3.5.
83006         * lib/errno.in.h (ESTALE): Assign a value if missing.
83007         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
83008         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
83009         missing.
83010         * doc/posix-headers/errno.texi: Mention the Interix bug.
83011         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
83013 2009-06-15  Eric Blake  <ebb9@byu.net>
83015         memchr, memchr2: add valgrind exception
83016         * lib/memchr.valgrind: New file.
83017         * lib/memchr2.valgrind: New file.
83018         * modules/memchr (Files): Distribute valgrind file.
83019         * modules/memchr2 (Files): Likewise.
83021         docs: memchr is no longer obsolete
83022         * MODULES.html.sh: Move memchr from obsolete to string.h section.
83023         * lib/string.in.h (memchr): Simplify logic.
83025 2009-06-14  Jim Meyering  <meyering@redhat.com>
83027         link-follow: fix the "checking..." message to not mention trailing slash
83028         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
83029         never considered trailing slashes.
83031 2009-06-14  Bruno Haible  <bruno@clisp.org>
83033         * m4/memchr.m4: Mention also the bug on IA-64.
83034         * doc/posix-functions/memchr.texi: Likewise.
83036 2009-06-12  Eric Blake  <ebb9@byu.net>
83038         memchr: detect broken x86_64 and alpha implementations
83039         * modules/memchr-tests (Depends-on): Move mmap detection...
83040         * modules/memchr (Depends-on): ...here.
83041         (configure.ac): Set indicator.
83042         * lib/string.in.h (memchr): Declare replacement.
83043         * modules/string (Makefile.am): Trigger replacement.
83044         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
83045         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
83046         bugs.
83047         * doc/posix-functions/memchr.texi (memchr): Document the bug.
83048         * modules/getpagesize (License): Relax license.
83050 2009-06-11  Bruno Haible  <bruno@clisp.org>
83052         * lib/idpriv.h: Add more references.
83054 2009-06-08  Bruno Haible  <bruno@clisp.org>
83056         Tests for module 'idpriv-droptemp'.
83057         * modules/idpriv-droptemp-tests: New file.
83058         * tests/test-idpriv-droptemp.sh: New file.
83059         * tests/test-idpriv-droptemp.su.sh: New file.
83060         * tests/test-idpriv-droptemp.c: New file.
83062         New module 'idpriv-droptemp'.
83063         * lib/idpriv-droptemp.c: New file.
83064         * modules/idpriv-droptemp: New file.
83066 2009-06-08  Bruno Haible  <bruno@clisp.org>
83068         Tests for module 'idpriv-drop'.
83069         * modules/idpriv-drop-tests: New file.
83070         * tests/test-idpriv-drop.sh: New file.
83071         * tests/test-idpriv-drop.su.sh: New file.
83072         * tests/test-idpriv-drop.c: New file.
83074         New module 'idpriv-drop'.
83075         * lib/idpriv.h: New file.
83076         * lib-idpriv-drop.c: New file.
83077         * m4/idpriv.m4: New file.
83078         * modules/idpriv-drop: New file.
83080 2009-06-08  Bruno Haible  <bruno@clisp.org>
83082         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
83083         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
83084         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
83085         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
83086         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
83087         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
83088         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
83090 2009-06-08  Eric Blake  <ebb9@byu.net>
83092         test-strstr: use memory fence, when possible
83093         * tests/test-strstr.c (main): Use memory fence, in order to be
83094         more likely to trigger Debian bug 521737.
83095         * modules/strstr-tests (Files): Pull in additional files.
83097         memchr: no longer obsolete, for wider field testing
83098         * modules/memchr (Status, Notice): Delete, this module is no
83099         longer obsolete.
83100         * modules/vasnprintf (Depends-on): Add memchr.
83102 2009-06-07  Jim Meyering  <meyering@redhat.com>
83104         hash: declare some functions with the warn_unused_result attribute
83105         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
83107 2009-06-07  Bruno Haible  <bruno@clisp.org>
83109         * tests/test-alignof.c: Don't test int64_t if it does not exist.
83110         Reported by Eric Blake.
83112 2009-06-06  Eric Blake  <ebb9@byu.net>
83114         test-alignof: fix typo with long double
83115         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
83116         compiler error.
83118 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
83120         Escape non-texinfo { and }s.
83121         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
83122         markup error.
83124 2009-06-04  Jim Meyering  <meyering@redhat.com>
83126         gitlog-to-changelog: don't infloop on an empty commit log
83127         * build-aux/gitlog-to-changelog: Warn about an empty log message.
83128         Reported by Boris Petersen <transacid@centerim.org>.
83130 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
83132         version-etc: extend for packagers
83133         Add three new configure options, intended for packagers:
83134           --with-packager="packager name"
83135           --with-packager-version="packager-specific version"
83136           --with-packager-bug-reports="packager bug reporting"
83137         An example with coreutils:
83138           $ ./configure \
83139             --with-packager=Gentoo \
83140             --with-packager-bug-report=http://bugs.gentoo.org/ \
83141             --with-packager-version="patchset 1.6"
83142           $ ./src/ls --version | head -n2
83143           ls (GNU coreutils) 7.1-dirty
83144           Packaged by Gentoo (patchset 1.6)
83145         Note that the bug reporting info via --help doesn't show up because
83146         coreutils uses its own custom emit_bug_reporting_address() implementation
83147         in src/system.h.  If it didn't, it'd look like:
83148           $ ./src/ls --help | tail -n4
83149           Report bugs to <bug-coreutils@gnu.org>.
83150           Report Gentoo bugs to <http://bugs.gentoo.org/>.
83151           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
83152           General help using GNU software: <http://www.gnu.org/gethelp/>.
83153         * lib/version-etc.c: Print new information, if provided.
83154         * m4/version-etc.m4: New file.
83155         * modules/version-etc (Files): Add m4/version-etc.m4.
83156         (configure.ac): Add gl_VERSION_ETC.
83158 2009-05-31  Bruno Haible  <bruno@clisp.org>
83160         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
83161         and 'int64_t'.
83162         * modules/alignof-tests (Dependencies): Add stdint.
83163         Reported by Eric Blake.
83165 2009-05-31  Bruno Haible  <bruno@clisp.org>
83167         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
83168         restriction due to compiler bugs.
83169         Reported by Eric Blake.
83171 2009-05-31  Simon Josefsson  <simon@josefsson.org>
83172             Bruno Haible  <bruno@clisp.org>
83174         Fix test-alignof failure.
83175         * lib/alignof.h (alignof_slot): New macro.
83176         (alignof_type): New macro, with the same semantics as the previous
83177         'alignof'.
83178         (alignof): Alias to alignof_slot.
83179         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
83180         check that the results are usable as constant expressions.
83182 2009-05-31  Bruno Haible  <bruno@clisp.org>
83184         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
83185         * tests/test-memchr.c (main): Check that memchr does not read past the
83186         first occurrence of the byte.
83187         * tests/test-strstr.c (main): Update comment.
83188         Suggested by Eric Blake.
83190 2009-05-30  Bruno Haible  <bruno@clisp.org>
83192         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
83193         detail how to use dumpbin.
83194         Reported by David Byron <dbyron@dbyron.com>.
83196 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83198         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
83200 2009-06-02  Simon Josefsson  <simon@josefsson.org>
83202         * m4/manywarnings.m4: Add GCC 4.4 warnings.
83204 2009-05-28  Bruno Haible  <bruno@clisp.org>
83206         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
83207         build-aux/ files.
83209 2009-05-28  Simon Josefsson  <simon@josefsson.org>
83211         * gnulib-tool (func_import): Transform license on build-aux/ files too.
83213 2009-05-27  Simon Josefsson  <simon@josefsson.org>
83215         * gnulib-tool (sed_transform_main_lib_file)
83216         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
83217         regexps.
83219 2009-05-26  Simon Josefsson  <simon@josefsson.org>
83221         * tests/test-strstr.c: Add another self-test.
83222         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
83223         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
83225 2009-05-23  Bruno Haible  <bruno@clisp.org>
83227         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
83228         change.
83230 2009-05-21  Bruno Haible  <bruno@clisp.org>
83232         Simplify use of mode_t varargs.
83233         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
83234         uses 'mode_t' or 'int'.
83235         * lib/openat.c (openat): Likewise.
83236         * lib/open-safer.c (open_safer): Likewise.
83237         * m4/mode_t.m4: New file.
83238         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
83239         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
83240         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
83241         * modules/open (Files): Add m4/mode_t.m4.
83242         * modules/openat (Files): Likewise.
83243         * modules/fcntl-safer (Files): Likewise.
83244         Suggested by Eric Blake.
83246 2009-05-21  Pádraig Brady  <P@draigbrady.com>
83248         * doc/glibc-functions/fallocate.texi: New file.
83249         * doc/gnulib.texi: Include it.
83251 2009-05-21  Eric Blake  <ebb9@byu.net>
83252             Bruno Haible  <bruno@clisp.org>
83254         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
83255         invocations.
83256         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
83258 2009-05-21  Eric Blake  <ebb9@byu.net>
83259             Bruno Haible  <bruno@clisp.org>
83261         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
83262         include_next. Fix of 2008-11-20 commit.
83263         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
83264         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
83265         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
83266         NEXT_MATH_H.
83267         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
83268         instead of NEXT_MATH_H.
83270 2009-05-21  Bruno Haible  <bruno@clisp.org>
83272         Avoid redefinition warnings for SIZE_MAX.
83273         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
83274         Reported by Simon Josefsson.
83276 2009-05-21  Bruno Haible  <bruno@clisp.org>
83278         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
83279         AC_CACHE_VAL.
83281 2009-05-20  Bruno Haible  <bruno@clisp.org>
83283         Make zeroptr.h work on mingw.
83284         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
83285         mprotect.
83286         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
83287         * modules/memchr2-tests (configure.ac): Likewise.
83288         * modules/memcmp-tests (configure.ac): Likewise.
83289         * modules/memmem-tests (configure.ac): Likewise.
83290         * modules/memrchr-tests (configure.ac): Likewise.
83291         Reported by Simon Josefsson.
83293 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83295         * tests/test-glob.c: Include string.h for strcmp prototype.
83297 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83299         * modules/getdelim (Depends-on): Add explicit stdint, although it
83300         was implicitly already pulled in via realloc-posix.
83301         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
83303 2009-05-20  Simon Josefsson  <simon@josefsson.org>
83305         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
83306         G. Christensen" <tgc@jupiterrise.com>.
83307         * m4/sys_socket_h.m4: Check for sa_family_t.
83308         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
83309         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
83310         * tests/test-sys_socket.c: Check that sa_family_t works.
83312 2009-05-18  Eric Blake  <ebb9@byu.net>
83314         maint.mk: allow gnulib_dir in VPATH build
83315         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
83317 2009-05-15  Jim Meyering  <meyering@redhat.com>
83319         maint.mk: Give gnulib_dir a default definition.
83320         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
83321         Thus, most packages no longer need to specify this variable in cfg.mk
83323 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
83325         rename.m4: fix typos that would make non-mingw cross-configure fail
83326         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
83328 2009-05-13  Eric Blake  <ebb9@byu.net>
83330         mmap-anon: avoid out-of-order autoconf expansion
83331         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
83332         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
83333         * modules/memchr-tests (Depends-on): Add extensions.
83334         * modules/memchr2-tests (Depends-on): Add extensions.
83335         * modules/memcmp-tests (Depends-on): Add extensions.
83336         * modules/memmem-tests (Depends-on): Add extensions.
83337         * modules/memrchr-tests (Depends-on): Add extensions.
83339 2009-05-13  Bruno Haible  <bruno@clisp.org>
83341         Make some tests ISO C 99 compliant.
83342         * tests/zerosize-ptr.h: New file.
83343         * tests/test-memchr.c: Include zerosize-ptr.h.
83344         (main): Use a zero-size object pointer instead of NULL.
83345         * tests/test-memchr2.c: Include zerosize-ptr.h.
83346         (main): Use a zero-size object pointer instead of NULL.
83347         * tests/test-memcmp.c: Include zerosize-ptr.h.
83348         (main): Use a zero-size object pointer instead of NULL.
83349         * tests/test-memmem.c: Include zerosize-ptr.h.
83350         (main): Use a zero-size object pointer instead of NULL.
83351         * tests/test-memrchr.c: Include zerosize-ptr.h.
83352         (main): Use a zero-size object pointer instead of NULL.
83353         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
83354         m4/mmap-anon.m4.
83355         (Depends-on): Add getpagesize.
83356         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83357         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
83358         m4/mmap-anon.m4.
83359         (Depends-on): Add getpagesize.
83360         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83361         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
83362         m4/mmap-anon.m4.
83363         (Depends-on): Add getpagesize.
83364         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83365         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
83366         m4/mmap-anon.m4.
83367         (Depends-on): Add getpagesize.
83368         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83369         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
83370         m4/mmap-anon.m4.
83371         (Depends-on): Add getpagesize.
83372         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
83374 2009-05-12  Bruno Haible  <bruno@clisp.org>
83376         Tests for module 'alignof'.
83377         * modules/alignof-tests: New file.
83378         * tests/test-alignof.c: New file.
83380 2009-05-12  Bruno Haible  <bruno@clisp.org>
83382         Fix alignof macro.
83383         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
83384         vendor compilers that are always correct.
83386 2009-05-12  Bruno Haible  <bruno@clisp.org>
83388         Make the MAP_ANONYMOUS detection work on HP-UX 11.
83389         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
83390         not whether its fully works.
83392 2009-05-12  Bruno Haible  <bruno@clisp.org>
83394         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
83396 2009-05-12  Jim Meyering  <meyering@redhat.com>
83398         * top/maint.mk: Adjust backslash alignment.
83400 2009-05-11  Simon Josefsson  <simon@josefsson.org>
83402         * top/maint.mk: Make $(srcdir)/build-aux configurable.
83404 2009-05-11  Eric Blake  <ebb9@byu.net>
83406         argp: avoid undefined behavior
83407         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
83408         macros.
83410 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83412         * tests/test-vc-list-files-git.sh: Do git config of user.email and
83413         user.name to prevent git commit from complaining.
83415 2009-05-10  Bruno Haible  <bruno@clisp.org>
83417         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
83418         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
83419         it rewrites every file name only once.
83420         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
83422 2009-05-08  Bruno Haible  <bruno@clisp.org>
83424         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
83425         instead of 'max'.
83427 2009-05-08  Simon Josefsson  <simon@josefsson.org>
83429         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
83430         sockaddr_storage test.
83432 2009-05-07  Simon Josefsson  <simon@josefsson.org>
83434         * modules/sys_socket (Makefile.am): Substitute
83435         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
83436         * m4/sys_socket_h.m4: Check for sockaddr_storage.
83437         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
83438         * tests/test-sys_socket.c: Check sockaddr_storage.
83440 2009-05-08  Bruno Haible  <bruno@clisp.org>
83442         New module 'alignof'.
83443         * lib/alignof.h: New file.
83444         * modules/alignof: New file.
83446 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83447             Bruno Haible  <bruno@clisp.org>
83449         Fix test-file-has-acl on FreeBSD.
83450         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
83451         mask is implicitly added.
83452         * tests/test-file-has-acl.c: Include <signal.h>.
83453         (main): Terminate the test after 5 seconds.
83454         * modules/acl-tests (configure.ac): Check for alarm function.
83456 2009-05-04  Bruno Haible  <bruno@clisp.org>
83458         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
83459         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
83460         * modules/errno (configure.ac): Drop AC_REQUIRE.
83461         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
83462         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
83464 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83466         * modules/glob-tests: New module.
83467         * tests/test-glob.c: Add.
83469 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83471         * modules/fnmatch-tests: New module.
83472         * tests/test-fnmatch.c: Add.
83474 2009-05-04  Eric Blake  <ebb9@byu.net>
83476         maint: make the new no-submodule-changes rule VPATH-safe
83477         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
83479 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83480             Bruno Haible  <bruno@clisp.org>
83482         acl: Fix infinite loop on FreeBSD.
83483         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
83484         of return value from acl_get_entry.
83485         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
83486         Likewise.
83488 2009-05-03  Bruno Haible  <bruno@clisp.org>
83490         * lib/acl-internal.h (acl_entries): Clarify return value.
83491         * lib/acl_entries.c (acl_entries): Likewise.
83493 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83495         Bug fix in acl module.
83496         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
83498 2009-05-03  Bruno Haible  <bruno@clisp.org>
83500         Create gperf-generated file in the source dir, not in the build dir.
83501         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
83502         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
83503         * modules/unicase/locale-language (unicase/locale-languages.h):
83504         Likewise.
83505         * modules/unicase/special-casing (unicase/special-casing-table.h):
83506         Likewise.
83507         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
83508         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
83509         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
83510         Reported by Ralf Wildenhues.
83512 2009-05-03  Bruno Haible  <bruno@clisp.org>
83514         * modules/fnmatch (Description, configure.ac): Taken from
83515         fnmatch-posix.
83516         * modules/fnmatch-posix: Turn into a symbolic reference to the
83517         'fnmatch' module, and deprecate.
83518         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
83520 2009-05-03  Bruno Haible  <bruno@clisp.org>
83522         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
83523         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
83524         Reported by Ralf Wildenhues.
83526 2009-05-04  Simon Josefsson  <simon@josefsson.org>
83528         * m4/fnmatch.m4: Fix fnmatch re-define.
83530 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
83532         priv-set: new module and tests; adapt write-any-file
83533         * lib/priv-set.c: New file.
83534         * lib/priv-set.h: New file.
83535         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
83536         * lib/write-any-file.c: Simplify by using priv-set module.
83537         * m4/priv-set.m4: New file.
83538         * modules/priv-set: New file.
83539         * modules/unlinkdir: Add dependency on priv-set module.
83540         * modules/write-any-file: Likewise.
83542         Tests for module 'priv-set'.
83543         * modules/priv-set-tests: New file.
83544         * tests/test-priv-set.c: New file.
83546 2009-05-03  Jim Meyering  <meyering@redhat.com>
83547             Bruno Haible  <bruno@clisp.org>
83549         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
83550         use the converted UTF-8 variant of the name instead.
83552 2009-05-03  Jim Meyering  <meyering@redhat.com>
83554         tests: tighten some getdate tests
83555         * tests/test-getdate.c (main): Tighten tests: require equality,
83556         not just greater than.  Set TZ envvar to UTC0.
83558 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
83560         getdate: correctly interpret "next monday" when run on a Monday
83561         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
83562         that e.g., "next tues" (when run on a tuesday) results in a date
83563         that is one week in the future, and not today's date.
83564         I.e., add a week when the wday is the same as the current one.
83565         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
83566         and earlier by Martin Bernreuther and Jan Minář.
83567         * tests/test-getdate.c (main): Check that "next DAY" is always in
83568         the future and that "last DAY" is always in the past.
83570 2009-05-02  Jim Meyering  <meyering@redhat.com>
83572         build: ensure that a release build fails when a submodule is unclean
83573         * top/maint.mk (no-submodule-changes): New rule.
83574         (alpha beta major): Depend on it.
83576 2009-05-02  Bruno Haible  <bruno@clisp.org>
83578         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
83579         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
83580         shell variable gl_fnmatch_required to detect which variant is
83581         requested.
83582         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
83583         gl_FUNC_FNMATCH_POSIX.
83584         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
83585         exclude fnmatch-posix.
83587 2009-05-02  Bruno Haible  <bruno@clisp.org>
83589         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
83590         * modules/mbsrtowcs (License): Change to LGPLv2+.
83591         * modules/strnlen1 (License): Likewise.
83592         Reported by Simon Josefsson.
83594 2009-05-02  Bruno Haible  <bruno@clisp.org>
83596         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
83597         "cross".
83598         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
83599         gnulib-tool was called with option --source-base=lib.
83601 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83603         Use automake *-local hooks without commands, for extensibility.
83604         * modules/localcharset (Makefile.am): Rename install-exec-local
83605         rule to install-exec-localcharset, and make it a prerequisite of
83606         install-exec-local.  Likewise, rename the uninstall-local rule to
83607         uninstall-localcharset, and make it a prerequisite of the former.
83609 2009-05-01  Bruno Haible  <bruno@clisp.org>
83611         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
83612         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83613         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
83614         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
83615         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
83616         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83617         m4/locale-zh.m4, m4/codeset.m4.
83619         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
83620         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
83621         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
83622         m4/locale-zh.m4.
83624         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
83625         REPLACE_WCRTOMB if mbstate_t must be replaced.
83626         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
83627         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
83629 2009-05-01  Bruno Haible  <bruno@clisp.org>
83631         Avoid compiler warnings when redefining macros defined by <libintl.h>.
83632         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
83633         dngettext, dcngettext, textdomain, bindtextdomain,
83634         bind_textdomain_codeset): Undefine before redefining.
83636 2009-04-30  Bruno Haible  <bruno@clisp.org>
83638         Fix bug introduced on 2009-04-25.
83639         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
83640         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
83641         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
83642         is defined.
83643         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
83644         is defined.
83645         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
83646         is defined.
83647         Reported by Elbert_Pol <elbert.pol@gmail.com>.
83649 2009-04-28  Bruno Haible  <bruno@clisp.org>
83651         Comment tweaks.
83652         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
83653         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
83654         * lib/unicase.h (u*_casexfrm): Likewise.
83655         Reported by Paolo Bonzini.
83657 2009-04-28  Bruno Haible  <bruno@clisp.org>
83659         Fix a compilation error.
83660         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
83661         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
83662         Reported by Jim Meyering.
83664 2009-04-27  Bruno Haible  <bruno@clisp.org>
83666         New module 'libunistring'.
83667         * modules/libunistring: New file.
83668         * m4/libunistring.m4: New file.
83669         * MODULES.html.sh (Unicode string functions): Add it.
83671 2009-04-27  Eric Blake  <ebb9@byu.net>
83673         maint.mk: allow package-specific header to provide <config.h>
83674         * top/maint.mk (sc_require_config_h): New variable.
83675         (sc_require_config_h, sc_require_config_h_first): Use it.
83677 2009-04-27  Simon Josefsson  <simon@josefsson.org>
83679         * top/maint.mk (sc_avoid_if_before_free): Except
83680         useless-if-before-free script.
83682 2009-04-27  Eric Blake  <ebb9@byu.net>
83684         maintainer-makefile: depend on all required helper scripts
83685         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
83686         useless-if-before-free.
83687         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
83688         version, rather than assuming gnulib checkout is available.
83689         Reported by Simen Josefsson.
83691 2009-04-26  Bruno Haible  <bruno@clisp.org>
83693         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
83694         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
83695         "../" or "..".
83697 2009-04-26  Bruno Haible  <bruno@clisp.org>
83699         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
83700         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
83701         AC_LIB_HAVE_LINKFLAGS.
83703 2009-04-26  Bruno Haible  <bruno@clisp.org>
83705         Simplify calling convention of u*_conv_from_encoding.
83706         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
83707         u32_conv_from_encoding): Expect a resultbuf argument and return the
83708         result directly as a pointer.
83709         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
83710         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
83711         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
83712         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
83713         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
83714         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83715         Update.
83716         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
83717         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
83718         * lib/vasnprintf.c (VASNPRINTF): Update.
83719         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
83720         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
83721         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
83722         * NEWS: Mention the change.
83724 2009-04-26  Bruno Haible  <bruno@clisp.org>
83726         Simplify calling convention of u*_conv_to_encoding.
83727         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
83728         u32_conv_to_encoding): Expect a resultbuf argument and return the
83729         result directly as a pointer.
83730         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83731         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
83732         freeing scaled_offsets if mem_iconveha failed.
83733         * lib/unicase/u-casexfrm.h (FUNC): Update.
83734         * lib/uninorm/u-normxfrm.h (FUNC): Update.
83735         * lib/vasnprintf.c (VASNPRINTF): Update.
83736         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
83737         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
83738         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
83739         * NEWS: Mention the change.
83741 2009-04-26  Bruno Haible  <bruno@clisp.org>
83743         Avoid test failures on AIX and OSF/1.
83744         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
83745         malloc(0).
83746         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
83747         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
83748         Likewise.
83749         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
83750         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
83751         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
83752         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
83753         * doc/posix-functions/malloc.texi: Document the portability problem
83754         related to malloc(0).
83756 2009-04-26  Bruno Haible  <bruno@clisp.org>
83758         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
83759         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
83760         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
83762 2009-04-25  Bruno Haible  <bruno@clisp.org>
83764         Avoid link error when creating a namespace clean library.
83765         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
83766         as macro with arguments if already defined as an alias.
83767         * lib/signbitf.c (gl_signbitf): Don't undefine.
83768         * lib/signbitd.c (gl_signbitd): Don't undefine.
83769         * lib/signbitl.c (gl_signbitl): Don't undefine.
83771 2009-04-25  Jim Meyering  <meyering@redhat.com>
83773         vc-list-files: fix another quoting bug
83774         * build-aux/vc-list-files: Avoid sed backslash expansion
83775         of pathological directory names.
83777 2009-04-25  Eric Blake  <ebb9@byu.net>
83779         vc-list-files: fix shell quoting error
83780         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
83781         timestamp.
83783 2009-04-25  Jim Meyering  <meyering@redhat.com>
83785         vc-list-files: restore lost functionality with subdir argument
83786         * build-aux/vc-list-files: When given a non-"." sub-directory
83787         argument, substitute the $dir/ prefix back onto each resulting name.
83788         Otherwise, coreutils' root_tests check would fail.
83790 2009-04-24  Eric Blake  <ebb9@byu.net>
83792         vc-list-files: ignore git symlinks
83793         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
83794         than ls-files, to ignore git symlinks.
83796         maint.mk: import improvements from m4
83797         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
83798         (move_if_change): Delete unused macro.
83799         (news-date-check, vc-diff-check): Support VPATH builds.
83800         (announcement): Likewise.  Split --bootstrap-tools list...
83801         (boostrap-tools): ...into separate list, which can be overridden
83802         in cfg.mk.
83803         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
83804         requiring dependency on useless-if-before-free module.
83805         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
83806         Support VPATH builds.
83808 2009-04-24  Jim Meyering  <meyering@redhat.com>
83810         maint.mk: remove coreutils-specific rules and variables
83811         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
83812         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
83813         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
83815         maint.mk: remove obsolete rule
83816         * top/maint.mk (rel-check): Remove rule.
83817         (WGET, WGETFLAGS): Remove now-unused variables.
83819 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83821         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
83822         consistency.
83824         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
83825         '$(PATH_SEPARATOR)' instead of ':'.
83827 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83829         * lib/getopt1.c (main): Use 'const' for static array.
83831 2009-04-24  Simon Josefsson  <simon@josefsson.org>
83833         * top/maint.mk: Sync with coreutils.
83834         * NEWS: Explain incompatibilities.
83836 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
83837             Bruno Haible  <bruno@clisp.org>
83839         Fix cross-compilation results.
83840         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
83841         statement, as third argument of AC_TRY_RUN.
83842         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
83843         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
83844         Likewise.
83845         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
83846         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
83847         Likewise.
83848         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
83849         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
83850         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
83852 2009-04-20  Bruno Haible  <bruno@clisp.org>
83854         Avoid test failure on mingw.
83855         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
83857 2009-04-20  Bruno Haible  <bruno@clisp.org>
83859         Avoid compilation error on mingw.
83860         * modules/localename-tests (Depends-on): Add locale.
83862 2009-04-19  Bruno Haible  <bruno@clisp.org>
83864         Support for building a shared library on Windows platforms.
83865         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
83866         (main): Test the presence of UNINORM_NFC here.
83867         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
83868         (main): Test the presence of UNINORM_NFD here.
83869         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
83870         (main): Test the presence of UNINORM_NFKC here.
83871         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
83872         (main): Test the presence of UNINORM_NFKD here.
83874 2009-04-19  Bruno Haible  <bruno@clisp.org>
83876         Avoid a compiler warning.
83877         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
83878         Change type of variable 'sequence'.
83880 2009-04-19  Bruno Haible  <bruno@clisp.org>
83882         * modules/configmake (Makefile.am): When the contents of configmake.h
83883         does not change, arrange to preserve its modification time.
83885 2009-04-17  Simon Josefsson  <simon@josefsson.org>
83887         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
83888         gettext domain.
83890 2009-04-16  Jim Meyering  <meyering@redhat.com>
83892         useless-if-before-free: improve conversion code
83893         * build-aux/useless-if-before-free: Adjust code-in-comment to match
83894         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
83896 2009-04-14  Bruno Haible  <bruno@clisp.org>
83898         * modules/fcntl (Depends-on): Add extensions.
83899         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
83901 2009-04-12  Ben Pfaff  <blp@gnu.org>
83903         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
83904         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
83906 2009-03-20  Ben Pfaff  <blp@gnu.org>
83908         Make rename replace existing destinations on Windows.
83909         * m4/rename.m4: Add test for Mingw.
83910         * lib/rename.c: Add rename replacement that uses MoveFileEx with
83911         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
83912         * doc/posix-functions/rename.texi: Document.
83914 2009-04-10  Bruno Haible  <bruno@clisp.org>
83916         New include file "iconveh.h".
83917         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
83918         * lib/striconveh.h: Include it.
83919         (enum iconv_ilseq_handler): Remove definition.
83920         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
83921         striconveh.h.
83922         * lib/striconveha.c: Include striconveh.h.
83923         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
83924         * modules/striconveh (Files): Add lib/iconveh.h.
83925         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
83926         lib/striconveh.h.
83928 2009-04-10  Bruno Haible  <bruno@clisp.org>
83930         * lib/uniconv.h: Update comment.
83932 2009-04-10  Bruno Haible  <bruno@clisp.org>
83934         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
83935         always.
83936         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
83937         * lib/unistr/u16-mbtouc-aux.c: Likewise.
83938         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
83939         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
83940         "unistring-notinline.h", so that the function gets defined always.
83941         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
83942         * lib/unistr/u8-uctomb.c: Likewise.
83943         * lib/unistr/u16-mbtouc.c: Likewise.
83944         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
83945         * lib/unistr/u16-uctomb.c: Likewise.
83946         * lib/unistr/u32-mbtouc.c: Likewise.
83947         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
83948         * lib/unistr/u32-uctomb.c: Likewise.
83950 2009-04-10  Bruno Haible  <bruno@clisp.org>
83952         Mark 'utime' obsolete.
83953         * modules/utime (Status, Notice): New sections.
83954         Suggested by Jim Meyering.
83956         Fix cross-compile guess for utime test.
83957         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
83958         autoconf.
83959         * doc/posix-functions/utime.texi: Give more precisions.
83960         Reported by Jan <ipif@ymail.com>.
83962 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
83964         filevercmp: correct today's change
83965         * lib/filevercmp.c: Also handle coreutils' test inputs.
83966         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
83968         Fix regression in 'filevercmp' module. Thanks Sven Joachim
83969         for reporting it.
83970         * lib/filevercmp.c: Special handle for "", "." and "..".
83971         * tests/test-filevercmp.c: Enlarge the set suite.
83973 2009-04-07  Jim Meyering  <meyering@redhat.com>
83975         useless-if-before-free: show how to remove braced useless free, too
83976         * build-aux/useless-if-before-free: still only in a comment, though.
83978 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
83980         maint.mk: import changes to syntax-check macros from coreutils
83981         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
83982         Use them in the relevant macros.
83984 2009-04-06  Bruno Haible  <bruno@clisp.org>
83986         Fix unportable use of bit-fields.
83987         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
83988         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
83989         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
83991 2009-04-06  Bruno Haible  <bruno@clisp.org>
83993         Avoid test failures on AIX and OSF/1.
83994         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
83995         that malloc(0) = NULL.
83996         * tests/unicase/test-u8-tolower.c (check): Likewise.
83997         * tests/unicase/test-u8-totitle.c (check): Likewise.
83998         * tests/unicase/test-u8-toupper.c (check): Likewise.
83999         * tests/unicase/test-u16-casefold.c (check): Likewise.
84000         * tests/unicase/test-u16-tolower.c (check): Likewise.
84001         * tests/unicase/test-u16-totitle.c (check): Likewise.
84002         * tests/unicase/test-u16-toupper.c (check): Likewise.
84003         * tests/unicase/test-u32-casefold.c (check): Likewise.
84004         * tests/unicase/test-u32-tolower.c (check): Likewise.
84005         * tests/unicase/test-u32-totitle.c (check): Likewise.
84006         * tests/unicase/test-u32-toupper.c (check): Likewise.
84007         * tests/uninorm/test-u8-nfc.c (check): Likewise.
84008         * tests/uninorm/test-u8-nfd.c (check): Likewise.
84009         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
84010         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
84011         * tests/uninorm/test-u16-nfc.c (check): Likewise.
84012         * tests/uninorm/test-u16-nfd.c (check): Likewise.
84013         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
84014         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
84015         * tests/uninorm/test-u32-nfc.c (check): Likewise.
84016         * tests/uninorm/test-u32-nfd.c (check): Likewise.
84017         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
84018         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
84020 2009-04-05  Bruno Haible  <bruno@clisp.org>
84022         Work around an autoconf limitation.
84023         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
84024         comment line if it would be longer than 3 KB.
84026 2009-04-05  Bruno Haible  <bruno@clisp.org>
84028         Avoid test failure with libiconv-1.13.
84029         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
84030         of the expected test results.
84032 2009-04-05  Bruno Haible  <bruno@clisp.org>
84034         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
84035         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
84036         that it should be installed.
84038 2009-04-05  Bruno Haible  <bruno@clisp.org>
84040         * gnulib-tool: New option --copy-file.
84041         (func_usage): Document it.
84042         (func_dest_tmpfilename): Moved out of func_import.
84043         (func_add_file, func_update_file): New functions, extracted from
84044         func_import.
84045         (func_import): Update.
84047 2009-04-05  Karl Berry  <karl@gnu.org>
84049         * README: prominently mention gnulib-tool.
84050         Rearrange sections so getting the code is near the top.
84052 2009-04-05  Bruno Haible  <bruno@clisp.org>
84054         * lib/unicase.h: Mention u*_cmp2.
84055         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84056         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
84057         * lib/unicase/ulc-casecmp.c: Likewise.
84058         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
84059         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
84060         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
84061         unistr/u8-cmp.
84062         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
84063         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
84064         unistr/u16-cmp.
84065         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
84066         unistr/u32-cmp.
84068         * lib/uninorm.h: Mention u*_cmp2.
84069         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
84070         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
84071         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
84072         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
84073         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
84074         unistr/u8-cmp.
84075         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
84076         unistr/u16-cmp.
84077         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
84078         unistr/u32-cmp.
84080         New module 'unistr/u32-cmp2'.
84081         * lib/unistr/u32-cmp2.c: New file.
84082         * modules/unistr/u32-cmp2: New file.
84084         New module 'unistr/u16-cmp2'.
84085         * lib/unistr/u16-cmp2.c: New file.
84086         * modules/unistr/u16-cmp2: New file.
84088         New module 'unistr/u8-cmp2'.
84089         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
84090         * lib/unistr/u8-cmp2.c: New file.
84091         * lib/unistr/u-cmp2.h: New file.
84092         * modules/unistr/u8-cmp2: New file.
84094 2009-04-05  Bruno Haible  <bruno@clisp.org>
84096         * lib/unictype.h (uc_property_is_valid): New macro.
84097         * tests/unictype/test-pr_byname.c (main): Use it.
84099         * lib/unistr.h: Doc fixes.
84100         * lib/uniconv.h: Doc fixes.
84101         * lib/unictype.h: Doc fixes.
84103 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
84105         Port coreutils 7.2 to Solaris 8.
84107         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
84108         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
84109         for Solaris 8.  This is a bit of a hack, as it means it's the
84110         caller's responsibility to add -lnsl if needed, but most likely it
84111         won't be needed since only getaddrinfo uses this and getaddrinfo
84112         isn't needed on Solaris 8.
84114         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
84115         problem to Solaris 8 encountered with coreutils 7.2, which
84116         resulted in a message "fnmatch.c:292: warning: passing argument 4
84117         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
84118         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
84120 2009-04-03  Simon Josefsson  <simon@josefsson.org>
84122         * m4/ld-version-script.m4: Add FIXME comment.
84124 2009-04-02  Simon Josefsson  <simon@josefsson.org>
84126         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
84127         SOVERSION variable.
84129 2009-04-02  Bruno Haible  <bruno@clisp.org>
84131         * Makefile (info, html, dvi, pdf): Combine the rules.
84132         Suggested by Jim Meyering.
84134 2009-04-01  Bruno Haible  <bruno@clisp.org>
84136         * Makefile (info, html, dvi, pdf): New targets.
84137         Reported by Reuben Thomas <rrt@sc3d.org>.
84139 2009-04-01  Bruno Haible  <bruno@clisp.org>
84141         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
84142         can be put into PATH.
84143         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
84145 2009-04-01  Bruno Haible  <bruno@clisp.org>
84147         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
84149 2009-04-01  Bruno Haible  <bruno@clisp.org>
84151         Rename module 'visibility'.
84152         * modules/lib-symbol-visibility: Renamed from modules/visibility.
84153         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
84154         * doc/gnulib.texi: Update.
84155         * MODULES.html.sh (Misc): Update.
84156         * NEWS: Mention the change.
84158 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84160         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
84161         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
84162         Eric Blake <ebb9@byu.net> for review.
84163         * MODULES.html.sh: Add lib-msvc-compat.
84164         * doc/gnulib.texi: Link to new section.
84165         * m4/ld-output-def.m4: New file.
84166         * doc/ld-output-def.texi: New file.
84168 2009-04-01  Simon Josefsson  <simon@josefsson.org>
84170         Rename ld-version-script to lib-symbol-versions.  Suggested by
84171         Bruno Haible <bruno@clisp.org>.
84172         * modules/ld-version-script: Renamed to lib-symbol-versions.
84173         * doc/ld-version-script.texi: Fix module name.
84174         * MODULES.html.sh: Add lib-symbol-versions.
84176 2009-03-31  Simon Josefsson  <simon@josefsson.org>
84178         * modules/u64-tests: New file.
84179         * tests/test-u64.c: New file.
84181 2009-03-04  Simon Josefsson  <simon@josefsson.org>
84183         * MODULES.html.sh: Mention u64.
84184         * modules/u64: New module.
84185         * modules/crypto/sha512: Depend on u64 module instead of providing
84186         u64.h.
84188 2009-03-27  Eric Blake  <ebb9@byu.net>
84190         test-strerror: make debugging EAI_SYSTEM easier
84191         * modules/getaddrinfo-tests (Depends-on): Add strerror.
84192         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
84193         failure was EAI_SYSTEM.
84195 2009-03-25  Bruno Haible  <bruno@clisp.org>
84197         Fix a problem with --enable-relocatable on Solaris 7.
84198         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
84199         since 2008-02-24.
84201 2009-03-25  Eric Blake  <ebb9@byu.net>
84203         test-sockets: avoid gcc warning
84204         * tests/test-sockets.c (main): Silence compiler warning.
84206 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
84208         New modules nproc, pthread, contributed by Glen Lenker.
84210         * MODULES.html.sh: Add pthread, nproc.
84211         * lib/nproc.c: New file.
84212         * lib/nproc.h: New file.
84213         * lib/pthread.in.h: New file.
84214         * m4/pthread.m4: New file.
84215         * modules/nproc: New file.
84216         * modules/pthread: New file.
84218 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84220         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
84221         New variable.
84223 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
84225         filevercmp: handle simple~ and numbered.~3~ backup suffixes
84226         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
84227         * tests/test-filevercmp.c: Add tests for backup suffixes.
84229 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84231         * modules/stdlib (Depends-on): Add stdint, needed when defining
84232         struct random_data on, for example, HP-UX 10.20.  Reported by
84233         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
84235 2009-03-24  Simon Josefsson  <simon@josefsson.org>
84237         * lib/readline.c (readline): Call fflush on stdout after printing
84238         prompt.
84240 2009-03-20  Bruno Haible  <bruno@clisp.org>
84242         Remove dependency from 'close' module to -lws2_32 on native Windows.
84243         * lib/close-hook.h: New file.
84244         * lib/close-hook.c: New file.
84245         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
84246         w32sock.h.
84247         (_gl_close_fd_maybe_socket): Remove function.
84248         (rpl_close): Invoke execute_all_close_hooks instead of
84249         _gl_close_fd_maybe_socket.
84250         * lib/sockets.c: Include close-hook.h, w32sock.h.
84251         (close_fd_maybe_socket): New function, essentially from lib/close.c.
84252         (close_sockets_hook): New variable.
84253         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
84254         (gl_sockets_cleanup): Unregister it.
84255         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
84256         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
84257         * modules/close-hook: New file.
84258         * modules/close (Files): Remove lib/w32sock.h.
84259         (Depends-on): Add close-hook.
84260         (Link): Remove section.
84261         * modules/sockets (Files): Add lib/w32sock.h.
84262         (Depends-on): Add close-hook.
84263         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
84264         invocation.
84265         * NEWS: Mention that LIB_CLOSE is gone.
84267 2009-03-23  Eric Blake  <ebb9@byu.net>
84269         signal-tests: test previous patch
84270         * tests/test-signal.c: New file.
84271         * modules/signal-tests: Likewise.
84273         signal.h: always support 'volatile sig_atomic_t'
84274         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
84275         (gl_SIGNAL_H_DEFAULTS): Add a default.
84276         * modules/signal (Makefile.am): Substitute if needed.
84277         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
84278         users can blindly add volatile.
84279         * doc/posix-headers/signal.texi (signal.h): Document it.
84280         Reported by Matthew Woehlke.
84282 2009-03-23  Jim Meyering  <meyering@redhat.com>
84284         pathmax: PATH_MAX: use pathconf only when available
84285         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
84286         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
84287         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
84288         This avoids a link failure in a PSP cross-compilation environment
84289         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
84291         * lib/vasnprintf.c (divide): Fix typo in comment.
84293 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84295         * gnulib-tool (func_filter_filelist): Fix comment.
84297 2009-03-20  Bruno Haible  <bruno@clisp.org>
84299         Make sockets.h self-contained.
84300         * lib/sockets.c: Include sockets.h first.
84301         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
84303 2009-03-19  Eric Blake  <ebb9@byu.net>
84305         doc: mention more functions added in cygwin 1.7.0
84306         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
84307         addition.
84308         * doc/posix-functions/log2f.texi: Likewise.
84310 2009-03-19  Jim Meyering  <meyering@redhat.com>
84312         fsusage: avoid syntax error due to statement-before-declaration
84313         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
84314         after all declarations.  Reported by Matthew Woehlke in
84315         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
84317 2009-03-18  Eric Blake  <ebb9@byu.net>
84319         build-aux/compile: sync from automake
84320         * build-aux/compile: New file, from automake.
84321         * config/srclist.txt: Mention build-aux/compile.
84323 2009-03-17  Bruno Haible  <bruno@clisp.org>
84325         * lib/git-merge-changelog.c: Fix typo in comment.
84326         Reported by Reuben Thomas <rrt@sc3d.org>.
84328 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
84330         * m4/regex.m4: update and improve help for
84331         --without-included-regex.
84333 2009-03-17  Simon Josefsson  <simon@josefsson.org>
84335         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
84336         failure on missing include files.
84338 2009-03-17  Eric Blake  <ebb9@byu.net>
84340         doc: mention more functions added in cygwin 1.7.0
84341         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
84342         addition.
84343         * doc/posix-functions/fwscanf.texi: Likewise.
84344         * doc/posix-functions/swprintf.texi: Likewise.
84345         * doc/posix-functions/swscanf.texi: Likewise.
84346         * doc/posix-functions/vfwprintf.texi: Likewise.
84347         * doc/posix-functions/vfwscanf.texi: Likewise.
84348         * doc/posix-functions/vswprintf.texi: Likewise.
84349         * doc/posix-functions/vswscanf.texi: Likewise.
84350         * doc/posix-functions/vwprintf.texi: Likewise.
84351         * doc/posix-functions/vwscanf.texi: Likewise.
84352         * doc/posix-functions/wcscasecmp.texi: Likewise.
84353         * doc/posix-functions/wcsdup.texi: Likewise.
84354         * doc/posix-functions/wcsftime.texi: Likewise.
84355         * doc/posix-functions/wcsncasecmp.texi: Likewise.
84356         * doc/posix-functions/wprintf.texi: Likewise.
84357         * doc/posix-functions/wscanf.texi: Likewise.
84358         * doc/glibc-functions/gethostbyname2.texi: Likewise.
84360 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84362         maint.mk: really add $(AM_MAKEFLAGS)
84363         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
84364         was inadvertently omitted in the last commit.
84365         Spotted by Bruno Haible.
84367         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
84368         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
84369         $(AM_MAKEFLAGS)' rather than plain `make'.
84371         gnulib-tool: execute $MAKE not make
84372         * gnulib-tool: Default $MAKE to 'make'.
84373         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
84374         than make.  Initialize $MAKE in the do-autobuild script.
84376         gnulib-tool: use $MAKE not make in generated files
84377         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
84378         make, in generated files.  Initialize $MAKE in the do-autobuild
84379         script.
84381         * top/GNUmakefile (_have-git-version-gen): Fix typo.
84383         GNUmakefile: disable parallelism only for multiple, recursive targets
84384         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
84385         additions in the Makefile.
84386         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
84387         by Automake.
84388         (.NOTPARALLEL): Only disable parallel builds if multiple targets
84389         are listed on the command line and at least one of them is
84390         listed in $(ALL_RECURSIVE_TARGETS).
84392 2009-03-14  Bruno Haible  <bruno@clisp.org>
84394         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
84395         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
84396         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
84397         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
84398         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
84399         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
84400         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
84401         unistr/u8-uctomb.
84402         * modules/unistr/u8-strchr (Depends-on): Likewise.
84403         * modules/unistr/u8-strrchr (Depends-on): Likewise.
84404         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
84405         unistr/u16-uctomb.
84406         * modules/unistr/u16-strchr (Depends-on): Likewise.
84407         * modules/unistr/u16-strrchr (Depends-on): Likewise.
84409 2009-03-12  Bruno Haible  <bruno@clisp.org>
84411         Work around select() bug on Interix 3.5.
84412         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
84413         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
84414         * m4/select.m4: New file.
84415         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
84416         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
84417         * modules/select (Files): Add m4/select.m4.
84418         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
84419         * modules/nanosleep (Depends-on): Add select.
84420         * modules/poll (Depends-on): Likewise.
84421         * doc/posix-functions/select.texi: Mention the Interix bug.
84422         Reported by Markus Duft <mduft@gentoo.org>.
84424         * lib/select.c: Renamed from lib/winsock-select.c.
84425         * modules/select (Files): Add lib/select.c, remove
84426         lib/winsock-select.c.
84427         (configure.ac): Update.
84429 2009-03-12  Jim Meyering  <meyering@redhat.com>
84431         avoid gcc warnings about unused macro definitions
84432         * lib/readtokens.c (STREQ): Remove unused definition.
84433         * lib/xmalloc.c (SIZE_MAX): Likewise.
84434         * lib/openat-die.c (N_): Likewise.
84435         * lib/mountlist.c (SIZE_MAX): Remove definition.
84436         Instead, include <stdint.h>.
84437         * lib/readutmp.c: Likewise.
84438         * modules/readutmp (Depends-on): Add stdint.
84439         * modules/mountlist (Depends-on): Add stdint.
84440         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
84442 2009-03-10  Bruno Haible  <bruno@clisp.org>
84444         Tests for module 'mbmemcasecoll'.
84445         * modules/mbmemcasecoll-tests: New file.
84446         * tests/test-mbmemcasecoll1.sh: New file.
84447         * tests/test-mbmemcasecoll2.sh: New file.
84448         * tests/test-mbmemcasecoll3.sh: New file.
84449         * tests/test-mbmemcasecoll.c: New file.
84451         New module 'mbmemcasecoll'.
84452         * lib/mbmemcasecoll.h: New file.
84453         * lib/mbmemcasecoll.c: New file.
84454         * modules/mbmemcasecoll: New file.
84456         * tests/test-mbmemcasecmp.h: New file, extracted from
84457         tests/test-mbmemcasecmp.c.
84458         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
84459         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
84460         (main): Update.
84461         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
84463 2009-03-09  Bruno Haible  <bruno@clisp.org>
84465         Tests for module 'mbmemcasecmp'.
84466         * modules/mbmemcasecmp-tests: New file.
84467         * tests/test-mbmemcasecmp1.sh: New file.
84468         * tests/test-mbmemcasecmp2.sh: New file.
84469         * tests/test-mbmemcasecmp3.sh: New file.
84470         * tests/test-mbmemcasecmp.c: New file.
84472         New module 'mbmemcasecmp'.
84473         * lib/mbmemcasecmp.h: New file.
84474         * lib/mbmemcasecmp.c: New file.
84475         * modules/mbmemcasecmp: New file.
84477 2009-03-09  Bruno Haible  <bruno@clisp.org>
84479         Tests for module 'unicase/ulc-casecoll'.
84480         * modules/unicase/ulc-casecoll-tests: New file.
84481         * tests/unicase/test-ulc-casecoll1.sh: New file.
84482         * tests/unicase/test-ulc-casecoll2.sh: New file.
84483         * tests/unicase/test-ulc-casecoll.c: New file.
84485         New module 'unicase/ulc-casecoll'.
84486         * lib/unicase.h (ulc_casecoll): New declaration.
84487         * lib/unicase/ulc-casecoll.c: New file.
84488         * modules/unicase/ulc-casecoll: New file.
84490         New module 'unicase/ulc-casexfrm'.
84491         * lib/unicase.h (ulc_casexfrm): New declaration.
84492         * lib/unicase/ulc-casexfrm.c: New file.
84493         * modules/unicase/ulc-casexfrm: New file.
84495 2009-03-09  Bruno Haible  <bruno@clisp.org>
84497         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
84498         invocations.
84500         * m4/mbscasecmp.m4: Remove file.
84501         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
84502         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
84504         * m4/mbscasestr.m4: Remove file.
84505         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
84506         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
84508         * m4/mbschr.m4: Remove file.
84509         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
84510         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
84512         * m4/mbscspn.m4: Remove file.
84513         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
84514         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
84516         * m4/mbslen.m4: Remove file.
84517         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
84518         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
84520         * m4/mbsncasecmp.m4: Remove file.
84521         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
84522         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
84524         * m4/mbsnlen.m4: Remove file.
84525         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
84526         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
84528         * m4/mbspbrk.m4: Remove file.
84529         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
84530         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
84532         * m4/mbspcasecmp.m4: Remove file.
84533         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
84534         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
84536         * m4/mbsrchr.m4: Remove file.
84537         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
84538         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
84540         * m4/mbssep.m4: Remove file.
84541         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
84542         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
84544         * m4/mbsspn.m4: Remove file.
84545         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
84546         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
84548         * m4/mbsstr.m4: Remove file.
84549         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
84550         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
84552         * m4/mbstok_r.m4: Remove file.
84553         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
84554         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
84556         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
84558         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
84559         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
84561         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
84563 2009-03-08  Bruno Haible  <bruno@clisp.org>
84565         Tests for module 'unicase/ulc-casecmp'.
84566         * modules/unicase/ulc-casecmp-tests: New file.
84567         * tests/unicase/test-ulc-casecmp1.sh: New file.
84568         * tests/unicase/test-ulc-casecmp2.sh: New file.
84569         * tests/unicase/test-ulc-casecmp.c: New file.
84571         New module 'unicase/ulc-casecmp'.
84572         * lib/unicase.h (ulc_casecmp): New declaration.
84573         * lib/unicase/ulc-casecmp.c: New file.
84574         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
84575         'const SRC_UNIT *'.
84576         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
84577         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
84578         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
84579         * modules/unicase/ulc-casecmp: New file.
84581         Tests for module 'unicase/u32-is-cased'.
84582         * modules/unicase/u32-is-cased-tests: New file.
84583         * tests/unicase/test-u32-is-cased.c: New file.
84585         Tests for module 'unicase/u16-is-cased'.
84586         * modules/unicase/u16-is-cased-tests: New file.
84587         * tests/unicase/test-u16-is-cased.c: New file.
84589         Tests for module 'unicase/u8-is-cased'.
84590         * modules/unicase/u8-is-cased-tests: New file.
84591         * tests/unicase/test-u8-is-cased.c: New file.
84592         * tests/unicase/test-is-cased.h: New file.
84594         New module 'unicase/u32-is-cased'.
84595         * lib/unicase/u32-is-cased.c: New file.
84596         * modules/unicase/u32-is-cased: New file.
84598         New module 'unicase/u16-is-cased'.
84599         * lib/unicase/u16-is-cased.c: New file.
84600         * modules/unicase/u16-is-cased: New file.
84602         New module 'unicase/u8-is-cased'.
84603         * lib/unicase/u8-is-cased.c: New file.
84604         * lib/unicase/u-is-cased.h: New file.
84605         * modules/unicase/u8-is-cased: New file.
84607         Tests for module 'unicase/u32-is-casefolded'.
84608         * modules/unicase/u32-is-casefolded-tests: New file.
84609         * tests/unicase/test-u32-is-casefolded.c: New file.
84611         Tests for module 'unicase/u16-is-casefolded'.
84612         * modules/unicase/u16-is-casefolded-tests: New file.
84613         * tests/unicase/test-u16-is-casefolded.c: New file.
84615         Tests for module 'unicase/u8-is-casefolded'.
84616         * modules/unicase/u8-is-casefolded-tests: New file.
84617         * tests/unicase/test-u8-is-casefolded.c: New file.
84618         * tests/unicase/test-is-casefolded.h: New file.
84620         New module 'unicase/u32-is-casefolded'.
84621         * lib/unicase/u32-is-casefolded.c: New file.
84622         * modules/unicase/u32-is-casefolded: New file.
84624         New module 'unicase/u16-is-casefolded'.
84625         * lib/unicase/u16-is-casefolded.c: New file.
84626         * modules/unicase/u16-is-casefolded: New file.
84628         New module 'unicase/u8-is-casefolded'.
84629         * lib/unicase/u8-is-casefolded.c: New file.
84630         * modules/unicase/u8-is-casefolded: New file.
84632         Tests for module 'unicase/u32-is-titlecase'.
84633         * modules/unicase/u32-is-titlecase-tests: New file.
84634         * tests/unicase/test-u32-is-titlecase.c: New file.
84636         Tests for module 'unicase/u16-is-titlecase'.
84637         * modules/unicase/u16-is-titlecase-tests: New file.
84638         * tests/unicase/test-u16-is-titlecase.c: New file.
84640         Tests for module 'unicase/u8-is-titlecase'.
84641         * modules/unicase/u8-is-titlecase-tests: New file.
84642         * tests/unicase/test-u8-is-titlecase.c: New file.
84643         * tests/unicase/test-is-titlecase.h: New file.
84645         New module 'unicase/u32-is-titlecase'.
84646         * lib/unicase/u32-is-titlecase.c: New file.
84647         * modules/unicase/u32-is-titlecase: New file.
84649         New module 'unicase/u16-is-titlecase'.
84650         * lib/unicase/u16-is-titlecase.c: New file.
84651         * modules/unicase/u16-is-titlecase: New file.
84653         New module 'unicase/u8-is-titlecase'.
84654         * lib/unicase/u8-is-titlecase.c: New file.
84655         * modules/unicase/u8-is-titlecase: New file.
84657         Tests for module 'unicase/u32-is-lowercase'.
84658         * modules/unicase/u32-is-lowercase-tests: New file.
84659         * tests/unicase/test-u32-is-lowercase.c: New file.
84661         Tests for module 'unicase/u16-is-lowercase'.
84662         * modules/unicase/u16-is-lowercase-tests: New file.
84663         * tests/unicase/test-u16-is-lowercase.c: New file.
84665         Tests for module 'unicase/u8-is-lowercase'.
84666         * modules/unicase/u8-is-lowercase-tests: New file.
84667         * tests/unicase/test-u8-is-lowercase.c: New file.
84668         * tests/unicase/test-is-lowercase.h: New file.
84670         New module 'unicase/u32-is-lowercase'.
84671         * lib/unicase/u32-is-lowercase.c: New file.
84672         * modules/unicase/u32-is-lowercase: New file.
84674         New module 'unicase/u16-is-lowercase'.
84675         * lib/unicase/u16-is-lowercase.c: New file.
84676         * modules/unicase/u16-is-lowercase: New file.
84678         New module 'unicase/u8-is-lowercase'.
84679         * lib/unicase/u8-is-lowercase.c: New file.
84680         * modules/unicase/u8-is-lowercase: New file.
84682         Tests for module 'unicase/u32-is-uppercase'.
84683         * modules/unicase/u32-is-uppercase-tests: New file.
84684         * tests/unicase/test-u32-is-uppercase.c: New file.
84686         Tests for module 'unicase/u16-is-uppercase'.
84687         * modules/unicase/u16-is-uppercase-tests: New file.
84688         * tests/unicase/test-u16-is-uppercase.c: New file.
84690         Tests for module 'unicase/u8-is-uppercase'.
84691         * modules/unicase/u8-is-uppercase-tests: New file.
84692         * tests/unicase/test-u8-is-uppercase.c: New file.
84693         * tests/unicase/test-is-uppercase.h: New file.
84695         New module 'unicase/u32-is-uppercase'.
84696         * lib/unicase/u32-is-uppercase.c: New file.
84697         * modules/unicase/u32-is-uppercase: New file.
84699         New module 'unicase/u16-is-uppercase'.
84700         * lib/unicase/u16-is-uppercase.c: New file.
84701         * modules/unicase/u16-is-uppercase: New file.
84703         New module 'unicase/u8-is-uppercase'.
84704         * lib/unicase/u8-is-uppercase.c: New file.
84705         * modules/unicase/u8-is-uppercase: New file.
84707         New module 'unicase/u32-is-invariant'.
84708         * lib/unicase/u32-is-invariant.c: New file.
84709         * modules/unicase/u32-is-invariant: New file.
84711         New module 'unicase/u16-is-invariant'.
84712         * lib/unicase/u16-is-invariant.c: New file.
84713         * modules/unicase/u16-is-invariant: New file.
84715         New module 'unicase/u8-is-invariant'.
84716         * lib/unicase/u8-is-invariant.c: New file.
84717         * lib/unicase/invariant.h: New file.
84718         * lib/unicase/u-is-invariant.h: New file.
84719         * modules/unicase/u8-is-invariant: New file.
84721         Tests for module 'unicase/u32-casecoll'.
84722         * modules/unicase/u32-casecoll-tests: New file.
84723         * tests/unicase/test-u32-casecoll.c: New file.
84725         Tests for module 'unicase/u16-casecoll'.
84726         * modules/unicase/u16-casecoll-tests: New file.
84727         * tests/unicase/test-u16-casecoll.c: New file.
84729         Tests for module 'unicase/u8-casecoll'.
84730         * modules/unicase/u8-casecoll-tests: New file.
84731         * tests/unicase/test-u8-casecoll.c: New file.
84733         New module 'unicase/u32-casecoll'.
84734         * lib/unicase/u32-casecoll.c: New file.
84735         * modules/unicase/u32-casecoll: New file.
84737         New module 'unicase/u16-casecoll'.
84738         * lib/unicase/u16-casecoll.c: New file.
84739         * modules/unicase/u16-casecoll: New file.
84741         New module 'unicase/u8-casecoll'.
84742         * lib/unicase/u8-casecoll.c: New file.
84743         * lib/unicase/u-casecoll.h: New file.
84744         * modules/unicase/u8-casecoll: New file.
84746         New module 'unicase/u32-casexfrm'.
84747         * lib/unicase/u32-casexfrm.c: New file.
84748         * modules/unicase/u32-casexfrm: New file.
84750         New module 'unicase/u16-casexfrm'.
84751         * lib/unicase/u16-casexfrm.c: New file.
84752         * modules/unicase/u16-casexfrm: New file.
84754         New module 'unicase/u8-casexfrm'.
84755         * lib/unicase/u8-casexfrm.c: New file.
84756         * lib/unicase/u-casexfrm.h: New file.
84757         * modules/unicase/u8-casexfrm: New file.
84759         Tests for module 'unicase/u32-casecmp'.
84760         * modules/unicase/u32-casecmp-tests: New file.
84761         * tests/unicase/test-u32-casecmp.c: New file.
84763         Tests for module 'unicase/u16-casecmp'.
84764         * modules/unicase/u16-casecmp-tests: New file.
84765         * tests/unicase/test-u16-casecmp.c: New file.
84767         Tests for module 'unicase/u8-casecmp'.
84768         * modules/unicase/u8-casecmp-tests: New file.
84769         * tests/unicase/test-u8-casecmp.c: New file.
84770         * tests/unicase/test-casecmp.h: New file.
84772         New module 'unicase/u32-casecmp'.
84773         * lib/unicase/u32-casecmp.c: New file.
84774         * modules/unicase/u32-casecmp: New file.
84776         New module 'unicase/u16-casecmp'.
84777         * lib/unicase/u16-casecmp.c: New file.
84778         * modules/unicase/u16-casecmp: New file.
84780         New module 'unicase/u8-casecmp'.
84781         * lib/unicase/u8-casecmp.c: New file.
84782         * lib/unicase/u-casecmp.h: New file.
84783         * modules/unicase/u8-casecmp: New file.
84785         Tests for module 'unicase/u32-casefold'.
84786         * modules/unicase/u32-casefold-tests: New file.
84787         * tests/unicase/test-u32-casefold.c: New file.
84789         Tests for module 'unicase/u16-casefold'.
84790         * modules/unicase/u16-casefold-tests: New file.
84791         * tests/unicase/test-u16-casefold.c: New file.
84793         Tests for module 'unicase/u8-casefold'.
84794         * modules/unicase/u8-casefold-tests: New file.
84795         * tests/unicase/test-u8-casefold.c: New file.
84797         New module 'unicase/u32-casefold'.
84798         * lib/unicase/u32-casefold.c: New file.
84799         * modules/unicase/u32-casefold: New file.
84801         New module 'unicase/u16-casefold'.
84802         * lib/unicase/u16-casefold.c: New file.
84803         * modules/unicase/u16-casefold: New file.
84805         New module 'unicase/u8-casefold'.
84806         * lib/unicase/u8-casefold.c: New file.
84807         * lib/unicase/u-casefold.h: New file.
84808         * modules/unicase/u8-casefold: New file.
84810         New module 'unicase/tocasefold'.
84811         * lib/unicase/casefold.h: New file.
84812         * lib/unicase/tocasefold.c: New file.
84813         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
84814         * modules/unicase/tocasefold: New file.
84816         Tests for module 'unicase/u32-totitle'.
84817         * modules/unicase/u32-totitle-tests: New file.
84818         * tests/unicase/test-u32-totitle.c: New file.
84820         Tests for module 'unicase/u16-totitle'.
84821         * modules/unicase/u16-totitle-tests: New file.
84822         * tests/unicase/test-u16-totitle.c: New file.
84824         Tests for module 'unicase/u8-totitle'.
84825         * modules/unicase/u8-totitle-tests: New file.
84826         * tests/unicase/test-u8-totitle.c: New file.
84828         New module 'unicase/u32-totitle'.
84829         * lib/unicase/u32-totitle.c: New file.
84830         * modules/unicase/u32-totitle: New file.
84832         New module 'unicase/u16-totitle'.
84833         * lib/unicase/u16-totitle.c: New file.
84834         * modules/unicase/u16-totitle: New file.
84836         New module 'unicase/u8-totitle'.
84837         * lib/unicase/u8-totitle.c: New file.
84838         * lib/unicase/u-totitle.h: New file.
84839         * modules/unicase/u8-totitle: New file.
84841         Tests for module 'unicase/u32-tolower'.
84842         * modules/unicase/u32-tolower-tests: New file.
84843         * tests/unicase/test-u32-tolower.c: New file.
84845         Tests for module 'unicase/u16-tolower'.
84846         * modules/unicase/u16-tolower-tests: New file.
84847         * tests/unicase/test-u16-tolower.c: New file.
84849         Tests for module 'unicase/u8-tolower'.
84850         * modules/unicase/u8-tolower-tests: New file.
84851         * tests/unicase/test-u8-tolower.c: New file.
84853         New module 'unicase/u32-tolower'.
84854         * lib/unicase/u32-tolower.c: New file.
84855         * modules/unicase/u32-tolower: New file.
84857         New module 'unicase/u16-tolower'.
84858         * lib/unicase/u16-tolower.c: New file.
84859         * modules/unicase/u16-tolower: New file.
84861         New module 'unicase/u8-tolower'.
84862         * lib/unicase/u8-tolower.c: New file.
84863         * modules/unicase/u8-tolower: New file.
84865         Tests for module 'unicase/u32-toupper'.
84866         * modules/unicase/u32-toupper-tests: New file.
84867         * tests/unicase/test-u32-toupper.c: New file.
84869         Tests for module 'unicase/u16-toupper'.
84870         * modules/unicase/u16-toupper-tests: New file.
84871         * tests/unicase/test-u16-toupper.c: New file.
84873         Tests for module 'unicase/u8-toupper'.
84874         * modules/unicase/u8-toupper-tests: New file.
84875         * tests/unicase/test-u8-toupper.c: New file.
84877         New module 'unicase/u32-toupper'.
84878         * lib/unicase/u32-toupper.c: New file.
84879         * modules/unicase/u32-toupper: New file.
84881         New module 'unicase/u16-toupper'.
84882         * lib/unicase/u16-toupper.c: New file.
84883         * modules/unicase/u16-toupper: New file.
84885         New module 'unicase/u8-toupper'.
84886         * lib/unicase/u8-toupper.c: New file.
84887         * modules/unicase/u8-toupper: New file.
84889         New module 'unicase/u32-casemap'.
84890         * lib/unicase/u32-casemap.c: New file.
84891         * modules/unicase/u32-casemap: New file.
84893         New module 'unicase/u16-casemap'.
84894         * lib/unicase/u16-casemap.c: New file.
84895         * modules/unicase/u16-casemap: New file.
84897         New module 'unicase/u8-casemap'.
84898         * lib/unicase/unicasemap.h: New file.
84899         * lib/unicase/u8-casemap.c: New file.
84900         * lib/unicase/u-casemap.h: New file.
84901         * modules/unicase/u8-casemap: New file.
84903         New module 'unicase/special-casing'.
84904         * lib/unicase/special-casing.h: New file.
84905         * lib/unicase/special-casing.c: New file.
84906         * lib/unicase/special-casing-table.gperf: New file, generated by
84907         gen-uni-tables.c.
84908         * modules/unicase/special-casing: New file.
84910         Tests for module 'unicase/locale-language'.
84911         * modules/unicase/locale-language-tests: New file.
84912         * tests/unicase/test-locale-language.sh: New file.
84913         * tests/unicase/test-locale-language.c: New file.
84915         New module 'unicase/locale-language'.
84916         * lib/unicase/locale-language.c: New file.
84917         * lib/unicase/locale-languages.gperf: New file.
84918         * modules/unicase/locale-language: New file.
84920         Generate more tables for case conversion and case folding.
84921         * lib/gen-uni-tables.c (SCC_*): New enum items.
84922         (struct special_casing_rule): New type.
84923         (casing_rules, num_casing_rules, allocated_casing_rules): New
84924         variables.
84925         (add_casing_rule, fill_casing_rules): New functions.
84926         (struct casefold_rule): New type.
84927         (casefolding_rules, num_casefolding_rules,
84928         allocated_casefolding_rules): New variables.
84929         (fill_casefolding_rules): New function.
84930         (unicode_casefold): New variable.
84931         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
84932         sort_casing_rules, output_casing_rules): New functions.
84933         (main): Accept to more arguments: SpecialCasing.txt and
84934         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
84935         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
84936         Output mapping for casefolding.
84938         * lib/unicase.h: Include stdbool.h, uninorm.h.
84939         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
84940         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
84941         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
84942         arguments.
84943         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
84944         resultp arguments.
84945         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
84946         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
84947         resultp arguments.
84948         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
84949         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
84950         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
84951         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
84952         declarations.
84953         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
84955 2009-03-08  Bruno Haible  <bruno@clisp.org>
84957         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84958         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
84959         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
84960         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84962 2009-03-07  Bruno Haible  <bruno@clisp.org>
84964         Adjust u*_normcmp, u*_normcoll API.
84965         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
84966         u16_normcoll, u32_normcoll): Change failure conventions.
84967         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
84968         errno and return -1.
84969         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
84971 2009-03-07  Bruno Haible  <bruno@clisp.org>
84973         Tests for module 'uninorm/u32-normcoll'.
84974         * modules/uninorm/u32-normcoll-tests: New file.
84975         * tests/uninorm/test-u32-normcoll.c: New file.
84977         Tests for module 'uninorm/u16-normcoll'.
84978         * modules/uninorm/u16-normcoll-tests: New file.
84979         * tests/uninorm/test-u16-normcoll.c: New file.
84981         Tests for module 'uninorm/u8-normcoll'.
84982         * modules/uninorm/u8-normcoll-tests: New file.
84983         * tests/uninorm/test-u8-normcoll.c: New file.
84985 2009-03-07  Bruno Haible  <bruno@clisp.org>
84987         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
84988         tests/uninorm/test-u32-normcmp.c.
84989         * tests/uninorm/test-u32-normcmp.c: Include it.
84990         (test_nonascii): New function, extracted from main. Add some more
84991         tests.
84992         (main): Invoke test_ascii and test_nonascii.
84993         * modules/uninorm/u32-normcmp-tests (Files): Add
84994         tests/uninorm/test-u32-normcmp.h.
84995         (Depends-on): Remove uninorm/u32-normcmp.
84997         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
84998         tests/uninorm/test-u16-normcmp.c.
84999         * tests/uninorm/test-u16-normcmp.c: Include it.
85000         (test_nonascii): New function, extracted from main. Add some more
85001         tests.
85002         (main): Invoke test_ascii and test_nonascii.
85003         * modules/uninorm/u16-normcmp-tests (Files): Add
85004         tests/uninorm/test-u16-normcmp.h.
85005         (Depends-on): Remove uninorm/u16-normcmp.
85007         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
85008         tests/uninorm/test-u8-normcmp.c.
85009         * tests/uninorm/test-u8-normcmp.c: Include it.
85010         (test_nonascii): New function, extracted from main. Add some more
85011         tests.
85012         (main): Invoke test_ascii and test_nonascii.
85013         * modules/uninorm/u8-normcmp-tests (Files): Add
85014         tests/uninorm/test-u8-normcmp.h.
85015         (Depends-on): Remove uninorm/u8-normcmp.
85017 2009-03-07  Bruno Haible  <bruno@clisp.org>
85019         New module 'uninorm/u32-normcoll'.
85020         * lib/uninorm/u32-normcoll.c: New file.
85021         * modules/uninorm/u32-normcoll: New file.
85023         New module 'uninorm/u16-normcoll'.
85024         * lib/uninorm/u16-normcoll.c: New file.
85025         * modules/uninorm/u16-normcoll: New file.
85027         New module 'uninorm/u8-normcoll'.
85028         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
85029         declarations.
85030         * lib/uninorm/u8-normcoll.c: New file.
85031         * lib/uninorm/u-normcoll.h: New file.
85032         * modules/uninorm/u8-normcoll: New file.
85034         New module 'uninorm/u32-normxfrm'.
85035         * lib/uninorm/u32-normxfrm.c: New file.
85036         * modules/uninorm/u32-normxfrm: New file.
85038         New module 'uninorm/u16-normxfrm'.
85039         * lib/uninorm/u16-normxfrm.c: New file.
85040         * modules/uninorm/u16-normxfrm: New file.
85042         New module 'uninorm/u8-normxfrm'.
85043         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
85044         declarations.
85045         * lib/uninorm/u8-normxfrm.c: New file.
85046         * lib/uninorm/u-normxfrm.h: New file.
85047         * modules/uninorm/u8-normxfrm: New file.
85049 2009-03-07  Bruno Haible  <bruno@clisp.org>
85051         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
85052         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
85053         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
85055 2009-03-07  Bruno Haible  <bruno@clisp.org>
85057         New module 'memxfrm'.
85058         * lib/memxfrm.h: New file.
85059         * lib/memxfrm.c: New file.
85060         * modules/memxfrm: New file.
85062 2009-03-07  Bruno Haible  <bruno@clisp.org>
85064         New module 'memcmp2'.
85065         * lib/memcmp2.h: New file.
85066         * lib/memcmp2.c: New file.
85067         * modules/memcmp2: New file.
85069 2009-03-07  Bruno Haible  <bruno@clisp.org>
85071         Tests for module 'uninorm/decomposing-form'.
85072         * modules/uninorm/decomposing-form-tests: New file.
85073         * tests/uninorm/test-decomposing-form.c: New file.
85075         New module 'uninorm/decomposing-form'.
85076         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
85077         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
85078         Add 'decomposing_variant' field.
85079         * lib/uninorm/decomposing-form.c: New file.
85080         * lib/uninorm/nfc.c (uninorm_nfc): Update.
85081         * lib/uninorm/nfd.c (uninorm_nfd): Update.
85082         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
85083         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
85084         * modules/uninorm/decomposing-form: New file.
85085         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
85086         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
85088 2009-03-07  Bruno Haible  <bruno@clisp.org>
85090         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
85091         strings.
85093 2009-03-06  Bruno Haible  <bruno@clisp.org>
85095         Tests for module 'uninorm/u32-normcmp'.
85096         * tests/uninorm/test-u32-normcmp.c: New file.
85097         * modules/uninorm/u32-normcmp-tests: New file.
85099         Tests for module 'uninorm/u16-normcmp'.
85100         * tests/uninorm/test-u16-normcmp.c: New file.
85101         * modules/uninorm/u16-normcmp-tests: New file.
85103         Tests for module 'uninorm/u8-normcmp'.
85104         * tests/uninorm/test-u8-normcmp.c: New file.
85105         * modules/uninorm/u8-normcmp-tests: New file.
85107         New module 'uninorm/u32-normcmp'.
85108         * lib/uninorm/u32-normcmp.c: New file.
85109         * modules/uninorm/u32-normcmp: New file.
85111         New module 'uninorm/u16-normcmp'.
85112         * lib/uninorm/u16-normcmp.c: New file.
85113         * modules/uninorm/u16-normcmp: New file.
85115         New module 'uninorm/u8-normcmp'.
85116         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
85117         declarations.
85118         * lib/uninorm/u8-normcmp.c: New file.
85119         * lib/uninorm/u-normcmp.h: New file.
85120         * modules/uninorm/u8-normcmp: New file.
85122 2009-03-06  Bruno Haible  <bruno@clisp.org>
85124         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
85125         Reported by Eric Blake.
85127 2009-03-06  Eric Blake  <ebb9@byu.net>
85128             Bruno Haible  <bruno@clisp.org>
85130         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
85131         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
85132         condition.
85133         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85134         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
85135         condition.
85136         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
85138 2009-03-06  Eric Blake  <ebb9@byu.net>
85140         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
85141         to avoid compiler warnings.
85142         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
85144 2009-03-05  Bruno Haible  <bruno@clisp.org>
85146         * tests/test-ftell.c (main): Disable test beyond end of file on
85147         FreeMiNT.
85148         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85150 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
85152         * lib/filevercmp.c: Move hidden files up in ordering.
85153         * tests/test-filevercmp.c: Add tests for hidden files.
85155 2009-03-04  Bruno Haible  <bruno@clisp.org>
85157         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
85158         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
85159         AM_CFLAGS.
85160         Reported by Simon Josefsson.
85162 2009-03-03  Bruno Haible  <bruno@clisp.org>
85164         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
85165         Reported by Simon Josefsson.
85167         * doc/ld-version-script.texi: Update node reference.
85169 2009-03-03  Bruno Haible  <bruno@clisp.org>
85171         * modules/visibility (License): Change to 'unlimited'.
85172         Suggested by Simon Josefsson.
85174 2009-03-03  Jim Meyering  <meyering@redhat.com>
85176         unlinkdir: cannot_unlink_dir may modify process state
85177         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
85178         it's neither thread-safe nor appropriate for use in a library.
85180 2009-03-03  Eric Blake  <ebb9@byu.net>
85182         test-closein: silence test under Darwin
85183         * tests/test-closein.sh: Ignore stderr from cat, since we don't
85184         care if it dies from EPIPE or EBADF.
85186 2009-03-03  Bruno Haible  <bruno@clisp.org>
85188         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
85189         earlier.
85190         * doc/visibility.texi: Fix @node and @section.
85192 2009-03-03  Simon Josefsson  <simon@josefsson.org>
85194         * doc/gnulib.texi: Link to sections for ld version script and
85195         visibility.
85196         * doc/visibility.texi: Add @node and @section.
85197         * modules/ld-version-script: New module.
85198         * m4/ld-version-script.m4: New file.
85199         * doc/ld-version-script.texi: New file.
85201 2009-03-02  David Lutterkort  <lutter@redhat.com>
85203         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
85204         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85206 2009-03-02  Bruno Haible  <bruno@clisp.org>
85208         * doc/visibility.texi: Mention libtool's -export-symbols option.
85210 2009-03-02  Jim Meyering  <meyering@redhat.com>
85212         announce-gen: new option: --no-print-checksums
85213         * build-aux/announce-gen (usage): Describe it.
85214         (print_checksums): Print a newline here, not in the [*] footnote.
85215         (main): Honor it.
85217 2009-03-01  Bruno Haible  <bruno@clisp.org>
85219         Use socklen_t in the native Windows replacements prototypes.
85220         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
85221         instead of 'int'.
85222         * lib/getsockopt.c (rpl_getsockopt): Likewise.
85223         * lib/setsockopt.c (rpl_setsockopt): Likewise.
85224         * modules/getsockopt (Depends-on): Add socklen.
85225         * modules/setsockopt (Depends-on): Add socklen.
85227 2009-03-01  Bruno Haible  <bruno@clisp.org>
85229         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
85230         least 4.2.
85232 2009-03-01  Eric Blake  <ebb9@byu.net>
85233             Bruno Haible  <bruno@clisp.org>
85235         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
85236         error messages.
85237         * lib/wait-process.c (wait_subprocess): Omit error message about
85238         deadly signal sent to the child of termsigp != NULL.
85240 2009-03-01  Eric Blake  <ebb9@byu.net>
85242         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
85244 2009-03-01  Bruno Haible  <bruno@clisp.org>
85246         Avoid a gcc warning.
85247         * tests/test-sched.c (b): Make global.
85248         Reported by Eric Blake.
85250 2009-01-19  Martin Lambers  <marlam@marlam.de>
85252         Provide POSIX semantics for socket timeout options on W32.
85253         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
85254         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
85255         * modules/setsockopt: Depend on sys_time module for struct timeval.
85256         * modules/getsockopt: Depend on sys_time module for struct timeval.
85258 2009-03-01  Simon Josefsson  <simon@josefsson.org>
85260         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
85261         __USE_GNU, for consistency with netdb.in.h.
85262         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85264 2009-03-01  Bruno Haible  <bruno@clisp.org>
85266         More support for FreeMiNT.
85267         * lib/fseeko.c (rpl_fseeko): Complete last commit.
85268         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85270 2009-03-01  Bruno Haible  <bruno@clisp.org>
85272         More support for FreeMiNT.
85273         * lib/fpurge.c (fpurge): Correct last commit.
85274         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85276 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
85278         Fix unportable awk script in vc-list-files.
85279         * build-aux/vc-list-files: In the replacement awk script, use
85280         substr with a second argument of 1, not zero.
85281         Report by Simon Josefsson.
85283 2009-02-28  Bruno Haible  <bruno@clisp.org>
85285         More support for FreeMiNT.
85286         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
85287         to FreeMiNT today.
85288         * lib/fwriting.c (fwriting): Likewise.
85289         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
85291 2009-02-28  Bruno Haible  <bruno@clisp.org>
85293         * tests/test-freadseek.c (main): Disable test beyond end of file on
85294         FreeMiNT.
85295         * tests/test-ftello.c (main): Likewise.
85296         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
85298 2009-02-28  Bruno Haible  <bruno@clisp.org>
85300         Add tentative support for FreeMiNT.
85301         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
85302         * lib/fpurge.c (fpurge): Likewise.
85303         * lib/freadable.c (freadable): Likewise.
85304         * lib/freading.c (freading): Likewise.
85305         * lib/freadptr.c (freadptr): Likewise.
85306         * lib/freadseek.c (freadptrinc): Likewise.
85307         * lib/fseeko.c (rpl_fseeko): Likewise.
85308         * lib/fseterr.c (fseterr): Likewise.
85309         * lib/fwritable.c (fwritable): Likewise.
85310         * lib/fwriting.c (fwriting): Likewise.
85311         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
85312         Hourihane.
85313         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
85315 2009-02-28  Bruno Haible  <bruno@clisp.org>
85317         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
85318         SIGCHLD.
85319         Reported by Jim Meyering.
85321 2009-02-28  Bruno Haible  <bruno@clisp.org>
85323         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
85324         Mention the results of these tests on various platforms.
85325         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
85326         order.
85327         * doc/posix-functions/printf.texi: Likewise.
85328         * doc/posix-functions/snprintf.texi: Likewise.
85329         * doc/posix-functions/sprintf.texi: Likewise.
85330         * doc/posix-functions/vfprintf.texi: Likewise.
85331         * doc/posix-functions/vprintf.texi: Likewise.
85332         * doc/posix-functions/vsnprintf.texi: Likewise.
85333         * doc/posix-functions/vsprintf.texi: Likewise.
85334         * doc/glibc-functions/obstack_printf.texi: Likewise.
85335         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
85337 2009-02-28  Bruno Haible  <bruno@clisp.org>
85339         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
85340         Reported by Loïc Minier <lool@dooz.org>.
85342 2009-02-27  Bruno Haible  <bruno@clisp.org>
85344         * gnulib-tool (func_import): Make the sed expression used to create the
85345         sed script for updating the .gitignore file POSIX compliant.
85346         Reported by Eric Blake.
85348 2009-02-27  Bruno Haible  <bruno@clisp.org>
85350         * gnulib-tool (sed): Don't alias as "sed --posix".
85351         Reported by Eric Blake.
85353 2009-02-27  Bruno Haible  <bruno@clisp.org>
85355         Avoid test link errors.
85356         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
85357         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
85358         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
85359         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
85360         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85362 2009-02-27  Bruno Haible  <bruno@clisp.org>
85364         Avoid spurious "(cached)" in configure output.
85365         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
85366         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
85367         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
85368         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
85369         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
85370         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
85371         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
85372         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
85373         Reported by Eric Blake.
85375 2009-02-27  Eric Blake  <ebb9@byu.net>
85377         printf: fix regression in previous patch
85378         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
85380 2009-02-27  Bruno Haible  <bruno@clisp.org>
85382         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
85383         value.
85384         * lib/stdint.in.h: Likewise.
85385         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
85387 2009-02-27  Eric Blake  <ebb9@byu.net>
85389         doc: mention more functions added in cygwin 1.7.0
85390         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
85391         addition.
85392         * doc/posix-functions/open_wmemstream.texi: Likewise.
85393         * doc/posix-functions/wcsnlen.texi: Likewise.
85394         * doc/posix-functions/wcsnrtombs.texi: Likewise.
85395         * doc/posix-functions/wcstod.texi: Likewise.
85396         * doc/posix-functions/wcstof.texi: Likewise.
85397         * doc/posix-functions/wcstoimax.texi: Likewise.
85398         * doc/posix-functions/wcstok.texi: Likewise.
85399         * doc/posix-functions/wcstoumax.texi: Likewise.
85401         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
85402         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
85403         * doc/posix-functions/fprintf.texi: Update.
85404         * doc/posix-functions/printf.texi: Update.
85405         * doc/posix-functions/snprintf.texi: Update.
85406         * doc/posix-functions/sprintf.texi: Update.
85407         * doc/posix-functions/vfprintf.texi: Update.
85408         * doc/posix-functions/vprintf.texi: Update.
85409         * doc/posix-functions/vsnprintf.texi: Update.
85410         * doc/posix-functions/vsprintf.texi: Update.
85411         * doc/glibc-functions/obstack_printf.texi: Update.
85412         * doc/glibc-functions/obstack_vprintf.texi: Update.
85414 2009-02-26  Eric Blake  <ebb9@byu.net>
85416         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
85417         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
85418         compilation bug by using runtime conversion.
85419         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
85420         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
85421         * modules/ceill-tests (Files): Use nan.h.
85422         * modules/floorl-tests (Files): Likewise.
85423         * modules/frexpl-tests (Files): Likewise.
85424         * modules/isnanl-tests (Files): Likewise.
85425         * modules/ldexpl-tests (Files): Likewise.
85426         * modules/roundl-tests (Files): Likewise.
85427         * modules/truncl-tests (Files): Likewise.
85428         * tests/test-ceill.c (main): Use a working NaN.
85429         * tests/test-floorl.c (main): Likewise.
85430         * tests/test-frexpl.c (main): Likewise.
85431         * tests/test-isnan.c (test_long_double): Likewise.
85432         * tests/test-isnanl.h (main): Likewise.
85433         * tests/test-ldexpl.h (main): Likewise.
85434         * tests/test-roundl.h (main): Likewise.
85435         * tests/test-truncl.h (main): Likewise.
85436         See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.
85438 2009-02-26  Eric Blake  <ebb9@byu.net>
85439             Bruno Haible  <bruno@clisp.org>
85441         Work around a *printf bug with %ls on Solaris.
85442         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
85443         precision is specified, sprintf stops converting the wide string
85444         argument when the number of bytes that have been produced by this
85445         conversion equals or exceeds the precision.
85446         * doc/posix-functions/fprintf.texi: Update.
85447         * doc/posix-functions/printf.texi: Update.
85448         * doc/posix-functions/snprintf.texi: Update.
85449         * doc/posix-functions/sprintf.texi: Update.
85450         * doc/posix-functions/vfprintf.texi: Update.
85451         * doc/posix-functions/vprintf.texi: Update.
85452         * doc/posix-functions/vsnprintf.texi: Update.
85453         * doc/posix-functions/vsprintf.texi: Update.
85454         * doc/glibc-functions/obstack_printf.texi: Update.
85455         * doc/glibc-functions/obstack_vprintf.texi: Update.
85457 2009-02-26  Eric Blake  <ebb9@byu.net>
85459         stdlib: favor compiler check of random.h
85460         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
85461         to avoid an ObjC random.h installed by Swarm.
85463 2009-02-26  Bruno Haible  <bruno@clisp.org>
85465         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
85466         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
85467         Reported by Gary V. Vaughan <gary@gnu.org>.
85469 2009-02-26  Bruno Haible  <bruno@clisp.org>
85471         Fix *printf behaviour regarding the %ls directive.
85472         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
85473         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
85474         NEED_PRINTF_DIRECTIVE_LS.
85475         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
85476         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
85477         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
85478         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
85479         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
85480         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
85481         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
85482         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
85483         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
85484         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
85485         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
85486         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
85487         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
85488         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
85489         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
85490         * doc/posix-functions/fprintf.texi: Update.
85491         * doc/posix-functions/printf.texi: Update.
85492         * doc/posix-functions/snprintf.texi: Update.
85493         * doc/posix-functions/sprintf.texi: Update.
85494         * doc/posix-functions/vfprintf.texi: Update.
85495         * doc/posix-functions/vprintf.texi: Update.
85496         * doc/posix-functions/vsnprintf.texi: Update.
85497         * doc/posix-functions/vsprintf.texi: Update.
85498         * doc/glibc-functions/obstack_printf.texi: Update.
85499         * doc/glibc-functions/obstack_vprintf.texi: Update.
85500         Reported by Eric Blake.
85502 2009-02-25  Bruno Haible  <bruno@clisp.org>
85504         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
85505         with known value.
85506         Reported by Gary V. Vaughan <gary@gnu.org>.
85508 2009-02-25  Bruno Haible  <bruno@clisp.org>
85510         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
85511         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
85512         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
85513         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
85514         Reported by Gary V. Vaughan <gary@gnu.org>.
85516 2009-02-25  Bruno Haible  <bruno@clisp.org>
85518         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
85519         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
85520         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
85521         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
85522         Reported by Gary V. Vaughan <gary@gnu.org>.
85524 2009-02-25  Eric Blake  <ebb9@byu.net>
85526         tests: skip fseek/ftell tests if ungetc is broken
85527         * m4/ungetc.m4: New file.
85528         * modules/fseek-tests: Split test, so ungetc dependency is
85529         separate from rest of test.
85530         * modules/fseeko-tests: Likewise.
85531         * modules/ftell-tests: Likewise.
85532         * modules/ftello-tests: Likewise.
85533         * tests/test-fseek.c (main): Isolate ungetc dependency.
85534         * tests/test-fseeko.c (main): Likewise.
85535         * tests/test-ftell.c (main): Likewise.
85536         * tests/test-ftello.c (main): Likewise.
85537         * tests/test-fseek2.sh: New file.
85538         * tests/test-fseeko2.sh: Likewise.
85539         * tests/test-ftell2.sh: Likewise.
85540         * tests/test-ftello2.sh: Likewise.
85542 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
85544         test-getaddrinfo: fix usage of skip return code 77
85545         * tests/test-gettaddrinfo.c: Return skip code 77 only
85546         for first occurrence of skip (4x77 is not 77)
85548 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
85550         strtod: avoid C99 decl-after-statement
85551         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
85553 2009-02-24  Eric Blake  <ebb9@byu.net>
85555         strtod: detect HP-UX 11.31 bug
85556         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
85557         Reported by Gary V. Vaughan.
85559 2009-02-23  Bruno Haible  <bruno@clisp.org>
85561         Fix invalid read past end of memory block.
85562         * lib/vasnprintf.c (DCHAR_SET): Define.
85563         (local_wcslen): Define only when needed.
85564         (local_strnlen, local_wcsnlen): New functions.
85565         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
85566         directives that involve a conversion ourselves.
85567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
85568         wcsnlen, mbrtowc, wcrtomb.
85569         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
85570         * tests/test-vasprintf-posix.c (test_function): Likewise.
85571         * tests/test-snprintf-posix.h (test_function): Likewise.
85572         * tests/test-sprintf-posix.h (test_function): Likewise.
85573         Reported by Ben Pfaff <blp@cs.stanford.edu>.
85575 2009-02-22  Bruno Haible  <bruno@clisp.org>
85577         Implement new clarified decomposition of Hangul syllables.
85578         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
85579         of type LTV, return only a pairwise decomposition.
85580         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
85581         Likewise.
85582         * tests/uninorm/test-decomposition.c (main): Updated expected result.
85583         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
85584         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
85586 2009-02-22  Bruno Haible  <bruno@clisp.org>
85588         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
85589         zero-length results and shrink excess allocated memory.
85590         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
85591         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
85592         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
85593         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
85594         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
85595         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
85596         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
85597         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
85598         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
85599         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
85600         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
85601         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
85603 2009-02-21  Bruno Haible  <bruno@clisp.org>
85605         * doc/gnulib.texi: Include safe-alloc.texi earlier.
85606         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
85607         spaces after a period. Put a space between a macro name and its
85608         argument list. Trivial rewordings.
85609         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
85610         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
85611         (main): Return 0 explicitly.
85613 2009-02-21  Bruno Haible  <bruno@clisp.org>
85615         Tests for module 'uninorm/filter'.
85616         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
85617         * modules/uninorm/filter-tests: New file.
85619         New module 'uninorm/filter'.
85620         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
85621         uninorm_filter_flush, uninorm_filter_free): New declarations.
85622         * lib/uninorm/uninorm-filter.c: New file.
85623         * modules/uninorm/filter: New file.
85625 2009-02-21  Bruno Haible  <bruno@clisp.org>
85627         Tests for module 'uninorm/nfkc'.
85628         * tests/uninorm/test-nfkc.c: New file.
85629         * tests/uninorm/test-u8-nfkc.c: New file.
85630         * tests/uninorm/test-u16-nfkc.c: New file.
85631         * tests/uninorm/test-u32-nfkc.c: New file.
85632         * tests/uninorm/test-u32-nfkc-big.sh: New file.
85633         * tests/uninorm/test-u32-nfkc-big.c: New file.
85634         * modules/uninorm/nfkc-tests: New file.
85636         New module 'uninorm/nfkc'.
85637         * lib/uninorm/nfkc.c: New file.
85638         * modules/uninorm/nfkc: New file.
85640         Tests for module 'uninorm/nfkd'.
85641         * tests/uninorm/test-nfkd.c: New file.
85642         * tests/uninorm/test-u8-nfkd.c: New file.
85643         * tests/uninorm/test-u16-nfkd.c: New file.
85644         * tests/uninorm/test-u32-nfkd.c: New file.
85645         * tests/uninorm/test-u32-nfkd-big.sh: New file.
85646         * tests/uninorm/test-u32-nfkd-big.c: New file.
85647         * modules/uninorm/nfkd-tests: New file.
85649         New module 'uninorm/nfkd'.
85650         * lib/uninorm/nfkd.c: New file.
85651         * modules/uninorm/nfkd: New file.
85653         Tests for module 'uninorm/nfc'.
85654         * tests/uninorm/test-nfc.c: New file.
85655         * tests/uninorm/test-u8-nfc.c: New file.
85656         * tests/uninorm/test-u16-nfc.c: New file.
85657         * tests/uninorm/test-u32-nfc.c: New file.
85658         * tests/uninorm/test-u32-nfc-big.sh: New file.
85659         * tests/uninorm/test-u32-nfc-big.c: New file.
85660         * modules/uninorm/nfc-tests: New file.
85662         New module 'uninorm/nfc'.
85663         * lib/uninorm/nfc.c: New file.
85664         * modules/uninorm/nfc: New file.
85666         Tests for module 'uninorm/nfd'.
85667         * tests/uninorm/test-nfd.c: New file.
85668         * tests/uninorm/test-u8-nfd.c: New file.
85669         * tests/uninorm/test-u16-nfd.c: New file.
85670         * tests/uninorm/test-u32-nfd.c: New file.
85671         * tests/uninorm/test-u32-nfd-big.sh: New file.
85672         * tests/uninorm/test-u32-nfd-big.c: New file.
85673         * tests/uninorm/test-u32-normalize-big.h: New file.
85674         * tests/uninorm/test-u32-normalize-big.c: New file.
85675         * tests/uninorm/NormalizationTest.txt: New file, created from
85676         Unicode 5.1.0 NormalizationTest.txt.
85677         * modules/uninorm/nfd-tests: New file.
85679         New module 'uninorm/nfd'.
85680         * lib/uninorm/nfd.c: New file.
85681         * modules/uninorm/nfd: New file.
85683         New module 'uninorm/u32-normalize'.
85684         * lib/uninorm/u32-normalize.c: New file.
85685         * modules/uninorm/u32-normalize: New file.
85687         New module 'uninorm/u16-normalize'.
85688         * lib/uninorm/u16-normalize.c: New file.
85689         * modules/uninorm/u16-normalize: New file.
85691         New module 'uninorm/u8-normalize'.
85692         * lib/uninorm/u8-normalize.c: New file.
85693         * lib/uninorm/normalize-internal.h: New file.
85694         * lib/uninorm/u-normalize-internal.h: New file.
85695         * modules/uninorm/u8-normalize: New file.
85697         New module 'uninorm/decompose-internal'.
85698         * lib/uninorm/decompose-internal.c: New file.
85699         * modules/uninorm/decompose-internal: New file.
85701         Tests for module 'uninorm/composition'.
85702         * tests/uninorm/test-composition.c: New file.
85703         * modules/uninorm/composition-tests: New file.
85705         New module 'uninorm/composition'.
85706         * lib/uninorm/composition.c: New file.
85707         * lib/uninorm/composition-table.gperf: New file, generated by
85708         gen-uni-tables.
85709         * modules/uninorm/composition: New file.
85711         Tests for module 'uninorm/compat-decomposition'.
85712         * tests/uninorm/test-compat-decomposition.c: New file.
85713         * modules/uninorm/compat-decomposition-tests: New file.
85715         New module 'uninorm/compat-decomposition'.
85716         * lib/uninorm/decompose-internal.h: New file.
85717         * lib/uninorm/compat-decomposition.c: New file.
85718         * modules/uninorm/compat-decomposition: New file.
85720         Tests for module 'uninorm/canonical-decomposition'.
85721         * tests/uninorm/test-canonical-decomposition.c: New file.
85722         * modules/uninorm/canonical-decomposition-tests: New file.
85724         New module 'uninorm/canonical-decomposition'.
85725         * lib/uninorm/canonical-decomposition.c: New file.
85726         * modules/uninorm/canonical-decomposition: New file.
85728         Tests for module 'uninorm/decomposition'.
85729         * tests/uninorm/test-decomposition.c: New file.
85730         * modules/uninorm/decomposition-tests: New file.
85732         New module 'uninorm/decomposition'.
85733         * lib/uninorm/decomposition.c: New file.
85734         * modules/uninorm/decomposition: New file.
85736         New module 'uninorm/decomposition-table'.
85737         * lib/uninorm/decomposition-table.h: New file.
85738         * lib/uninorm/decomposition-table.c: New file.
85739         * lib/uninorm/decomposition-table1.h: New file, generated by
85740         gen-uni-tables.
85741         * lib/uninorm/decomposition-table2.h: New file, generated by
85742         gen-uni-tables.
85743         * modules/uninorm/decomposition-table: New file.
85745         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
85746         (UC_DECOMP_*): New enumeration items.
85747         (get_decomposition): New function.
85748         (struct decomp_table): New type.
85749         (output_decomposition, output_decomposition_tables): New functions.
85750         (unicode_composition_exclusions): New variable.
85751         (fill_composition_exclusions, debug_output_composition_tables): New
85752         functions.
85753         (main): Accept one more argument. Invoke fill_composition_exclusions.
85754         Output decomposition and composition tables.
85756         New module 'uninorm/base'.
85757         * lib/uninorm.h: New file.
85758         * lib/unictype.h: Update comment.
85759         * modules/uninorm/base: New file.
85761 2009-02-21  David Lutterkort  <lutter@redhat.com>
85763         Tests for module 'safe-alloc'.
85764         * tests/test-safe-alloc.c: New file.
85765         * modules/safe-alloc-tests: New file.
85767         New module 'safe-alloc'.
85768         * lib/safe-alloc.h: New file.
85769         * lib/safe-alloc.c: New file.
85770         * m4/safe-alloc.m4: New file.
85771         * modules/safe-alloc: New file.
85772         * doc/safe-alloc.texi: New file.
85773         * doc/gnulib.texi: Include it.
85774         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
85775         safe-alloc.
85777 2009-02-18  Bruno Haible  <bruno@clisp.org>
85779         Fix link error on non-glibc systems.
85780         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
85781         variable.
85782         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
85784 2009-02-18  Jim Meyering  <meyering@redhat.com>
85786         fts: avoid used-uninitialized error due to recent change
85787         * lib/fts.c (fts_read): Guard uses of the new member,
85788         parent->fts_n_dirs_remaining, since it's not relevant for
85789         the parent of a directory specified on the command-line.
85791 2009-02-17  James Youngman  <jay@gnu.org>
85792             Bruno Haible  <bruno@clisp.org>
85794         * m4/include_next.m4: Reformulate comment.
85796 2009-02-16  Jim Meyering  <meyering@redhat.com>
85798         fts: add #if guards so that the fts_lgpl module still builds
85799         * lib/fts.c: Guard just-added hash-table-using parts with
85800         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
85801         Reported by Simon Josefsson.
85803 2009-02-15  Bruno Haible  <bruno@clisp.org>
85805         * modules/array-mergesort-tests: New file.
85806         * tests/test-array-mergesort.c: New file.
85808         New module 'array-mergesort'.
85809         * modules/array-mergesort: New file.
85810         * lib/array-mergesort.h: New file.
85812 2009-02-15  Bruno Haible  <bruno@clisp.org>
85814         Fix 2009-02-07 commit.
85815         * lib/gen-uni-tables.c (output_predicate, output_category,
85816         output_combclass, output_bidi_category, output_decimal_digit,
85817         output_digit, output_numeric, output_mirror, output_scripts,
85818         output_ident_category, output_simple_mapping): Fix format directives.
85819         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
85821 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
85823         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
85824         fixes are available from IBM.
85826 2009-02-13  Jim Meyering  <meyering@redhat.com>
85828         fts: arrange not to stat non-directories in more cases
85829         This makes GNU find (when it doesn't need to stat each file)
85830         *much* more efficient at traversing reiserfs file systems.
85831         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
85832         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
85833         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
85834         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
85835         (leaf_optimization_applies): New function.
85836         (LCO_hash, LCO_compare): New helper functions.
85837         (link_count_optimize_ok): New function.
85838         (fts_stat): Initialize new member (if dir).
85839         (fts_read): Decrement parent's fts_n_dirs_remaining count if
85840         we've just stat'ed a directory.  Skip the stat call when possible.
85841         ---
85842         Note this AFS-related exchange:
85843         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
85844         and note find's pioctl call in find/fstype.c.
85845         But that is necessary only if you want to enable the
85846         optimization for AFS, and for now, I don't.
85848         fts: move a function definition "up" (no semantic change)
85849         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
85850         "up" to precede upcoming use of a related function.
85852 2009-02-11  Jim Meyering  <meyering@redhat.com>
85854         fts: correct internal computation of nlinks (optimization-related)
85855         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
85856         whether the current entry is a directory, so don't test it.
85858 2009-02-10  Bruno Haible  <bruno@clisp.org>
85860         Tests for module 'uniwbrk/ulc-wordbreaks'.
85861         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
85862         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
85863         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
85865         Tests for module 'uniwbrk/u32-wordbreaks'.
85866         * modules/uniwbrk/u32-wordbreaks-tests: New file.
85867         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
85869         Tests for module 'uniwbrk/u16-wordbreaks'.
85870         * modules/uniwbrk/u16-wordbreaks-tests: New file.
85871         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
85873         Tests for module 'uniwbrk/u8-wordbreaks'.
85874         * modules/uniwbrk/u8-wordbreaks-tests: New file.
85875         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
85877 2009-02-10  Bruno Haible  <bruno@clisp.org>
85879         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
85880         property.
85881         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
85882         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
85883         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
85885 2009-02-10  Simon Josefsson  <simon@josefsson.org>
85887         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
85888         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
85890 2009-02-10  Bruno Haible  <bruno@clisp.org>
85892         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
85893         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
85894         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
85895         * lib/unilbrk/u8-possible-linebreaks.c: Update.
85896         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
85897         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
85899 2009-02-09  Simon Josefsson  <simon@josefsson.org>
85901         * lib/sockets.h (gl_fd_to_handle): New function.
85903         * tests/test-sockets.c: Call gl_fd_to_handle.
85905 2009-02-09  Bruno Haible  <bruno@clisp.org>
85907         * doc/havelib.texi: Document the conventions on bi-arch systems.
85909 2009-02-08  Bruno Haible  <bruno@clisp.org>
85911         Document the AC_LIB_LINKFLAGS macro.
85912         * doc/havelib.texi: New file, mostly written on 2005-05-24.
85913         * doc/gnulib.texi: Include it.
85915 2009-02-08  Bruno Haible  <bruno@clisp.org>
85917         Fix wrong order of sections, compared to TOC.
85918         * doc/gnulib.texi: Include relocatable-maint.texi after the
85919         "Regular expressions" node, not before.
85921 2009-02-08  Bruno Haible  <bruno@clisp.org>
85923         Tests for module 'unicase/totitle'.
85924         * modules/unicase/totitle-tests: New file.
85926         Tests for module 'unicase/tolower'.
85927         * modules/unicase/tolower-tests: New file.
85929         Tests for module 'unicase/toupper'.
85930         * modules/unicase/toupper-tests: New file.
85931         * tests/unicase/test-mapping-part1.h: New file.
85932         * tests/unicase/test-mapping-part2.h: New file.
85934         New module 'unicase/totitle'.
85935         * modules/unicase/totitle: New file.
85936         * lib/unicase/totitle.c: New file.
85938         New module 'unicase/tolower'.
85939         * modules/unicase/tolower: New file.
85940         * lib/unicase/tolower.c: New file.
85942         New module 'unicase/toupper'.
85943         * modules/unicase/toupper: New file.
85944         * lib/unicase/toupper.c: New file.
85945         * lib/unicase/simple-mapping.h: New file.
85947         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
85948         (mapping_table): New structure.
85949         (output_simple_mapping): New function.
85950         (main): Invoke output_simple_mapping_test and output_simple_mapping.
85951         * modules/gen-uni-tables (Description): Update.
85952         * lib/unicase/toupper.h: New file, automatically generated by
85953         gen-uni-tables.
85954         * lib/unicase/tolower.h: New file, automatically generated by
85955         gen-uni-tables.
85956         * lib/unicase/totitle.h: New file, automatically generated by
85957         gen-uni-tables.
85958         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
85959         gen-uni-tables.
85960         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
85961         gen-uni-tables.
85962         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
85963         gen-uni-tables.
85965         New module 'unicase/base'.
85966         * modules/unicase/base: New file.
85967         * lib/unicase.h: New file.
85969 2009-02-08  Bruno Haible  <bruno@clisp.org>
85971         New module 'uniwbrk/ulc-wordbreaks'.
85972         * modules/uniwbrk/ulc-wordbreaks: New file.
85973         * lib/uniwbrk/ulc-wordbreaks.c: New file.
85975         New module 'uniwbrk/u32-wordbreaks'.
85976         * modules/uniwbrk/u32-wordbreaks: New file.
85977         * lib/uniwbrk/u32-wordbreaks.c: New file.
85979         New module 'uniwbrk/u16-wordbreaks'.
85980         * modules/uniwbrk/u16-wordbreaks: New file.
85981         * lib/uniwbrk/u16-wordbreaks.c: New file.
85983         New module 'uniwbrk/u8-wordbreaks'.
85984         * modules/uniwbrk/u8-wordbreaks: New file.
85985         * lib/uniwbrk/u8-wordbreaks.c: New file.
85986         * lib/uniwbrk/u-wordbreaks.h: New file.
85988         New module 'uniwbrk/table'.
85989         * modules/uniwbrk/table: New file.
85990         * lib/uniwbrk/wbrktable.h: New file.
85991         * lib/uniwbrk/wbrktable.c: New file.
85993         New module 'uniwbrk/wordbreak-property'.
85994         * modules/uniwbrk/wordbreak-property: New file.
85995         * lib/uniwbrk/wordbreak-property.c: New file.
85997         * lib/gen-uni-tables.c (WBP_*): New enum items.
85998         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
85999         (unicode_org_wbp): New variable.
86000         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
86001         New functions.
86002         (wbp_table): New structure.
86003         (output_wbp, output_wbrk_tables): New functions.
86004         (main): Accept additional argument. Invoke fill_org_wbp,
86005         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
86006         output_wbrk_tables.
86007         * modules/gen-uni-tables (Description): Update.
86008         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
86009         gen-uni-tables.
86011         New module 'uniwbrk/base'.
86012         * modules/uniwbrk/base: New file.
86013         * lib/uniwbrk.h: New file.
86015 2009-02-08  Bruno Haible  <bruno@clisp.org>
86017         Update to Unicode 5.1.0.
86018         * lib/gen-uni-tables.c (is_property_alphabetic): Include
86019         U+2185..U+2188.
86020         (is_property_default_ignorable_code_point): Don't include characters
86021         of category Cc or Cs and not-a-characters.
86022         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
86023         U+0D79, U+109E, U+109F, U+A60C.
86024         * lib/unictype/bidi_of.h: Regenerated.
86025         * lib/unictype/blocks.h: Regenerated.
86026         * lib/unictype/categ_C.h: Regenerated.
86027         * lib/unictype/categ_Cf.h: Regenerated.
86028         * lib/unictype/categ_Cn.h: Regenerated.
86029         * lib/unictype/categ_L.h: Regenerated.
86030         * lib/unictype/categ_Ll.h: Regenerated.
86031         * lib/unictype/categ_Lm.h: Regenerated.
86032         * lib/unictype/categ_Lo.h: Regenerated.
86033         * lib/unictype/categ_Lu.h: Regenerated.
86034         * lib/unictype/categ_M.h: Regenerated.
86035         * lib/unictype/categ_Mc.h: Regenerated.
86036         * lib/unictype/categ_Me.h: Regenerated.
86037         * lib/unictype/categ_Mn.h: Regenerated.
86038         * lib/unictype/categ_N.h: Regenerated.
86039         * lib/unictype/categ_Nd.h: Regenerated.
86040         * lib/unictype/categ_Nl.h: Regenerated.
86041         * lib/unictype/categ_No.h: Regenerated.
86042         * lib/unictype/categ_P.h: Regenerated.
86043         * lib/unictype/categ_Pd.h: Regenerated.
86044         * lib/unictype/categ_Pe.h: Regenerated.
86045         * lib/unictype/categ_Pf.h: Regenerated.
86046         * lib/unictype/categ_Pi.h: Regenerated.
86047         * lib/unictype/categ_Po.h: Regenerated.
86048         * lib/unictype/categ_Ps.h: Regenerated.
86049         * lib/unictype/categ_S.h: Regenerated.
86050         * lib/unictype/categ_Sk.h: Regenerated.
86051         * lib/unictype/categ_Sm.h: Regenerated.
86052         * lib/unictype/categ_So.h: Regenerated.
86053         * lib/unictype/categ_of.h: Regenerated.
86054         * lib/unictype/combining.h: Regenerated.
86055         * lib/unictype/ctype_alnum.h: Regenerated.
86056         * lib/unictype/ctype_alpha.h: Regenerated.
86057         * lib/unictype/ctype_graph.h: Regenerated.
86058         * lib/unictype/ctype_lower.h: Regenerated.
86059         * lib/unictype/ctype_print.h: Regenerated.
86060         * lib/unictype/ctype_punct.h: Regenerated.
86061         * lib/unictype/ctype_upper.h: Regenerated.
86062         * lib/unictype/decdigit.h: Regenerated.
86063         * lib/unictype/digit.h: Regenerated.
86064         * lib/unictype/mirror.h: Regenerated.
86065         * lib/unictype/numeric.h: Regenerated.
86066         * lib/unictype/pr_alphabetic.h: Regenerated.
86067         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
86068         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
86069         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
86070         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
86071         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
86072         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
86073         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
86074         * lib/unictype/pr_combining.h: Regenerated.
86075         * lib/unictype/pr_dash.h: Regenerated.
86076         * lib/unictype/pr_decimal_digit.h: Regenerated.
86077         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
86078         * lib/unictype/pr_deprecated.h: Regenerated.
86079         * lib/unictype/pr_diacritic.h: Regenerated.
86080         * lib/unictype/pr_extender.h: Regenerated.
86081         * lib/unictype/pr_format_control.h: Regenerated.
86082         * lib/unictype/pr_grapheme_base.h: Regenerated.
86083         * lib/unictype/pr_grapheme_extend.h: Regenerated.
86084         * lib/unictype/pr_grapheme_link.h: Regenerated.
86085         * lib/unictype/pr_id_continue.h: Regenerated.
86086         * lib/unictype/pr_id_start.h: Regenerated.
86087         * lib/unictype/pr_ideographic.h: Regenerated.
86088         * lib/unictype/pr_ignorable_control.h: Regenerated.
86089         * lib/unictype/pr_lowercase.h: Regenerated.
86090         * lib/unictype/pr_math.h: Regenerated.
86091         * lib/unictype/pr_numeric.h: Regenerated.
86092         * lib/unictype/pr_other_alphabetic.h: Regenerated.
86093         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
86094         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
86095         * lib/unictype/pr_other_id_continue.h: Regenerated.
86096         * lib/unictype/pr_other_lowercase.h: Regenerated.
86097         * lib/unictype/pr_other_math.h: Regenerated.
86098         * lib/unictype/pr_punctuation.h: Regenerated.
86099         * lib/unictype/pr_sentence_terminal.h: Regenerated.
86100         * lib/unictype/pr_soft_dotted.h: Regenerated.
86101         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
86102         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
86103         * lib/unictype/pr_unified_ideograph.h: Regenerated.
86104         * lib/unictype/pr_uppercase.h: Regenerated.
86105         * lib/unictype/pr_xid_continue.h: Regenerated.
86106         * lib/unictype/pr_xid_start.h: Regenerated.
86107         * lib/unictype/pr_zero_width.h: Regenerated.
86108         * lib/unictype/scripts.h: Regenerated.
86109         * lib/unictype/scripts_byname.gperf: Regenerated.
86110         * lib/unictype/sy_java_ident.h: Regenerated.
86111         * lib/unilbrk/lbrkprop1.h: Regenerated.
86112         * lib/unilbrk/lbrkprop2.h: Regenerated.
86113         * tests/unictype/test-categ_C.c: Regenerated.
86114         * tests/unictype/test-categ_Cf.c: Regenerated.
86115         * tests/unictype/test-categ_Cn.c: Regenerated.
86116         * tests/unictype/test-categ_L.c: Regenerated.
86117         * tests/unictype/test-categ_Ll.c: Regenerated.
86118         * tests/unictype/test-categ_Lm.c: Regenerated.
86119         * tests/unictype/test-categ_Lo.c: Regenerated.
86120         * tests/unictype/test-categ_Lu.c: Regenerated.
86121         * tests/unictype/test-categ_M.c: Regenerated.
86122         * tests/unictype/test-categ_Mc.c: Regenerated.
86123         * tests/unictype/test-categ_Me.c: Regenerated.
86124         * tests/unictype/test-categ_Mn.c: Regenerated.
86125         * tests/unictype/test-categ_N.c: Regenerated.
86126         * tests/unictype/test-categ_Nd.c: Regenerated.
86127         * tests/unictype/test-categ_Nl.c: Regenerated.
86128         * tests/unictype/test-categ_No.c: Regenerated.
86129         * tests/unictype/test-categ_P.c: Regenerated.
86130         * tests/unictype/test-categ_Pd.c: Regenerated.
86131         * tests/unictype/test-categ_Pe.c: Regenerated.
86132         * tests/unictype/test-categ_Pf.c: Regenerated.
86133         * tests/unictype/test-categ_Pi.c: Regenerated.
86134         * tests/unictype/test-categ_Po.c: Regenerated.
86135         * tests/unictype/test-categ_Ps.c: Regenerated.
86136         * tests/unictype/test-categ_S.c: Regenerated.
86137         * tests/unictype/test-categ_Sk.c: Regenerated.
86138         * tests/unictype/test-categ_Sm.c: Regenerated.
86139         * tests/unictype/test-categ_So.c: Regenerated.
86140         * tests/unictype/test-ctype_alnum.c: Regenerated.
86141         * tests/unictype/test-ctype_alpha.c: Regenerated.
86142         * tests/unictype/test-ctype_graph.c: Regenerated.
86143         * tests/unictype/test-ctype_lower.c: Regenerated.
86144         * tests/unictype/test-ctype_print.c: Regenerated.
86145         * tests/unictype/test-ctype_punct.c: Regenerated.
86146         * tests/unictype/test-ctype_upper.c: Regenerated.
86147         * tests/unictype/test-decdigit.h: Regenerated.
86148         * tests/unictype/test-digit.h: Regenerated.
86149         * tests/unictype/test-numeric.h: Regenerated.
86150         * tests/unictype/test-pr_alphabetic.c: Regenerated.
86151         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
86152         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
86153         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
86154         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
86155         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
86156         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
86157         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
86158         * tests/unictype/test-pr_combining.c: Regenerated.
86159         * tests/unictype/test-pr_dash.c: Regenerated.
86160         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
86161         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
86162         * tests/unictype/test-pr_deprecated.c: Regenerated.
86163         * tests/unictype/test-pr_diacritic.c: Regenerated.
86164         * tests/unictype/test-pr_extender.c: Regenerated.
86165         * tests/unictype/test-pr_format_control.c: Regenerated.
86166         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
86167         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
86168         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
86169         * tests/unictype/test-pr_id_continue.c: Regenerated.
86170         * tests/unictype/test-pr_id_start.c: Regenerated.
86171         * tests/unictype/test-pr_ideographic.c: Regenerated.
86172         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
86173         * tests/unictype/test-pr_lowercase.c: Regenerated.
86174         * tests/unictype/test-pr_math.c: Regenerated.
86175         * tests/unictype/test-pr_numeric.c: Regenerated.
86176         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
86177         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
86178         Regenerated.
86179         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
86180         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
86181         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
86182         * tests/unictype/test-pr_other_math.c: Regenerated.
86183         * tests/unictype/test-pr_punctuation.c: Regenerated.
86184         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
86185         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
86186         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
86187         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
86188         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
86189         * tests/unictype/test-pr_uppercase.c: Regenerated.
86190         * tests/unictype/test-pr_xid_continue.c: Regenerated.
86191         * tests/unictype/test-pr_xid_start.c: Regenerated.
86192         * tests/unictype/test-pr_zero_width.c: Regenerated.
86194         Update to Unicode 5.1.0.
86195         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
86196         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
86197         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
86198         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
86199         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
86200         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
86201         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
86202         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
86203         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
86204         (nonspacing_table_ind): Update.
86205         * tests/uniwidth/test-uc_width2.sh: Update expected result.
86207         Update to Unicode 5.1.0.
86208         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
86209         code transform.
86210         * lib/uniname/uniname.c (unicode_character_name,
86211         unicode_name_character): Add the range 0x1Fxxx to the code transform.
86212         * lib/uniname/uninames.h: Regenerated.
86213         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
86215 2009-02-07  Bruno Haible  <bruno@clisp.org>
86217         Merge gen-ctype and gen-lbrk into a single program.
86218         * lib/gen-uni-tables.c: New file, incorporating
86219         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
86220         Add directory prefixes to the names of the generated files.
86221         * lib/unictype/gen-ctype.c: Remove file.
86222         * lib/unilbrk/gen-lbrk.c: Remove file.
86223         * modules/gen-uni-tables: New file.
86224         * modules/unictype/gen-ctype: Remove file.
86225         * modules/unilbrk/gen-lbrk: Remove file.
86227 2009-02-07  Bruno Haible  <bruno@clisp.org>
86229         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
86231         New module 'unistr/u32-strcoll'.
86232         * modules/unistr/u32-strcoll: New file.
86233         * lib/unistr/u32-strcoll.c: New file.
86235         New module 'unistr/u16-strcoll'.
86236         * modules/unistr/u16-strcoll: New file.
86237         * lib/unistr/u16-strcoll.c: New file.
86239         New module 'unistr/u8-strcoll'.
86240         * modules/unistr/u8-strcoll: New file.
86241         * lib/unistr/u8-strcoll.c: New file.
86242         * lib/unistr/u-strcoll.h: New file.
86244 2009-02-07  Bruno Haible  <bruno@clisp.org>
86246         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
86247         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86248         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
86249         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
86250         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
86251         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
86253 2009-02-07  Bruno Haible  <bruno@clisp.org>
86255         Make 64-bit clean.
86256         * lib/unictype/gen-ctype.c (output_predicate, output_category,
86257         output_combclass, output_bidi_category, output_decimal_digit,
86258         output_digit, output_numeric, output_mirror, output_scripts,
86259         output_ident_category): Use proper width specifier in format strings.
86261 2009-02-07  Bruno Haible  <bruno@clisp.org>
86263         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
86264         failure behaviour.
86266 2009-02-07  Jim Meyering  <meyering@redhat.com>
86268         regex: avoid compilation failure with upcoming gcc-4.4
86269         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
86270         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
86271         "... error: integer overflow in preprocessor expression".
86273 2009-02-05  Ben Pfaff  <blp@gnu.org>
86275         Fix link errors on Windows when close module is used.
86276         * modules/close: Add $(LIB_CLOSE) to Link section.
86277         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
86278         $(LIB_CLOSE) on Windows.
86280 2009-02-05  Jim Meyering  <meyering@redhat.com>
86282         still avoid unused-parameter warnings, but do it cleanly
86283         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
86284         (get_fs_usage): Cast to void instead.
86285         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
86286         (dev_from_mount_options, read_file_system_list): Cast to void.
86287         Prompted by Bruno Haible.
86289 2009-02-04  Jim Meyering  <meyering@redhat.com>
86291         fsusage.c: correct copyright year
86292         * lib/fsusage.c: Reflect year in which the change is pushed into
86294         avoid misc. warnings
86295         * lib/fsusage.c (UNUSED_PARAM): Define.
86296         (get_fs_usage): Mark parameter "disk" as unused.
86297         * lib/getugroups.c (getgrent): Use "void" in prototype.
86298         * lib/mountlist.c: Mark unused parameters.
86299         (read_file_system_list): Declare a local with "const".
86300         * lib/nanosleep.c (getnow): Declare static.
86301         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
86303         dirfd: set errno upon failure
86304         * lib/dirfd.c: Include <errno.h>.
86305         Set errno to ENOTSUP when returning -1.
86306         * modules/dirfd (Depends-on): Add errno.
86307         Suggested by John Kodis <kodis@comcast.net>.
86309 2009-02-01  Bruno Haible  <bruno@clisp.org>
86311         Don't assume sizeof (long) >= sizeof (void *).
86312         * lib/memcmp.c: Include stdint.h.
86313         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
86314         srcp2 to 'const byte *'.
86315         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
86316         types to uintptr_t.
86317         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
86318         * modules/memcmp (Depends-on): Add stdint.
86319         Reported by Ozkan Sezer <sezeroz@gmail.com>.
86321 2009-01-30  Eric Blake  <ebb9@byu.net>
86323         fix more require-before-expand issues
86324         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
86325         expand, AC_PROG_AWK.
86326         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
86328 2009-01-28  Eric Blake  <ebb9@byu.net>
86330         version-etc: use consistent URL formatting
86331         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
86332         Improve formatting.  Use fputs for string without %.
86334 2009-01-28  Jim Meyering  <meyering@redhat.com>
86336         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
86337         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
86338         "underquoted definition of NAME" from autoconf-2.59.
86340 2009-01-28  Bruno Haible  <bruno@clisp.org>
86342         * doc/gnulib.texi: Add "Obsolete modules" to index.
86344 2009-01-28  Jim Meyering  <meyering@redhat.com>
86346         useless-if-before-free: recognize more variants
86347         * build-aux/useless-if-before-free: Also recognize e.g.,
86348         if (NULL != p) free (p);
86350 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
86352         test-getaddrinfo: skip (don't fail) this test when there's no network
86353         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
86354         on the presumption that it means you lack network access.
86356 2009-01-26  Jim Meyering  <meyering@redhat.com>
86358         fflush: avoid warnings on modern systems
86359         * lib/fflush.c (rpl_fflush): Move declarations of locals,
86360         pos and result, into scopes where they're used.
86362 2009-01-26  Eric Blake  <ebb9@byu.net>
86364         Silence warning reintroduced by recent extensions patch.
86365         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
86366         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
86367         autoconf.
86369         Backport improved autoconf semantics of AC_DEFUN_ONCE.
86370         * m4/00gnulib.m4: New file.
86371         * gnulib-tool (func_get_filelist): Always use it.
86372         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
86373         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
86375 2009-01-25  Bruno Haible  <bruno@clisp.org>
86377         Make test-quotearg work on MacOS X and AIX.
86378         * tests/test-quotearg.sh: New file.
86379         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
86380         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
86381         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
86382         include <libintl.h>.
86383         (fake_locale): Remove variable.
86384         (gettext, dgettext, dcgettext): Remove functions.
86385         (main): Instead of setting a fake locale, set a real locale. Call
86386         textdomain and bindtextdomain.
86387         * modules/quotearg-tests (Files): Add the new files.
86388         (Depends-on): Add gettext, setenv, unsetenv.
86389         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
86390         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
86391         Augment TESTS_ENVIRONMENT.
86393 2009-01-25  Bruno Haible  <bruno@clisp.org>
86395         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
86396         fr_FR.ISO8859-1 locale on MacOS X.
86397         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
86398         ja_JP.eucJP locale on MacOS X.
86399         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
86400         zh_CN.GB18030 locale on MacOS X.
86402 2009-01-25  Bruno Haible  <bruno@clisp.org>
86404         Avoid link errors on MacOS X 10.3.
86405         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
86406         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
86408 2009-01-25  Bruno Haible  <bruno@clisp.org>
86410         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86411         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
86412         * modules/pipe (Files): Remove m4/posix_spawn.m4.
86413         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86414         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
86415         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86416         posix_spawnattr_init, posix_spawnattr_setsigmask,
86417         posix_spawnattr_setflags, posix_spawnattr_destroy.
86419         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
86420         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
86421         * modules/execute (Files): Remove m4/posix_spawn.m4.
86422         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
86423         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
86424         posix_spawnattr_init, posix_spawnattr_setsigmask,
86425         posix_spawnattr_setflags, posix_spawnattr_destroy.
86427 2009-01-25  Bruno Haible  <bruno@clisp.org>
86429         * lib/glthread/threadlib.c: Include <stdlib.h>.
86431 2009-01-25  Bruno Haible  <bruno@clisp.org>
86433         * lib/glthread/threadlib.c (dummy): New declaration.
86435 2009-01-25  Bruno Haible  <bruno@clisp.org>
86437         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
86438         multibyte characters also for the GB18030 encoding. Don't crash when
86439         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
86441 2009-01-25  Bruno Haible  <bruno@clisp.org>
86443         Avoid redefining 'struct random_data' on OSF/1 5.1.
86444         * lib/stdlib.in.h: Include <random.h> if it exists.
86445         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
86446         HAVE_RANDOM_H. Include <random.h> when testing whether
86447         'struct random_data' exists.
86448         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
86450 2009-01-25  Bruno Haible  <bruno@clisp.org>
86452         Don't install charset.alias on MacOS X >= 10.3.
86453         * lib/localcharset.c (DARWIN7): New macro.
86454         (get_charset_aliases): Hardcode the result for Darwin7.
86455         * modules/localcharset (install-exec-local): Don't install
86456         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
86458 2009-01-25  Bruno Haible  <bruno@clisp.org>
86460         Don't install charset.alias on mingw and Cygwin.
86461         * modules/localcharset (install-exec-local): Don't install
86462         charset.alias on mingw and Cygwin, if the file does not yet exist.
86463         The result for these platforms is hardcoded in localcharset.c.
86465 2009-01-25  Bruno Haible  <bruno@clisp.org>
86467         Make it possible again to use AC_GNU_SOURCE together with gnulib.
86468         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
86469         before requiring AC_USE_SYSTEM_EXTENSIONS.
86471 2009-01-25  Jim Meyering  <meyering@redhat.com>
86473         c-strtod: avoid warnings
86474         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
86475         "assignment discards qualifiers from pointer target type" warnings.
86477 2009-01-24  Bruno Haible  <bruno@clisp.org>
86479         Add support for non-UTF-8 locales on MacOS X.
86480         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
86481         canonical encodings. For Darwin 7 and newer, don't map traditional
86482         encodings to UTF-8.
86483         Reported by Vincent Lefevre <vincent@vinc17.org>
86484         at <http://savannah.gnu.org/bugs/?25235>.
86486 2009-01-24  Bruno Haible  <bruno@clisp.org>
86488         * doc/gnulib.texi (Obsolete modules): New section.
86489         Reported by Mike Frysinger <vapier@gentoo.org>.
86491 2009-01-24  Bruno Haible  <bruno@clisp.org>
86493         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
86494         (%.dvi): New rule.
86496 2009-01-24  Bruno Haible  <bruno@clisp.org>
86498         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
86499         Reported by Eric Blake.
86501 2009-01-24  Bruno Haible  <bruno@clisp.org>
86503         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
86504         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
86505         Reported by Gary V. Vaughan <gary@gnu.org>.
86507 2009-01-24  Bruno Haible  <bruno@clisp.org>
86509         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
86511 2009-01-23  Bruno Haible  <bruno@clisp.org>
86513         Make c-strtod, c-strtold usable in libraries.
86514         * lib/c-strtod.c: Include string.h instead of xalloc.h.
86515         (C_STRTOD): Call strdup instead of xstrdup.
86516         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
86517         * modules/c-strtold (Depends-on): Likewise.
86518         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
86519         * NEWS: Mention the change.
86520         Reported by Michael Gold <mgold@ncf.ca>.
86522 2009-01-23  Jim Meyering  <meyering@redhat.com>
86524         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
86525         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
86526         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
86528 2009-01-23  Simon Josefsson  <simon@josefsson.org>
86530         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
86531         GNU CoreUtils.
86532         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
86533         * modules/version-etc (Description): Update.
86535 2009-01-22  Bruno Haible  <bruno@clisp.org>
86537         Cache the C locale object.
86538         * lib/c-strtod.c (c_locale_cache): New variable.
86539         (c_locale): New function.
86540         (C_STRTOD): Use it, and don't call freelocale.
86541         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
86542         Suggested by Paolo Bonzini.
86544 2009-01-21  Bruno Haible  <bruno@clisp.org>
86546         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
86547         conditions other than overflow.
86549 2009-01-21  Bruno Haible  <bruno@clisp.org>
86551         * lib/c-strtod.c: Include errno.h.
86552         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
86553         value from STRTOD_L and STRTOD.
86555 2009-01-21  Bruno Haible  <bruno@clisp.org>
86556         and Jim Meyering  <meyering@redhat.com>
86558         nanosleep: skip configure test (fail it) for apple universal builds
86559         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
86560         universal builds, assume that nanosleep does not work.
86561         * modules/nanosleep (Depends-on): Add multiarch.
86563         mktime: skip configure test (fail it) for apple universal builds
86564         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
86565         universal builds, assume that mktime does not work.
86566         * modules/mktime (Depends-on): Add multiarch.
86568 2009-01-21  Eric Blake  <ebb9@byu.net>
86570         multiarch: avoid expand-before-require warning
86571         * modules/multiarch (configure.ac): Require, rather than expand,
86572         gl_MULTIARCH.
86573         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
86574         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
86575         enforce that all clients require it.  Partial reversion of
86576         2008-12-29 patch.
86578         error: avoid expand-before-require warning
86579         * modules/errno (configure.ac): Require, rather than expand,
86580         gl_HEADER_ERRNO_H.
86581         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
86582         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
86583         enforce that all clients require it.
86585         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
86586         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
86587         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
86588         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
86590 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
86592         Revert:
86593         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86595         regex: do not depend on obsolete modules.
86596         * modules/regex: Remove memcmp and memmove.
86598 2009-01-20  Bruno Haible  <bruno@clisp.org>
86600         Make the 'link' module link on Windows NT 4.
86601         * lib/link.c (_WIN32_WINNT): Don't define.
86602         (CreateHardLinkFuncType): New type.
86603         (CreateHardLinkFunc, initialized): New variables.
86604         (initialize): New function.
86605         (link): Invoke CreateHardLink indirectly through the function pointer.
86607 2009-01-20  Bruno Haible  <bruno@clisp.org>
86609         Fix compilation failure on mingw.
86610         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
86612 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
86614         * doc/c-strtod.texi: Mention a couple of restrictions.
86616 2009-01-20  Jim Meyering  <meyering@redhat.com>
86618         gettimeofday: move more declarations out of functions
86619         * lib/gettimeofday.c: Move extern declarations of tzset and
86620         gmtime out of containing functions.  Prompted by Bruno Haible.
86622 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
86624         regex: do not depend on obsolete modules.
86625         * modules/regex: Remove memcmp and memmove.
86627 2009-01-19  Bruno Haible  <bruno@clisp.org>
86629         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86630         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
86631         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86632         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
86633         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
86635 2009-01-19  Bruno Haible  <bruno@clisp.org>
86637         * tests/test-link.c: Include <errno.h>.
86638         (main): Exit with code 77 when a hard link cannot be created due to
86639         the file system.
86640         * tests/test-link.sh: Skip test when a hard link cannot be created due
86641         to the file system.
86642         Suggested by Eric Blake.
86644 2009-01-19  Martin Lambers  <marlam@marlam.de>
86646         * modules/link-tests: New file.
86647         * tests/test-link.sh: New file.
86648         * tests/test-link.c: New file.
86650 2009-01-19  Eric Blake  <ebb9@byu.net>
86652         doc: mention another function added in cygwin 1.7.0
86653         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
86654         Another new function in cygwin 1.7.
86656 2009-01-19  Bruno Haible  <bruno@clisp.org>
86658         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
86659         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
86660         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
86661         gl_BIGENDIAN, not AC_C_BIGENDIAN.
86662         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
86663         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
86664         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
86665         * m4/md4.m4 (gl_MD4): Likewise.
86666         * m4/md5.m4 (gl_MD5): Likewise.
86667         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
86668         * m4/sha1.m4 (gl_SHA1): Likewise.
86669         * m4/sha256.m4 (gl_SHA256): Likewise.
86670         * m4/sha512.m4 (gl_SHA512): Likewise.
86672 2009-01-19  Bruno Haible  <bruno@clisp.org>
86674         * modules/uniname/uniname-tests (Depends-on): Add progname.
86675         * tests/uniname/test-uninames.c: Include progname.h.
86676         (main): Call set_program_name.
86678         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
86679         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
86680         (main): Call set_program_name.
86682         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
86683         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
86684         (main): Call set_program_name.
86686         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
86687         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
86688         (main): Call set_program_name.
86690         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
86691         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
86692         (main): Call set_program_name.
86694         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
86695         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
86696         (main): Call set_program_name.
86698         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
86699         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
86700         (main): Call set_program_name.
86702         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
86703         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
86704         (main): Call set_program_name.
86706         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
86707         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
86708         (main): Call set_program_name.
86710 2009-01-19  Eric Blake  <ebb9@byu.net>
86712         test-unistd: test previous patch
86713         * tests/test-unistd.c: Test *_FILENO macros.
86715         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
86716         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86717         Guarantee a definition.
86718         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
86719         * modules/unistd-safer (Depends-on): Add dependency on unistd.
86720         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
86721         * lib/dup-safer.c (STDERR_FILENO): Likewise.
86722         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86723         Likewise.
86724         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
86725         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
86726         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
86727         Likewise.
86728         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
86729         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
86730         (STDERR_FILENO): Likewise.
86731         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
86732         (STDERR_FILENO): Likewise.
86733         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
86734         (STDERR_FILENO): Likewise.
86735         Reported by Elbert Pol.
86737 2009-01-19  Eric Blake  <ebb9@byu.net>
86739         doc: mention more functions added in cygwin 1.7.0
86740         * doc/posix-functions/abort.texi (abort): Update wording related
86741         to cygwin.
86742         * doc/posix-functions/daylight.texi (daylight): Likewise.
86743         * doc/posix-functions/optarg.texi (optarg): Likewise.
86744         * doc/posix-functions/optarg.texi (opterr): Likewise.
86745         * doc/posix-functions/optarg.texi (optind): Likewise.
86746         * doc/posix-functions/optarg.texi (optopt): Likewise.
86747         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
86748         worked in 1.5.x, and was withdrawn in 1.7.
86749         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
86750         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
86751         cygwin versions.
86752         * doc/posix-functions/perror.texi (perror): Likewise.
86753         * doc/posix-functions/printf.texi (printf): Likewise.
86754         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
86755         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
86756         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
86757         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
86758         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
86759         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
86760         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
86761         Likewise.
86762         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
86763         Likewise.
86764         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
86765         this function.
86766         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
86767         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
86768         Likewise.
86769         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
86770         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
86771         * doc/posix-functions/confstr.texi (confstr): Likewise.
86772         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
86773         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
86774         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
86775         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
86776         * doc/posix-functions/fputws.texi (fputws): Likewise.
86777         * doc/posix-functions/fwide.texi (fwide): Likewise.
86778         * doc/posix-functions/getwc.texi (getwc): Likewise.
86779         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
86780         * doc/posix-functions/putwc.texi (putwc): Likewise.
86781         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
86782         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
86783         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
86784         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
86785         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
86786         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
86787         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
86788         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
86789         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
86790         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
86791         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
86793 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86795         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
86796         * lib/ioctl.c: Include <sys/ioctl.h>.
86798 2009-01-19  Simon Josefsson  <simon@josefsson.org>
86800         * modules/getdate-tests (Depends-on): Add progname.
86801         * tests/test-getdate.c: Use progname module, to avoid link errors
86802         on non-glibc systems.
86804 2009-01-18  Simon Josefsson  <simon@josefsson.org>
86806         * modules/filenamecat-tests (Depends-on): Add progname.
86807         * modules/fstrcmp-tests (Depends-on): Likewise.
86809         * tests/test-filenamecat.c: Use progname module, to avoid link
86810         errors on non-glibc systems.
86811         * tests/test-fstrcmp.c: Likewise.
86813 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
86815         gettimeofday: avoid warning: nested extern declaration of 'localtime'
86816         * lib/gettimeofday.c: Move extern declaration out of function.
86818 2009-01-18  Bruno Haible  <bruno@clisp.org>
86820         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
86821         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
86822         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
86824 2009-01-18  Bruno Haible  <bruno@clisp.org>
86826         * lib/strftime.c (MEMPCPY): Remove unused macro.
86827         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
86829 2009-01-18  Martin Lambers  <marlam@marlam.de>
86831         New module 'link'.
86832         * lib/unistd.in.h (link): New declaration.
86833         * lib/link.c: New file.
86834         * m4/link.m4: New file.
86835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
86836         HAVE_LINK.
86837         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
86838         * modules/link: New file.
86839         * doc/posix-functions/link.texi: Mention the new module.
86841 2009-01-18  Bruno Haible  <bruno@clisp.org>
86843         * tests/test-avltree_list.c (main): Call set_program_name.
86844         * tests/test-avltree_oset.c (main): Likewise.
86845         * tests/test-obstack-printf.c: Include progname.h.
86846         (main): Call set_program_name.
86847         * tests/test-quotearg.c: Include progname.h.
86848         (main): Call set_program_name.
86849         * tests/test-xmemdup0.c: Include progname.h.
86850         (main): Call set_program_name.
86852 2009-01-18  Bruno Haible  <bruno@clisp.org>
86854         New module 'alphasort'.
86855         * lib/dirent.in.h (alphasort): New declaration.
86856         * lib/alphasort.c: New file, from glibc with modifications.
86857         * m4/alphasort.m4: New file.
86858         * modules/alphasort: New file.
86859         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
86860         HAVE_ALPHASORT.
86861         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
86862         HAVE_ALPHASORT.
86863         * doc/posix-functions/alphasort.texi: Mention the new module and the
86864         portability problems.
86866 2009-01-18  Bruno Haible  <bruno@clisp.org>
86868         New module 'scandir'.
86869         * lib/dirent.in.h (scandir): New declaration.
86870         * lib/scandir.c: New file, from glibc with modifications.
86871         * m4/scandir.m4: New file.
86872         * modules/scandir: New file.
86873         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
86874         HAVE_SCANDIR.
86875         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
86876         HAVE_SCANDIR.
86877         * doc/posix-functions/scandir.texi: Mention the new module and the
86878         portability problems.
86880 2009-01-17  Bruno Haible  <bruno@clisp.org>
86882         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
86883         Update documentation.
86884         (func_remove_suffix): Escape all dots in the suffix. Update
86885         documentation.
86886         (func_filter_filelist): Update documentation.
86887         Reported by Ralf Wildenhues.
86889 2009-01-17  Bruno Haible  <bruno@clisp.org>
86891         * modules/dprintf-posix-tests: New file.
86892         * tests/test-dprintf-posix.sh: New file.
86893         * tests/test-dprintf-posix.c: New file.
86895         New modules 'dprintf', 'dprintf-posix'.
86896         * lib/stdio.in.h (dprintf): New declaration.
86897         * lib/dprintf.c: New file.
86898         * m4/dprintf.m4: New file.
86899         * m4/dprintf-posix.m4: New file.
86900         * modules/dprintf: New file.
86901         * modules/dprintf-posix: New file.
86902         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
86903         HAVE_DPRINTF, REPLACE_DPRINTF.
86904         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
86905         HAVE_DPRINTF, REPLACE_DPRINTF.
86906         * doc/posix-functions/dprintf.texi: Mention the new modules.
86908 2009-01-17  Bruno Haible  <bruno@clisp.org>
86910         * modules/vdprintf-posix-tests: New file.
86911         * tests/test-vdprintf-posix.sh: New file.
86912         * tests/test-vdprintf-posix.c: New file.
86914         New modules 'vdprintf', 'vdprintf-posix'.
86915         * lib/stdio.in.h (vdprintf): New declaration.
86916         * lib/vdprintf.c: New file.
86917         * m4/vdprintf.m4: New file.
86918         * m4/vdprintf-posix.m4: New file.
86919         * modules/vdprintf: New file.
86920         * modules/vdprintf-posix: New file.
86921         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
86922         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86923         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
86924         HAVE_VDPRINTF, REPLACE_VDPRINTF.
86925         * doc/posix-functions/vdprintf.texi: Mention the new modules.
86927 2009-01-17  Bruno Haible  <bruno@clisp.org>
86929         Fix replacement of fopen on mingw.
86930         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
86931         mingw.
86933 2009-01-17  Bruno Haible  <bruno@clisp.org>
86935         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
86936         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
86938 2009-01-17  Bruno Haible  <bruno@clisp.org>
86940         Avoid test-fflush2.sh failure on mingw.
86941         * tests/test-fflush2.c: Include binary-io.h.
86942         (main): Put standard input into binary mode.
86943         * modules/fflush-tests (Depends-on): Add binary-io.
86945 2009-01-17  Bruno Haible  <bruno@clisp.org>
86947         * lib/wchar.in.h: In another particular situation, include only the
86948         system's <wchar.h> file.
86949         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
86950         Reported by Albert Chin-A-Young <china@thewrittenword.com>
86951         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
86953 2009-01-17  Bruno Haible  <bruno@clisp.org>
86955         Support for stripping executables in --enable-relocatable.
86956         * build-aux/install-reloc: Expect one more argument, or an environment
86957         variable RELOC_STRIP_PROG. If set, strip the destination program and
86958         its wrapper.
86959         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
86960         RELOC_STRIP_PROG.
86961         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
86962         to set RELOCATABLE_STRIP.
86963         * NEWS: Mention the new Makefile requirement.
86965 2009-01-17  Bruno Haible  <bruno@clisp.org>
86967         * build-aux/install-reloc: Remove debugging information left over by
86968         C compiler on MacOS X.
86970 2009-01-17  Bruno Haible  <bruno@clisp.org>
86972         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
86973         * lib/progreloc.c (find_executable): Fix type of pointer passed to
86974         _NSGetExecutablePath.
86976 2009-01-16  Jim Meyering  <meyering@redhat.com>
86978         strerror: avoid warnings about discarding "const"
86979         * lib/strerror.c (rpl_strerror): Instead of returning a const
86980         string from each and every "case", use a variable, and add a single
86981         cast after the switch.
86983 2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>
86985         * lib/arpa_inet.in.h: Add extern "C" block for C++.
86987 2009-01-16  Bruno Haible  <bruno@clisp.org>
86989         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
86990         array initializer syntax that also works in C++ mode.
86991         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
86993 2009-01-16  Jim Meyering  <meyering@redhat.com>
86995         poll: suppress a warning
86996         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
86997         to ignore "...unsigned expression < 0 is always false" warnings.
86999 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
87001         poll: remove declarations of unused variables
87002         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
87003         sockbuf and optlen.
87005 2009-01-15  Bruno Haible  <bruno@clisp.org>
87007         Make fflush-after-ungetc POSIX compliant on BSD systems.
87008         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
87009         (clear_ungetc_buffer): Implement also for other systems.
87010         (rpl_fflush): On glibc systems, invoke
87011         clear_ungetc_buffer_preserving_position. Otherwise, invoke
87012         clear_ungetc_buffer after fetching the stream's position, not before.
87014 2009-01-15  Bruno Haible  <bruno@clisp.org>
87016         Make fflush-after-ungetc POSIX compliant on glibc systems.
87017         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
87018         after ungetc.
87019         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
87020         (rpl_fflush): On glibc systems, simply call the system's fflush
87021         function after clearing the ungetc buffer.
87022         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
87023         Instead, lseek only to the end of file, then use the system's fseeko
87024         for the rest. On glibc systems, reset the EOF indicator bit.
87026 2009-01-15  Jim Meyering  <meyering@redhat.com>
87028         openmp.m4: revert quote-adding change, for portability to older autoconf
87029         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
87030         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
87031         Simon Josefsson noticed the problem when using autoconf-2.61.
87033 2009-01-15  Bruno Haible  <bruno@clisp.org>
87035         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
87036         * tests/test-fflush2.c (ASSERT): Always fail.
87037         (main): Add two tests for fflush() after ungetc(), taking into account
87038         the Austin Group's clarification.
87039         Suggested by Eric Blake.
87041 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
87043         mktime.m4: remove K&R-style function prototypes
87044         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
87045         for the Sun C++ compiler.
87047 2009-01-14  Bruno Haible  <bruno@clisp.org>
87049         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
87050         while including <wchar.h>.
87051         * lib/wchar.in.h: In two particular situations on HP-UX, include only
87052         the system's <wchar.h> file.
87053         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
87055 2009-01-14  Bruno Haible  <bruno@clisp.org>
87057         * m4/csharp.m4: Don't mention gettext on the serial number line.
87058         * m4/csharpexec.m4: Likewise.
87059         * m4/eaccess.m4: Likewise.
87060         * m4/javaexec.m4: Likewise.
87061         * m4/sig_atomic_t.m4: Likewise.
87062         * m4/tmpdir.m4: Likewise.
87063         * m4/intldir.m4: Bump gettext version.
87064         * m4/lib-ld.m4: Likewise.
87066 2009-01-14  Bruno Haible  <bruno@clisp.org>
87068         * lib/progname.c (set_program_name): Add more comments.
87069         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
87071 2009-01-14  Simon Josefsson  <simon@josefsson.org>
87073         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
87074         were sys/stat.h does not define it.
87076 2009-01-14  Jim Meyering  <meyering@redhat.com>
87078         many *.m4 files: improve m4 quoting
87079         99% of this change was performed by running the following commands:
87080         git ls-files | grep '\.m4$' | xargs perl -pi \
87081           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
87082           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87083           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
87084           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
87085         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
87086         The remainder were to add Copyright dates, increment serial numbers,
87087         undo some changes in comments, exclude m4/intl.m4, and add quotes
87088         around the "1" in ",1" where the unusual spacing prohibited the
87089         above regexps from doing the job.  For more details, see
87090         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
87091         * m4/acl.m4: Modified.
87092         * m4/afs.m4: Likewise.
87093         * m4/alloca.m4: Likewise.
87094         * m4/argp.m4: Likewise.
87095         * m4/argz.m4: Likewise.
87096         * m4/atexit.m4: Likewise.
87097         * m4/bison-i18n.m4: Likewise.
87098         * m4/bison.m4: Likewise.
87099         * m4/byteswap.m4: Likewise.
87100         * m4/c-stack.m4: Likewise.
87101         * m4/c-strtod.m4: Likewise.
87102         * m4/calloc.m4: Likewise.
87103         * m4/canonicalize-lgpl.m4: Likewise.
87104         * m4/chown.m4: Likewise.
87105         * m4/clock_time.m4: Likewise.
87106         * m4/codeset.m4: Likewise.
87107         * m4/copy-file.m4: Likewise.
87108         * m4/csharp.m4: Likewise.
87109         * m4/csharpcomp.m4: Likewise.
87110         * m4/csharpexec.m4: Likewise.
87111         * m4/d-ino.m4: Likewise.
87112         * m4/d-type.m4: Likewise.
87113         * m4/dirfd.m4: Likewise.
87114         * m4/double-slash-root.m4: Likewise.
87115         * m4/eaccess.m4: Likewise.
87116         * m4/eealloc.m4: Likewise.
87117         * m4/environ.m4: Likewise.
87118         * m4/errno_h.m4: Likewise.
87119         * m4/euidaccess.m4: Likewise.
87120         * m4/execute.m4: Likewise.
87121         * m4/fatal-signal.m4: Likewise.
87122         * m4/fchdir.m4: Likewise.
87123         * m4/fcntl_h.m4: Likewise.
87124         * m4/fileblocks.m4: Likewise.
87125         * m4/filenamecat.m4: Likewise.
87126         * m4/findprog.m4: Likewise.
87127         * m4/flexmember.m4: Likewise.
87128         * m4/fnmatch.m4: Likewise.
87129         * m4/fopen.m4: Likewise.
87130         * m4/fpending.m4: Likewise.
87131         * m4/fprintf-posix.m4: Likewise.
87132         * m4/free.m4: Likewise.
87133         * m4/frexp.m4: Likewise.
87134         * m4/frexpl.m4: Likewise.
87135         * m4/fsusage.m4: Likewise.
87136         * m4/ftruncate.m4: Likewise.
87137         * m4/gc-camellia.m4: Likewise.
87138         * m4/gc-random.m4: Likewise.
87139         * m4/gc.m4: Likewise.
87140         * m4/getaddrinfo.m4: Likewise.
87141         * m4/getcwd-abort-bug.m4: Likewise.
87142         * m4/getcwd-path-max.m4: Likewise.
87143         * m4/getdate.m4: Likewise.
87144         * m4/getdomainname.m4: Likewise.
87145         * m4/getgroups.m4: Likewise.
87146         * m4/gethostname.m4: Likewise.
87147         * m4/gethrxtime.m4: Likewise.
87148         * m4/getline.m4: Likewise.
87149         * m4/getloadavg.m4: Likewise.
87150         * m4/getndelim2.m4: Likewise.
87151         * m4/getpass.m4: Likewise.
87152         * m4/gettext.m4: Likewise.
87153         * m4/gettime.m4: Likewise.
87154         * m4/gettimeofday.m4: Likewise.
87155         * m4/gnulib-common.m4: Likewise.
87156         * m4/group-member.m4: Likewise.
87157         * m4/host-os.m4: Likewise.
87158         * m4/iconv.m4: Likewise.
87159         * m4/iconv_open.m4: Likewise.
87160         * m4/inet_ntop.m4: Likewise.
87161         * m4/inet_pton.m4: Likewise.
87162         * m4/inline.m4: Likewise.
87163         * m4/intldir.m4: Likewise.
87164         * m4/intlmacosx.m4: Likewise.
87165         * m4/intmax.m4: Likewise.
87166         * m4/intmax_t.m4: Likewise.
87167         * m4/inttypes.m4: Likewise.
87168         * m4/inttypes_h.m4: Likewise.
87169         * m4/inttypes-pri.m4: Likewise.
87170         * m4/isapipe.m4: Likewise.
87171         * m4/isnand.m4: Likewise.
87172         * m4/isnanf.m4: Likewise.
87173         * m4/isnanl.m4: Likewise.
87174         * m4/javacomp.m4: Likewise.
87175         * m4/javaexec.m4: Likewise.
87176         * m4/jm-winsz1.m4: Likewise.
87177         * m4/jm-winsz2.m4: Likewise.
87178         * m4/lchown.m4: Likewise.
87179         * m4/lcmessage.m4: Likewise.
87180         * m4/ldexpl.m4: Likewise.
87181         * m4/lib-ld.m4: Likewise.
87182         * m4/lib-link.m4: Likewise.
87183         * m4/libsigsegv.m4: Likewise.
87184         * m4/link-follow.m4: Likewise.
87185         * m4/localcharset.m4: Likewise.
87186         * m4/locale-fr.m4: Likewise.
87187         * m4/locale-ja.m4: Likewise.
87188         * m4/locale-tr.m4: Likewise.
87189         * m4/locale-zh.m4: Likewise.
87190         * m4/lock.m4: Likewise.
87191         * m4/longlong.m4: Likewise.
87192         * m4/ls-mntd-fs.m4: Likewise.
87193         * m4/lstat.m4: Likewise.
87194         * m4/malloc.m4: Likewise.
87195         * m4/mathl.m4: Likewise.
87196         * m4/mbrtowc.m4: Likewise.
87197         * m4/mbstate_t.m4: Likewise.
87198         * m4/mbswidth.m4: Likewise.
87199         * m4/memchr.m4: Likewise.
87200         * m4/memcmp.m4: Likewise.
87201         * m4/memcpy.m4: Likewise.
87202         * m4/memmem.m4: Likewise.
87203         * m4/memmove.m4: Likewise.
87204         * m4/mempcpy.m4: Likewise.
87205         * m4/memrchr.m4: Likewise.
87206         * m4/memset.m4: Likewise.
87207         * m4/minmax.m4: Likewise.
87208         * m4/mkdir-slash.m4: Likewise.
87209         * m4/mkdtemp.m4: Likewise.
87210         * m4/mktime.m4: Likewise.
87211         * m4/mmap-anon.m4: Likewise.
87212         * m4/mountlist.m4: Likewise.
87213         * m4/nanosleep.m4: Likewise.
87214         * m4/nls.m4: Likewise.
87215         * m4/nocrash.m4: Likewise.
87216         * m4/open.m4: Likewise.
87217         * m4/openat.m4: Likewise.
87218         * m4/openmp.m4: Likewise.
87219         * m4/pathmax.m4: Likewise.
87220         * m4/perl.m4: Likewise.
87221         * m4/physmem.m4: Likewise.
87222         * m4/pipe.m4: Likewise.
87223         * m4/po.m4: Likewise.
87224         * m4/poll.m4: Likewise.
87225         * m4/posixtm.m4: Likewise.
87226         * m4/posixver.m4: Likewise.
87227         * m4/printf-frexp.m4: Likewise.
87228         * m4/printf-frexpl.m4: Likewise.
87229         * m4/printf-posix.m4: Likewise.
87230         * m4/printf-posix-rpl.m4: Likewise.
87231         * m4/printf.m4: Likewise.
87232         * m4/progtest.m4: Likewise.
87233         * m4/putenv.m4: Likewise.
87234         * m4/readline.m4: Likewise.
87235         * m4/readlink.m4: Likewise.
87236         * m4/readutmp.m4: Likewise.
87237         * m4/realloc.m4: Likewise.
87238         * m4/regex.m4: Likewise.
87239         * m4/relocatable.m4: Likewise.
87240         * m4/relocatable-lib.m4: Likewise.
87241         * m4/rename-dest-slash.m4: Likewise.
87242         * m4/rename.m4: Likewise.
87243         * m4/rmdir-errno.m4: Likewise.
87244         * m4/rmdir.m4: Likewise.
87245         * m4/roundf.m4: Likewise.
87246         * m4/roundl.m4: Likewise.
87247         * m4/rpmatch.m4: Likewise.
87248         * m4/save-cwd.m4: Likewise.
87249         * m4/selinux-selinux-h.m4: Likewise.
87250         * m4/setenv.m4: Likewise.
87251         * m4/settime.m4: Likewise.
87252         * m4/sig2str.m4: Likewise.
87253         * m4/sig_atomic_t.m4: Likewise.
87254         * m4/signalblocking.m4: Likewise.
87255         * m4/signbit.m4: Likewise.
87256         * m4/sigpipe.m4: Likewise.
87257         * m4/sockets.m4: Likewise.
87258         * m4/sockpfaf.m4: Likewise.
87259         * m4/st_dm_mode.m4: Likewise.
87260         * m4/stat-time.m4: Likewise.
87261         * m4/stdbool.m4: Likewise.
87262         * m4/stdint.m4: Likewise.
87263         * m4/stdint_h.m4: Likewise.
87264         * m4/stpcpy.m4: Likewise.
87265         * m4/stpncpy.m4: Likewise.
87266         * m4/strcase.m4: Likewise.
87267         * m4/strchrnul.m4: Likewise.
87268         * m4/strcspn.m4: Likewise.
87269         * m4/strdup.m4: Likewise.
87270         * m4/strftime.m4: Likewise.
87271         * m4/strndup.m4: Likewise.
87272         * m4/strnlen.m4: Likewise.
87273         * m4/strpbrk.m4: Likewise.
87274         * m4/strptime.m4: Likewise.
87275         * m4/strsep.m4: Likewise.
87276         * m4/strtod.m4: Likewise.
87277         * m4/strtoimax.m4: Likewise.
87278         * m4/strtok_r.m4: Likewise.
87279         * m4/strtol.m4: Likewise.
87280         * m4/strtoll.m4: Likewise.
87281         * m4/strtoul.m4: Likewise.
87282         * m4/strtoull.m4: Likewise.
87283         * m4/strtoumax.m4: Likewise.
87284         * m4/strverscmp.m4: Likewise.
87285         * m4/threadlib.m4: Likewise.
87286         * m4/timegm.m4: Likewise.
87287         * m4/tm_gmtoff.m4: Likewise.
87288         * m4/tmpdir.m4: Likewise.
87289         * m4/tmpfile.m4: Likewise.
87290         * m4/tzset.m4: Likewise.
87291         * m4/uintmax_t.m4: Likewise.
87292         * m4/unlinkdir.m4: Likewise.
87293         * m4/unlocked-io.m4: Likewise.
87294         * m4/uptime.m4: Likewise.
87295         * m4/userspec.m4: Likewise.
87296         * m4/utimbuf.m4: Likewise.
87297         * m4/utime.m4: Likewise.
87298         * m4/utimes-null.m4: Likewise.
87299         * m4/utimes.m4: Likewise.
87300         * m4/vararrays.m4: Likewise.
87301         * m4/vasnprintf.m4: Likewise.
87302         * m4/vfprintf-posix.m4: Likewise.
87303         * m4/vprintf-posix.m4: Likewise.
87304         * m4/wait-process.m4: Likewise.
87305         * m4/wchar_t.m4: Likewise.
87306         * m4/wint_t.m4: Likewise.
87307         * m4/write-any-file.m4: Likewise.
87308         * m4/yield.m4: Likewise.
87310 2009-01-13  Bruno Haible  <bruno@clisp.org>
87312         Avoid test-copy-file.sh failures when ACL support insufficient.
87313         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
87314         TESTS_ENVIRONMENT.
87315         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
87316         Reported by Jim Meyering.
87318 2009-01-13  Bruno Haible  <bruno@clisp.org>
87320         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
87321         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
87322         * modules/unistdio/u8-printf-parse (Files): Likewise.
87323         * modules/unistdio/u32-printf-parse (Files): Likewise.
87324         * modules/unistdio/ulc-printf-parse (Files): Likewise.
87326 2009-01-13  Simon Josefsson  <simon@josefsson.org>
87328         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
87329         and m4/inttypes_h.m4 too.
87331 2009-01-12  Eric Blake  <ebb9@byu.net>
87333         tests: IRIX 6.2 cc can't compile -0.0 into .data
87334         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
87335         rather than at compile-time.
87336         * tests/test-floorl.c (minus_zero): Likewise.
87337         * tests/test-frexpl.c (minus_zero): Likewise.
87338         * tests/test-isnan.c (minus_zerol): Likewise.
87339         * tests/test-isnanl.h (minus_zero): Likewise.
87340         * tests/test-ldexpl.c (minus_zero): Likewise.
87341         * tests/test-roundl.c (minus_zero): Likewise.
87342         * tests/test-signbit.c (minus_zerol): Likewise.
87343         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
87344         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
87345         * tests/test-truncl.c (minus_zero): Likewise.
87346         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
87347         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
87348         Reported by Tom G. Christensen and Nelson H. F. Beebe.
87350 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87352         regex: fix glibc bug 9697
87353         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
87354         handling.
87356 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87358         regex: fix glibc bug 697
87359         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
87360         being NULL also if there are no backreferences.
87362 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
87364         regex: merge glibc changes
87365         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
87366         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
87367         re_string_skip_chars, re_string_reconstruct): Likewise.
87368         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
87370 2009-01-07  Jim Meyering  <meyering@redhat.com>
87372         poll: filter through cppi
87373         * lib/poll.c: Indent cpp directives to reflect nesting.
87375 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
87377         poll: don't return uninitialized
87378         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
87380 2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)
87382         avoid compile failure on AIX 6.1
87383         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
87384         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
87386 2009-01-04  Jim Meyering  <meyering@redhat.com>
87388         remove duplicate inclusion of <stdio.h>
87389         * tests/test-fprintf-posix.c: Likewise.
87390         * tests/test-printf-posix.c: Likewise.
87391         * tests/test-snprintf-posix.c: Likewise.
87392         * tests/test-sprintf-posix.c: Likewise.
87393         * tests/test-vasprintf-posix.c: Likewise.
87394         * tests/test-vfprintf-posix.c: Likewise.
87395         * tests/test-vprintf-posix.c: Likewise.
87396         * tests/test-vsnprintf-posix.c: Likewise.
87397         * tests/test-vsprintf-posix.c: Likewise.
87399 2009-01-03  Jim Meyering  <meyering@redhat.com>
87401         gnulib-tool: fix sed-based filtering
87402         * gnulib-tool (func_filter_filelist): Remove extra backslash
87403         in sed_fff_filter definition.
87405 2009-01-02  Jim Meyering  <meyering@redhat.com>
87407         strftime: avoid compilation failure on Solaris 2.6
87408         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
87409         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
87410         Don't #define mbrlen or mbsinit, since now they're guaranteed to
87411         be available.  Reported by Tom G. Christensen.  Details in
87412         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
87414 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87415             Bruno Haible  <bruno@clisp.org>
87417         Speed up gnulib-tool by doing more string processing through shell
87418         built-ins.
87419         * gnulib-tool (fast_func_append): New variable.
87420         (func_remove_prefix, func_remove_suffix): New functions.
87421         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
87422         (func_filter_filelist): New function.
87423         (func_get_dependencies): Use func_remove_suffix instead of sed.
87424         (func_get_automake_snippet): Use func_filter_filelist instead of a
87425         subshell and sed invocation.
87427 2009-01-01  Bruno Haible  <bruno@clisp.org>
87429         Fix a security bug.
87430         * gnulib-tool (func_import, import, update): Don't allow the characters
87431         '"', '$', '`', '\' in macro arguments that become part of commands that
87432         are evaluated.
87434 2009-01-01  Bruno Haible  <bruno@clisp.org>
87436         * gnulib-tool (func_reset_sigpipe): Add more comments.
87438 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87440         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
87441         func_emit_tests_Makefile_am, func_import): Abort loops early if we
87442         already know the answer.
87444 2009-01-01  Jim Meyering  <meyering@redhat.com>
87446         * lib/version-etc.c (version_etc_va): Update copyright year.
87448 2008-12-30  Bruno Haible  <bruno@clisp.org>
87450         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
87451         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
87452         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
87454 2008-12-29  Eric Blake  <ebb9@byu.net>
87456         multiarch: avoid autoconf AC_REQUIRE bug
87457         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
87458         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
87459         2.63 and older.
87460         Reported by Bruno Haible, and analyzed in
87461         http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html
87463 2008-12-29  Bruno Haible  <bruno@clisp.org>
87465         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
87466         files in subdirectories correctly.
87467         Reported by Ralf Wildenhues.
87469 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
87471         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
87472         rather than 'join FILE -', for Solaris join.
87474 2008-12-29  Bruno Haible  <bruno@clisp.org>
87476         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
87477         quoting.
87478         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
87479         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
87480         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
87481         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
87482         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
87483         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
87484         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
87485         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
87486         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
87487         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
87488         * m4/nls.m4 (AM_NLS): Likewise.
87489         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
87490         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
87491         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
87492         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
87493         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
87494         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
87495         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
87496         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
87497         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
87498         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
87499         * m4/xsize.m4 (gl_XSIZE): Likewise.
87500         Suggested by Jim Meyering.
87502 2008-11-17  Bruce Korb  <bkorb@gnu.org>
87504         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
87505         * lib/parse-duration.c: use a switch instead of cascading if's.
87507 2008-12-29  Eric Blake  <ebb9@byu.net>
87509         wchar.h: supply WEOF on Irix 5.3
87510         * lib/wchar.in.h (wint_t): Also supply WEOF.
87511         * lib/wctype.in.h (wint_t): Likewise.
87512         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
87513         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
87514         Reported by Tom G. Christensen.
87516 2008-12-26  Bruno Haible  <bruno@clisp.org>
87518         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
87519         i486, i586, i686.
87521 2008-12-26  Bruno Haible  <bruno@clisp.org>
87523         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
87525 2008-12-26  Bruno Haible  <bruno@clisp.org>
87527         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
87528         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
87529         not __STDC_CONSTANT_MACROS.
87530         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
87532 2008-12-25  Bruno Haible  <bruno@clisp.org>
87534         Add support for universal builds to vasnprintf.
87535         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
87536         universal builds, guess no.
87537         * modules/vasnprintf-posix (Depends-on): Add multiarch.
87538         * modules/vasprintf-posix (Depends-on): Likewise.
87539         * modules/fprintf-posix (Depends-on): Likewise.
87540         * modules/vfprintf-posix (Depends-on): Likewise.
87541         * modules/snprintf-posix (Depends-on): Likewise.
87542         * modules/vsnprintf-posix (Depends-on): Likewise.
87543         * modules/sprintf-posix (Depends-on): Likewise.
87544         * modules/vsprintf-posix (Depends-on): Likewise.
87545         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
87546         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
87547         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
87548         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
87549         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
87550         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
87551         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
87553         Add support for universal builds to <inttypes.h>.
87554         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
87555         _SCNu64_PREFIX): In Apple
87556         universal builds, define directly, using _LP64.
87557         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
87558         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
87559         * modules/inttypes (Depends-on): Add multiarch.
87560         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87562         Add support for universal builds to <stdint.h>.
87563         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
87564         universal builds, define directly, using _LP64.
87565         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
87566         Apple universal builds, don't test for the size and suffix of ptrdiff_t
87567         and size_t.
87568         * modules/stdint (Depends-on): Add multiarch.
87569         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
87571         New module 'multiarch'.
87572         * modules/multiarch: New file.
87573         * m4/multiarch.m4: New file.
87575 2008-12-25  Bruno Haible  <bruno@clisp.org>
87577         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
87579 2008-12-25  Bruno Haible  <bruno@clisp.org>
87581         * modules/btowc (License): Relicense under LGPLv2+.
87582         * modules/mbsinit (License): Likewise.
87583         * modules/mbrtowc (License): Likewise.
87584         * modules/wcrtomb (License): Likewise.
87585         * modules/streq (License): Likewise.
87586         Reported by David Lutterkort <lutter@redhat.com>.
87588 2008-12-23  Bruno Haible  <bruno@clisp.org>
87590         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
87592 2008-12-23  Bruno Haible  <bruno@clisp.org>
87594         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
87595         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
87596         GETADDRINFO_LIB, not in LIBS.
87597         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
87598         * modules/canon-host (Link): Likewise.
87599         * NEWS: Mention the change.
87600         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
87601         GETADDRINFO_LIB.
87603 2008-12-22  Bruno Haible  <bruno@clisp.org>
87605         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
87606         * doc/posix-functions/iswalpha_l.texi: Likewise.
87607         * doc/posix-functions/iswblank_l.texi: Likewise.
87608         * doc/posix-functions/iswcntrl_l.texi: Likewise.
87609         * doc/posix-functions/iswctype_l.texi: Likewise.
87610         * doc/posix-functions/iswdigit_l.texi: Likewise.
87611         * doc/posix-functions/iswgraph_l.texi: Likewise.
87612         * doc/posix-functions/iswlower_l.texi: Likewise.
87613         * doc/posix-functions/iswprint_l.texi: Likewise.
87614         * doc/posix-functions/iswpunct_l.texi: Likewise.
87615         * doc/posix-functions/iswspace_l.texi: Likewise.
87616         * doc/posix-functions/iswupper_l.texi: Likewise.
87617         * doc/posix-functions/iswxdigit_l.texi: Likewise.
87618         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
87619         * doc/posix-functions/open_wmemstream.texi: Likewise.
87620         * doc/posix-functions/swscanf.texi: Likewise.
87621         * doc/posix-functions/towctrans_l.texi: Likewise.
87622         * doc/posix-functions/towlower.texi: Likewise.
87623         * doc/posix-functions/towlower_l.texi: Likewise.
87624         * doc/posix-functions/towupper.texi: Likewise.
87625         * doc/posix-functions/towupper_l.texi: Likewise.
87626         * doc/posix-functions/vfwprintf.texi: Likewise.
87627         * doc/posix-functions/vfwscanf.texi: Likewise.
87628         * doc/posix-functions/vswscanf.texi: Likewise.
87629         * doc/posix-functions/vwprintf.texi: Likewise.
87630         * doc/posix-functions/vwscanf.texi: Likewise.
87631         * doc/posix-functions/wcpcpy.texi: Likewise.
87632         * doc/posix-functions/wcpncpy.texi: Likewise.
87633         * doc/posix-functions/wcscasecmp.texi: Likewise.
87634         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
87635         * doc/posix-functions/wcscoll_l.texi: Likewise.
87636         * doc/posix-functions/wcsdup.texi: Likewise.
87637         * doc/posix-functions/wcsncasecmp.texi: Likewise.
87638         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
87639         * doc/posix-functions/wcsnlen.texi: Likewise.
87640         * doc/posix-functions/wcsnrtombs.texi: Likewise.
87641         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
87642         * doc/posix-functions/wctrans_l.texi: Likewise.
87643         * doc/posix-functions/wctype_l.texi: Likewise.
87644         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
87645         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
87646         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
87647         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
87648         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
87649         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
87650         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
87651         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
87652         * doc/glibc-functions/wcschrnul.texi: Likewise.
87653         * doc/glibc-functions/wcsftime_l.texi: Likewise.
87654         * doc/glibc-functions/wcstod_l.texi: Likewise.
87655         * doc/glibc-functions/wcstof_l.texi: Likewise.
87656         * doc/glibc-functions/wcstol_l.texi: Likewise.
87657         * doc/glibc-functions/wcstold_l.texi: Likewise.
87658         * doc/glibc-functions/wcstoll_l.texi: Likewise.
87659         * doc/glibc-functions/wcstoq.texi: Likewise.
87660         * doc/glibc-functions/wcstoul_l.texi: Likewise.
87661         * doc/glibc-functions/wcstoull_l.texi: Likewise.
87662         * doc/glibc-functions/wcstouq.texi: Likewise.
87663         * doc/glibc-functions/wmempcpy.texi: Likewise.
87665 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
87666             Eric Blake  <ebb9@byu.net>
87667             Paolo Bonzini  <bonzini@gnu.org>
87668             Bruno Haible  <bruno@clisp.org>
87670         Make c-stack work on Haiku.
87671         * lib/c-stack.c (SA_ONSTACK): Define fallback.
87672         (c_stack_action): Use SA_ONSTACK flag.
87674 2008-12-22  Bruno Haible  <bruno@clisp.org>
87676         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
87678 2008-12-22  Bruno Haible  <bruno@clisp.org>
87680         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
87681         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
87682         being overridden.
87683         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
87684         New macros.
87685         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
87686         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
87687         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
87688         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
87690 2008-12-22  Bruno Haible  <bruno@clisp.org>
87692         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
87693         from test code.
87695 2008-12-22  Eric Blake  <ebb9@byu.net>
87697         Avoid gcc warnings on cygwin.
87698         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
87699         Avoid unused variable.
87700         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
87701         Likewise.
87703 2008-12-22  Bruno Haible  <bruno@clisp.org>
87705         Remove HAVE_MBRTOWC conditionals.
87706         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
87707         (mbscasecmp): Assume mbrtowc function.
87708         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
87709         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
87710         * lib/mbschr.c: Include mbuiter.h unconditionally.
87711         (mbschr): Assume mbrtowc function.
87712         * lib/mbscspn.c: Include mbuiter.h unconditionally.
87713         (mbscspn): Assume mbrtowc function.
87714         * lib/mbslen.c: Include mbuiter.h unconditionally.
87715         (mbslen): Assume mbrtowc function.
87716         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
87717         (mbsncasecmp): Assume mbrtowc function.
87718         * lib/mbsnlen.c: Include mbiter.h unconditionally.
87719         (mbsnlen): Assume mbrtowc function.
87720         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
87721         (mbspbrk): Assume mbrtowc function.
87722         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
87723         (mbspcasecmp): Assume mbrtowc function.
87724         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
87725         (mbsrchr): Assume mbrtowc function.
87726         * lib/mbssep.c: Include mbuiter.h unconditionally.
87727         (mbssep): Assume mbrtowc function.
87728         * lib/mbsspn.c: Include mbuiter.h unconditionally.
87729         (mbsspn): Assume mbrtowc function.
87730         * lib/mbsstr.c: Include mbuiter.h unconditionally.
87731         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
87732         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
87733         (mbstok_r): Assume mbrtowc function.
87734         * lib/propername.c: Include mbuiter.h unconditionally.
87735         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
87736         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
87737         (trim2): Assume mbrtowc function.
87738         * lib/mbswidth.c (mbsinit): Remove fallback definition.
87739         (mbsnwidth): Assume mbrtowc function.
87740         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
87741         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
87742         fallback definitions.
87743         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
87745 2008-12-22  Bruno Haible  <bruno@clisp.org>
87747         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
87749 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
87751         * modules/regex: Request emulations for the mb*/wc* functions we need.
87752         * m4/regex.m4: Don't look for those functions here.
87753         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
87755 2008-12-22  Bruno Haible  <bruno@clisp.org>
87757         * modules/fnmatch (Depends-on): Remove duplicated dependency.
87759 2008-12-21  Bruno Haible  <bruno@clisp.org>
87761         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
87762         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
87763         (Include): Remove conditionalization.
87764         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
87765         (Include): Remove conditionalization.
87766         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
87767         (Include): Remove conditionalization.
87768         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
87769         * m4/mbfile.m4 (gl_MBFILE): Likewise.
87770         * NEWS: Mention the change.
87771         Reported by Alan Hourihane <alanh@fairlite.co.uk>
87772         via Sergey Poznyakoff <gray@gnu.org.ua>.
87774 2008-12-21  Bruno Haible  <bruno@clisp.org>
87776         * MODULES.html.sh (Extended multibyte and wide character utilities
87777         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
87778         wcrtomb, wcsrtombs.
87779         (Support for systems lacking POSIX:2008): Add accept, bind, close,
87780         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
87781         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
87782         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
87784 2008-12-21  Bruno Haible  <bruno@clisp.org>
87786         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
87788 2008-12-21  Bruno Haible  <bruno@clisp.org>
87790         * modules/wcsnrtombs-tests: New file.
87791         * tests/test-wcsnrtombs1.sh: New file.
87792         * tests/test-wcsnrtombs2.sh: New file.
87793         * tests/test-wcsnrtombs3.sh: New file.
87794         * tests/test-wcsnrtombs4.sh: New file.
87795         * tests/test-wcsnrtombs.c: New file.
87797         New module 'wcsnrtombs'.
87798         * lib/wchar.in.h (wcsnrtombs): New declaration.
87799         * lib/wcsnrtombs.c: New file.
87800         * lib/wcsrtombs-state.c: New file.
87801         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
87802         (internal_state): Remove variable.
87803         * m4/wcsnrtombs.m4: New file.
87804         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
87805         compilation units.
87806         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
87807         HAVE_WCSNRTOMBS.
87808         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
87809         HAVE_WCSNRTOMBS.
87810         * modules/wcsnrtombs: New file.
87811         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
87812         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
87814 2008-12-21  Bruno Haible  <bruno@clisp.org>
87816         * modules/wcsrtombs-tests: New file.
87817         * tests/test-wcsrtombs1.sh: New file.
87818         * tests/test-wcsrtombs2.sh: New file.
87819         * tests/test-wcsrtombs3.sh: New file.
87820         * tests/test-wcsrtombs4.sh: New file.
87821         * tests/test-wcsrtombs.c: New file.
87823         New module 'wcsrtombs'.
87824         * lib/wchar.in.h (wcsrtombs): New declaration.
87825         * lib/wcsrtombs.c: New file.
87826         * m4/wcsrtombs.m4: New file.
87827         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
87828         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87829         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
87830         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
87831         * modules/wcsrtombs: New file.
87832         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
87833         bugs.
87835 2008-12-21  Bruno Haible  <bruno@clisp.org>
87837         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
87838         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
87839         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
87840         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
87841         if not correct.
87842         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
87843         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
87844         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87845         m4/locale-zh.m4, m4/codeset.m4.
87846         * doc/posix-functions/wcrtomb.texi: Document the bug.
87848 2008-12-21  Bruno Haible  <bruno@clisp.org>
87850         Work around a btowc() bug on IRIX 6.5.
87851         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
87852         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
87853         REPLACE_WTOBC if not.
87854         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
87855         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
87856         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
87858 2008-12-21  Bruno Haible  <bruno@clisp.org>
87860         * modules/wcrtomb-tests: New file.
87861         * tests/test-wcrtomb.sh: New file.
87862         * tests/test-wcrtomb.c: New file.
87864         New module 'wcrtomb'.
87865         * lib/wchar.in.h (wcrtomb): New declaration.
87866         * lib/wcrtomb.c: New file.
87867         * m4/wcrtomb.m4: New file.
87868         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
87869         HAVE_WCRTOMB.
87870         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
87871         HAVE_WCRTOMB.
87872         * modules/wcrtomb: New file.
87873         * doc/posix-functions/wcrtomb.texi: Mention the new module.
87875 2008-12-21  Bruno Haible  <bruno@clisp.org>
87877         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
87878         * modules/mbsrtowcs (Files): Likewise.
87879         * modules/wctob (Files): Likewise.
87880         * modules/c-strcase-tests (Files): Likewise.
87881         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
87882         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
87883         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
87884         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
87885         * modules/vasnprintf-posix-tests (Files): Likewise.
87887 2008-12-21  William Pursell  <bill.pursell@gmail.com>
87889         gitlog-to-changelog: pass all command-line arguments to git-log
87890         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
87891         it is sometimes convenient to filter the commits in various ways.
87892         gitlog-to-changelog only allows --since to specify a start date,
87893         but git-log itself supports many other filtering mechanisms.
87894         At the moment, I want to filter by branch name.  Rather than
87895         adding a --branch option to gitlog-to-changelog, it seems more
87896         flexible to simply pass all options directly to git-log and let
87897         git do the work.  Notice that this effectively makes --since a
87898         redundant option for gitlog-to-changelog, but removing it would
87899         require current usage to change since calls would then require
87900         an additional '--'.
87902 2008-12-21  Bruno Haible  <bruno@clisp.org>
87904         * modules/mbsnrtowcs-tests: New file.
87905         * tests/test-mbsnrtowcs1.sh: New file.
87906         * tests/test-mbsnrtowcs2.sh: New file.
87907         * tests/test-mbsnrtowcs3.sh: New file.
87908         * tests/test-mbsnrtowcs4.sh: New file.
87909         * tests/test-mbsnrtowcs.c: New file.
87911         New module 'mbsnrtowcs'.
87912         * lib/wchar.in.h (mbsnrtowcs): New declaration.
87913         * lib/mbsnrtowcs.c: New file.
87914         * lib/mbsrtowcs-state.c: New file.
87915         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
87916         (internal_state): Remove variable.
87917         * m4/mbsnrtowcs.m4: New file.
87918         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
87919         compilation units.
87920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
87921         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87922         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
87923         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
87924         * modules/mbsnrtowcs: New file.
87925         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
87926         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
87927         portability problem.
87929 2008-12-21  Bruno Haible  <bruno@clisp.org>
87931         Work around mbsrtowcs bug.
87932         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
87933         (gl_FUNC_MBSRTOWCS): Invoke it.
87934         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
87935         m4/locale-zh.m4.
87936         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
87938 2008-12-21  Bruno Haible  <bruno@clisp.org>
87940         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
87942 2008-12-21  Bruno Haible  <bruno@clisp.org>
87944         Update doc for AIX.
87945         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
87946         16-bit wchar_t type.
87947         * doc/posix-functions/btowc.texi: Likewise.
87948         * doc/posix-functions/fgetwc.texi: Likewise.
87949         * doc/posix-functions/fgetws.texi: Likewise.
87950         * doc/posix-functions/fputwc.texi: Likewise.
87951         * doc/posix-functions/fputws.texi: Likewise.
87952         * doc/posix-functions/fwide.texi: Likewise.
87953         * doc/posix-functions/fwprintf.texi: Likewise.
87954         * doc/posix-functions/fwscanf.texi: Likewise.
87955         * doc/posix-functions/getwchar.texi: Likewise.
87956         * doc/posix-functions/getwc.texi: Likewise.
87957         * doc/posix-functions/iswalnum.texi: Likewise.
87958         * doc/posix-functions/iswalpha.texi: Likewise.
87959         * doc/posix-functions/iswblank.texi: Likewise.
87960         * doc/posix-functions/iswcntrl.texi: Likewise.
87961         * doc/posix-functions/iswctype.texi: Likewise.
87962         * doc/posix-functions/iswdigit.texi: Likewise.
87963         * doc/posix-functions/iswgraph.texi: Likewise.
87964         * doc/posix-functions/iswlower.texi: Likewise.
87965         * doc/posix-functions/iswprint.texi: Likewise.
87966         * doc/posix-functions/iswpunct.texi: Likewise.
87967         * doc/posix-functions/iswspace.texi: Likewise.
87968         * doc/posix-functions/iswupper.texi: Likewise.
87969         * doc/posix-functions/iswxdigit.texi: Likewise.
87970         * doc/posix-functions/mbrtowc.texi: Likewise.
87971         * doc/posix-functions/mbsrtowcs.texi: Likewise.
87972         * doc/posix-functions/mbstowcs.texi: Likewise.
87973         * doc/posix-functions/mbtowc.texi: Likewise.
87974         * doc/posix-functions/putwchar.texi: Likewise.
87975         * doc/posix-functions/putwc.texi: Likewise.
87976         * doc/posix-functions/swprintf.texi: Likewise.
87977         * doc/posix-functions/tolower.texi: Likewise.
87978         * doc/posix-functions/toupper.texi: Likewise.
87979         * doc/posix-functions/towctrans.texi: Likewise.
87980         * doc/posix-functions/ungetwc.texi: Likewise.
87981         * doc/posix-functions/vswprintf.texi: Likewise.
87982         * doc/posix-functions/wcrtomb.texi: Likewise.
87983         * doc/posix-functions/wcscat.texi: Likewise.
87984         * doc/posix-functions/wcschr.texi: Likewise.
87985         * doc/posix-functions/wcscmp.texi: Likewise.
87986         * doc/posix-functions/wcscoll.texi: Likewise.
87987         * doc/posix-functions/wcscpy.texi: Likewise.
87988         * doc/posix-functions/wcscspn.texi: Likewise.
87989         * doc/posix-functions/wcsftime.texi: Likewise.
87990         * doc/posix-functions/wcslen.texi: Likewise.
87991         * doc/posix-functions/wcsncat.texi: Likewise.
87992         * doc/posix-functions/wcsncmp.texi: Likewise.
87993         * doc/posix-functions/wcsncpy.texi: Likewise.
87994         * doc/posix-functions/wcspbrk.texi: Likewise.
87995         * doc/posix-functions/wcsrchr.texi: Likewise.
87996         * doc/posix-functions/wcsrtombs.texi: Likewise.
87997         * doc/posix-functions/wcsspn.texi: Likewise.
87998         * doc/posix-functions/wcsstr.texi: Likewise.
87999         * doc/posix-functions/wcstod.texi: Likewise.
88000         * doc/posix-functions/wcstof.texi: Likewise.
88001         * doc/posix-functions/wcstoimax.texi: Likewise.
88002         * doc/posix-functions/wcstok.texi: Likewise.
88003         * doc/posix-functions/wcstold.texi: Likewise.
88004         * doc/posix-functions/wcstoll.texi: Likewise.
88005         * doc/posix-functions/wcstol.texi: Likewise.
88006         * doc/posix-functions/wcstombs.texi: Likewise.
88007         * doc/posix-functions/wcstoull.texi: Likewise.
88008         * doc/posix-functions/wcstoul.texi: Likewise.
88009         * doc/posix-functions/wcstoumax.texi: Likewise.
88010         * doc/posix-functions/wcswidth.texi: Likewise.
88011         * doc/posix-functions/wcsxfrm.texi: Likewise.
88012         * doc/posix-functions/wctob.texi: Likewise.
88013         * doc/posix-functions/wctomb.texi: Likewise.
88014         * doc/posix-functions/wctrans.texi: Likewise.
88015         * doc/posix-functions/wctype.texi: Likewise.
88016         * doc/posix-functions/wcwidth.texi: Likewise.
88017         * doc/posix-functions/wmemchr.texi: Likewise.
88018         * doc/posix-functions/wmemcmp.texi: Likewise.
88019         * doc/posix-functions/wmemcpy.texi: Likewise.
88020         * doc/posix-functions/wmemmove.texi: Likewise.
88021         * doc/posix-functions/wmemset.texi: Likewise.
88022         * doc/posix-functions/wprintf.texi: Likewise.
88023         * doc/posix-functions/wscanf.texi: Likewise.
88025 2008-12-21  Bruno Haible  <bruno@clisp.org>
88027         Update doc for HP-UX 11.11.
88028         * doc/posix-functions/btowc.texi: Clarify that the function is missing
88029         in HP-UX version 11.00, not in all versions of HP-UX 11.
88030         * doc/posix-functions/fwide.texi: Likewise.
88031         * doc/posix-functions/fwprintf.texi: Likewise.
88032         * doc/posix-functions/fwscanf.texi: Likewise.
88033         * doc/posix-functions/inet_ntop.texi: Likewise.
88034         * doc/posix-functions/inet_pton.texi: Likewise.
88035         * doc/posix-functions/mbrlen.texi: Likewise.
88036         * doc/posix-functions/mbrtowc.texi: Likewise.
88037         * doc/posix-functions/mbsinit.texi: Likewise.
88038         * doc/posix-functions/mbsrtowcs.texi: Likewise.
88039         * doc/posix-functions/swprintf.texi: Likewise.
88040         * doc/posix-functions/swscanf.texi: Likewise.
88041         * doc/posix-functions/towctrans.texi: Likewise.
88042         * doc/posix-functions/vfwprintf.texi: Likewise.
88043         * doc/posix-functions/vswprintf.texi: Likewise.
88044         * doc/posix-functions/vwprintf.texi: Likewise.
88045         * doc/posix-functions/wcrtomb.texi: Likewise.
88046         * doc/posix-functions/wcsrtombs.texi: Likewise.
88047         * doc/posix-functions/wcsstr.texi: Likewise.
88048         * doc/posix-functions/wctob.texi: Likewise.
88049         * doc/posix-functions/wctrans.texi: Likewise.
88050         * doc/posix-functions/wmemchr.texi: Likewise.
88051         * doc/posix-functions/wmemcmp.texi: Likewise.
88052         * doc/posix-functions/wmemcpy.texi: Likewise.
88053         * doc/posix-functions/wmemmove.texi: Likewise.
88054         * doc/posix-functions/wmemset.texi: Likewise.
88055         * doc/posix-functions/wprintf.texi: Likewise.
88056         * doc/posix-functions/wscanf.texi: Likewise.
88058 2008-12-21  Bruno Haible  <bruno@clisp.org>
88060         Work around a portability problem.
88061         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
88062         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
88064 2008-12-20  Bruno Haible  <bruno@clisp.org>
88066         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
88067         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
88068         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
88069         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
88070         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
88072         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
88073         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
88074         set.
88075         (GNULIB_defined_mbstate_t): New macro.
88076         (mbsinit): Redefine if REPLACE_MBSINIT is set.
88077         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
88078         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
88079         reuses the system's mbrtowc function but works around the bugs.
88080         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
88081         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
88082         macros.
88083         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
88084         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
88085         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
88086         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
88087         REPLACE_MBSINIT if mbsinit needs to be overridden.
88088         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
88089         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88090         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
88091         REPLACE_MBSINIT, REPLACE_MBRTOWC.
88092         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
88093         m4/locale-zh.m4.
88094         (Depends): Add mbsinit.
88095         * modules/mbsinit (Depends): Add mbrtowc.
88096         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
88098 2008-12-20  Bruno Haible  <bruno@clisp.org>
88100         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
88101         so that there are no conversion errors on AIX.
88102         * tests/test-mbsrtowcs.c (main): LIkewise.
88104 2008-12-20  Bruno Haible  <bruno@clisp.org>
88106         Work around wctob bug on Solaris <= 9.
88107         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
88108         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
88109         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
88110         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
88111         * modules/wctob (Files): Add m4/locale-fr.m4.
88112         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
88114 2008-12-20  Bruno Haible  <bruno@clisp.org>
88116         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
88117         /dev/null.
88118         * tests/test-select-in.sh: Likewise.
88119         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
88121 2008-12-20  Bruno Haible  <bruno@clisp.org>
88123         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
88124         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
88125         Cygwin 1.5.x.
88127 2008-12-20  Bruno Haible  <bruno@clisp.org>
88129         Ensure mbstate_t is defined on HP-UX 11.11.
88130         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
88131         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
88132         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
88133         AC_USE_SYSTEM_EXTENSIONS.
88134         * modules/fnmatch (Depends-on): Add extensions.
88135         * modules/mbrlen (Depends-on): Likewise.
88136         * modules/mbrtowc (Depends-on): Likewise.
88137         * modules/mbsinit (Depends-on): Likewise.
88138         * modules/mbsrtowcs (Depends-on): Likewise.
88139         * modules/mbswidth (Depends-on): Likewise.
88140         * modules/quotearg (Depends-on): Likewise.
88141         * modules/strftime (Depends-on): Likewise.
88143 2008-12-20  Bruno Haible  <bruno@clisp.org>
88145         Ensure wctob is declared on IRIX 6.5.
88146         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
88147         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
88148         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
88149         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
88150         of HAVE_WCTOB.
88151         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
88152         HAVE_WCTOB.
88153         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
88155 2008-12-19  Bruno Haible  <bruno@clisp.org>
88157         * modules/mbsrtowcs-tests: New file.
88158         * tests/test-mbsrtowcs1.sh: New file.
88159         * tests/test-mbsrtowcs2.sh: New file.
88160         * tests/test-mbsrtowcs3.sh: New file.
88161         * tests/test-mbsrtowcs4.sh: New file.
88162         * tests/test-mbsrtowcs.c: New file.
88164         New module 'mbsrtowcs'.
88165         * lib/wchar.in.h (mbsrtowcs): New declaration.
88166         * lib/mbsrtowcs.c: New file.
88167         * m4/mbsrtowcs.m4: New file.
88168         * modules/mbsrtowcs: New file.
88169         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
88170         HAVE_MBSRTOWCS.
88171         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
88172         HAVE_MBSRTOWCS.
88173         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
88175 2008-12-19  Bruno Haible  <bruno@clisp.org>
88177         New module 'mbrlen'.
88178         * lib/wchar.in.h (mbrlen): New declaration.
88179         * lib/mbrlen.c: New file.
88180         * m4/mbrlen.m4: New file.
88181         * modules/mbrlen: New file.
88182         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
88183         HAVE_MBRLEN.
88184         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
88185         HAVE_MBRLEN.
88186         * doc/posix-functions/mbrlen.texi: Document the new module.
88188 2008-12-19  Bruno Haible  <bruno@clisp.org>
88190         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
88191         * modules/mbrtowc (Depends-on): Add verify.
88192         Suggested by Paul Eggert.
88194 2008-12-18  Bruno Haible  <bruno@clisp.org>
88196         * modules/mbsinit-tests: New file.
88197         * tests/test-mbsinit.sh: New file.
88198         * tests/test-mbsinit.c: New file.
88200 2008-12-18  Bruno Haible  <bruno@clisp.org>
88202         * modules/mbrtowc-tests: New file.
88203         * tests/test-mbrtowc1.sh: New file.
88204         * tests/test-mbrtowc2.sh: New file.
88205         * tests/test-mbrtowc3.sh: New file.
88206         * tests/test-mbrtowc4.sh: New file.
88207         * tests/test-mbrtowc.c: New file.
88209         New module 'mbrtowc'.
88210         * lib/wchar.in.h (mbstate_t): Override when the system does not have
88211         mbsinit and mbrtowc.
88212         (mbrtowc): New declaration.
88213         * lib/mbrtowc.c: New file.
88214         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
88215         * modules/mbrtowc: New file.
88216         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
88217         HAVE_MBRTOWC.
88218         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
88219         HAVE_MBRTOWC.
88220         * doc/posix-functions/mbrtowc.texi: Document the new module.
88222 2008-12-18  Bruno Haible  <bruno@clisp.org>
88224         New module 'wctob'.
88225         * lib/wchar.in.h (wctob): New declaration.
88226         * lib/wctob.c: New file.
88227         * m4/wctob.m4: New file.
88228         * modules/wctob: New file.
88229         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
88230         HAVE_WCTOB.
88231         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
88232         * doc/posix-functions/wctob.texi: Document the new module.
88234 2008-12-18  Bruno Haible  <bruno@clisp.org>
88236         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
88237         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
88239 2008-12-18  Simon Josefsson  <simon@josefsson.org>
88241         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
88242         G. Christensen" <tgc@jupiterrise.com>.
88244         * lib/flock.c: Need to include errno.h.  Reported by "Tom
88245         G. Christensen" <tgc@jupiterrise.com>.
88247         * lib/flock.c: Need to include string.h.  Reported by "Tom
88248         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
88249         <ebb9@byu.net>.
88251 2008-12-18  Bruno Haible  <bruno@clisp.org>
88253         * m4/locale-ja.m4: New file, from GNU gettext.
88255 2008-12-17  Bruno Haible  <bruno@clisp.org>
88257         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
88258         Suggested by Eric Blake.
88260 2008-12-17  Bruno Haible  <bruno@clisp.org>
88262         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
88264 2008-12-17  Bruno Haible  <bruno@clisp.org>
88266         * lib/mbsinit.c: Include verify.h. Verify an assumption.
88267         * modules/mbsinit (Depends-on): Add verify.
88268         Suggested by Paul Eggert.
88270 2008-12-17  Bruno Haible  <bruno@clisp.org>
88272         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
88273         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
88274         gl_FUNC_MBRTOWC.
88275         * m4/mbiter.m4 (gl_MBITER): LIkewise.
88276         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
88277         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
88278         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
88279         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
88280         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
88281         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
88282         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
88283         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
88284         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
88285         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
88286         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
88287         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
88288         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
88289         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
88290         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
88291         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
88292         * modules/trim (configure.ac): Likewise.
88294 2008-12-17  Bruno Haible  <bruno@clisp.org>
88296         * modules/btowc-tests: New file.
88297         * tests/test-btowc1.sh: New file.
88298         * tests/test-btowc2.sh: New file.
88299         * tests/test-btowc.c: New file.
88301         New module 'btowc'.
88302         * lib/wchar.in.h (btowc): New declaration.
88303         * lib/btowc.c: New file.
88304         * m4/btowc.m4: New file.
88305         * modules/btowc: New file.
88306         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
88307         HAVE_BTOWC.
88308         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
88309         * doc/posix-functions/btowc.texi: Document the new module.
88311 2008-12-17  Bruno Haible  <bruno@clisp.org>
88313         New module 'mbsinit'.
88314         * lib/wchar.in.h (mbsinit): New declaration.
88315         * lib/mbsinit.c: New file.
88316         * m4/mbsinit.m4: New file.
88317         * modules/mbsinit: New file.
88318         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
88319         HAVE_MBSINIT.
88320         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
88321         HAVE_MBSINIT.
88322         * doc/posix-functions/mbsinit.texi: Document the new module.
88324 2008-12-16  Bruno Haible  <bruno@clisp.org>
88326         * lib/unistd.in.h: Add comment.
88327         * tests/test-environ.c: Don't include <stdlib.h>.
88329 2008-12-16  Bruno Haible  <bruno@clisp.org>
88331         * lib/parse-duration.h (parse_duration): Document return value
88332         convention.
88333         * lib/parse-duration.c: Include specification header first. Add
88334         comments.
88335         (_): Remove macro.
88336         (parse_year_month_day, parse_hour_minute_second): Move side effects
88337         outside of strchr call.
88338         (parse_non_iso8601): Move side effects outside of isspace call.
88339         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
88340         call.
88342 2008-12-16  Bruno Haible  <bruno@clisp.org>
88344         * tests/test-parse-duration.sh: Produce no output when the test
88345         succeeds.
88347 2008-12-16  Bruno Haible  <bruno@clisp.org>
88349         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
88350         expressions.
88352 2008-12-15  Bruno Haible  <bruno@clisp.org>
88354         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
88355         * doc/glibc-functions/flistxattr.texi: Likewise.
88356         * doc/glibc-functions/fopencookie.texi: Likewise.
88357         * doc/glibc-functions/fremovexattr.texi: Likewise.
88358         * doc/glibc-functions/fsetxattr.texi: Likewise.
88359         * doc/glibc-functions/getxattr.texi: Likewise.
88360         * doc/glibc-functions/lgetxattr.texi: Likewise.
88361         * doc/glibc-functions/listxattr.texi: Likewise.
88362         * doc/glibc-functions/llistxattr.texi: Likewise.
88363         * doc/glibc-functions/lremovexattr.texi: Likewise.
88364         * doc/glibc-functions/lsetxattr.texi: Likewise.
88365         * doc/glibc-functions/removexattr.texi: Likewise.
88366         * doc/glibc-functions/setxattr.texi: Likewise.
88367         * doc/posix-functions/open_memstream.texi: Likewise.
88369 2008-12-15  Eric Blake  <ebb9@byu.net>
88371         Update doc for cygwin 1.7.
88372         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
88373         functions.
88374         * doc/posix-functions/fchmodat.texi: Likewise.
88375         * doc/posix-functions/fchownat.texi: Likewise.
88376         * doc/posix-functions/fdopendir.texi: Likewise.
88377         * doc/posix-functions/fmemopen.texi: Likewise.
88378         * doc/posix-functions/freeaddrinfo.texi: Likewise.
88379         * doc/posix-functions/fstatat.texi: Likewise.
88380         * doc/posix-functions/futimens.texi: Likewise.
88381         * doc/posix-functions/gai_strerror.texi: Likewise.
88382         * doc/posix-functions/getaddrinfo.texi: Likewise.
88383         * doc/posix-functions/getnameinfo.texi: Likewise.
88384         * doc/posix-functions/if_freenameindex.texi: Likewise.
88385         * doc/posix-functions/if_indextoname.texi: Likewise.
88386         * doc/posix-functions/if_nameindex.texi: Likewise.
88387         * doc/posix-functions/if_nametoindex.texi: Likewise.
88388         * doc/posix-functions/insque.texi: Likewise.
88389         * doc/posix-functions/linkat.texi: Likewise.
88390         * doc/posix-functions/llrint.texi: Likewise.
88391         * doc/posix-functions/llrintf.texi: Likewise.
88392         * doc/posix-functions/llrintl.texi: Likewise.
88393         * doc/posix-functions/lockf.texi: Likewise.
88394         * doc/posix-functions/lrintl.texi: Likewise.
88395         * doc/posix-functions/mkdirat.texi: Likewise.
88396         * doc/posix-functions/mkfifoat.texi: Likewise.
88397         * doc/posix-functions/mknodat.texi: Likewise.
88398         * doc/posix-functions/mq_close.texi: Likewise.
88399         * doc/posix-functions/mq_getattr.texi: Likewise.
88400         * doc/posix-functions/mq_notify.texi: Likewise.
88401         * doc/posix-functions/mq_open.texi: Likewise.
88402         * doc/posix-functions/mq_receive.texi: Likewise.
88403         * doc/posix-functions/mq_send.texi: Likewise.
88404         * doc/posix-functions/mq_setattr.texi: Likewise.
88405         * doc/posix-functions/mq_timedreceive.texi: Likewise.
88406         * doc/posix-functions/mq_timedsend.texi: Likewise.
88407         * doc/posix-functions/mq_unlink.texi: Likewise.
88408         * doc/posix-functions/open_memstream.texi: Likewise.
88409         * doc/posix-functions/openat.texi: Likewise.
88410         * doc/posix-functions/posix_fadvise.texi: Likewise.
88411         * doc/posix-functions/posix_fallocate.texi: Likewise.
88412         * doc/posix-functions/posix_madvise.texi: Likewise.
88413         * doc/posix-functions/posix_memalign.texi: Likewise.
88414         * doc/posix-functions/posix_openpt.texi: Likewise.
88415         * doc/posix-functions/readlinkat.texi: Likewise.
88416         * doc/posix-functions/remque.texi: Likewise.
88417         * doc/posix-functions/renameat.texi: Likewise.
88418         * doc/posix-functions/rintl.texi: Likewise.
88419         * doc/posix-functions/sem_unlink.texi: Likewise.
88420         * doc/posix-functions/shm_open.texi: Likewise.
88421         * doc/posix-functions/shm_unlink.texi: Likewise.
88422         * doc/posix-functions/signgam.texi: Likewise.
88423         * doc/posix-functions/sigset.texi: Likewise.
88424         * doc/posix-functions/stpcpy.texi: Likewise.
88425         * doc/posix-functions/stpncpy.texi: Likewise.
88426         * doc/posix-functions/strerror.texi: Likewise.
88427         * doc/posix-functions/strtod.texi: Likewise.
88428         * doc/posix-functions/symlinkat.texi: Likewise.
88429         * doc/posix-functions/unlinkat.texi: Likewise.
88430         * doc/posix-functions/utimensat.texi: Likewise.
88431         * doc/glibc-functions/bindresvport.texi: Likewise.
88432         * doc/glibc-functions/dn_expand.texi: Likewise.
88433         * doc/glibc-functions/exp10.texi: Likewise.
88434         * doc/glibc-functions/exp10f.texi: Likewise.
88435         * doc/glibc-functions/fgetxattr.texi: Likewise.
88436         * doc/glibc-functions/flistxattr.texi: Likewise.
88437         * doc/glibc-functions/fopencookie.texi: Likewise.
88438         * doc/glibc-functions/freeifaddrs.texi: Likewise.
88439         * doc/glibc-functions/fremovexattr.texi: Likewise.
88440         * doc/glibc-functions/fsetxattr.texi: Likewise.
88441         * doc/glibc-functions/getifaddrs.texi: Likewise.
88442         * doc/glibc-functions/getxattr.texi: Likewise.
88443         * doc/glibc-functions/lgetxattr.texi: Likewise.
88444         * doc/glibc-functions/listxattr.texi: Likewise.
88445         * doc/glibc-functions/llistxattr.texi: Likewise.
88446         * doc/glibc-functions/lremovexattr.texi: Likewise.
88447         * doc/glibc-functions/lsetxattr.texi: Likewise.
88448         * doc/glibc-functions/pow10.texi: Likewise.
88449         * doc/glibc-functions/pow10f.texi: Likewise.
88450         * doc/glibc-functions/rcmd_af.texi: Likewise.
88451         * doc/glibc-functions/removexattr.texi: Likewise.
88452         * doc/glibc-functions/res_init.texi: Likewise.
88453         * doc/glibc-functions/res_mkquery.texi: Likewise.
88454         * doc/glibc-functions/res_query.texi: Likewise.
88455         * doc/glibc-functions/res_querydomain.texi: Likewise.
88456         * doc/glibc-functions/res_send.texi: Likewise.
88457         * doc/glibc-functions/rresvport_af.texi: Likewise.
88458         * doc/glibc-functions/setxattr.texi: Likewise.
88459         * doc/glibc-functions/strcasestr.texi: Likewise.
88461 2008-12-15  Bruno Haible  <bruno@clisp.org>
88463         Fix compilation error on OSF/1 4.0.
88464         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
88465         <sys/time.h>, simply delegate to the system header.
88466         Reported by Daniel Richard G. <oss@teragram.com>.
88468 2008-12-15  Bruno Haible  <bruno@clisp.org>
88470         * doc/posix-functions/openat.texi: Mention the 'openat' module.
88471         * doc/posix-functions/fchmodat.texi: Likewise.
88472         * doc/posix-functions/fchownat.texi: Likewise.
88473         * doc/posix-functions/fdopendir.texi: Likewise.
88474         * doc/posix-functions/fstatat.texi: Likewise.
88475         * doc/posix-functions/mkdirat.texi: Likewise.
88476         * doc/posix-functions/unlinkat.texi: Likewise.
88478 2008-12-14  Bruno Haible  <bruno@clisp.org>
88480         Update doc for POSIX:2008.
88481         * doc/posix-functions/faccessat.texi: New file.
88482         * doc/posix-functions/fchmodat.texi: New file.
88483         * doc/posix-functions/fchownat.texi: New file.
88484         * doc/posix-functions/fdopendir.texi: New file.
88485         * doc/posix-functions/fstatat.texi: New file.
88486         * doc/posix-functions/futimens.texi: New file.
88487         * doc/posix-functions/linkat.texi: New file.
88488         * doc/posix-functions/mkdirat.texi: New file.
88489         * doc/posix-functions/mkfifoat.texi: New file.
88490         * doc/posix-functions/mknodat.texi: New file.
88491         * doc/posix-functions/open_wmemstream.texi: New file.
88492         * doc/posix-functions/openat.texi: New file.
88493         * doc/posix-functions/psiginfo.texi: New file.
88494         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
88495         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
88496         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
88497         * doc/posix-functions/readlinkat.texi: New file.
88498         * doc/posix-functions/renameat.texi: New file.
88499         * doc/posix-functions/strerror_l.texi: New file.
88500         * doc/posix-functions/symlinkat.texi: New file.
88501         * doc/posix-functions/unlinkat.texi: New file.
88502         * doc/posix-functions/utimensat.texi: New file.
88503         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88505 2008-12-14  Bruno Haible  <bruno@clisp.org>
88507         Update doc for POSIX:2008.
88508         * doc/posix-functions/alphasort.texi: Renamed from
88509         doc/glibc-functions/alphasort.texi.
88510         * doc/posix-functions/dirfd.texi: Renamed from
88511         doc/glibc-functions/dirfd.texi.
88512         * doc/posix-functions/dprintf.texi: Renamed from
88513         doc/glibc-functions/dprintf.texi.
88514         * doc/posix-functions/duplocale.texi: Renamed from
88515         doc/glibc-functions/duplocale.texi.
88516         * doc/posix-functions/fexecve.texi: Renamed from
88517         doc/glibc-functions/fexecve.texi.
88518         * doc/posix-functions/fmemopen.texi: Renamed from
88519         doc/glibc-functions/fmemopen.texi.
88520         * doc/posix-functions/freelocale.texi: Renamed from
88521         doc/glibc-functions/freelocale.texi.
88522         * doc/posix-functions/getdate_err.texi: Renamed from
88523         doc/glibc-functions/getdate_err.texi.
88524         * doc/posix-functions/isalnum_l.texi: Renamed from
88525         doc/glibc-functions/isalnum_l.texi.
88526         * doc/posix-functions/isalpha_l.texi: Renamed from
88527         doc/glibc-functions/isalpha_l.texi.
88528         * doc/posix-functions/isblank_l.texi: Renamed from
88529         doc/glibc-functions/isblank_l.texi.
88530         * doc/posix-functions/iscntrl_l.texi: Renamed from
88531         doc/glibc-functions/iscntrl_l.texi.
88532         * doc/posix-functions/isdigit_l.texi: Renamed from
88533         doc/glibc-functions/isdigit_l.texi.
88534         * doc/posix-functions/isgraph_l.texi: Renamed from
88535         doc/glibc-functions/isgraph_l.texi.
88536         * doc/posix-functions/islower_l.texi: Renamed from
88537         doc/glibc-functions/islower_l.texi.
88538         * doc/posix-functions/isprint_l.texi: Renamed from
88539         doc/glibc-functions/isprint_l.texi.
88540         * doc/posix-functions/ispunct_l.texi: Renamed from
88541         doc/glibc-functions/ispunct_l.texi.
88542         * doc/posix-functions/isspace_l.texi: Renamed from
88543         doc/glibc-functions/isspace_l.texi.
88544         * doc/posix-functions/isupper_l.texi: Renamed from
88545         doc/glibc-functions/isupper_l.texi.
88546         * doc/posix-functions/iswalnum_l.texi: Renamed from
88547         doc/glibc-functions/iswalnum_l.texi.
88548         * doc/posix-functions/iswalpha_l.texi: Renamed from
88549         doc/glibc-functions/iswalpha_l.texi.
88550         * doc/posix-functions/iswblank_l.texi: Renamed from
88551         doc/glibc-functions/iswblank_l.texi.
88552         * doc/posix-functions/iswcntrl_l.texi: Renamed from
88553         doc/glibc-functions/iswcntrl_l.texi.
88554         * doc/posix-functions/iswctype_l.texi: Renamed from
88555         doc/glibc-functions/iswctype_l.texi.
88556         * doc/posix-functions/iswdigit_l.texi: Renamed from
88557         doc/glibc-functions/iswdigit_l.texi.
88558         * doc/posix-functions/iswgraph_l.texi: Renamed from
88559         doc/glibc-functions/iswgraph_l.texi.
88560         * doc/posix-functions/iswlower_l.texi: Renamed from
88561         doc/glibc-functions/iswlower_l.texi.
88562         * doc/posix-functions/iswprint_l.texi: Renamed from
88563         doc/glibc-functions/iswprint_l.texi.
88564         * doc/posix-functions/iswpunct_l.texi: Renamed from
88565         doc/glibc-functions/iswpunct_l.texi.
88566         * doc/posix-functions/iswspace_l.texi: Renamed from
88567         doc/glibc-functions/iswspace_l.texi.
88568         * doc/posix-functions/iswupper_l.texi: Renamed from
88569         doc/glibc-functions/iswupper_l.texi.
88570         * doc/posix-functions/iswxdigit_l.texi: Renamed from
88571         doc/glibc-functions/iswxdigit_l.texi.
88572         * doc/posix-functions/isxdigit_l.texi: Renamed from
88573         doc/glibc-functions/isxdigit_l.texi.
88574         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
88575         doc/glibc-functions/mbsnrtowcs.texi.
88576         * doc/posix-functions/mkdtemp.texi: Renamed from
88577         doc/glibc-functions/mkdtemp.texi.
88578         * doc/posix-functions/newlocale.texi: Renamed from
88579         doc/glibc-functions/newlocale.texi.
88580         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
88581         doc/glibc-functions/nl_langinfo_l.texi.
88582         * doc/posix-functions/open_memstream.texi: Renamed from
88583         doc/glibc-functions/open_memstream.texi.
88584         * doc/posix-functions/opterr.texi: Renamed from
88585         doc/glibc-functions/opterr.texi.
88586         * doc/posix-functions/optind.texi: Renamed from
88587         doc/glibc-functions/optind.texi.
88588         * doc/posix-functions/optopt.texi: Renamed from
88589         doc/glibc-functions/optopt.texi.
88590         * doc/posix-functions/psignal.texi: Renamed from
88591         doc/glibc-functions/psignal.texi.
88592         * doc/posix-functions/scandir.texi: Renamed from
88593         doc/glibc-functions/scandir.texi.
88594         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
88595         doc/glibc-functions/sched_get_priority_min.texi.
88596         * doc/posix-functions/signgam.texi: Renamed from
88597         doc/glibc-functions/signgam.texi.
88598         * doc/posix-functions/stpcpy.texi: Renamed from
88599         doc/glibc-functions/stpcpy.texi.
88600         * doc/posix-functions/stpncpy.texi: Renamed from
88601         doc/glibc-functions/stpncpy.texi.
88602         * doc/posix-functions/strcasecmp_l.texi: Renamed from
88603         doc/glibc-functions/strcasecmp_l.texi.
88604         * doc/posix-functions/strcoll_l.texi: Renamed from
88605         doc/glibc-functions/strcoll_l.texi.
88606         * doc/posix-functions/strfmon_l.texi: Renamed from
88607         doc/glibc-functions/strfmon_l.texi.
88608         * doc/posix-functions/strftime_l.texi: Renamed from
88609         doc/glibc-functions/strftime_l.texi.
88610         * doc/posix-functions/strncasecmp_l.texi: Renamed from
88611         doc/glibc-functions/strncasecmp_l.texi.
88612         * doc/posix-functions/strndup.texi: Renamed from
88613         doc/glibc-functions/strndup.texi.
88614         * doc/posix-functions/strnlen.texi: Renamed from
88615         doc/glibc-functions/strnlen.texi.
88616         * doc/posix-functions/strsignal.texi: Renamed from
88617         doc/glibc-functions/strsignal.texi.
88618         * doc/posix-functions/strxfrm_l.texi: Renamed from
88619         doc/glibc-functions/strxfrm_l.texi.
88620         * doc/posix-functions/timer_gettime.texi: Renamed from
88621         doc/glibc-functions/timer_gettime.texi.
88622         * doc/posix-functions/tolower_l.texi: Renamed from
88623         doc/glibc-functions/tolower_l.texi.
88624         * doc/posix-functions/toupper_l.texi: Renamed from
88625         doc/glibc-functions/toupper_l.texi.
88626         * doc/posix-functions/towctrans_l.texi: Renamed from
88627         doc/glibc-functions/towctrans_l.texi.
88628         * doc/posix-functions/towlower_l.texi: Renamed from
88629         doc/glibc-functions/towlower_l.texi.
88630         * doc/posix-functions/towupper_l.texi: Renamed from
88631         doc/glibc-functions/towupper_l.texi.
88632         * doc/posix-functions/uselocale.texi: Renamed from
88633         doc/glibc-functions/uselocale.texi.
88634         * doc/posix-functions/vdprintf.texi: Renamed from
88635         doc/glibc-functions/vdprintf.texi.
88636         * doc/posix-functions/wcpcpy.texi:
88637         Renamed from doc/glibc-functions/wcpcpy.texi.
88638         * doc/posix-functions/wcpncpy.texi: Renamed from
88639         doc/glibc-functions/wcpncpy.texi.
88640         * doc/posix-functions/wcscasecmp.texi: Renamed from
88641         doc/glibc-functions/wcscasecmp.texi.
88642         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
88643         doc/glibc-functions/wcscasecmp_l.texi.
88644         * doc/posix-functions/wcscoll_l.texi: Renamed from
88645         doc/glibc-functions/wcscoll_l.texi.
88646         * doc/posix-functions/wcsdup.texi: Renamed from
88647         doc/glibc-functions/wcsdup.texi.
88648         * doc/posix-functions/wcsncasecmp.texi: Renamed from
88649         doc/glibc-functions/wcsncasecmp.texi.
88650         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
88651         doc/glibc-functions/wcsncasecmp_l.texi.
88652         * doc/posix-functions/wcsnlen.texi: Renamed from
88653         doc/glibc-functions/wcsnlen.texi.
88654         * doc/posix-functions/wcsnrtombs.texi: Renamed from
88655         doc/glibc-functions/wcsnrtombs.texi.
88656         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
88657         doc/glibc-functions/wcsxfrm_l.texi.
88658         * doc/posix-functions/wctrans_l.texi: Renamed from
88659         doc/glibc-functions/wctrans_l.texi.
88660         * doc/posix-functions/wctype_l.texi: Renamed from
88661         doc/glibc-functions/wctype_l.texi.
88662         * doc/gnulib.texi (Function Substitutes): Add these subsections.
88663         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
88664         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
88665         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
88666         these subsections.
88667         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
88668         Remove sections.
88670 2008-12-14  Bruno Haible  <bruno@clisp.org>
88672         Update doc for POSIX:2008.
88673         * doc/posix-functions/*.texi: Update URL of POSIX specification.
88675 2008-12-14  Bruno Haible  <bruno@clisp.org>
88677         Update doc for POSIX:2008.
88678         * doc/pastposix-functions/bcmp.texi: Renamed from
88679         doc/posix-functions/bcmp.texi.
88680         * doc/pastposix-functions/bcopy.texi: Renamed from
88681         doc/posix-functions/bcopy.texi.
88682         * doc/pastposix-functions/bsd_signal.texi: Renamed from
88683         doc/posix-functions/bsd_signal.texi.
88684         * doc/pastposix-functions/bzero.texi: Renamed from
88685         doc/posix-functions/bzero.texi.
88686         * doc/pastposix-functions/ecvt.texi: Renamed from
88687         doc/posix-functions/ecvt.texi.
88688         * doc/pastposix-functions/fcvt.texi: Renamed from
88689         doc/posix-functions/fcvt.texi.
88690         * doc/pastposix-functions/ftime.texi: Renamed from
88691         doc/posix-functions/ftime.texi.
88692         * doc/pastposix-functions/gcvt.texi: Renamed from
88693         doc/posix-functions/gcvt.texi.
88694         * doc/pastposix-functions/getcontext.texi: Renamed from
88695         doc/posix-functions/getcontext.texi.
88696         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
88697         doc/posix-functions/gethostbyaddr.texi.
88698         * doc/pastposix-functions/gethostbyname.texi: Renamed from
88699         doc/posix-functions/gethostbyname.texi.
88700         * doc/pastposix-functions/getwd.texi: Renamed from
88701         doc/posix-functions/getwd.texi.
88702         * doc/pastposix-functions/h_errno.texi: Renamed from
88703         doc/posix-functions/h_errno.texi.
88704         * doc/pastposix-functions/index.texi: Renamed from
88705         doc/posix-functions/index.texi.
88706         * doc/pastposix-functions/makecontext.texi: Renamed from
88707         doc/posix-functions/makecontext.texi.
88708         * doc/pastposix-functions/mktemp.texi: Renamed from
88709         doc/posix-functions/mktemp.texi.
88710         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
88711         doc/posix-functions/pthread_attr_getstackaddr.texi.
88712         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
88713         doc/posix-functions/pthread_attr_setstackaddr.texi.
88714         * doc/pastposix-functions/rindex.texi: Renamed from
88715         doc/posix-functions/rindex.texi.
88716         * doc/pastposix-functions/scalb.texi: Renamed from
88717         doc/posix-functions/scalb.texi.
88718         * doc/pastposix-functions/setcontext.texi: Renamed from
88719         doc/posix-functions/setcontext.texi.
88720         * doc/pastposix-functions/swapcontext.texi: Renamed from
88721         doc/posix-functions/swapcontext.texi.
88722         * doc/pastposix-functions/ualarm.texi: Renamed from
88723         doc/posix-functions/ualarm.texi.
88724         * doc/pastposix-functions/usleep.texi: Renamed from
88725         doc/posix-functions/usleep.texi.
88726         * doc/pastposix-functions/vfork.texi: Renamed from
88727         doc/posix-functions/vfork.texi.
88728         * doc/pastposix-functions/wcswcs.texi: Renamed from
88729         doc/posix-functions/wcswcs.texi.
88730         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
88731         (Function Substitutes): Update.
88733 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88735         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
88736         m4/strerror.m4.
88738 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88739             Bruno Haible  <bruno@clisp.org>
88741         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
88743 2008-12-13  Bruno Haible  <bruno@clisp.org>
88745         * modules/strtoull (Depends-on): Remove unistd.
88747 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88749         * modules/strtoull (Depends-on): Add stdlib.
88751 2008-12-11  Simon Josefsson  <simon@josefsson.org>
88753         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
88755 2008-12-10  Jim Meyering  <meyering@redhat.com>
88757         gl_ASSERT: don't say assertions are disabled when they're not
88758         * m4/assert.m4 (gl_ASSERT): Do not make configure report
88759         "checking whether to enable assertions... no", when they are in
88760         fact enabled.  This is solely a bug in the output of configure.
88761         In spite of saying "no", NDEBUG was not defined in that case.
88762         Also, as noted by Eric Blake, leave assertions enabled upon
88763         --enable-assert=INVALID.
88765 2008-12-10  Bruno Haible  <bruno@clisp.org>
88767         Change MODULES.html to refer to POSIX:2008 where possible.
88768         * MODULES.html.sh (POSIX2008_URL): New variable.
88769         (posix_headers): Remove sys/timeb, ucontext.
88770         (posix2001_headers): New variable.
88771         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
88772         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
88773         index, makecontext, mktemp, pthread_attr_getstackaddr,
88774         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
88775         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
88776         (posix2001_functions): New variable.
88777         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
88778         otherwise.
88780 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88782         add missing include to parse-duration.c
88783         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
88784         * modules/parse-duration (Depends-on): Add xalloc.
88786         fix sed script reading maint.mk
88787         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
88788         (syntax-check-rules): Use it.
88790 2008-12-09  Bruno Haible  <bruno@clisp.org>
88792         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
88793         MacOS X 10.4/PowerPC.
88794         Reported by Simon Josefsson.
88796 2008-12-08  Jim Meyering  <meyering@redhat.com>
88798         work around mingw's lack of some S_IF definitions
88799         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
88800         Reported by Simon Josefsson.
88802 2008-12-08  Bruno Haible  <bruno@clisp.org>
88804         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
88805         applied to variables. Needed on MacOS X 10.4/PowerPC.
88806         Reported by Simon Josefsson.
88808 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
88809         and Eric Blake  <ebb9@byu.net>
88811         assert: honor --enable-assert
88812         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
88813         order to honor --enable-assert, rather than treating it as a
88814         synonym for --disable-assert.
88816 2008-12-08  Jim Meyering  <meyering@redhat.com>
88818         * lib/posixtm.c: Remove now-useless declaration of mktime.
88820         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
88822 2008-12-07  Bruno Haible  <bruno@clisp.org>
88824         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
88825         test_once): Mark functions as static.
88826         * tests/test-tls.c (test_tls): Likewise.
88828 2008-12-07  Bruno Haible  <bruno@clisp.org>
88830         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
88831         iconv_register_autodetect.
88833 2008-12-07  Jim Meyering  <meyering@redhat.com>
88835         posixtm.c: avoid a warning
88836         * lib/posixtm.c (posixtime): Don't initialize tm0.
88837         It's no longer needed to placate gcc4's -Wuninitialized,
88838         and the attempt to placate would elicit a new warning.
88840         unicodeio.c: mark unused parameters
88841         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88842         (fallback_failure_callback): Likewise.
88844 2008-12-07  Bruno Haible  <bruno@clisp.org>
88846         * gnulib-tool (func_create_testdir): When building the tests
88847         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
88848         Reported by Simon Josefsson.
88850 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88852         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
88854 2008-12-06  Bruno Haible  <bruno@clisp.org>
88856         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
88857         Suggested by Eric Blake.
88859 2008-12-06  Bruno Haible  <bruno@clisp.org>
88861         Fix a c-stack test failure on MacOS X.
88862         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
88863         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
88864         handler for SIGBUS as well.
88865         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
88866         install a signal handler for SIGBUS as well.
88867         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
88869 2008-12-06  Bruno Haible  <bruno@clisp.org>
88871         Advocacy documentation.
88872         * doc/gnulib-intro.texi (Benefits): New section.
88873         * doc/gnulib.texi: Update.
88875 2008-12-06  Bruno Haible  <bruno@clisp.org>
88877         Document the 'manywarnings' module.
88878         * doc/manywarnings.texi: New file.
88879         * doc/gnulib.texi: Include it.
88881 2008-12-05  Eric Blake  <ebb9@byu.net>
88883         tests: silence some gcc warnings
88884         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
88885         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
88886         type mismatches.
88888 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
88889             Bruno Haible  <bruno@clisp.org>
88891         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
88893 2008-11-29  Jim Meyering  <meyering@redhat.com>
88895         unicodeio.c: mark unused parameters
88896         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
88897         (fallback_failure_callback): Likewise.
88899         fts: fix a thinko
88900         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
88901         (set_stat_type): Return S_IF*-valued "type" directly.
88902         Prompted by James Youngman's spotting a related bug.
88903         Confirmed by further testing through find.
88905         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
88906         * lib/fts.c (D_TYPE): Define.
88907         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
88908         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
88909         (s_ifmt_shift_bits): New function.
88910         (set_stat_type): New function.
88911         (fts_build): When not calling fts_stat, call set_stat_type
88912         to propagate dirent.d_type info to fts_read caller.
88913         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
88914         fts_statp->st_mode type information may be valid.
88916 2008-11-28  Simon Josefsson  <simon@josefsson.org>
88918         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
88919         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
88920         <sds@gnu.org>.
88922 2008-11-20  Bruno Haible  <bruno@clisp.org>
88924         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
88925         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
88926         INCLUDE_NEXT.
88927         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
88928         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
88929         * modules/math (Makefile.am): Substitute
88930         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
88931         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
88933 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
88934             Bruno Haible  <bruno@clisp.org>
88936         * lib/stdint.in.h: Define all type macros so that their expansion is
88937         a single typedef'ed token. Fixes a compilation failure in Boost which
88938         does "using ::int8_t;".
88940 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88942         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
88943         gl_MANYWARN_ALL_GCC.
88944         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
88945         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
88946         * modules/manywarnings: New file.
88947         * MODULES.html.sh: Mention manywarnings module.
88949 2008-11-18  Bruno Haible  <bruno@clisp.org>
88951         * doc/gnulib-tool.texi (Unit tests): New section.
88953 2008-11-18  Simon Josefsson  <simon@josefsson.org>
88955         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
88956         paths like 'lib/po/foo.po'.
88958 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88960         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
88961         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
88963 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88965         * m4/warnings.m4: Use CPPFLAGS to really check whether the
88966         parameter works.
88968 2008-11-17  Simon Josefsson  <simon@josefsson.org>
88970         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
88972 2008-11-17  Bruce Korb  <bkorb@gnu.org>
88974         * modules/parse-duration-tests: New file.
88975         * tests/test-parse-duration.sh: New file.
88976         * tests/test-parse-duration.c: New file.
88978         New module 'parse-duration'.
88979         * lib/parse-duration.h: New file.
88980         * lib/parse-duration.c: New file.
88981         * modules/parse-duration: New file.
88983 2008-11-17  Bruno Haible  <bruno@clisp.org>
88985         * tests/test-select-out.sh: Comment out the first pipe test.
88986         Reported by Simon Josefsson.
88988 2008-11-17  Bruno Haible  <bruno@clisp.org>
88990         * modules/getaddrinfo (Depends-on): Add servent, hostent.
88991         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
88992         gl_HOSTENT.
88994 2008-11-17  Bruno Haible  <bruno@clisp.org>
88996         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
88997         -lnetwork and -lnet. Needed for Haiku and BeOS.
88999 2008-11-16  Bruno Haible  <bruno@clisp.org>
89001         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
89003 2008-11-16  Bruno Haible  <bruno@clisp.org>
89005         Avoid test failure on Haiku.
89006         * tests/test-fsync.c: Include <errno.h>.
89007         (main): Don't require that fsync (0) fails.
89009 2008-11-15  Bruno Haible  <bruno@clisp.org>
89011         New module 'hostent'.
89012         * modules/hostent: New file.
89013         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
89015 2008-11-15  Bruno Haible  <bruno@clisp.org>
89017         New module 'servent'.
89018         * modules/servent: New file.
89019         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
89021 2008-11-15  Bruno Haible  <bruno@clisp.org>
89023         Avoid generating same test program with two different rules.
89024         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
89025         test-frexp to test-frexp-nolibm.
89026         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
89027         test-frexpl to test-frexpl-nolibm.
89029 2008-11-15  Bruno Haible  <bruno@clisp.org>
89031         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
89032         $(FREXPL_LIBM).
89034 2008-11-15  Bruno Haible  <bruno@clisp.org>
89036         * lib/netdb.in.h: Activate the definitions also when the system's
89037         <netdb.h> has 'struct addrinfo'.
89038         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
89039         EAI_OVERFLOW or AI_NUMERICSERV.
89040         * doc/posix-headers/netdb.texi: Document the problem.
89042 2008-11-15  Bruno Haible  <bruno@clisp.org>
89044         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
89046         Make the 'sched' module work on platforms where <sched.h> exists but
89047         is incomplete (such as Haiku).
89048         * lib/sched.in.h; Include the system's <sched.h> if it exists.
89049         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
89050         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
89051         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
89052         HAVE_STRUCT_SCHED_PARAM.
89053         * modules/sched (Depends-on): Add include_next.
89054         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
89055         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
89056         * doc/posix-headers/sched.texi: Document the issue.
89058 2008-11-13  Jim Meyering  <meyering@redhat.com>
89060         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
89061         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
89062         test would fail due to the difference in the Report bugs to ...
89063         line.  The expected address is empty, "<>", while the actual
89064         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
89066 2008-11-12  Bruno Haible  <bruno@clisp.org>
89068         lstat: don't compile lstat.c on systems lacking lstat
89069         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
89070         which don't have lstat; this is handled by lib/sys_stat.in.h already.
89071         Reported by Daniel P. Berrange via Jim Meyering.
89073 2008-11-12  Jim Meyering  <meyering@redhat.com>
89075         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
89077 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89079         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
89080         instead.
89082 2008-11-12  Bruno Haible  <bruno@clisp.org>
89084         * lib/unicodeio.c: Include unistr.h.
89085         (utf8_wctomb): Remove function.
89086         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
89088 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89090         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
89091         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
89092         <bruno@clisp.org>.
89093         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
89095 2008-11-12  Simon Josefsson  <simon@josefsson.org>
89097         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
89098         * doc/gnulib.texi: Add section for warnings.
89100 2008-11-11  Bruno Haible  <bruno@clisp.org>
89102         * lib/sockets.h: Add a comment.
89104 2008-11-11  Karl Berry  <karl@gnu.org>
89106         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
89108 2008-11-11  Eric Blake  <ebb9@byu.net>
89110         fdl.texi: avoid git symlinks
89111         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
89113 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89115         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
89117 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89119         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
89120         (gl_WARN_ADD): Substitute $2 if literal.
89122 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89124         * m4/warning.m4: Remove.
89126 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
89128         * m4/warnings.m4: Almost complete rewrite. :-)
89130 2008-11-10  Simon Josefsson  <simon@josefsson.org>
89132         * modules/warnings: New module.
89133         * m4/warnings.m4: New file.
89134         * MODULES.html.sh: Mention warnings module.
89135         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
89136         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
89138 2008-11-10  Eric Blake  <ebb9@byu.net>
89140         fdl.texi: make a symlink to the latest version
89141         * doc/standards.texi: Revert today's earlier change.
89142         * doc/fdl-1.2.texi: Rename from old fdl.texi...
89143         * doc/fdl.texi: ...and replace this with a symlink to the newer
89144         fdl-1.3.texi.
89146 2008-11-10  Bruno Haible  <bruno@clisp.org>
89148         * tests/test-select-fd.c (main): Accept the result file name as fourth
89149         argument.
89150         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
89151         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
89153 2008-11-10  Bruno Haible  <bruno@clisp.org>
89155         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
89156         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
89157         as autoconf-substituted macros.
89158         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
89159         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
89160         gl_NETDB_H_DEFAULTS. Set these variables.
89161         * modules/netdb (Makefile.am): Substitute these variables.
89163 2008-11-10  Eric Blake  <ebb9@byu.net>
89165         standards.texi: include correct file for FDL 1.3
89166         * doc/standards.texi (GNU Free Documentation License): Change
89167         include file to pull in FDL 1.3, not 1.2.
89169         fdl.texi: revert accidental change to license
89170         * doc/fdl.texi: This is FDL 1.2, not 1.3.
89172 2008-11-10  Bruno Haible  <bruno@clisp.org>
89174         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
89175         cross-compiling guesses also when the native compile gives no result.
89177 2008-11-10  Bruno Haible  <bruno@clisp.org>
89179         * lib/spawni.c (__spawni): Force variable into the stack.
89181 2008-11-10  Bruno Haible  <bruno@clisp.org>
89183         Add support for Haiku.
89184         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
89185         glibc and BeOS, but also on Haiku.
89186         * lib/fpurge.c (fpurge): Likewise.
89187         * lib/freadable.c (freadable): Likewise.
89188         * lib/freadahead.c (freadahead): Likewise.
89189         * lib/freading.c (freading): Likewise.
89190         * lib/freadptr.c (freadptr): Likewise.
89191         * lib/freadseek.c (freadptrinc): Likewise.
89192         * lib/fseeko.c (rpl_fseeko): Likewise.
89193         * lib/fseterr.c (fseterr): Likewise.
89194         * lib/fwritable.c (fwritable): Likewise.
89195         * lib/fwriting.c (fwriting): Likewise.
89196         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
89198 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89200         * lib/config.charset: Treat Haiku like BeOS.
89202 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
89204         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
89205         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
89207 2008-11-08  Bruno Haible  <bruno@clisp.org>
89209         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
89210         AC_CACHE_CHECK.
89212 2008-11-08  Bruno Haible  <bruno@clisp.org>
89214         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
89216 2008-11-08  Bruno Haible  <bruno@clisp.org>
89218         * tests/test-select-fd.c: New file.
89219         * tests/test-select-in.sh: New file.
89220         * tests/test-select-out.sh: New file.
89221         * tests/test-select-stdin.c: New file.
89222         * modules/select-tests (Files): Add the new files.
89223         (Depends-on): Add gettimeofday.
89224         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
89225         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
89226         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
89228 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
89229             Bruno Haible  <bruno@clisp.org>
89231         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
89233 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
89235         * build-aux/pmccabe2html: Added support for C++ source files.
89237 2008-11-05  Ben Pfaff  <blp@gnu.org>
89239         Fix lib/close.c build on Windows.
89240         * modules/close (Files): Add lib/w32sock.h.
89242 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
89244         Accept Bison's NEWS format.
89245         * build-aux/announce-gen (print_news_deltas): Tweak
89246         $re_prefix.
89248 2008-11-04  Bruno Haible  <bruno@clisp.org>
89250         * modules/random_r (Maintainer): Add glibc.
89252 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89254         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
89255         by karl@freefriends.org (Karl Berry).
89256         * doc/alloca.texi: Likewise.
89257         * doc/c-ctype.texi: Likewise.
89258         * doc/c-strcase.texi: Likewise.
89259         * doc/c-strcaseeq.texi: Likewise.
89260         * doc/c-strcasestr.texi: Likewise.
89261         * doc/c-strstr.texi: Likewise.
89262         * doc/c-strtod.texi: Likewise.
89263         * doc/c-strtold.texi: Likewise.
89264         * doc/ctime.texi: Likewise.
89265         * doc/error.texi: Likewise.
89266         * doc/fdl.texi: Likewise.
89267         * doc/gcd.texi: Likewise.
89268         * doc/getdate.texi: Likewise.
89269         * doc/gnulib-intro.texi: Likewise.
89270         * doc/gnulib-tool.texi: Likewise.
89271         * doc/gnulib.texi: Likewise.
89272         * doc/inet_ntoa.texi: Likewise.
89273         * doc/maintain.texi: Likewise.
89274         * doc/make-stds.texi: Likewise.
89275         * doc/quote.texi: Likewise.
89276         * doc/regexprops-generic.texi: Likewise.
89277         * doc/standards.texi: Likewise.
89278         * doc/verify.texi: Likewise.
89279         * doc/visibility.texi: Likewise.
89280         * doc/gnulib.texi (GNU Free Documentation License): Include
89281         fdl-1.3.texi instead of fdl.texi.
89283 2008-11-04  Simon Josefsson  <simon@josefsson.org>
89285         * doc/fdl-1.3.texi: New file, from
89286         <http://www.gnu.org/licenses/fdl-1.3.texi>.
89287         * modules/fdl-1.3: Add.
89288         * MODULES.html.sh: Add fdl-1.3.
89290 2008-11-03  Bruno Haible  <bruno@clisp.org>
89292         Make determination of absolute name of header file work with AIX xlc.
89293         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
89294         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
89295         preprocessing.
89296         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
89297         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
89299 2008-11-03  Simon Josefsson  <simon@josefsson.org>
89301         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
89302         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
89303         <ludo@gnu.org>.
89305 2008-11-02  Bruno Haible  <bruno@clisp.org>
89307         Mark 'strpbrk' obsolete.
89308         * modules/strpbrk (Status, Notice): New sections.
89309         * modules/strtok_r (Depends-on): Add strpbrk.
89311 2008-11-02  Bruno Haible  <bruno@clisp.org>
89313         Mark 'strdup' obsolete.
89314         * modules/strdup (Status, Notice): New sections.
89315         * modules/findprog (Depends-on): Add strdup.
89316         * modules/getaddrinfo (Depends-on): Likewise.
89317         * modules/localename (Depends-on): Likewise.
89318         * modules/relocatable-lib (Depends-on): Likewise.
89319         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
89320         * modules/relocatable-prog (Depends-on): Likewise.
89321         * modules/trim (Depends-on): Likewise.
89322         * modules/unictype/gen-ctype (Depends-on): Likewise.
89323         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89325 2008-11-02  Bruno Haible  <bruno@clisp.org>
89327         Mark 'strcspn' obsolete.
89328         * modules/strcspn (Status, Notice): New sections.
89330 2008-11-02  Bruno Haible  <bruno@clisp.org>
89332         Mark 'rmdir' obsolete.
89333         * modules/rmdir (Status, Notice): New sections.
89334         * modules/clean-temp (Depends-on): Add rmdir.
89335         * modules/openat (Depends-on): Likewise.
89337 2008-11-02  Bruno Haible  <bruno@clisp.org>
89339         Mark 'raise' obsolete.
89340         * modules/raise (Status, Notice): New sections.
89341         (Include): Specify <signal.h>.
89342         * modules/stdio (Depends-on): Add raise.
89343         * modules/write (Depends-on): Likewise.
89345 2008-11-02  Bruno Haible  <bruno@clisp.org>
89347         Mark 'memset' obsolete.
89348         * modules/memset (Status, Notice): New sections.
89350 2008-11-02  Bruno Haible  <bruno@clisp.org>
89352         Mark 'memmove' obsolete.
89353         * modules/memmove (Status, Notice): New sections.
89354         * modules/argp (Depends-on): Add memmove.
89355         * modules/argz (Depends-on): Likewise.
89356         * modules/canonicalize (Depends-on): Likewise.
89357         * modules/canonicalize-lgpl (Depends-on): Likewise.
89358         * modules/fts (Depends-on): Likewise.
89359         * modules/getcwd (Depends-on): Likewise.
89360         * modules/human (Depends-on): Likewise.
89361         * modules/regex (Depends-on): Likewise.
89362         * modules/striconveh (Depends-on): Likewise.
89363         * modules/trim (Depends-on): Likewise.
89364         * modules/unistr/u8-move (Depends-on): Likewise.
89365         * modules/unistr/u16-move (Depends-on): Likewise.
89366         * modules/unistr/u32-move (Depends-on): Likewise.
89368 2008-11-02  Bruno Haible  <bruno@clisp.org>
89370         Mark 'memcpy' obsolete.
89371         * modules/memcpy (Status, Notice): New sections.
89373 2008-11-02  Bruno Haible  <bruno@clisp.org>
89375         Mark 'memcmp' obsolete.
89376         * modules/memcmp (Status, Notice): New sections.
89377         * modules/argmatch (Depends-on): Add memchr.
89378         * modules/backupfile (Depends-on): Likewise.
89379         * modules/c-strcasestr (Depends-on): Likewise.
89380         * modules/crypto/des (Depends-on): Likewise.
89381         * modules/csharpcomp (Depends-on): Likewise.
89382         * modules/fnmatch (Depends-on): Likewise.
89383         * modules/git-merge-changelog (Depends-on): Likewise.
89384         * modules/isnand (Depends-on): Likewise.
89385         * modules/isnand-nolibm (Depends-on): Likewise.
89386         * modules/isnanf (Depends-on): Likewise.
89387         * modules/isnanf-nolibm (Depends-on): Likewise.
89388         * modules/isnanl (Depends-on): Likewise.
89389         * modules/isnanl-nolibm (Depends-on): Likewise.
89390         * modules/mbchar (Depends-on): Likewise.
89391         * modules/memcoll (Depends-on): Likewise.
89392         * modules/quotearg (Depends-on): Likewise.
89393         * modules/regex (Depends-on): Likewise.
89394         * modules/relocatable-prog (Depends-on): Likewise.
89395         * modules/same (Depends-on): Likewise.
89396         * modules/signbit (Depends-on): Likewise.
89397         * modules/strcasestr-simple (Depends-on): Likewise.
89398         * modules/unictype/gen-ctype (Depends-on): Likewise.
89399         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
89400         * modules/uniname/uniname (Depends-on): Likewise.
89401         * modules/unistr/u8-cmp (Depends-on): Likewise.
89403 2008-11-02  Bruno Haible  <bruno@clisp.org>
89405         Mark 'memchr' obsolete.
89406         * modules/memchr (Status, Notice): New sections.
89407         * modules/argp (Depends-on): Add memchr.
89408         * modules/base64 (Depends-on): Likewise.
89409         * modules/c-strcasestr (Depends-on): Likewise.
89410         * modules/chdir-long (Depends-on): Likewise.
89411         * modules/fnmatch (Depends-on): Likewise.
89412         * modules/getsubopt (Depends-on): Likewise.
89413         * modules/git-merge-changelog (Depends-on): Likewise.
89414         * modules/glob (Depends-on): Likewise.
89415         * modules/strcasestr-simple (Depends-on): Likewise.
89416         * modules/strnlen (Depends-on): Likewise.
89418 2008-11-02  Bruno Haible  <bruno@clisp.org>
89420         Mark 'atexit' obsolete.
89421         * modules/atexit (Status, Notice): New sections.
89422         * modules/chdir-long (Depends-on): Add atexit.
89423         * modules/wait-process (Depends-on): Likewise.
89425 2008-11-02  Bruno Haible  <bruno@clisp.org>
89427         * gnulib-tool: New option --with-obsolete.
89428         (func_usage): Document it.
89429         (func_modules_transitive_closure): Drop obsolete dependencies if
89430         incobsolete is not true.
89431         (func_import): Read and save the incobsolete variable to the cache.
89433 2008-11-02  Bruno Haible  <bruno@clisp.org>
89435         * modules/TEMPLATE-EXTENDED: New field 'Status'.
89436         * gnulib-tool: New option --extract-status.
89437         (func_usage): Document it.
89438         (sed_extract_prog): Recognize it.
89439         (func_get_status): New function.
89441 2008-10-30  Simon Josefsson  <simon@josefsson.org>
89443         * modules/sockets (License): Change from LGPL to LGPLv2+.
89445 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89447         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
89449 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89451         * MODULES.html.sh (Support for systems lacking POSIX:2001):
89452         Mention times and sys_times.
89453         * modules/sys_times, modules/sys_times-tests: New modules.
89454         * modules/times, modules/times-tests: Likewise
89455         * m4/sys_times_h.m4: New file.
89456         * lib/sys_times.in.h: Likewise
89457         * lib/times.c: Likewise.
89458         * tests/test-sys_times.c: Likewise.
89459         * tests/test-times.c: Likewise.
89460         * doc/posix-headers/sys_times.texi: Update.
89461         * doc/posix-functions/times.texi: Update.
89463 2008-10-28  Jim Meyering  <meyering@redhat.com>
89465         * modules/tempname (Depends-on): Add lstat.
89467         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
89469 2008-10-28  Simon Josefsson  <simon@josefsson.org>
89471         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
89472         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
89473         using idiom used elsewhere in gnulib.
89475 2008-10-27  Jim Meyering  <meyering@redhat.com>
89477         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
89479 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89481         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
89482         TESTS_ENVIRONMENT, for shell scripts that needs to call built
89483         programs.
89484         * tests/test-argp-2.sh: Use $EXEEXT when needed.
89486 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89488         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
89490 2008-10-27  Bruno Haible  <bruno@clisp.org>
89492         * tests/test-lstat.c: Include <stdio.h>.
89494 2008-10-27  Simon Josefsson  <simon@josefsson.org>
89496         * modules/lstat-tests: New module.
89497         * tests/test-lstat.c: New file.
89499 2008-10-26  Jim Meyering  <meyering@redhat.com>
89501         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
89503 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89504             Bruno Haible  <bruno@clisp.org>
89506         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
89507         * modules/configmake (Include): Add a note that the include must come
89508         after all system headers.
89509         * lib/javaversion.c: Include configmake.h after all other includes.
89511 2008-10-26  Bruno Haible  <bruno@clisp.org>
89513         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
89514         HAVE_STRUCT_RANDOM_DATA to 1.
89515         (gl_STDLIB_H): Simplify.
89517 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89519         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
89520         substitute HAVE_STRUCT_RANDOM_DATA.
89521         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
89522         random_data.
89523         * modules/stdlib (Makefile.am): Substitute
89524         HAVE_STRUCT_RANDOM_DATA.
89526 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89528         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
89529         * doc/gnulib-intro.texi (Copyright): Likewise.
89531 2008-10-26  Simon Josefsson  <simon@josefsson.org>
89533         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
89534         findings.
89536 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
89537             Bruno Haible  <bruno@clisp.org>
89539         * lib/unistd.in.h: Include <winsock2.h>.
89540         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
89541         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
89542         Provide dummy declarations.
89543         (gethostname): Override.
89544         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
89545         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
89546         gl_PREREQ_SYS_H_WINSOCK2.
89547         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
89548         * doc/posix-functions/gethostname.texi: More details.
89550 2008-10-25  Bruno Haible  <bruno@clisp.org>
89552         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
89553         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
89554         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
89556         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
89557         here ...
89558         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
89559         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
89560         gl_UNISTD_H_DEFAULTS.
89562 2008-10-25  Eric Blake  <ebb9@byu.net>
89564         signbit: avoid spurious compiler failure
89565         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
89566         declarations inside function.
89568 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89569             Bruno Haible  <bruno@clisp.org>
89571         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
89572         * modules/random_r (Depends-on): Add stdint.
89574 2008-10-24  Bruno Haible  <bruno@clisp.org>
89576         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
89577         Eggert.
89578         * modules/strerror (License): Likewise.
89580 2008-10-24  Jim Meyering  <meyering@redhat.com>
89582         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
89583         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
89585 2008-10-24  Eric Blake  <ebb9@byu.net>
89587         getgroups: fix compilation when getgroups is available
89588         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
89589         but with <config.h> override of getgroups disabled.
89591 2008-10-24  Simon Josefsson  <simon@josefsson.org>
89593         * doc/gnulib.texi (Header files): Add note about C++ problems.
89594         Explained by Bruno Haible <bruno@clisp.org>.
89596 2008-10-23  Bruno Haible  <bruno@clisp.org>
89598         Define a dummy SA_NODEFER macro on Interix.
89599         * lib/signal.in.h (SA_NODEFER): Define fallback.
89600         Reported by Aleksey Cheusov <cheusov@tut.by> via
89601         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
89603 2008-10-23  Bruno Haible  <bruno@clisp.org>
89605         * modules/freadahead (License): Change to LGPLv2+.
89606         Suggested by Simon Josefsson.
89608 2008-10-23  Jim Meyering  <meyering@redhat.com>
89610         random_r: new module
89611         * modules/random_r: New file.
89612         * m4/random_r.m4: New file.
89613         * lib/random_r.c: New file, from glibc.
89614         * modules/random_r-tests: New file.
89615         * tests/test-random_r.c: New file.
89616         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
89617          Declare.
89618         (RAND_MAX): Define.
89619         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
89620         * modules/stdlib: Substitute them, too.
89621         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
89622         * doc/glibc-functions/initstate_r.texi: Mention the new module.
89623         * doc/glibc-functions/random_r.texi: Likewise.
89624         * doc/glibc-functions/setstate_r.texi: Likewise.
89625         * doc/glibc-functions/srandom_r.texi: Likewise.
89626         * config/srclist.txt: Mention it.
89628 2008-10-23  David Lutterkort  <lutter@redhat.com>
89630         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
89631         link requirement
89633 2008-10-23  Jim Meyering  <meyering@redhat.com>
89635         selinux-h: mark parameters of stub functions as intentionally unused
89636         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
89637         * lib/se-context.in.h: Likewise.
89639 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89641         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
89643 2008-10-22  Simon Josefsson  <simon@josefsson.org>
89645         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
89647 2008-10-22  Eric Blake  <ebb9@byu.net>
89649         glthread/thread: avoid compiler warning
89650         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
89651         Add unreachable abort to silence compiler.
89653 2008-10-22  Eric Blake  <ebb9@byu.net>
89655         netdb: also supply struct addrinfo for cygwin 1.5.x
89656         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
89657         older cygwin.
89658         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
89659         cygwin.
89660         * doc/posix-headers/netdb.texi (netdb.h): Document this.
89662 2008-10-22  Bruno Haible  <bruno@clisp.org>
89664         * users.txt: Update entry about pspp.
89666 2008-10-21  Bruno Haible  <bruno@clisp.org>
89668         Simplification.
89669         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
89670         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
89672         Simplification.
89673         * lib/ioctl.c (ioctl): Don't undefine.
89674         * lib/socket.c (socket): Don't undefine.
89676         Remove unused module indicator macros.
89677         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
89678         GNULIB_$1 as a C macro.
89680         * doc/posix-functions/close.texi: Undo last change.
89681         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
89682         Windows platforms.
89684 2008-10-21  Bruno Haible  <bruno@clisp.org>
89686         Add gethostname() declaration to <unistd.h>.
89687         * lib/unistd.in.h (gethostname): New declaration.
89688         * lib/gethostname.c: Include <unistd.h>.
89689         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
89690         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
89691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
89692         and HAVE_GETHOSTNAME.
89693         * modules/gethostname (Depends-on): Add unistd.
89694         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89695         (Include): Specify <unistd.h>.
89696         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
89697         HAVE_GETHOSTNAME.
89698         * tests/test-gethostname.c: Include <unistd.h> first.
89700 2008-10-21  Bruno Haible  <bruno@clisp.org>
89702         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
89703         * modules/select-tests (Depends-on): Likewise.
89704         Reported by Simon Josefsson.
89706 2008-10-21  Simon Josefsson  <simon@josefsson.org>
89708         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
89709         * lib/accept.c: New file, based on winsock.c.
89710         * lib/bind.c: New file, based on winsock.c.
89711         * lib/connect.c: New file, based on winsock.c.
89712         * lib/getpeername.c: New file, based on winsock.c.
89713         * lib/getsockname.c: New file, based on winsock.c.
89714         * lib/getsockopt.c: New file, based on winsock.c.
89715         * lib/ioctl.c: New file, based on winsock.c.
89716         * lib/listen.c: New file, based on winsock.c.
89717         * lib/recv.c: New file, based on winsock.c.
89718         * lib/recvfrom.c: New file, based on winsock.c.
89719         * lib/send.c: New file, based on winsock.c.
89720         * lib/sendto.c: New file, based on winsock.c.
89721         * lib/setsockopt.c: New file, based on winsock.c.
89722         * lib/shutdown.c: New file, based on winsock.c.
89723         * lib/socket.c: New file, based on winsock.c.
89724         * lib/w32sock.h: New file, based on winsock.c.
89725         * lib/winsock.c: Remove file.
89726         * modules/accept: Likewise.
89727         * modules/bind: Likewise.
89728         * modules/connect: Likewise.
89729         * modules/getpeername: Likewise.
89730         * modules/getsockname: Likewise.
89731         * modules/getsockopt: Likewise.
89732         * modules/ioctl: Likewise.
89733         * modules/listen: Likewise.
89734         * modules/recv: Likewise.
89735         * modules/recvfrom: Likewise.
89736         * modules/send: Likewise.
89737         * modules/sendto: Likewise.
89738         * modules/setsockopt: Likewise.
89739         * modules/shutdown: Likewise.
89740         * modules/socket: Use socket.c instead of winsock.c.
89741         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
89742         * doc/posix-functions/accept.texi: Doc fix.
89743         * doc/posix-functions/bind.texi: Doc fix.
89744         * doc/posix-functions/close.texi: Doc fix.
89745         * doc/posix-functions/connect.texi: Doc fix.
89746         * doc/posix-functions/getpeername.texi: Doc fix.
89747         * doc/posix-functions/getsockname.texi: Doc fix.
89748         * doc/posix-functions/getsockopt.texi: Doc fix.
89749         * doc/posix-functions/ioctl.texi: Doc fix.
89750         * doc/posix-functions/listen.texi: Doc fix.
89751         * doc/posix-functions/recv.texi: Doc fix.
89752         * doc/posix-functions/recvfrom.texi: Doc fix.
89753         * doc/posix-functions/send.texi: Doc fix.
89754         * doc/posix-functions/sendto.texi: Doc fix.
89755         * doc/posix-functions/setsockopt.texi: Doc fix.
89756         * doc/posix-functions/shutdown.texi: Doc fix.
89757         * doc/posix-functions/socket.texi: Doc fix.
89759 2008-10-20  Bruno Haible  <bruno@clisp.org>
89761         Take into account the role of SIGABRT_COMPAT on Windows 2008.
89762         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
89763         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
89764         as an alias for SIGABRT.
89765         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
89766         (sigaction): Map it to SIGABRT.
89767         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
89769 2008-10-20  Bruno Haible  <bruno@clisp.org>
89771         * lib/fts.c: Don't include lstat.h.
89772         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
89774         Move the lstat() declaration to <sys/stat.h>.
89775         * lib/lstat.h: Remove file.
89776         * lib/sys_stat.in.h: Add special invocation convention.
89777         (lstat): New declaration.
89778         * lib/lstat.c (orig_lstat): New function.
89779         (rpl_lstat): Use orig_lstat instead of lstat.
89780         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
89781         AC_C_INLINE. Set REPLACE_LSTAT.
89782         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
89783         and REPLACE_LSTAT.
89784         * modules/lstat (Files): Remove lib/lstat.h.
89785         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
89786         (Include): Specify <sys/stat.h> instead of lstat.h.
89787         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
89788         REPLACE_LSTAT.
89789         * NEWS: Mention the change.
89791 2008-10-20  Bruno Haible  <bruno@clisp.org>
89793         * modules/posix_spawn-tests: New file.
89794         * tests/test-posix_spawn3.c: New file.
89796 2008-10-20  Bruno Haible  <bruno@clisp.org>
89798         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
89799         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89800         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
89801         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
89802         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
89804 2008-10-20  Bruno Haible  <bruno@clisp.org>
89806         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
89807         of posix_spawn on AIX 5.3.
89809 2008-10-20  Bruno Haible  <bruno@clisp.org>
89811         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
89813 2008-10-20  Bruno Haible  <bruno@clisp.org>
89815         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
89816         of AC_LANG_PROGRAM.
89818 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89820         * lib/netdb.in.h: Don't define GNU specific constants until they
89821         are supported or needed.  Reported by Bruno Haible
89822         <bruno@clisp.org>.
89824 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89826         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
89828 2008-10-20  Simon Josefsson  <simon@josefsson.org>
89830         * lib/getaddrinfo.h: Remove file.
89831         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
89832         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
89833         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
89834         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
89835         * modules/netdb: Substitute GNULIB_GETADDRINFO.
89836         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
89837         * tests/test-getaddrinfo.c: Likewise.
89838         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
89839         * NEWS: Mention change.
89841 2008-10-19  Bruno Haible  <bruno@clisp.org>
89843         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
89845 2008-10-19  Bruno Haible  <bruno@clisp.org>
89847         * lib/wait-process.c: Include simply <sys/wait.h>.
89848         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
89849         WIFSTOPPED): Remove fallback definitions.
89850         * modules/wait-process (Depends-on): Add sys_wait.
89852         New module 'sys_wait'.
89853         * modules/sys_wait: New file.
89854         * lib/sys_wait.in.h: New file, partially copied from
89855         lib/wait-process.c.
89856         * m4/sys_wait_h.m4: New file.
89857         * doc/posix-headers/sys_wait.texi: Mention the new module.
89859 2008-10-19  Bruno Haible  <bruno@clisp.org>
89861         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
89863 2008-10-19  Bruno Haible  <bruno@clisp.org>
89865         Assume that waitpid() fills an 'int' status, not a 'union wait'.
89866         * lib/wait-process.c (WAIT_T): Remove type.
89867         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
89868         (wait_subprocess): Update.
89870 2008-10-19  Bruno Haible  <bruno@clisp.org>
89872         New module 'atoll'.
89873         * modules/atoll: New file.
89874         * lib/stdlib.in.h (atoll): New declaration.
89875         * lib/atoll.c: New file, from glibc with modifications.
89876         * m4/atoll.m4: New file.
89877         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
89878         HAVE_ATOLL.
89879         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
89880         * doc/posix-functions/atoll.texi: Mention the new module.
89882 2008-10-19  Bruno Haible  <bruno@clisp.org>
89884         Add strtoull() declaration to <stdlib.h>.
89885         * lib/stdlib.in.h (strtoull): New declaration.
89886         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89887         Set HAVE_STRTOULL.
89888         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
89889         HAVE_STRTOULL.
89890         * modules/strtoull (Depends-on): Add stdlib.
89891         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89892         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
89893         HAVE_STRTOULL.
89895 2008-10-19  Bruno Haible  <bruno@clisp.org>
89897         Add strtoll() declaration to <stdlib.h>.
89898         * lib/stdlib.in.h (strtoll): New declaration.
89899         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
89900         Set HAVE_STRTOLL.
89901         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
89902         HAVE_STRTOLL.
89903         * modules/strtoll (Depends-on): Add stdlib.
89904         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89905         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
89907 2008-10-19  Bruno Haible  <bruno@clisp.org>
89909         * modules/bcopy (Depends-on): Add strings.
89910         (Include): Specify <strings.h>.
89912 2008-10-19  Bruno Haible  <bruno@clisp.org>
89914         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
89916 2008-10-19  Bruno Haible  <bruno@clisp.org>
89918         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
89919         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
89920         mingw.
89922 2008-10-19  Bruno Haible  <bruno@clisp.org>
89924         * lib/atanl.c: Don't include isnanl.h.
89925         * lib/cosl.c: Likewise.
89926         * lib/ldexpl.c: Likewise.
89927         * lib/logl.c: Likewise.
89928         * lib/sinl.c: Likewise.
89929         * lib/sqrtl.c: Likewise.
89930         * lib/tanl.c: Likewise.
89932         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
89933         * lib/isnanf.h: Remove file.
89934         * lib/isnand.h: Remove file.
89935         * lib/isnanl.h: Remove file.
89936         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
89937         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
89938         macros.
89939         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
89940         HAVE_ISNANF, don't define it as a C macro.
89941         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
89942         HAVE_ISNAND, don't define it as a C macro.
89943         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
89944         HAVE_ISNANL, don't define it as a C macro.
89945         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
89946         HAVE_ISNAN[FDL].
89947         * modules/isnanf (Files): Remove lib/isnanf.h.
89948         (Depends-on): Add math.
89949         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89950         (Include): Specify <math.h> instead of isnanf.h.
89951         * modules/isnand (Files): Remove lib/isnand.h.
89952         (Depends-on): Add math.
89953         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89954         (Include): Specify <math.h> instead of isnand.h.
89955         * modules/isnanl (Files): Remove lib/isnanl.h.
89956         (Depends-on): Add math.
89957         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
89958         (Include): Specify <math.h> instead of isnanl.h.
89959         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
89960         HAVE_ISNAN[FDL].
89961         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
89962         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
89963         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
89964         * NEWS: Mention the change.
89966 2008-10-18  Bruno Haible  <bruno@clisp.org>
89968         Add getusershell(), setusershell(), endusershell() declarations to
89969         <unistd.h>.
89970         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
89971         declarations.
89972         * lib/getusershell.c: Include unistd.h.
89973         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
89974         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
89975         HAVE_GETUSERSHELL.
89976         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
89977         and HAVE_GETUSERSHELL.
89978         * modules/getusershell (Depends-on): Add unistd, extensions.
89979         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
89980         (Include): Specify <unistd.h>.
89981         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
89982         HAVE_GETUSERSHELL.
89984 2008-10-18  Bruno Haible  <bruno@clisp.org>
89986         Add a getloadavg() declaration to <stdlib.h>.
89987         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
89988         getloadavg declaration.
89989         (getloadavg): New declaration.
89990         * lib/getloadavg.c: Include <stdlib.h> first.
89991         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
89992         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
89993         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
89994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
89995         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
89996         * modules/getloadavg (Depends-on): Add stdlib, extensions.
89997         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
89998         (Include): Specify <stdlib.h>.
89999         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
90000         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
90002 2008-10-18  Bruno Haible  <bruno@clisp.org>
90004         * lib/dirchownmod.c: Don't include lchmod.h.
90006         Move the lchmod() declaration to <sys/stat.h>.
90007         * lib/lchmod.h: Remove file.
90008         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
90009         (lchmod): New declaration, moved here from lib/lchown.h.
90010         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
90011         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
90012         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
90013         and HAVE_LCHMOD.
90014         * modules/lchmod (Files): Remove lib/lchmod.h.
90015         (Depends-on): Add sys_stat, extensions.
90016         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
90017         (Include): Specify <sys/stat.h> instead of lchmod.h.
90018         * modules/sys_stat (Depends-on): Add link-warning.
90019         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
90020         definition of GL_LINK_WARNING.
90021         * NEWS: Mention the change.
90023 2008-10-18  Bruno Haible  <bruno@clisp.org>
90025         * lib/fchdir.c: Don't include dirfd.h.
90026         * lib/fts.c: Likewise.
90027         * lib/getcwd.c: Likewise.
90028         * lib/glob.c: Likewise.
90030         Move the dirfd() declaration to <dirent.h>.
90031         * lib/dirfd.h: Remove file.
90032         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
90033         (dirfd): New declaration.
90034         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
90035         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
90036         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
90037         HAVE_DECL_DIRFD.
90038         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
90039         HAVE_DECL_DIRFD.
90040         * modules/dirfd (Files): Remove lib/dirfd.h.
90041         (Depends-on): Add dirent, extensions.
90042         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
90043         (Include): Specify <dirent.h> instead of dirfd.h.
90044         * modules/dirent (Depends-on): Add link-warning.
90045         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
90046         definition of GL_LINK_WARNING.
90047         * NEWS: Mention the change.
90049 2008-10-18  Bruno Haible  <bruno@clisp.org>
90051         Move the euidaccess() declaration to <unistd.h>.
90052         * lib/euidaccess.h: Remove file.
90053         * lib/unistd.in.h (euidaccess): New declaration.
90054         * lib/euidaccess.c: Don't include euidaccess.h.
90055         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
90056         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
90057         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
90058         and HAVE_EUIDACCESS.
90059         * modules/euidaccess (Files): Remove lib/euidaccess.h.
90060         (Depends-on): Add unistd.
90061         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90062         (Include): Specify <unistd.h> instead of euidaccess.h.
90063         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
90064         HAVE_EUIDACCESS.
90065         * NEWS: Mention the change.
90067 2008-10-18  Bruno Haible  <bruno@clisp.org>
90069         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
90071         Move the getdomainname() declaration to <unistd.h>.
90072         * lib/getdomainname.h: Remove file.
90073         * lib/unistd.in.h (getdomainname): New declaration.
90074         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
90075         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
90076         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
90077         HAVE_GETDOMAINNAME.
90078         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90079         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
90080         * modules/getdomainname (Files): Remove lib/getdomainname.h.
90081         (Depends-on): Add unistd, extensions.
90082         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
90083         (Includes): Specify <unistd.h> instead of getdomainname.h.
90084         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
90085         HAVE_GETDOMAINNAME.
90086         * NEWS: Mention the change.
90088 2008-10-18  Bruno Haible  <bruno@clisp.org>
90090         * modules/dirent: New file.
90091         * m4/dirent_h.m4: New file.
90092         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
90093         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
90094         * modules/fchdir (Files): Remove lib/dirent.in.h.
90095         (Depends-on): Add dirent.
90096         (Makefile.am): Move rules to modules/dirent.
90097         * doc/posix-headers/dirent.texi: Mention the new module.
90099 2008-10-18  Bruno Haible  <bruno@clisp.org>
90101         Avoid -Wunused-parameter warnings in public gnulib header files.
90102         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
90103         macro.
90104         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
90106 2008-10-18  Bruno Haible  <bruno@clisp.org>
90108         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
90109         * doc/glibc-functions/error.texi: Mention the module 'error'.
90110         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
90111         * doc/glibc-functions/getdomainname.texi: Mention the module
90112         'getdomainname'.
90113         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
90114         * doc/glibc-functions/getpagesize.texi: Mention the module
90115         'getpagesize'.
90116         * doc/glibc-functions/getusershell.texi: Mention the module
90117         'getusershell'.
90118         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
90119         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
90120         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
90121         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
90122         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
90123         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
90124         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
90125         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
90126         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
90127         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
90128         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
90129         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
90130         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
90131         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
90133 2008-10-17  Bruno Haible  <bruno@clisp.org>
90135         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
90136         HP-UX and IRIX, use -0.0L.
90137         * tests/test-ceill.c (minus_zero): Likewise.
90138         * tests/test-floorl.c (minus_zero): Likewise.
90139         * tests/test-frexpl.c (minus_zero): Likewise.
90140         * tests/test-isnan.c (minus_zerol): Likewise.
90141         * tests/test-isnanl.h (minus_zero): Likewise.
90142         * tests/test-ldexpl.c (minus_zero): Likewise.
90143         * tests/test-roundl.c (minus_zero): Likewise.
90144         * tests/test-signbit.c (minus_zerol): Likewise.
90145         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
90146         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
90147         * tests/test-truncl.c (minus_zero): Likewise.
90148         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
90149         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
90150         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
90151         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
90153 2008-10-17  Bruno Haible  <bruno@clisp.org>
90155         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
90156         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
90157         that it gets activated only for gcc >= 3.0.
90158         * lib/dirent.in.h: Likewise.
90159         * lib/errno.in.h: Likewise.
90160         * lib/fcntl.in.h: Likewise.
90161         * lib/float.in.h: Likewise.
90162         * lib/iconv.in.h: Likewise.
90163         * lib/inttypes.in.h: Likewise.
90164         * lib/locale.in.h: Likewise.
90165         * lib/math.in.h: Likewise.
90166         * lib/netdb.in.h: Likewise.
90167         * lib/netinet_in.in.h: Likewise.
90168         * lib/search.in.h: Likewise.
90169         * lib/signal.in.h: Likewise.
90170         * lib/spawn.in.h: Likewise.
90171         * lib/stdarg.in.h: Likewise.
90172         * lib/stdint.in.h: Likewise.
90173         * lib/stdio.in.h: Likewise.
90174         * lib/stdlib.in.h: Likewise.
90175         * lib/string.in.h: Likewise.
90176         * lib/strings.in.h: Likewise.
90177         * lib/sys_file.in.h: Likewise.
90178         * lib/sys_ioctl.in.h: Likewise.
90179         * lib/sys_select.in.h: Likewise.
90180         * lib/sys_socket.in.h: Likewise.
90181         * lib/sys_stat.in.h: Likewise.
90182         * lib/sys_time.in.h: Likewise.
90183         * lib/sysexits.in.h: Likewise.
90184         * lib/time.in.h: Likewise.
90185         * lib/unistd.in.h: Likewise.
90186         * lib/wchar.in.h: Likewise.
90187         * lib/wctype.in.h: Likewise.
90188         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
90190 2008-10-17  Jim Meyering  <meyering@redhat.com>
90192         ignore-value: don't depend on inline module
90193         * modules/ignore-value (Depends-on): Remove 'inline'.
90194         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
90195         Suggestion from Bruno Haible.
90197 2008-10-17  Bruno Haible  <bruno@clisp.org>
90199         New implementation of condition variables for Win32.
90200         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
90201         (gl_linked_waitqueue_t): New type.
90202         (gl_cond_t): Use it.
90203         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
90204         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
90205         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
90206         (glthread_cond_init_func, glthread_cond_wait_func,
90207         glthread_cond_timedwait_func, glthread_cond_signal_func,
90208         glthread_cond_broadcast_func, glthread_cond_destroy_func):
90209         Reimplemented on the basis of gl_linked_waitqueue_t.
90210         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
90211         gl_waitqueue_t.
90212         (gl_rwlock_t): Update.
90213         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
90215 2008-10-17  Simon Josefsson  <simon@josefsson.org>
90217         * modules/recvfrom (Depends-on): Add dependency on getpeername.
90218         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90220 2008-10-17  Jim Meyering  <meyering@redhat.com>
90222         ignore-value: new module
90223         * modules/ignore-value: New file.
90224         * lib/ignore-value.h: New file.
90225         * MODULES.html.sh (Compiler warning management): New section,
90226         just for this module.  More to come.
90228 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
90230         open-safer.c: avoid 'signed and unsigned in conditional...' warning
90231         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
90232         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
90234 2008-10-16  Jim Meyering  <meyering@redhat.com>
90236         openat-die.c: avoid 'no previous prototype' warning
90237         * lib/openat-die.c: Include "openat.h".
90238         Reported by Reuben Thomas <rrt@sc3d.org>.
90240 2008-10-16  Simon Josefsson  <simon@josefsson.org>
90242         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
90243         * lib/netdb.in.h: Fix typo.
90244         Reported by Bruno Haible  <bruno@clisp.org>
90246         * lib/netdb.in.h: Include sys/socket.h for platforms without
90247         netdb.h, to get structures like hostent on MinGW.
90248         * modules/netdb (Depends-on): Add sys_socket.
90250 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90252         * modules/netdb, modules/netdb-tests: New file.
90253         * m4/netdb_h.m4: New file.
90254         * lib/netdb.in.h: Add, currently just an empty file pending
90255         definitions.
90256         * tests/test-netdb.c: New file.
90257         * doc/posix-headers/netdb.texi: Mention that we replace it if
90258         needed.
90259         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
90260         netdb.
90262 2008-10-15  Simon Josefsson  <simon@josefsson.org>
90264         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
90265         with code.
90267 2008-10-13  Bruno Haible  <bruno@clisp.org>
90269         * lib/glthread/cond.c (glthread_cond_wait_func,
90270         glthread_cond_timedwait_func): Add a comment.
90272 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90274         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
90275         * tests/test-select.c: Likewise,
90277 2008-10-13  Bruno Haible  <bruno@clisp.org>
90279         * lib/glthread/cond.c (glthread_cond_wait_func,
90280         glthread_cond_timedwait_func): Fix variable name.
90281         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
90283 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
90285         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
90286         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
90287         struct sockaddr.sa_len.
90288         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
90290 2008-10-13  Simon Josefsson  <simon@josefsson.org>
90292         * build-aux/pmccabe2html: Add css and css_url parameters.
90294 2008-10-12  Bruno Haible  <bruno@clisp.org>
90296         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
90297         calling aclx_get.
90298         Reported by Rainer Tammer <tammer@tammer.net>.
90300 2008-10-12  Bruno Haible  <bruno@clisp.org>
90302         Use msvcrt aware primitives for creation/termination of Win32 threads.
90303         * lib/glthread/thread.c: Include <process.h>.
90304         (glthread_create_func): Use _beginthreadex instead of CreateThread.
90305         (wrapper_func): Update signature.
90306         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
90308 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
90309             Bruno Haible  <bruno@clisp.org>
90311         Provide a Win32 implementation of the 'cond' module.
90312         * lib/glthread/cond.h [USE_WIN32]: New implementation.
90313         * lib/glthread/cond.c (glthread_cond_init_func,
90314         glthread_cond_wait_func, glthread_cond_timedwait_func,
90315         glthread_cond_signal_func, glthread_cond_broadcast_func,
90316         glthread_cond_destroy_func) [USE_WIN32]: New functions.
90317         * modules/cond (Dependencies): Add gettimeofday.
90319 2008-10-11  Bruno Haible  <bruno@clisp.org>
90321         Make sleep work on older versions of mingw.
90322         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
90323         only whether it exists.
90324         * doc/posix-functions/sleep.texi: Mention the problem with older
90325         versions of mingw.
90327 2008-10-11  Bruno Haible  <bruno@clisp.org>
90329         New module 'shutdown'.
90330         * modules/shutdown: New file.
90331         * lib/sys_socket.in.h (shutdown): New declaration.
90332         * lib/winsock.c (shutdown): New function.
90333         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
90334         GNULIB_SHUTDOWN.
90335         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
90336         * doc/posix-functions/shutdown.texi: Document the new module.
90338 2008-10-11  Jim Meyering  <meyering@redhat.com>
90340         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
90342 2008-10-11  Bruno Haible  <bruno@clisp.org>
90344         New module 'fclose'.
90345         * modules/fclose: New file.
90346         * lib/stdio.in.h (fclose): New declaration.
90347         * lib/fclose.c: New file.
90348         * m4/fclose.m4: New file.
90349         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
90350         REPLACE_FCLOSE.
90351         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
90352         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
90353         REPLACE_FCLOSE.
90354         * modules/close (Depends-on): fclose.
90355         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
90357 2008-10-11  Bruno Haible  <bruno@clisp.org>
90359         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
90360         set errno and don't call _close.
90362 2008-10-10  Bruno Haible  <bruno@clisp.org>
90364         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
90365         ACL, not afterwards. Fixes test failure on Cygwin.
90367 2008-10-09  Ben Pfaff  <blp@gnu.org>
90369         * build-aux/announce-gen: Fix gnulib version related part of usage
90370         message.  Die with a useful error message if no tarballs are
90371         found.
90373 2008-10-10  Jim Meyering  <meyering@redhat.com>
90375         bootstrap: use git's --depth=N option only if it's supported
90376         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
90377         recognize the --depth option.  Reported by Pádraig Brady.
90379 2008-10-09  Bruno Haible  <bruno@clisp.org>
90381         New module 'ioctl'.
90382         * modules/ioctl: New file.
90383         * lib/sys_socket.in.h (ioctl): Remove declaration.
90384         * lib/winsock.c: Include <sys/ioctl.h>.
90385         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
90386         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
90387         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
90388         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
90389         * doc/posix-functions/ioctl.texi: Mention the new module.
90391 2008-10-09  Bruno Haible  <bruno@clisp.org>
90393         New module 'sys_ioctl'.
90394         * lib/sys_ioctl.in.h: New file.
90395         * m4/sys_ioctl_h.m4: New file.
90396         * modules/sys_ioctl: New file.
90397         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
90399 2008-10-09  Bruno Haible  <bruno@clisp.org>
90401         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
90402         * lib/winsock.c: Include <stdarg.h>.
90403         (rpl_ioctl): Change to second argument 'int' and then varargs.
90405 2008-10-09  Bruno Haible  <bruno@clisp.org>
90407         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
90408         when the sys_socket module is present and the system has <winsock2.h>.
90410 2008-10-09  Bruno Haible  <bruno@clisp.org>
90412         * doc/posix-functions/close.texi: Mention module 'close' instead of
90413         module 'sys_socket'.
90415 2008-10-09  Bruno Haible  <bruno@clisp.org>
90417         * doc/glibc-headers/sys_ioctl.texi: New file.
90418         * doc/gnulib.texi: Include it.
90420 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90421             Bruno Haible  <bruno@clisp.org>
90423         Combine the two replacements of 'close'.
90424         * lib/sys_socket.in.h (close): Define to a reminder to include
90425         <unistd.h>.
90426         (_gl_close_fd_maybe_socket): New declaration.
90427         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
90428         * lib/winsock.c (close): Remove undefinition.
90429         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
90430         needed for the gnulib module 'close'.
90431         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
90432         define to an error symbol or to a warning, if suitable.
90433         * lib/close.c: Include <sys/socket.h>.
90434         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
90435         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
90436         UNISTD_H_HAVE_WINSOCK2_H.
90437         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
90438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90439         UNISTD_H_HAVE_WINSOCK2_H.
90440         * modules/sys_socket (Files): Add m4/unistd_h.m4.
90441         (configure.ac): Set a module indicator.
90442         (Makefile.am): Substitute GNULIB_CLOSE.
90443         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
90444         * modules/poll-tests (Depends-on): Add close.
90445         * modules/select-tests (Depends-on): Likewise.
90447 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90448             Bruno Haible  <bruno@clisp.org>
90450         New module 'close'.
90451         * modules/close: New file.
90452         * lib/unistd.in.h (close): Move declaration out of the
90453         FCHDIR_REPLACEMENT scope.
90454         (_gl_unregister_fd): New declaration.
90455         * lib/close.c: New file.
90456         * lib/fchdir.c (rpl_close): Remove function.
90457         * m4/close.m4: New file.
90458         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90459         close.
90460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
90461         REPLACE_CLOSE.
90462         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
90463         REPLACE_CLOSE.
90464         * modules/fchdir (Depends-on): Add close.
90466 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90467             Bruno Haible  <bruno@clisp.org>
90469         * lib/fcntl.in.h (open): Simplify conditionals.
90470         (_gl_register_fd): New declaration.
90471         * lib/fchdir.c (rpl_open): Remove function.
90472         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
90473         also.
90474         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
90475         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
90476         open.
90478 2008-10-09  Jim Meyering  <meyering@redhat.com>
90480         GNUmakefile: use the more name-space-friendly "_version"
90481         * top/GNUmakefile (_dummy): Update.
90482         (_version): Rename from "version".
90484 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90485             Bruno Haible  <bruno@clisp.org>
90487         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
90488         rpl_close.
90489         (_gl_register_fd): New function, extracted from rpl_open.
90490         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
90491         (rpl_open, rpl_opendir): Use _gl_register_fd.
90493 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
90495         Fix organization of 'open' replacement.
90496         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
90497         (gl_FUNC_OPEN): Use it.
90498         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
90500 2008-10-08  Bruno Haible  <bruno@clisp.org>
90502         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
90504 2008-10-08  Simon Josefsson  <simon@josefsson.org>
90506         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
90507         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
90508         listen).
90510 2008-10-08  Eric Blake  <ebb9@byu.net>
90512         GNUmakefile: add 'make version' target
90513         * top/GNUmakefile (_curr-ver): Split version update rules...
90514         (version): ...into a target.
90516 2008-10-07  Bruno Haible  <bruno@clisp.org>
90518         Use a more portable replacement expression for -0.0L.
90519         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
90520         instead of -0.0L. Fix m4 quotation.
90522         * tests/test-signbit.c: Include <float.h>.
90523         (minus_zero): New variable.
90524         (test_signbitl): Use minus_zero instead of -zero.
90525         * modules/signbit-tests (Depends-on): Add float.
90527         * tests/test-ceill.c: Include <float.h>.
90528         (zero): Remove variable.
90529         (minus_zero): New variable.
90530         (main): Use minus_zero instead of -zero.
90531         * modules/ceill-tests (Depends-on): Add float.
90533         * tests/test-floorl.c: Include <float.h>.
90534         (zero): Remove variable.
90535         (minus_zero): New variable.
90536         (main): Use minus_zero instead of -zero.
90537         * modules/floorl-tests (Depends-on): Add float.
90539         * tests/test-roundl.c: Include <float.h>.
90540         (zero): Remove variable.
90541         (minus_zero): New variable.
90542         (main): Use minus_zero instead of -zero.
90543         * modules/roundl-tests (Depends-on): Add float.
90545         * tests/test-truncl.c: Include <float.h>.
90546         (zero): Remove variable.
90547         (minus_zero): New variable.
90548         (main): Use minus_zero instead of -zero.
90549         * modules/truncl-tests (Depends-on): Add float.
90551         * tests/test-frexpl.c (zero): Remove variable.
90552         (minus_zero): New variable.
90553         (main): Use minus_zero instead of -zero.
90554         * modules/frexpl-tests (Depends-on): Add float.
90556         * tests/test-isnan.c (zerol): Remove variable.
90557         (minus_zerol): New variable.
90558         (test_long_double): Use minus_zerol instead of -zerol.
90559         * modules/isnan-tests (Depends-on): Add float.
90561         * tests/test-isnanl.h (zero): Remove variable.
90562         (minus_zero): New variable.
90563         (main): Use minus_zero instead of -zero.
90564         * modules/isnanl-nolibm-tests (Depends-on): Add float.
90565         * modules/isnanl-tests (Depends-on): Add float.
90567         * tests/test-ldexpl.c (zero): Remove variable.
90568         (minus_zero): New variable.
90569         (main): Use minus_zero instead of -zero.
90570         * modules/ldexpl-tests (Depends-on): Add float.
90572         * tests/test-snprintf-posix.h (zerol): Remove variable.
90573         (minus_zerol): New variable.
90574         (test_function): Use minus_zerol instead of -zerol.
90575         * modules/snprintf-posix-tests (Depends-on): Add float.
90576         * modules/vsnprintf-posix-tests (Depends-on): Add float.
90578         * tests/test-sprintf-posix.h (zerol): Remove variable.
90579         (minus_zerol): New variable.
90580         (test_function): Use minus_zerol instead of -zerol.
90581         * modules/sprintf-posix-tests (Depends-on): Add float.
90582         * modules/vsprintf-posix-tests (Depends-on): Add float.
90584         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
90585         (minus_zerol): New variable.
90586         (test_function): Use minus_zerol instead of -zerol.
90587         * modules/vasnprintf-posix-tests (Depends-on): Add float.
90589         * tests/test-vasprintf-posix.c (zerol): Remove variable.
90590         (minus_zerol): New variable.
90591         (test_function): Use minus_zerol instead of -zerol.
90592         * modules/vasprintf-posix-tests (Depends-on): Add float.
90594 2008-10-07  Simon Josefsson  <simon@josefsson.org>
90596         * MODULES.html.sh (Support for building documentation): Mention
90597         pmccabe2html.  Sort entries.
90599         Add pmccabe2html module, from gnupdf.
90600         * build-aux/pmccabe.css: New file.
90601         * build-aux/pmccabe2html: New file.
90602         * m4/pmccabe2html.m4: New file.
90603         * modules/pmccabe2html: New file.
90605 2008-10-07  Richard W.M. Jones  <rjones@redhat.com>
90607         flock: new module
90608         * MODULES.html.sh: Add to list of modules.
90609         * lib/flock.c: flock implementation for Windows and Unix systems
90610         which have fcntl.
90611         * doc/glibc-functions/flock.texi: Update documentation.
90612         * lib/sys_file.in.h: <sys/file.h> header file.
90613         * m4/flock.m4: M4 macros.
90614         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
90615         * modules/flock: flock module.
90616         * modules/flock-tests: flock tests module.
90617         * modules/sys_file: sys/file.h module.
90618         * tests/test-flock.c: test suite for flock.
90620 2008-10-06  Jim Meyering  <meyering@redhat.com>
90622         bootstrap: check for LT_INIT more portably still ;-)
90623         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
90624         Spotted by Bruno Haible.
90626 2008-10-06  Eric Blake  <ebb9@byu.net>
90628         test-signbit: avoid tripping Irix cc bug on -0.0L
90629         * tests/test-signbit.c (minus_zerol): Delete, and replace with
90630         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
90631         entire testsuite consistent and avoids an Irix 6.2 bug.
90633 2008-10-05  Bruno Haible  <bruno@clisp.org>
90634             Jim Meyering  <jim@meyering.net>
90636         Add an option for ignoring EPIPE during close_stdout.
90637         * lib/closeout.h: Include <stdbool.h>.
90638         (close_stdout_set_ignore_EPIPE): New declaration.
90639         * lib/closeout.c: Include <stdbool.h>.
90640         (ignore_EPIPE): New variable.
90641         (close_stdout_set_ignore_EPIPE): New function.
90642         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
90643         * lib/close-stream.c (close_stream): Mention the possible EPIPE
90644         failure.
90645         * modules/closeout (Depends-on): Add stdbool.
90647 2008-10-05  Bruno Haible  <bruno@clisp.org>
90649         * modules/accept: New file.
90650         * modules/bind: New file.
90651         * modules/connect: New file.
90652         * modules/getpeername: New file.
90653         * modules/getsockname: New file.
90654         * modules/getsockopt: New file.
90655         * modules/listen: New file.
90656         * modules/recv: New file.
90657         * modules/recvfrom: New file.
90658         * modules/send: New file.
90659         * modules/sendto: New file.
90660         * modules/setsockopt: New file.
90661         * modules/socket: New file.
90662         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
90663         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
90664         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
90665         the particular module is requested. Add a link warning when the
90666         particular module is not requested.
90667         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
90668         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
90669         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
90670         the particular module is requested.
90671         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
90672         gl_SYS_SOCKET_H_DEFAULTS): New macros.
90673         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
90674         * modules/sys_socket (Depends-on): Add link-warning.
90675         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
90676         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
90677         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
90678         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
90679         GL_LINK_WARNING.
90680         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
90681         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
90682         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
90683         * doc/posix-functions/getpeername.texi: Mention the new module
90684         'getpeername'.
90685         * doc/posix-functions/getsockname.texi: Mention the new module
90686         'getsockname'.
90687         * doc/posix-functions/getsockopt.texi: Mention the new module
90688         'getsockopt'.
90689         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
90690         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
90691         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
90692         * doc/posix-functions/send.texi: Mention the new module 'send'.
90693         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
90694         * doc/posix-functions/setsockopt.texi: Mention the new module
90695         'setsockopt'.
90696         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
90697         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
90698         listen, connect, accept.
90699         * modules/select-tests (Depends-on): Likewise.
90701 2008-10-05  Bruno Haible  <bruno@clisp.org>
90703         * lib/winsock.c (strerror): Remove unused #undef.
90704         (rpl_close): Remove unused local variable.
90706         * modules/sys_socket (Depends-on); Add errno.
90708 2008-10-05  Bruno Haible  <bruno@clisp.org>
90710         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
90711         (select): Add a link warning when the 'select' module is not used.
90712         * modules/sys_select (Depends-on): Add link-warning.
90713         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
90714         Suggested by Paolo Bonzini.
90716 2008-10-05  Jim Meyering  <meyering@redhat.com>
90718         bootstrap: check for LT_INIT more portably
90719         * build-aux/bootstrap: Avoid using grep -E, since it's not
90720         portable enough.  Suggestion from Bruno Haible.
90722 2008-10-05  Bruno Haible  <bruno@clisp.org>
90724         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
90725         as being fixed by gnulib.
90727 2008-10-05  Bruno Haible  <bruno@clisp.org>
90729         * modules/select-tests: New file, mostly copied from
90730         modules/sys_select-tests.
90731         * tests/test-select.c: New file, mostly copied from
90732         tests/test-sys_select.c.
90733         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
90734         * modules/sys_select-tests (Depends-on): Remove all dependencies.
90735         (Makefile.am): Remove test_sys_select_LDADD.
90737         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
90738         to an undefined symbol, for an error message.
90739         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
90740         (gl_SYS_SELECT_H_DEFAULTS): New macro.
90741         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
90742         winsock-select.c here.
90743         * modules/sys_select (Files): Remove lib/winsock-select.c.
90744         (Depends-on): Remove alloca.
90745         (Makefile.am): Substitute GNULIB_SELECT.
90746         * modules/select: New file.
90747         * doc/posix-functions/select.texi: Update.
90749 2008-10-05  Bruno Haible  <bruno@clisp.org>
90751         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
90752         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
90753         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
90754         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
90755         getdtablesize.
90756         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
90757         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
90759 2008-10-05  Bruno Haible  <bruno@clisp.org>
90761         * modules/getdtablesize-tests: New file.
90762         * tests/test-getdtablesize.c: New file.
90764         New module 'getdtablesize'.
90765         * lib/unistd.in.h (getdtablesize): New declaration.
90766         * lib/getdtablesize.c: New file.
90767         * m4/getdtablesize.m4: New file.
90768         * modules/getdtablesize: New file.
90769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
90770         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
90771         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
90772         HAVE_GETDTABLESIZE.
90773         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
90775 2008-10-05  Bruno Haible  <bruno@clisp.org>
90777         * modules/sched (Makefile.am): Fix typo.
90778         Reported by Simon Josefsson.
90780 2008-10-05  Jim Meyering  <meyering@redhat.com>
90782         bootstrap: check for LT_INIT, too
90783         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
90784         are deprecated.  Suggestion from Ralf Wildenhues.
90786 2008-10-05  Bruno Haible  <bruno@clisp.org>
90788         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
90789         overriding them by ours.
90790         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
90792 2008-10-05  Jim Meyering  <meyering@redhat.com>
90794         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
90795         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
90796         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
90798 2008-10-04  Bruno Haible  <bruno@clisp.org>
90800         * modules/dup2 (License): Change to LGPLv2+.
90801         * modules/sleep (License): Likewise.
90802         * modules/perror (License): Likewise.
90803         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
90804         Blake.
90805         * modules/signal (License): Likewise.
90806         * modules/sigprocmask (License): Likewise.
90807         * modules/raise (License): Change to LGPLv2+, with approval by Jim
90808         Meyering.
90810 2008-10-04  Bruno Haible  <bruno@clisp.org>
90812         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
90813         Reported by Rainer Tammer <tammer@tammer.net>.
90815 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
90816             Bruno Haible  <bruno@clisp.org>
90818         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
90819         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
90820         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
90822 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
90824         filevercmp: new module
90825         * lib/filevercmp.h: New function filevercmp comparing version strings.
90826         * lib/filevercmp.c: Implementation of filevercmp function.
90827         * modules/filevercmp: Module metadata.
90828         * tests/test-filevercmp.c: Unit test for new module.
90829         * modules/filevercmp-tests: Unit test metadata.
90830         * MODULES.html.sh: Add filevercmp module.
90832 2008-10-03  Bruno Haible  <bruno@clisp.org>
90834         * lib/c-ctype.h: Add comment.
90835         Reported by Jim Meyering.
90837 2008-10-02  Bruno Haible  <bruno@clisp.org>
90839         * modules/posix_spawn-internal (Depends-on): Add 'open'.
90841 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90843         * build-aux/bootstrap: Allow renaming bootstrap, and change the
90844         name of bootstrap.conf accordingly.
90846 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90848         * build-aux/bootstrap: Install git-merge-changelog configuration
90849         items into .gitconfig if needed.
90851 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
90853         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
90854         git repository, and initialize/update it accordingly.
90856 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
90858         * modules/fsync-tests: New file.
90859         * tests/test-fsync.c: New file.
90861         New module 'fsync'.
90862         * lib/fsync.c: New file.
90863         * m4/fsync.m4: New file.
90864         * modules/fsync: New file.
90865         * lib/unistd.in.h (fsync): New declaration.
90866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
90867         GNULIB_FSYNC and HAVE_FSYNC.
90868         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
90869         * MODULES.html.sh (posix_functions): Add fsync.
90870         * doc/posix-functions/fsync.texi: Mention the new module.
90872 2008-10-02  Jim Meyering  <meyering@redhat.com>
90874         fts.c: sync with similar code from coreutils' remove.c
90875         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
90876         Guard also with "#if defined __linux__", since for now at least,
90877         this code is Linux-kernel-specific.
90879 2008-10-02  Jim Meyering  <meyering@redhat.com>
90881         fts: bug fixes
90882         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
90883         Include <sys/vfs.h>, not <sys/statfs.h>.
90885         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
90886         Include <sys/vfs.h>, not <sys/statfs.h>.
90888 2008-10-01  Bruno Haible  <bruno@clisp.org>
90890         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
90891         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
90892         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
90893         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
90894         * doc/posix-functions/posix_spawnp.texi: Likewise.
90895         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
90896         whether posix_spawn actually works.
90897         * m4/pipe.m4 (gl_PIPE): Likewise.
90898         * modules/execute (Files): Add m4/posix_spawn.m4.
90899         * modules/pipe (Files): Add m4/posix_spawn.m4.
90900         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
90902 2008-10-01  Jim Meyering  <meyering@redhat.com>
90904         remove trailing spaces
90905         * NEWS: Likewise.
90906         * lib/poll.c (poll): Likewise.
90907         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
90908         * lib/winsock.c (rpl_close): Likewise.
90909         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
90910         * modules/yield: Likewise.
90911         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
90912         * tests/test-sys_select.c (connect_to_socket): Likewise.
90914         fts.c: adjust a new interface to be more generally useful
90915         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
90916         (fts_build): Adjust caller.
90918 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90920         * modules/cond-tests: New file.
90921         * tests/test-cond.c: New file.
90923 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90924             Bruno Haible  <bruno@clisp.org>
90926         * modules/cond (Dependencies): Add errno, time.
90927         * lib/glthread/cond.h: Include <time.h>.
90928         (gl_cond_define, gl_cond_define_initialized): Use the same definition
90929         across platforms.
90931 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90932             Bruno Haible  <bruno@clisp.org>
90934         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
90936 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90937             Bruno Haible  <bruno@clisp.org>
90939         * modules/tls-tests (Depends-on): Add thread, yield.
90940         (configure.ac): Remove all checks.
90941         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
90942         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90943         gl_thread_self): Remove definitions. Include glthread/thread.h and
90944         glthread/yield.h instead.
90945         (test_tls): Pass an additional NULL argument to gl_thread_join.
90947 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
90948             Bruno Haible  <bruno@clisp.org>
90950         * modules/lock-tests (Depends-on): Add thread, yield.
90951         (configure.ac): Remove all checks.
90952         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
90953         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
90954         gl_thread_self): Remove definitions. Include glthread/thread.h and
90955         glthread/yield.h instead.
90956         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
90957         additional NULL argument to gl_thread_join.
90959 2008-09-30  Bruno Haible  <bruno@clisp.org>
90961         Fix the Win32 implementation of the 'thread' module.
90962         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
90963         pointer type.
90964         (gl_thread_self): Invoke gl_thread_self_func.
90965         (gl_thread_self_func): New declaration.
90966         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
90967         (do_init_self_key, init_self_key): New functions.
90968         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
90969         Remove some fields.
90970         (running_threads, running_lock): Remove variables.
90971         (get_current_thread_handle): New function.
90972         (gl_thread_self_func, wrapper_func, glthread_create_func,
90973         glthread_join_func, gl_thread_exit_func): Largely rewritten and
90974         simplified.
90976 2008-09-30  Bruno Haible  <bruno@clisp.org>
90978         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
90979         files.
90981 2008-09-30  Jim Meyering  <meyering@redhat.com>
90983         fts.m4: correct the test for statfs.f_type
90984         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
90985         when checking for statfs.f_type.
90987 2008-09-15  Simon Josefsson  <simon@josefsson.org>
90989         tests: avoid some compiler warnings
90990         * tests/test-memchr.c (main): Pass NULL indirectly.
90991         * tests/test-getdate.c (main): Remove unused variable 'ret'.
90993 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
90995         getdate.y: disallow countable dayshifts like "4 yesterday ago"
90996         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
90997         exactly specified dayshifts.
90998         (dayshift): New rule.
90999         (rel): Add dayshift.
91000         (relative_time_table) [tomorrow, yesterday, today, now]:
91001         Use tDAY_SHIFT in place of tDAY_UNIT.
91002         * tests/test-getdate.c: Add tests for now-disallowed countable
91003         dayshifts, e.g., "4 yesterday ago".
91005 2008-09-29  Bruno Haible  <bruno@clisp.org>
91007         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
91008         * tests/test-posix_spawn1.in.sh: Renamed from
91009         tests/test-posix_spawn.in.sh.
91010         * tests/test-posix_spawn2.c: New file.
91011         * tests/test-posix_spawn2.in.sh: New file.
91012         * modules/posix_spawnp-tests (Files): Update.
91013         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
91015 2008-09-29  Bruno Haible  <bruno@clisp.org>
91017         Propagate effects of putenv/setenv/unsetenv to child processes.
91018         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
91019         * lib/pipe.c (create_pipe): Likewise.
91021 2008-09-29  Bruno Haible  <bruno@clisp.org>
91023         Enable use of shell scripts as executables in mingw.
91024         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
91025         run the program as a shell script.
91026         * lib/pipe.c (create_pipe): Likewise.
91027         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
91028         resulting array.
91030 2008-09-29  Eric Blake  <ebb9@byu.net>
91032         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
91034 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
91036         * doc/posix-functions/accept.texi: Update mingw problems.
91037         * doc/posix-functions/bind.texi: Update mingw problems.
91038         * doc/posix-functions/close.texi: Update mingw problems.
91039         * doc/posix-functions/connect.texi: Update mingw problems.
91040         * doc/posix-functions/getpeername.texi: Update mingw problems.
91041         * doc/posix-functions/getsockname.texi: Update mingw problems.
91042         * doc/posix-functions/getsockopt.texi: Update mingw problems.
91043         * doc/posix-functions/ioctl.texi: Update mingw problems.
91044         * doc/posix-functions/listen.texi: Update mingw problems.
91045         * doc/posix-functions/recv.texi: Update mingw problems.
91046         * doc/posix-functions/recvfrom.texi: Update mingw problems.
91047         * doc/posix-functions/select.texi: Update mingw problems.
91048         * doc/posix-functions/send.texi: Update mingw problems.
91049         * doc/posix-functions/sendto.texi: Update mingw problems.
91050         * doc/posix-functions/setsockopt.texi: Update mingw problems.
91051         * doc/posix-functions/socket.texi: Update mingw problems.
91053 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
91054             Bruno Haible  <bruno@clisp.org>
91056         * lib/sys_select.in.h: Include sys/time.h.
91057         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
91058         * modules/sys_select: Depend on sys_time.
91059         * tests/test-sys_select.c: Test that sys/select.h defines struct
91060         timeval fully.
91062 2008-09-29  Bruno Haible  <bruno@clisp.org>
91064         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
91065         * lib/sys_select.in.h: Likewise.
91067 2008-09-29  Bruno Haible  <bruno@clisp.org>
91069         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
91071 2008-09-29  Bruno Haible  <bruno@clisp.org>
91073         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
91074         Set LIBSOCKET instead of augmenting LIBS.
91075         * modules/sockets (Link): New section.
91076         * modules/sockets-tests (test_sockets_LDADD): New variable.
91077         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
91078         * modules/poll-tests (test_poll_LDADD): New variable.
91079         * NEWS: Document the change.
91081 2008-09-29  Bruno Haible  <bruno@clisp.org>
91083         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
91084         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
91085         ARPA_INET_H directly.
91086         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
91088 2008-09-28  Bruno Haible  <bruno@clisp.org>
91090         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
91091         from gl_HEADER_SYS_SOCKET.
91092         (gl_HEADER_SYS_SOCKET): Invoke it.
91093         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
91095 2008-09-28  Bruno Haible  <bruno@clisp.org>
91097         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
91098         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
91099         Needed on OSF/1 4.0.
91101 2008-09-28  Bruno Haible  <bruno@clisp.org>
91103         Override open more carefully.
91104         * lib/open.c (orig_open): New function.
91105         (rpl_open): Use orig_open instead of open.
91106         * lib/fcntl.in.h: Add special invocation convention.
91107         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
91108         (gl_FUNC_OPEN): Invoke it.
91110         Override freopen more carefully.
91111         * lib/freopen.c (orig_freopen): New function.
91112         (rpl_freopen): Use orig_freopen instead of freopen.
91113         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
91114         (gl_FUNC_FREOPEN): Invoke it.
91116         Override fopen more carefully.
91117         * lib/fopen.c (orig_fopen): New function.
91118         (rpl_fopen): Use orig_fopen instead of fopen.
91119         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
91120         (gl_FUNC_FOPEN): Invoke it.
91121         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
91123 2008-09-28  Bruno Haible  <bruno@clisp.org>
91125         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
91126         SIGPIPE.
91128 2008-09-28  Bruno Haible  <bruno@clisp.org>
91130         * tests/test-sigaction.c (handler, main): Disable the check whether
91131         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
91132         glibc systems with LinuxThreads.
91134 2008-09-28  Bruno Haible  <bruno@clisp.org>
91136         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
91138         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
91139         with AIX xlc.
91140         * lib/fcntl.in.h (open): Likewise.
91141         Reported by Rainer Tammer <tammer@tammer.net>.
91143 2008-09-28  Bruno Haible  <bruno@clisp.org>
91145         * modules/posix_spawnp-tests: New file.
91146         * tests/test-posix_spawn.c: New file.
91147         * tests/test-posix_spawn.in.sh: New file.
91149         New module 'posix_spawnp'.
91150         * modules/posix_spawnp: New file.
91151         * lib/spawnp.c: New file, from GNU libc with modifications.
91152         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
91154         New module 'posix_spawn'.
91155         * modules/posix_spawn: New file.
91156         * lib/spawn.c: New file, from GNU libc with modifications.
91157         * doc/posix-functions/posix_spawn.texi: Mention the new module.
91159         New module 'posix_spawnattr_destroy'.
91160         * modules/posix_spawnattr_destroy: New file.
91161         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
91162         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
91163         module.
91165         New module 'posix_spawnattr_setsigmask'.
91166         * modules/posix_spawnattr_setsigmask: New file.
91167         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
91168         modifications.
91169         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
91170         new module.
91172         New module 'posix_spawnattr_getsigmask'.
91173         * modules/posix_spawnattr_getsigmask: New file.
91174         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
91175         modifications.
91176         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
91177         new module.
91179         New module 'posix_spawnattr_setsigdefault'.
91180         * modules/posix_spawnattr_setsigdefault: New file.
91181         * lib/spawnattr_setdefault.c: New file, from GNU libc with
91182         modifications.
91183         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
91184         new module.
91186         New module 'posix_spawnattr_getsigdefault'.
91187         * modules/posix_spawnattr_getsigdefault: New file.
91188         * lib/spawnattr_getdefault.c: New file, from GNU libc with
91189         modifications.
91190         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
91191         new module.
91193         New module 'posix_spawnattr_setschedpolicy'.
91194         * modules/posix_spawnattr_setschedpolicy: New file.
91195         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
91196         modifications.
91197         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
91198         new module.
91200         New module 'posix_spawnattr_getschedpolicy'.
91201         * modules/posix_spawnattr_getschedpolicy: New file.
91202         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
91203         modifications.
91204         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
91205         new module.
91207         New module 'posix_spawnattr_setschedparam'.
91208         * modules/posix_spawnattr_setschedparam: New file.
91209         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
91210         modifications.
91211         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
91212         new module.
91214         New module 'posix_spawnattr_getschedparam'.
91215         * modules/posix_spawnattr_getschedparam: New file.
91216         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
91217         modifications.
91218         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
91219         new module.
91221         New module 'posix_spawnattr_setpgroup'.
91222         * modules/posix_spawnattr_setpgroup: New file.
91223         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
91224         modifications.
91225         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
91226         module.
91228         New module 'posix_spawnattr_getpgroup'.
91229         * modules/posix_spawnattr_getpgroup: New file.
91230         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
91231         modifications.
91232         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
91233         module.
91235         New module 'posix_spawnattr_setflags'.
91236         * modules/posix_spawnattr_setflags: New file.
91237         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
91238         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
91239         module.
91241         New module 'posix_spawnattr_getflags'.
91242         * modules/posix_spawnattr_getflags: New file.
91243         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
91244         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
91245         module.
91247         New module 'posix_spawnattr_init'.
91248         * modules/posix_spawnattr_init: New file.
91249         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
91250         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
91251         module.
91253         New module 'posix_spawn_file_actions_destroy'.
91254         * modules/posix_spawn_file_actions_destroy: New file.
91255         * lib/spawn_faction_destroy.c: New file, from GNU libc with
91256         modifications.
91257         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
91258         the new module.
91260         New module 'posix_spawn_file_actions_addopen'.
91261         * modules/posix_spawn_file_actions_addopen: New file.
91262         * lib/spawn_faction_addopen.c: New file, from GNU libc with
91263         modifications.
91264         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
91265         the new module.
91267         New module 'posix_spawn_file_actions_adddup2'.
91268         * modules/posix_spawn_file_actions_adddup2: New file.
91269         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
91270         modifications.
91271         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
91272         the new module.
91274         New module 'posix_spawn_file_actions_addclose'.
91275         * modules/posix_spawn_file_actions_addclose: New file.
91276         * lib/spawn_faction_addclose.c: New file, from GNU libc with
91277         modifications.
91278         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
91279         the new module.
91281         New module 'posix_spawn_file_actions_init'.
91282         * modules/posix_spawn_file_actions_init: New file.
91283         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
91284         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
91285         new module.
91287         New module 'posix_spawn-internal'.
91288         * modules/posix_spawn-internal: New file.
91289         * lib/spawn_int.h: New file, from GNU libc with modifications.
91290         * lib/spawni.c: New file, from GNU libc with modifications.
91291         * m4/posix_spawn.m4: New file.
91293         New module 'spawn'.
91294         * modules/spawn: New file.
91295         * lib/spawn.in.h: New file, from GNU libc with modifications.
91296         * m4/spawn_h.m4: New file.
91297         * doc/posix-headers/spawn.texi: Mention the new module.
91299 2008-09-28  Bruno Haible  <bruno@clisp.org>
91301         * modules/sched-tests: New file.
91302         * tests/test-sched.c: New file.
91304         New module 'sched'.
91305         * modules/sched: New file.
91306         * lib/sched.in.h: New file.
91307         * m4/sched_h.m4: New file.
91308         * doc/posix-headers/sched.texi: Mention the new module.
91310 2008-09-27  Eric Blake  <ebb9@byu.net>
91312         Fix previous patch, and tweak references to $0.
91313         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
91314         (func_version, func_gnulib_dir): Don't call this program
91315         gnulib-tool.
91316         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
91317         with using $0 in function.
91318         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
91319         (func_fatal_error): Reuse the name the user invoked us with.
91321 2008-09-27  Bruno Haible  <bruno@clisp.org>
91323         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
91324         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
91325         (gl_ICONV_H): Not here.
91326         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
91327         instead of assigning ICONV_H directly.
91329         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
91330         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
91331         WCHAR_H directly.
91333 2008-09-27  Bruno Haible  <bruno@clisp.org>
91335         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
91336         * modules/arpa_inet (Depends-on): Add link-warning.
91337         (Makefile.am): Insert the definition of GL_LINK-WARNING.
91338         * modules/unistd (Makefile.am): Likewise.
91340 2008-09-26  Bruno Haible  <bruno@clisp.org>
91342         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
91343         variables.
91344         (func_version): Essentially copied from gnulib-tool.
91345         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
91346         func_readlink): Copied from gnulib-tool.
91348 2008-09-26  Bruno Haible  <bruno@clisp.org>
91350         * gnulib-tool (func_version): Change directory to $gnulib_dir before
91351         invoking git-version-gen.
91353 2008-09-26  Bruno Haible  <bruno@clisp.org>
91355         * posix-modules: Update to directory names changed on 2008-01-19.
91356         Remove commas in output before splitting into words. No more need to
91357         avoid 'ftruncate' since 2007-02-19.
91359 2008-09-26  Bruno Haible  <bruno@clisp.org>
91361         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
91363 2008-09-26  Bruno Haible  <bruno@clisp.org>
91365         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
91366         * modules/fwriteerror (Depends-on): Add errno.
91368 2008-09-26  Bruno Haible  <bruno@clisp.org>
91370         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
91371         * tests/test-vc-list-files-cvs.sh: Likewise.
91373 2008-09-26  Bruno Haible  <bruno@clisp.org>
91375         * doc/posix-headers/sys_resource.texi: Reorder items.
91377 2008-09-26  Jim Meyering  <meyering@redhat.com>
91379         fts: tweak inode comparison function
91380         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
91381         inode numbers, as documented.
91383         fts: sort dirent entries on inode number before traversing
91384         This avoids a quadratic, seek-related performance penalty when
91385         operating on a directory containing many entries (measurable at 10k;
91386         3.5 hours at 2 million entries with a cold cache) on certain types
91387         of file systems, including ext3 and ext4, but not tmpfs.
91388         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
91389         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
91390         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
91391         (fs_handles_readdir_ordered_dirents_efficiently): New function.
91392         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
91393         (fts_build): Set the stat.st_ino member from D_INO.
91394         If it is likely to be useful, sort dirent entries on inode number.
91396         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
91397         and the struct statfs.f_type member.
91398         * modules/fts (Depends-on): Add d-ino.
91400 2008-09-26  Bruno Haible  <bruno@clisp.org>
91402         * modules/sigpipe-die (Depends-on): Add sigpipe.
91404         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
91405         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
91406         and GNULIB_STDIO_H_SIGPIPE are set.
91407         * lib/stdio-write.c: New file.
91408         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
91409         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91410         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91411         REPLACE_STDIO_WRITE_FUNCS.
91412         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
91413         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91414         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91415         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91416         * modules/stdio (Files): Add lib/stdio-write.c.
91417         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
91418         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
91419         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
91420         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
91421         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
91422         REPLACE_FPRINTF_POSIX.
91423         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
91424         REPLACE_PRINTF_POSIX.
91425         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
91426         REPLACE_VFPRINTF_POSIX.
91427         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
91428         REPLACE_VPRINTF_POSIX.
91429         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
91430         SIGPIPE issue.
91431         * doc/posix-functions/fputc.texi: Likewise.
91432         * doc/posix-functions/fputs.texi: Likewise.
91433         * doc/posix-functions/fwrite.texi: Likewise.
91434         * doc/posix-functions/printf.texi: Likewise.
91435         * doc/posix-functions/putc.texi: Likewise.
91436         * doc/posix-functions/putchar.texi: Likewise.
91437         * doc/posix-functions/puts.texi: Likewise.
91438         * doc/posix-functions/vfprintf.texi: Likewise.
91439         * doc/posix-functions/vprintf.texi: Likewise.
91441         * modules/safe-write (Depends-on): Add write.
91443         * modules/sigpipe-tests: New file.
91444         * tests/test-sigpipe.c: New file.
91445         * tests/test-sigpipe.sh: New file.
91447         * modules/write: New file.
91448         * lib/unistd.in.h: Include <sys/types.h>.
91449         (write): New declaration.
91450         * lib/write.c: New file.
91451         * m4/write.m4: New file.
91452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
91453         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
91454         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
91455         GNULIB_WRITE, REPLACE_WRITE.
91456         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
91457         and the SIGPIPE issue.
91459         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
91460         (raise): New declaration.
91461         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
91462         (ext_signal): New function.
91463         (rpl_raise): New function.
91464         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
91465         GNULIB_SIGNAL_H_SIGPIPE.
91466         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
91467         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
91469         * modules/sigpipe: New file.
91470         * m4/sigpipe.m4: New file.
91472 2008-09-25  Derek Price  <derek@ximbiot.com>
91473             Bruno Haible  <bruno@clisp.org>
91475         * gnulib-tool (func_import): Report all license incompatibilities, not
91476         just the first one.
91478 2008-09-25  Bruno Haible  <bruno@clisp.org>
91480         * gnulib-tool (func_import): When computing the edits, consider not
91481         only the Makefile.ams that exist but also those that will be generated.
91483 2008-09-25  Simon Josefsson  <simon@josefsson.org>
91485         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
91486         fixes gnulib-tool --test warning about duplicate dependency.
91488 2008-09-25  Bruno Haible  <bruno@clisp.org>
91490         * gnulib-tool: Don't ask the user to perform edits in the generated
91491         Makefile.ams.
91492         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
91493         apply to the Makefile.am being generated.
91494         (func_emit_tests_Makefile_am): Execute edits that apply to the
91495         Makefile.am being generated.
91496         (func_import): Setup list of Makefile.am edits before emitting the
91497         Makefile.ams, not at the end.
91498         (func_create_testdir): Update.
91499         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91501 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91503         * gnulib-tool (func_import): Store the --tests-base option in the
91504         comment in gnulib-cache.m4.
91506 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
91508         * NEWS: Document increased portability that sys_select now provides.
91510         * lib/sys_select.in.h: Install select wrapper.
91511         * lib/sys_socket.in.h: Use more descriptive name when there is no
91512         select wrapper.
91513         * lib/winsock-select.c: New.
91514         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
91515         Require gl_HEADER_SYS_SOCKET.
91516         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
91517         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
91518         * tests/test-sys_select.c: Add functional tests.
91520 2008-09-24  Eric Blake  <ebb9@byu.net>
91522         open, fopen: close fd leak in last patch
91523         * lib/open.c (rpl_open): Close fd before returning error.
91524         * lib/fopen.c (rpl_fopen): Close fd before returning error.
91525         * doc/posix-functions/open.texi (open): Document that Irix also
91526         has the bug.
91527         * doc/posix-functions/fopen.texi (fopen): Likewise.
91528         Reported by Paolo Bonzini.
91530 2008-09-24  Bruno Haible  <bruno@clisp.org>
91532         Ensure that a filename ending in a slash cannot be used to access a
91533         non-directory.
91534         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
91535         to check whether it's really a directory.
91536         * lib/fopen.c: Include fcntl.h, unistd.h.
91537         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
91538         and fdopen().
91539         * modules/fopen (Depends-on): Add unistd.
91540         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
91541         * tests/test-fopen.c (main): Likewise.
91542         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
91543         * doc/posix-functions/fopen.texi: Likewise.
91544         Reported by Eric Blake.
91546 2008-09-23  Eric Blake  <ebb9@byu.net>
91548         c-stack: avoid compiler optimizations when provoking overflow
91549         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
91550         recursion harder to optimize, to ensure a stack overflow occurs.
91551         * tests/test-c-stack.c (recurse): Likewise.
91552         Borrowed from libsigsegv.
91554         c-stack: work around Irix sigaltstack bug
91555         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
91556         whether sigaltstack uses wrong end of stack_t (copied in part from
91557         libsigsegv).
91558         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
91559         Irix bug, without requiring an over-allocation.
91560         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
91561         bug.
91563         fopen: document mingw bug on directories
91564         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
91565         not allowing a stream visiting a directory, even though reading
91566         from such a stream is not portable.
91568 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91570         * lib/poll.c: Rewrite.
91571         * modules/poll: Depend on alloca.
91573 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91575         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
91576         instead define prototypes for a full set of wrappers.  Ensure
91577         that Cygwin does not use the compatibility code, which is only
91578         for MinGW.
91579         * lib/winsock.c: New.
91580         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
91581         * modules/sys_socket: Add lib/winsock.c.
91583         * modules/poll-tests: Add errno and perror.
91584         * tests/test-poll.c: Use ioctl, not ioctlsocket.
91586 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
91588         * tests/test-poll.c: Downgrade minimum needed Winsock version.
91590 2008-09-23  Bruno Haible  <bruno@clisp.org>
91592         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
91593         * doc/glibc-functions/*: Likewise.
91595 2008-09-23  Simon Josefsson  <simon@josefsson.org>
91597         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
91598         success.
91600 2008-09-22  Eric Blake  <ebb9@byu.net>
91601             Bruno Haible  <bruno@clisp.org>
91603         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
91604         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
91605         supply %A but mishandle pseudo-NaN.
91606         Reported by Simon Josefsson.
91608 2008-09-21  Bruno Haible  <bruno@clisp.org>
91610         * tests/test-lock.c (main): Tweak skip message.
91611         * tests/test-tls.c (main): Likewise.
91613 2008-09-21  Bruno Haible  <bruno@clisp.org>
91615         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
91616         whether 'struct sigaction' has sa_sigaction here...
91617         (gl_PREREQ_SIG_HANDLER_H): ... not here.
91618         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
91620 2008-09-21  Bruno Haible  <bruno@clisp.org>
91622         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
91623         section.
91624         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
91625         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
91626         the new section.
91627         (Support for obsolete systems lacking POSIX:2001): New section.
91628         (String handling <string.h>): Move strdup to the new section.
91629         Suggested by Simon Josefsson and Paolo Bonzini.
91631 2008-09-21  Bruno Haible  <bruno@clisp.org>
91633         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
91634         exponents in %e and %g results on 'long double'. Needed for mingw's
91635         improved *printf functions.
91636         * tests/test-vasprintf-posix.c (test_function): Likewise.
91637         * tests/test-snprintf-posix.h (test_function): Likewise.
91638         * tests/test-sprintf-posix.h (test_function): Likewise.
91639         Reported by Eric Blake.
91641 2008-09-21  Bruno Haible  <bruno@clisp.org>
91643         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
91644         * tests/test-sprintf-posix.h (test_function): Likewise.
91646 2008-09-21  Bruno Haible  <bruno@clisp.org>
91648         * modules/getpass (Depends-on): Add strdup-posix.
91650         New module 'strdup-posix'.
91651         * modules/strdup-posix: New file.
91652         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
91653         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
91654         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
91655         REPLACE_STRDUP.
91656         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
91657         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
91658         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
91659         strdup-posix.
91661         * modules/strdup (Depends-on): Remove malloc-posix.
91663 2008-09-20  Bruno Haible  <bruno@clisp.org>
91665         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
91666         Wildenhues.
91668 2008-09-20  Bruno Haible  <bruno@clisp.org>
91670         Ensure that wint_t gets defined on IRIX 5.3.
91671         * lib/wchar.in.h (wint_t): Define if not defined by the system.
91672         * lib/wctype.in.h (wint_t): Likewise.
91673         (__wctype_wint_t): Remove type.
91674         (isw*): Use wint_t instead of __wctype_wint_t.
91675         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
91676         * modules/wchar (Files): Add m4/wint_t.m4.
91677         (Makefile.am): Substitute HAVE_WINT_T.
91678         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
91679         * tests/test-wctype.c: Check that wint_t is defined.
91680         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
91681         * doc/posix-headers/wctype.texi: Likewise.
91682         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
91684 2008-09-18  Bruno Haible  <bruno@clisp.org>
91686         * gnulib-tool (func_exit): Update comment.
91688 2008-09-18  Simon Josefsson  <simon@josefsson.org>
91690         * modules/getaddrinfo (Depends-on): Remove strdup, this module
91691         assumes strdup exists and does not depend on strdup to return
91692         ENOMEM on out of memory conditions.
91694 2008-09-18  Bruno Haible  <bruno@clisp.org>
91696         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
91697         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
91698         digits for the exponent.
91700 2008-09-18  Jim Meyering  <meyering@redhat.com>
91701             Bruno Haible  <bruno@clisp.org>
91703         * lib/vasnprintf.c (decimal_point_char): Define also if
91704         NEED_PRINTF_INFINITE_LONG_DOUBLE.
91706 2008-09-16  Bruno Haible  <bruno@clisp.org>
91707         and Eric Blake  <ebb9@byu.net>
91709         vasnprintf: support Irix 5.3
91710         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
91711         that mishandle long double infinity.
91712         Reported by Tom G. Christensen.
91714 2008-09-16  Bruno Haible  <bruno@clisp.org>
91716         * doc/glibc-functions/scandir.texi: Mention the function is missing on
91717         Solaris 9.
91718         * doc/glibc-functions/alphasort.texi: Likewise.
91719         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
91721 2008-09-16  Jim Meyering  <meyering@redhat.com>
91723         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
91724         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
91725         a umask modification leak out of a subshell.  Otherwise, the
91726         opensolaris /bin/sh would be accepted and thus cause unwarranted
91727         failures in the coreutils test suite.
91729 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
91731         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
91732         to succeed.
91734 2008-09-16  Jim Meyering  <meyering@redhat.com>
91736         avoid spurious test failure when library is built without ACL support
91737         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
91738         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
91739         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
91740         * tests/test-copy-acl.sh: Likewise.
91742 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91744         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
91745         based on character occurrence counts.
91747 2008-09-15  Eric Blake  <ebb9@byu.net>
91749         tests: avoid some compiler warnings
91750         * tests/test-memchr.c (main): Pass NULL indirectly.
91751         * tests/test-closein.c (main): Avoid unused variable.
91753 2008-09-15  Bruno Haible  <bruno@clisp.org>
91755         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
91756         are missing on OpenBSD 4.0 individually.
91757         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
91759 2008-09-15  Bruno Haible  <bruno@clisp.org>
91761         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
91762         * doc/posix-functions/strerror.texi: Mention also Cygwin.
91763         * doc/posix-functions/perror.texi: Likewise.
91764         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
91765         is missing.
91766         Reported by Eric Blake.
91768         * lib/errno.in.h: Use replacement values >= 2000.
91769         Reported by Eric Blake.
91771 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91773         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
91774         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
91775         limit.
91776         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
91777         compareseq was aborted.
91779 2008-09-14  Bruno Haible  <bruno@clisp.org>
91781         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
91782         yvec_edit_count.
91783         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
91784         (fstrcmp_bounded): Simplify result computation accordingly.
91786 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91788         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
91789         (fstrcmp): Define in terms of fstrcmp_bounded.
91790         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
91791         lower_bound argument.
91792         Return quickly if the result is certainly < lower_bound.
91793         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
91795 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
91797         * lib/diffseq.h (EARLY_ABORT): New macro.
91798         (compareseq): Change return type to bool. Return true when EARLY_ABORT
91799         evaluates to true.
91801 2008-09-14  Bruno Haible  <bruno@clisp.org>
91803         * modules/perror-tests: New file.
91804         * tests/test-perror.sh: New file.
91805         * tests/test-perror.c: New file.
91807         New module 'perror'.
91808         * lib/stdio.in.h (perror): New declaration.
91809         * lib/perror.c: New file.
91810         * m4/perror.m4: New file.
91811         * modules/perror: New file.
91812         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
91813         * doc/posix-functions/perror.texi: Mention the perror module.
91814         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
91815         REPLACE_PERROR.
91816         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
91817         REPLACE_PERROR.
91819 2008-09-14  Bruno Haible  <bruno@clisp.org>
91821         * modules/stdio (Makefile.am): Reorder to match the order in
91822         lib/stdio.in.h.
91823         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
91825 2008-09-13  Bruno Haible  <bruno@clisp.org>
91827         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
91829 2008-09-13  Bruno Haible  <bruno@clisp.org>
91831         Extend strerror to cover the added errno values.
91832         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
91833         (rpl_strerror): Provide error messages for the added errno values and
91834         for the WSA* values.
91835         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
91836         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
91837         strerror.
91838         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
91839         * modules/strerror (Depends-on): Add errno.
91840         * doc/posix-functions/strerror.texi: Document the change.
91841         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
91842         and EOVERFLOW.
91844 2008-09-13  Bruno Haible  <bruno@clisp.org>
91846         * modules/EOVERFLOW: Remove file.
91847         * m4/eoverflow.m4: Remove file.
91848         * modules/EOVERFLOW-tests: Remove file.
91849         * tests/test-EOVERFLOW.c: Remove file.
91850         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
91851         * modules/ftell (Depends-on): Likewise.
91852         * modules/getdelim (Depends-on): Likewise.
91853         * modules/getugroups (Depends-on): Likewise.
91854         * modules/poll (Depends-on): Likewise.
91855         * modules/snprintf (Depends-on): Likewise.
91856         * modules/sprintf-posix (Depends-on): Likewise.
91857         * modules/vasnprintf (Depends-on): Likewise.
91858         * modules/vasprintf (Depends-on): Likewise.
91859         * modules/vfprintf-posix (Depends-on): Likewise.
91860         * modules/vsnprintf (Depends-on): Likewise.
91861         * modules/vsprintf-posix (Depends-on): Likewise.
91862         * modules/xvasprintf (Depends-on): Likewise.
91863         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
91864         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
91865         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
91866         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
91867         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
91868         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
91869         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
91870         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
91871         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
91872         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
91873         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
91874         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
91875         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
91876         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
91877         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
91878         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
91879         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
91880         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
91881         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
91882         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
91883         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
91884         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
91885         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
91886         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
91887         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
91888         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
91889         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
91890         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
91891         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
91892         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
91893         * MODULES.html.sh: Remove EOVERFLOW.
91894         * NEWS: Mention the change.
91896 2008-09-13  Bruno Haible  <bruno@clisp.org>
91898         * modules/errno-tests: New file.
91899         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
91901         * lib/errno.in.h: New file.
91902         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
91903         * modules/errno: New file.
91904         * doc/posix-headers/errno.texi: Update documentation.
91905         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
91907 2008-09-13  Bruno Haible  <bruno@clisp.org>
91909         * tests/test-poll.c: Use #if for native Windows, rather than testing
91910         __MSVCRT__.
91912 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91913             Bruno Haible  <bruno@clisp.org>
91915         * lib/glob.c: Don't include <pwd.h> on native Windows.
91916         (WINDOWS32): New macro.
91917         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
91919 2008-09-13  Bruno Haible  <bruno@clisp.org>
91921         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
91922         (ETIMEDOUT): Remove macro.
91923         (glthread_cond_timedwait_multithreaded): New declaration.
91924         (glthread_cond_timedwait): Use it.
91925         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
91926         (glthread_cond_timedwait_multithreaded): New function.
91928 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91930         * modules/poll-tests: Do not check for io.h.
91931         * tests/test-poll.c: Check for __MSVCRT__ instead.
91933 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91935         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
91936         * modules/poll-tests: Add inet_pton, stdbool, sockets.
91937         * tests/test-poll.c: Use them.  Use _pipe on Windows.
91939 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
91941         * modules/poll-tests: New.
91942         * tests/test-poll.c: New.
91944 2008-09-12  Eric Blake  <ebb9@byu.net>
91946         frexp: test for NetBSD failure on -0.0
91947         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
91948         not all, bugs from NetBSD 3.0 have been fixed.
91949         * doc/posix-functions/frexp.texi (frexp): Document bug.
91950         Reported by Thomas Klausner.
91952         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
91953         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
91954         literal -0.0.
91955         Reported by Jonathan C. Patschke <jp@centtech.com>.
91957 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91959         * lib/glthread/cond.h: Use dummy implementation also if
91960         USE_WIN32_THREADS.
91962 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91964         * modules/fnmatch-posix (License): Change to LGPLv2+.
91965         * modules/fnmatch-gnu (License): Likewise.
91967 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
91969         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
91971 2008-09-11  Jim Meyering  <meyering@redhat.com>
91973         * users.txt: Add gtk-vnc.
91975 2008-09-08  Simon Josefsson  <simon@josefsson.org>
91977         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
91978         rotate amounts.
91980         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
91981         required for 16-bit and 8-bit rotates.
91982         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
91983         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
91984         UINT8_MAX instead of hard-coded constants.
91985         Suggested by Paul Eggert.
91987 2008-09-07  Bruno Haible  <bruno@clisp.org>
91989         * tests/test-striconveh.c (main): Check behaviour when converting from
91990         UTF-7.
91992         Make striconveh work better with stateful encodings.
91993         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
91994         that iconv does not increment the inptr when returning -1/EINVAL.
91996 2008-09-07  Bruno Haible  <bruno@clisp.org>
91998         * build-aux/config.rpath: Update according to libtool-2.2.6.
91999         * build-aux/config.libpath: Likewise.
92001 2008-09-06  Bruno Haible  <bruno@clisp.org>
92003         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
92004         * lib/freadptr.c (freadptr): Likewise.
92005         * lib/freadseek.c (freadptrinc): Likewise.
92006         Reported by Simon Josefsson.
92008 2008-09-06  Bruno Haible  <bruno@clisp.org>
92010         * modules/freadptr (License): Change to LGPLv2+.
92011         * modules/freadseek (License): Likewise.
92012         Suggested by Eric Blake.
92014         * modules/memchr2 (License): Change to LGPLv2+.
92015         Approved by Eric Blake.
92017 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92018             Bruno Haible  <bruno@clisp.org>
92020         Make gnulib-tool work with native 'sed' on AIX.
92021         * gnulib-tool (sed_noop): New variable.
92022         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
92023         func_add_or_update, func_create_testdir): Use it to initialize sed
92024         script variables.
92025         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
92027 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
92028             Bruno Haible  <bruno@clisp.org>
92030         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
92031         also works after #include directives.
92033 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
92035         getdate.y: reject an out-of-range timezone value
92036         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
92037         the range [-24...+24].  When specified with only one or two digits,
92038         * tests/test-getdate.c: Tests for the fix.
92039         * doc/getdate.texi: Document this change.
92041 2008-09-03  Bruno Haible  <bruno@clisp.org>
92043         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
92045 2008-09-02  Simon Josefsson  <simon@josefsson.org>
92047         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
92048         <bruce.korb@gmail.com> with ideas from Ben Pfaff
92049         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
92050         Blake <ebb9@byu.net>.
92052         * tests/test-bitrotate.c: Add more test vectors.
92054 2008-09-02  Eric Blake  <ebb9@byu.net>
92056         vasnprintf-posix: handle large precision via %.*d
92057         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
92058         when handling it ourselves.
92059         * tests/test-vasnprintf-posix.c (test_function): Add test.
92060         * tests/test-snprintf-posix.h (test_function): Likewise.
92061         * tests/test-sprintf-posix.h (test_function): Likewise.
92062         * tests/test-vasprintf-posix.c (test_function): Likewise.
92063         Reported by Alain Guibert.
92065 2008-09-01  Eric Blake  <ebb9@byu.net>
92067         c-stack: make configure-time check more robust
92068         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
92069         successful sigaction call.
92070         Reported by Tom G. Christensen.
92072 2008-09-01  Bruno Haible  <bruno@clisp.org>
92074         New module 'findprog-lgpl'.
92075         * modules/findprog-lgpl: New file.
92076         * lib/findprog-lgpl.c: New file.
92077         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
92078         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
92079         to decide whether to use strdup or xstrdup, concatenated_filename or
92080         xconcatenated_filename.
92082 2008-09-01  Bruno Haible  <bruno@clisp.org>
92084         Split module 'concat-filename' into 'concat-filename' (LGPL) and
92085         'xconcat-filename' (GPL).
92086         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
92087         (License): Change to LGPLv2+.
92088         * modules/xconcat-filename: New file.
92089         * lib/concat-filename.h (concatenated_filename): Change specification.
92090         (xconcatenated_filename): New declaration.
92091         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
92092         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
92093         memory situations.
92094         * lib/xconcat-filename.c: New file.
92095         * NEWS: Mention the change.
92096         * lib/findprog.c: Include concat-filename.h, not filename.h.
92097         (find_in_path): Use xconcatenated_filename instead of
92098         concatenated_filename.
92099         * lib/javacomp.c: Include concat-filename.h, not filename.h.
92100         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
92101         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
92102         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
92103         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
92104         instead of concatenated_filename.
92105         * lib/javaexec.c: Include concat-filename.h, not filename.h.
92106         (execute_java_class): Use xconcatenated_filename instead of
92107         concatenated_filename.
92108         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
92109         * modules/javacomp (Depends-on): Likewise.
92110         * modules/javaexec (Depends-on): Likewise.
92112 2008-09-01  Bruno Haible  <bruno@clisp.org>
92114         Split module 'filename' into 'filename' and 'concat-filename'.
92115         * modules/filename: Keep only lib/filename.h.
92116         (License): Change to LGPLv2+.
92117         * modules/concat-filename: New file, extracted from modules/filename.
92118         * lib/filename.h (concatenated_filename): Remove declaration.
92119         * lib/concat-filename.h: New file, extracted from lib/filename.h.
92120         * lib/concat-filename.c: Include concat-filename.h.
92121         * NEWS: Mention the change.
92123 2008-09-01  Simon Josefsson  <simon@josefsson.org>
92125         * lib/bitrotate.h (rotl8, rotr8): Add.
92127         * modules/bitrotate (configure.ac): Need
92128         AC_REQUIRE([AC_C_INLINE]).
92129         (Description): Mention stdint.h.  Reported by Bruno Haible
92130         <bruno@clisp.org>.
92132         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
92133         Paolo Bonzini <bonzini@gnu.org>.
92135 2008-08-31  Bruno Haible  <bruno@clisp.org>
92137         Assume Solaris specific bi-arch conventions on Solaris systems.
92138         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
92139         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
92140         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
92141         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
92142         like acl_libdirstem.
92143         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
92144         acl_libdirstem.
92145         * NEWS: Mention the change.
92146         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
92148 2008-08-31  Jim Meyering  <meyering@redhat.com>
92150         * lib/strftime.h: Add comments describing the two added arguments.
92152         remove duplicate #include directives
92153         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
92154         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
92156 2008-08-31  Bruno Haible  <bruno@clisp.org>
92158         New module 'sigpipe-die'.
92159         * modules/sigpipe-die: New file.
92160         * lib/sigpipe-die.h: New file.
92161         * lib/sigpipe-die.c: New file.
92162         * MODULES.html.sh (Signal handling): Add sigpipe-die.
92164 2008-08-31  Bruno Haible  <bruno@clisp.org>
92166         Don't override previously installed signal handlers.
92167         * lib/fatal-signal.c (saved_sigactions): New variable.
92168         (uninstall_handlers): Reset the signal to the saved handler, not
92169         to SIG_DFL (except when ignored).
92170         (install_handlers): Save the previous handlers.
92172 2008-08-30  Bruno Haible  <bruno@clisp.org>
92174         * gnulib-tool (func_reset_sigpipe): New function.
92175         (func_get_automake_snippet, func_modules_transitive_closure,
92176         func_import): Invoke it before a join command that reads from stdin,
92177         to avoid "echo: write error: Broken pipe" error messages on stderr.
92178         Reported by Sam Steingold <sds@gnu.org>.
92180 2008-08-30  Bruno Haible  <bruno@clisp.org>
92182         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
92183         Code copied from m4/open.m4.
92184         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
92185         access and the filename ends in a slash. Code copied from lib/open.c.
92186         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
92187         * tests/test-fopen.c (main): Check against bug with trailing slash.
92189 2008-08-29  Bruno Haible  <bruno@clisp.org>
92191         Avoid some "gcc -pedantic" warnings.
92192         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
92193         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
92194         * lib/dirent.in.h: Likewise.
92195         * lib/fcntl.in.h: Likewise.
92196         * lib/float.in.h: Likewise.
92197         * lib/iconv.in.h: Likewise.
92198         * lib/inttypes.in.h: Likewise.
92199         * lib/locale.in.h: Likewise.
92200         * lib/math.in.h: Likewise.
92201         * lib/netinet_in.in.h: Likewise.
92202         * lib/search.in.h: Likewise.
92203         * lib/signal.in.h: Likewise.
92204         * lib/stdarg.in.h: Likewise.
92205         * lib/stdint.in.h: Likewise.
92206         * lib/stdio.in.h: Likewise.
92207         * lib/stdlib.in.h: Likewise.
92208         * lib/string.in.h: Likewise.
92209         * lib/strings.in.h: Likewise.
92210         * lib/sys_select.in.h: Likewise.
92211         * lib/sys_socket.in.h: Likewise.
92212         * lib/sys_stat.in.h: Likewise.
92213         * lib/sys_time.in.h: Likewise.
92214         * lib/sysexits.in.h: Likewise.
92215         * lib/time.in.h: Likewise.
92216         * lib/unistd.in.h: Likewise.
92217         * lib/wchar.in.h: Likewise.
92218         * lib/wctype.in.h: Likewise.
92219         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
92220         * modules/fchdir (Makefile.am): Likewise.
92221         * modules/fcntl (Makefile.am): Likewise.
92222         * modules/float (Makefile.am): Likewise.
92223         * modules/iconv_open (Makefile.am): Likewise.
92224         * modules/inttypes (Makefile.am): Likewise.
92225         * modules/locale (Makefile.am): Likewise.
92226         * modules/math (Makefile.am): Likewise.
92227         * modules/netinet_in (Makefile.am): Likewise.
92228         * modules/search (Makefile.am): Likewise.
92229         * modules/signal (Makefile.am): Likewise.
92230         * modules/stdarg (Makefile.am): Likewise.
92231         * modules/stdint (Makefile.am): Likewise.
92232         * modules/stdio (Makefile.am): Likewise.
92233         * modules/stdlib (Makefile.am): Likewise.
92234         * modules/string (Makefile.am): Likewise.
92235         * modules/strings (Makefile.am): Likewise.
92236         * modules/sys_select (Makefile.am): Likewise.
92237         * modules/sys_socket (Makefile.am): Likewise.
92238         * modules/sys_stat (Makefile.am): Likewise.
92239         * modules/sys_time (Makefile.am): Likewise.
92240         * modules/sysexits (Makefile.am): Likewise.
92241         * modules/time (Makefile.am): Likewise.
92242         * modules/unistd (Makefile.am): Likewise.
92243         * modules/wchar (Makefile.am): Likewise.
92244         * modules/wctype (Makefile.am): Likewise.
92245         Reported by Reuben Thomas <rrt@sc3d.org>.
92247 2008-08-29  Bruno Haible  <bruno@clisp.org>
92249         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
92250         any more.
92252 2008-08-29  Simon Josefsson  <simon@josefsson.org>
92254         * MODULES.html.sh (Misc): Add bitrotate.
92256         * modules/bitrotate: New file.
92258         * lib/bitrotate.h: New file.
92260         * modules/bitrotate-tests: New file.
92262         * tests/test-bitrotate.c: New file.
92264         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
92265         on the bitrotate module.
92267         * lib/arctwo.c: Use new bitrotate module.
92269 2008-08-29  Jim Meyering  <meyering@redhat.com>
92271         bootstrap: merge changes from coreutils
92272         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
92273         of copied files.  Remove a kludge, now that this is fixed.
92274         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
92275         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
92276         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
92278 2008-08-29  Bruno Haible  <bruno@clisp.org>
92280         * MODULES.html.sh: Remove --cvs-urls option.
92282 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
92284         maint.mk: adjust to file name change
92285         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
92287 2008-08-28  Jim Meyering  <meyering@redhat.com>
92289         * modules/getndelim2 (License): Relicense to LGPLv2+.
92290         Approved by Richard Stallman for the version of 1995, and by
92291         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
92293 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
92295         * lib/getdelim.c (flockfile, funlockfile): Make all of them
92296         dummy if one is not available.  Do not touch them if
92297         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
92298         (getc_maybe_unlocked): New.
92299         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
92301 2008-08-26  Eric Blake  <ebb9@byu.net>
92303         doc/INSTALL: resync from autoconf
92304         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
92305         (INSTALL_PRELUDE): Delete; this is done more efficiently by
92306         moving...
92307         * install.texi [!autoconf]: ...here.  Resync from autoconf.
92308         * INSTALL: Regenerate.
92309         * INSTALL.ISO: New file.
92310         * INSTALL.UTF-8: Likewise.
92312 2008-08-26  Jim Meyering  <meyering@redhat.com>
92314         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
92315         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
92316         these definitions conditional, so that they may be overridden, too.
92318 2008-08-26  Bruno Haible  <bruno@clisp.org>
92320         Generate INSTALL file variants with prettier quotes.
92321         * doc/Makefile (INSTALL_PRELUDE): New macro.
92322         (INSTALL): Use it.
92323         (INSTALL.ISO, INSTALL.UTF-8): New rules.
92325 2008-08-26  Bruno Haible  <bruno@clisp.org>
92327         Run makeinfo in an English locale.
92328         * doc/Makefile (MAKEINFO): New variable.
92330 2008-08-26  Bruno Haible  <bruno@clisp.org>
92332         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
92333         Suggested by Eric Blake.
92335 2008-08-25  Bruno Haible  <bruno@clisp.org>
92337         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
92339 2008-08-25  Eric Blake  <ebb9@byu.net>
92341         c-stack: test that stack overflow can be caught
92342         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
92343         that platform allows handling stack overflow; at least OS/2 EMX
92344         has sigaltstack, but crashes before transferring control to
92345         handler on stack overflow.
92346         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
92347         check for HAVE_STACK_OVERFLOW_HANDLING.
92348         Reported by Elbert Pol.
92350 2008-08-25  Bruno Haible  <bruno@clisp.org>
92352         * doc/posix-functions/strftime.texi: Fix description of strftime
92353         module.
92355 2008-08-24  Bruno Haible  <bruno@clisp.org>
92357         * tests/uniwidth/test-uc_width2.c: New file.
92358         * tests/uniwidth/test-uc_width2.sh: New file.
92359         * modules/uniwidth/width-tests (Files): Add the new files.
92360         (TESTS): Add uniwidth/test-uc_width2.sh.
92361         (TESTS_ENVIRONMENT): New variable.
92362         (check_PROGRAMS): Add test-uc_width2.
92363         (test_uc_width2_SOURCES): New variable.
92365         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
92366         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
92367         not 0x00AB.
92368         Reported by Alexander V. Lukyanov <lav@netis.ru>.
92370 2008-08-22  Eric Blake  <ebb9@byu.net>
92372         test-lock, test-tls: mention why a test is skipped
92373         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
92374         skipped.
92375         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
92377         count-one-bits: relax license
92378         * modules/count-one-bits (License): Relicense to LGPLv2+.
92379         Suggested by Ludovic Courtès, approved by Ben Pfaff.
92381 2008-08-22  Andreas Schwab  <schwab@suse.de>
92383         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
92384         Remove spurious space in assignment.
92386 2008-08-21  Simon Josefsson  <simon@josefsson.org>
92388         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
92389         Paul Eggert <eggert@CS.UCLA.EDU>.
92391 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
92393         * modules/gettext: Add m4/threadlib.m4.
92395 2008-08-19  Eric Blake  <ebb9@byu.net>
92397         test-c-stack: fix compilation failure on FreeBSD 5.0
92398         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
92399         headers before <sys/resource.h>.
92400         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
92401         the bug.
92402         Reported by Nelson H. F. Beebe.
92404         strverscmp: migrate from "strverscmp.h" to <string.h>
92405         * modules/string (Makefile.am): Add new hooks.
92406         * modules/strverscmp (Files): Remove strverscmp.h.
92407         (Depends-on): Add string.
92408         (configure.ac): Add indicator.
92409         (Include): Mention new header.
92410         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
92411         defaults.
92412         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
92413         results.
92414         * lib/strverscmp.h: Delete.
92415         * lib/string.in.h (strverscmp): Provide declaration, when needed.
92416         * tests/test-strverscmp.c (includes): Adjust client.
92417         * lib/check-version.c (includes): Likewise.
92418         * NEWS: Document the change.
92420         strverscmp: add unit test
92421         * modules/strverscmp-tests: New file.
92422         * tests/test-strverscmp.c: Likewise.
92424 2008-08-19  Simon Josefsson  <simon@josefsson.org>
92426         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
92427         regarding Windows crypto stuff, from Mono.
92429 2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)
92431         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
92432         if present, for intel RND.  Return error on failures.
92434 2008-08-18  Ben Pfaff  <blp@gnu.org>
92436         gitlog-to-changelog: give better diagnostic for failed pipe-open
92437         * build-aux/gitlog-to-changelog: Improve error message: suggest
92438         that the version of Git may be too old.
92440 2008-08-18  Simon Josefsson  <simon@josefsson.org>
92442         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
92443         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
92445 2008-08-18  Bruno Haible  <bruno@clisp.org>
92447         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
92448         pthread_in_use().
92450 2008-08-18  Bruno Haible  <bruno@clisp.org>
92452         * lib/glthread/threadlib.c: Include <pthread.h>.
92454 2008-08-18  Bruno Haible  <bruno@clisp.org>
92456         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
92457         glthread_recursive_lock_* macros.
92458         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
92459         Fix syntax error.
92461 2008-08-18  Bruno Haible  <bruno@clisp.org>
92463         * lib/glthread/thread.c: Avoid forcing a context switch right after
92464         thread creation.
92466 2008-08-17  Bruno Haible  <bruno@clisp.org>
92468         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
92469         * lib/glthread/thread.h: Provide Win32 specific implementation.
92470         * modules/thread (Files): Add lib/glthread/thread.c.
92471         (Depends-on): Add lock.
92472         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
92474 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92476         New module 'yield'.
92477         * modules/yield: New file.
92478         * lib/glthread/yield.h: New file.
92479         * m4/yield.m4: New file.
92480         * MODULES.html.sh (Multithreading): Add yield.
92482 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92484         New module 'thread'.
92485         * modules/thread: New file.
92486         * lib/glthread/thread.h: New file.
92487         * m4/thread.m4: New file.
92488         * MODULES.html.sh (Multithreading): Add thread.
92490 2008-08-17  Bruno Haible  <bruno@clisp.org>
92492         * lib/glthread/lock.h: Include <stdlib.h> always.
92493         * lib/glthread/tls.h: Likewise.
92494         * lib/glthread/cond.h: Likewise.
92496 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
92498         New module 'cond'.
92499         * modules/cond: New file.
92500         * lib/glthread/cond.h: New file.
92501         * lib/glthread/cond.c: New file.
92502         * m4/cond.m4: New file.
92503         * MODULES.html.sh (Multithreading): Add cond.
92505 2008-08-16  Eric Blake  <ebb9@byu.net>
92507         c-stack: fix regression on Irix 5.3 from 2008-06-21
92508         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
92509         sa_sigaction...
92510         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
92511         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
92512         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
92513         * modules/signal (Makefile.am): Use the value.
92514         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
92515         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
92516         * doc/posix-headers/signal.texi (signal.h): Document this
92517         portability issue.
92518         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
92519         Reported by Tom G. Christensen.
92521 2008-08-17  Bruno Haible  <bruno@clisp.org>
92523         New module 'threadlib'.
92524         * modules/threadlib: New file.
92525         * lib/glthread/threadlib.c: New file, extracted from
92526         lib/glthread/lock.c.
92527         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
92528         functions.
92529         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
92530         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
92531         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
92532         macros.
92533         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
92534         (gl_DISABLE_THREADS): Remove macro.
92535         * modules/lock (Files): Remove build-aux/config.rpath.
92536         (Depends-on): Remove havelib. Add threadlib.
92537         (configure.ac-early): Remove section.
92538         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
92539         * modules/tls (Depends-on): Remove lock. Add threadlib.
92540         (Link): New section, copied from threadlib.
92541         * MODULES.html.sh (Multithreading): Add threadlib.
92543 2008-08-14  Bruno Haible  <bruno@clisp.org>
92545         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
92546         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
92547         glthread_rwlock_unlock, glthread_rwlock_destroy,
92548         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
92549         glthread_recursive_lock_destroy): Define as macros always.
92550         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
92551         glthread_lock_lock.
92552         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
92553         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
92554         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
92555         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
92556         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
92557         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
92558         (glthread_recursive_lock_lock_func): Renamed from
92559         glthread_recursive_lock_lock.
92560         (glthread_recursive_lock_unlock_func): Renamed from
92561         glthread_recursive_lock_unlock.
92562         (glthread_recursive_lock_destroy_func): Renamed from
92563         glthread_recursive_lock_destroy.
92565 2008-08-14  Bruno Haible  <bruno@clisp.org>
92567         * lib/glthread/lock.h: Renamed from lib/lock.h.
92568         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
92569         * lib/glthread/tls.h: Renamed from lib/tls.h.
92570         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
92571         * lib/fstrcmp.c: Update includes.
92572         * lib/strsignal.c: Update includes.
92573         * modules/lock (Files, Makefile.am): Update.
92574         (Include): Change to "glthread/lock.h".
92575         * modules/tls (Files, Makefile.am): Update.
92576         (Include): Change to "glthread/tls.h".
92577         * tests/test-lock.c: Update includes.
92578         * tests/test-tls.c: Update includes.
92579         * NEWS: Mention the renamed header files.
92581 2008-08-11  Jim Meyering  <meyering@redhat.com>
92583         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
92585 2008-08-11  Eric Blake  <ebb9@byu.net>
92587         test-c-stack: avoid C99-ism
92588         * tests/test-c-stack.c (main): Fix whitespace, move declaration
92589         before statement.
92590         Reported by Alain Guibert.
92592 2008-08-10  Jim Meyering  <meyering@redhat.com>
92594         ensure that return value of uinttostr et al are not ignored
92595         * lib/inttostr.h (__GNUC_PREREQ): Define.
92596         (__attribute_warn_unused_result__): Define.
92597         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
92599 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
92601         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
92602         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
92604 2008-08-07  Jim Meyering  <meyering@redhat.com>
92606         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
92608         * modules/mkstemp (License): Relicense under LGPLv2+.
92609         * modules/tempname (License): Likewise.
92611 2008-08-06  Bruno Haible  <bruno@clisp.org>
92613         * lib/poll.c (poll): Further micro-optimization.
92615 2008-08-06  Jim Meyering  <meyering@redhat.com>
92617         inet_pton.c: use locale-independent tolower
92618         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
92619         (inet_pton6): Use c_tolower rather than tolower.
92620         * modules/inet_pton (Depends-on): Add c-ctype.
92622 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
92624         * lib/poll.c (poll): Avoid division when timeout is 0, cache
92625         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
92627 2008-08-06  Jim Meyering  <meyering@redhat.com>
92629         * modules/inet_pton (License): Relicense under LGPLv2+.
92631 2008-08-03  Bruno Haible  <bruno@clisp.org>
92633         Additional non-aborting API for lock and tls.
92634         * lib/lock.h: Include <errno.h>.
92635         (glthread_lock_init): New macro/function.
92636         (gl_lock_init): Define as wrapper around glthread_lock_init.
92637         (glthread_lock_lock): New macro/function.
92638         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
92639         (glthread_lock_unlock): New macro/function.
92640         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
92641         (glthread_lock_destroy): New macro/function.
92642         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
92643         (glthread_rwlock_init): New macro/function.
92644         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
92645         (glthread_rwlock_rdlock): New macro/function.
92646         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
92647         (glthread_rwlock_wrlock): New macro/function.
92648         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
92649         (glthread_rwlock_unlock): New macro/function.
92650         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
92651         (glthread_rwlock_destroy): New macro/function.
92652         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
92653         (glthread_recursive_lock_init): New macro/function.
92654         (gl_recursive_lock_init): Define as wrapper around
92655         glthread_recursive_lock_init.
92656         (glthread_recursive_lock_lock): New macro/function.
92657         (gl_recursive_lock_lock): Define as wrapper around
92658         glthread_recursive_lock_lock.
92659         (glthread_recursive_lock_unlock): New macro/function.
92660         (gl_recursive_lock_unlock): Define as wrapper around
92661         glthread_recursive_lock_unlock.
92662         (glthread_recursive_lock_destroy): New macro/function.
92663         (gl_recursive_lock_destroy): Define as wrapper around
92664         glthread_recursive_lock_destroy.
92665         (glthread_once): New macro/function.
92666         (gl_once): Define as wrapper around glthread_once.
92667         Update function declarations.
92668         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
92669         glthread_rwlock_init. Return error code.
92670         (glthread_rwlock_rdlock_multithreaded): Renamed from
92671         glthread_rwlock_rdlock. Return error code.
92672         (glthread_rwlock_wrlock_multithreaded): Renamed from
92673         glthread_rwlock_wrlock. Return error code.
92674         (glthread_rwlock_unlock_multithreaded): Renamed from
92675         glthread_rwlock_unlock. Return error code.
92676         (glthread_rwlock_destroy_multithreaded): Renamed from
92677         glthread_rwlock_destroy. Return error code.
92678         (glthread_recursive_lock_init_multithreaded): Renamed from
92679         glthread_recursive_lock_init. Return error code.
92680         (glthread_recursive_lock_lock_multithreaded): Renamed from
92681         glthread_recursive_lock_lock. Return error code.
92682         (glthread_recursive_lock_unlock_multithreaded): Renamed from
92683         glthread_recursive_lock_unlock. Return error code.
92684         (glthread_recursive_lock_destroy_multithreaded): Renamed from
92685         glthread_recursive_lock_destroy. Return error code.
92686         (glthread_once_call): Make static.
92687         (glthread_once_multithreaded): Renamed from glthread_once.
92688         * lib/tls.h: Include <errno.h>.
92689         (glthread_tls_key_init): New macro/function.
92690         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
92691         (glthread_tls_set): New macro/function.
92692         (gl_tls_set): Define as wrapper around glthread_tls_set.
92693         (glthread_tls_key_destroy): New macro/function.
92694         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
92695         Update function declarations.
92696         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
92697         glthread_tls_get.
92698         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
92700 2008-08-04  Eric Blake  <ebb9@byu.net>
92702         gnumakefile: use space, not TAB, outside of targets
92703         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
92705 2008-08-02  Jim Meyering  <meyering@redhat.com>
92707         getdate.y: avoid locale-dependent date parsing failure
92708         In Turkish locales, getdate would fail to recognize keywords
92709         containing a lowercase "i".  The solution is not to rely on
92710         locale-sensitive case-conversion.
92711         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
92712         (lookup_word): Use c_toupper in place of toupper.
92713         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
92714         Reported by Vefa Bicakci <bicave@superonline.com> in
92715         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
92716         * modules/getdate (Depends-on): Add c-ctype.
92718 2008-08-02  Bruno Haible  <bruno@clisp.org>
92720         * gnulib-tool (func_import): When updating or creating a .gitignore
92721         file, prepend each added line with a slash, and ignore leading slashes
92722         from the existing lines.
92723         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
92725 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
92727         Portability fix for GNU make 3.79.1.
92728         * top/GNUmakefile: Avoid 'else COND', which older GNU make
92729         versions do not understand.
92731 2008-08-01  Bruno Haible  <bruno@clisp.org>
92733         Work around bug of HP-UX 10.20 cc with -0.0 literal.
92734         * tests/test-isnanf.h (zero): New variable.
92735         (main): Avoid literal -0.0f.
92736         * tests/test-isnand.h (zero): New variable.
92737         (main): Avoid literal -0.0.
92738         * tests/test-isnanl.h (zero): New variable.
92739         (main): Avoid literal -0.0L.
92740         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
92741         (test_float, test_double, test_long_double): Avoid literals -0.0f,
92742         -0.0, -0.0L.
92743         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
92744         (test_signbitd): Avoid literal -0.0.
92745         (test_signbitl): Avoid literal -0.0L.
92746         * tests/test-ceilf1.c (zero): New variable.
92747         (main): Avoid literal -0.0f.
92748         * tests/test-ceill.c (zero): New variable.
92749         (main): Avoid literal -0.0L.
92750         * tests/test-floorf1.c (zero): New variable.
92751         (main): Avoid literal -0.0f.
92752         * tests/test-floorl.c (zero): New variable.
92753         (main): Avoid literal -0.0L.
92754         * tests/test-roundf1.c (zero): New variable.
92755         (main): Avoid literal -0.0f.
92756         * tests/test-round1.c (zero): New variable.
92757         (main): Avoid literal -0.0.
92758         * tests/test-roundl.c (zero): New variable.
92759         (main): Avoid literal -0.0L.
92760         * tests/test-truncf1.c (zero): New variable.
92761         (main): Avoid literal -0.0f.
92762         * tests/test-trunc1.c (zero): New variable.
92763         (main): Avoid literal -0.0.
92764         * tests/test-truncl.c (zero): New variable.
92765         (main): Avoid literal -0.0L.
92766         * tests/test-frexp.c (zero): New variable.
92767         (main): Avoid literal -0.0.
92768         * tests/test-frexpl.c (zero): New variable.
92769         (main): Avoid literal -0.0L.
92770         * tests/test-ldexpl.c (zero): New variable.
92771         (main): Avoid literal -0.0L.
92772         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92773         (zerod, zerol): New variables.
92774         (test_function): Avoid literals -0.0, -0.0L.
92775         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
92776         (zerod, zerol): New variables.
92777         (test_function): Avoid literals -0.0, -0.0L.
92778         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92779         (zerod, zerol): New variables.
92780         (test_function): Avoid literals -0.0, -0.0L.
92781         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
92782         (zerod, zerol): New variables.
92783         (test_function): Avoid literals -0.0, -0.0L.
92784         * tests/test-strtod.c (zero): New variable.
92785         (main): Avoid literal -0.0.
92786         Reported by Jonathan C. Patschke <jp@centtech.com>.
92788 2008-07-31  Jim Meyering  <meyering@redhat.com>
92790         sha256.h: correct definition of SHA224_DIGEST_SIZE
92791         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
92792         Reported by Paulie Pena IV <paulie4@gmail.com>.
92793         Define as 224 / 8, rather than as a literal.
92794         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
92795         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
92796         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
92798 2008-07-31  Bruno Haible  <bruno@clisp.org>
92800         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
92801         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
92802         Reported by Jonathan Patschke <jp@centtech.com>.
92804 2008-07-31  Bruno Haible  <bruno@clisp.org>
92806         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
92807         Reported by Paolo Bonzini <bonzini@gnu.org>.
92809 2008-07-30  Eric Blake  <ebb9@byu.net>
92811         test-strtod: allow compilation without -lm
92812         * tests/test-strtod.c (main): Avoid link dependence on fabs.
92813         Reported by Dennis Clarke <blastwave@gmail.com>.
92815 2008-07-28  Jim Meyering  <meyering@redhat.com>
92817         bootstrap: work also when there are no .po files in po/
92818         * build-aux/bootstrap (update_po_files): Complete the change
92819         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
92821 2008-07-27  Jim Meyering  <meyering@redhat.com>
92823         * users.txt: Add zile.
92825 2008-07-26  Ben Pfaff  <blp@gnu.org>
92827         Add missing dependencies on new m4/exponent[fdl].m4 files.
92828         * modules/isnanf-nolibm: Add m4/exponentf.m4.
92829         * modules/isnand-nolibm: Add m4/exponentd.m4.
92830         * modules/isnanl-nolibm: Add m4/exponentl.m4.
92831         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
92832         m4/isnan[fdl].m4, because the macros actually used moved.
92833         Reported by Jim Meyering.
92835 2008-07-14  Ben Pfaff  <blp@gnu.org>
92837         Add isinf module.
92838         * lib/isinf.c: New file.
92839         * lib/math.in.h: Define isinf macro if we have decided to replace
92840         it.
92841         * m4/isinf.m4: New file.
92842         * m4/math_h.m4: Initialize and substitute variables for isinf
92843         module.
92844         * modules/isinf: New file.
92845         * modules/isinf-tests: New file.
92846         * modules/math: Add substitutions for new module.
92847         * tests/test-isinf.c: New file.
92848         * doc/posix-functions/isinf.texi: Mention new module.
92849         * MODULES.html.sh: Mention new module.
92851 2008-07-14  Ben Pfaff  <blp@gnu.org>
92853         Factor out some macros for use by additional modules.
92854         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
92855         exponentf.m4.
92856         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
92857         exponentd.m4.
92858         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
92859         file exponentl.m4.
92860         * m4/exponentf.m4: New file.
92861         * m4/exponentd.m4: New file.
92862         * m4/exponentl.m4: New file.
92863         * modules/isnanf: Use new file m4/exponentf.m4.
92864         * modules/isnand: Use new file m4/exponentd.m4.
92865         * modules/isnanl: Use new file m4/exponentl.m4.
92867 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
92869         mktime.c: normalize tp->tm_isdst value to -1/0/1.
92870         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
92871         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
92872         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
92874         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
92875         readlink on platforms without PATH_MAX.
92877 2008-07-21  Eric Blake  <ebb9@byu.net>
92879         Warn, not fail, on stale version.
92880         * top/GNUmakefile (_curr-ver): Tone down previous patch.
92882         Don't allow installation with stale devel version number.
92883         * top/GNUmakefile (_is-install-target): New macro.
92884         (_curr-ver): Forbid installation with stale version number.
92886 2008-07-20  Bruno Haible  <bruno@clisp.org>
92888         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
92889         TESTS_ENVIRONMENT.
92890         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
92892 2008-07-20  Bruno Haible  <bruno@clisp.org>
92894         * lib/c-stack.h (c_stack_action): Add documentation.
92895         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
92897 2008-07-20  Bruno Haible  <bruno@clisp.org>
92899         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
92900         * modules/readlink (License): Likewise.
92902 2008-07-17  Eric Blake  <ebb9@byu.net>
92904         * modules/c-stack (Link): Fix typo.
92906         Make c-stack use libsigsegv, when available.
92907         * modules/c-stack (Depends-on): Add libsigsegv.
92908         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
92909         needed.
92910         * lib/c-stack.c (SIGSTKSZ): Define fallback.
92911         (segv_handler, overflow_handler, c_stack_action)
92912         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
92913         implementation when libsigsegv is available, but only when using
92914         the library is necessary.
92915         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
92916         comment, explaining why XSI check fails on Linux.
92917         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
92918         * tests/test-c-stack2.sh: Tweak skip message.
92919         * NEWS: Document new link-time requirements.
92921 2008-07-16  Eric Blake  <ebb9@byu.net>
92923         c-stack: Expose false positives when not using libsigsegv.
92924         * modules/c-stack-tests (Files): Expand test.
92925         * tests/test-c-stack.c (main): Add means to conditionally trigger
92926         non-overflow SIGSEGV.
92927         * tests/test-c-stack2.sh: New file.
92929 2008-07-14  Bruno Haible  <bruno@clisp.org>
92931         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
92932         Reported by Eric Blake.
92934 2008-07-14  Sam Steingold  <sds@gnu.org>
92935             Bruno Haible  <bruno@clisp.org>
92937         New module libsigsegv.
92938         * modules/libsigsegv: New file.
92939         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
92940         modifications.
92941         * MODULES.html.sh (Signal handling): New section.
92943 2008-07-14  Bruno Haible  <bruno@clisp.org>
92945         * modules/unictype/ctype-* (Description): Add the word "function".
92946         Improves the resulting doc in MODULES.html.
92948 2008-07-12  Ben Pfaff  <blp@gnu.org>
92950         Add longlong module.
92951         * modules/longlong: New file.
92953 2008-07-12  Bruno Haible  <bruno@clisp.org>
92955         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
92956         to empty.
92958 2008-07-10  Ben Pfaff  <blp@gnu.org>
92960         Add isnan module.
92961         * doc/posix-functions/isnan.texi: Mention new module.
92962         * lib/math.in.h: Define isnan macro if we have decided to replace
92963         it.
92964         * m4/isnan.m4: New file.
92965         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
92966         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
92967         also.
92968         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
92969         redundancy.
92970         * m4/math_h.m4: Initialize and substitute variables for isnan
92971         module.
92972         * modules/isnan: New file.
92973         * modules/isnan-tests: New file.
92974         * modules/math: Add substitutions for new module.
92975         * tests/test-isnan.c: New file.
92976         * MODULES.html.sh: Mention new module.
92978 2008-07-10  Ben Pfaff  <blp@gnu.org>
92980         Add isnanf module.
92981         * lib/isnanf.m4: New file.
92982         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
92983         (gl_HAVE_ISNANF_IN_LIBM): New macro.
92984         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
92985         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
92986         * modules/isnanf: New file.
92987         * modules/isnanf-tests: New file.
92988         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
92989         files.
92990         * tests/test-isnanf-nolibm.c: factored most of its contents into
92991         new file tests/test-isnanf.h.
92992         * tests/test-isnanf.h: New file.
92993         * tests/test-isnanf.c: New file.
92994         * MODULES.html.sh: Mention new module.
92995         * doc/glibc-functions/isnanf.texi: Mention new module.
92997 2008-07-10  Ben Pfaff  <blp@gnu.org>
92999         Add isnand module.
93000         * lib/isnand.h: New file.
93001         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
93002         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
93003         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
93004         functionality also.
93005         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
93006         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
93007         (gl_HAVE_ISNAND_IN_LIBM): New macro.
93008         * modules/isnand: New file.
93009         * modules/isnand-tests: New file.
93010         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
93011         files.
93012         * tests/test-isnand-nolibm.c: factored most of its contents into
93013         new file tests/test-isnand.h.
93014         * tests/test-isnand.h: New file.
93015         * tests/test-isnand.c: New file.
93016         * MODULES.html.sh: Mention new module.
93018 2008-07-10  Ben Pfaff  <blp@gnu.org>
93020         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
93021         * lib/isnand.h: Rename lib/isnand-nolibm.h.
93022         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
93023         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
93024         * modules/isnanf-nolibm: Update references to renamed files.
93025         * modules/isnand-nolibm: Likewise.
93026         * modules/isnanf-nolibm-tests: Likewise.
93027         * modules/isnand-nolibm-tests: Likewise.
93028         * lib/frexp.c: Likewise.
93029         * lib/isfinite.c: Likewise.
93030         * lib/signbitd.c: Likewise.
93031         * lib/signbitf.c: Likewise.
93032         * lib/vasnprintf.c: Likewise.
93033         * tests/test-ceilf1.c: Likewise.
93034         * tests/test-ceilf2.c: Likewise.
93035         * tests/test-floorf1.c: Likewise.
93036         * tests/test-floorf2.c: Likewise.
93037         * tests/test-frexp.c: Likewise.
93038         * tests/test-round1.c: Likewise.
93039         * tests/test-round2.c: Likewise.
93040         * tests/test-roundf1.c: Likewise.
93041         * tests/test-strtod.c: Likewise.
93042         * tests/test-trunc1.c: Likewise.
93043         * tests/test-trunc2.c: Likewise.
93044         * tests/test-truncf1.c: Likewise.
93045         * tests/test-truncf2.c: Likewise.
93046         * NEWS: Mention the renamed header files.
93048 2008-07-11  Jim Meyering  <meyering@redhat.com>
93050         vc-list-files: make the last-resort awk code more portable
93051         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
93052         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
93053         does not support it.
93055 2008-07-10  Eric Blake  <ebb9@byu.net>
93057         Work with tar's bootstrap.
93058         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
93059         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
93060         an m4 comment.
93062 2008-07-09  Jim Meyering  <meyering@redhat.com>
93064         posix-shell.m4: fix typo that made this test malfunction
93065         * m4/posix-shell.m4: Remove capitalization in variable name.
93067 2008-07-08  Bruno Haible  <bruno@clisp.org>
93069         * m4/onceonly.m4: Update comments.
93070         Reported by Ben Pfaff <blp@cs.stanford.edu>.
93072 2008-07-04  Jim Meyering  <meyering@redhat.com>
93074         * users.txt: Add vc-dwim.
93075         (bison, coreutils): Use the gitweb URL.
93077 2008-07-03  Jim Meyering  <meyering@redhat.com>
93079         * users.txt: Add libffcall.  From Sam Steingold.
93081 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
93083         getdate.y: do not ignore TZ with relative day, month or year offset
93084         * lib/getdate.y (get_date): Move the tz-handling block to follow the
93085         relative-date-handling, since otherwise, the latter would clobber the
93086         sole output (an updated Start value) of the tz-handling block.
93087         * tests/test-getdate.c: Tests for the fix
93089 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
93091         Recognize 'foo_LIBRARIES += libgnu.a'.
93092         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
93093         makefile snippet has already specified an installation location,
93094         also using '+='.
93096 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
93098         getdate.y: factor out common actions
93099         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
93100         Use them in place of open-coded actions.
93102 2008-07-01  Simon Josefsson  <simon@josefsson.org>
93104         Add self-test for getdate module.
93105         * modules/getdate-tests: New file.
93106         * tests/test-getdate.c: New file.
93108 2008-06-29  Bruno Haible  <bruno@clisp.org>
93110         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
93111         .gitignore.
93112         Reported by Sylvain Beucler <beuc@beuc.net>.
93114 2008-06-29  Bruno Haible  <bruno@clisp.org>
93116         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
93117         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
93119 2008-06-29  Bruno Haible  <bruno@clisp.org>
93121         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
93122         EXTRA_DIST.
93123         Reported by Sylvain Beucler <beuc@beuc.net>.
93125 2008-06-26  Jim Meyering  <meyering@redhat.com>
93127         make several modules depend on the "open" module
93128         This provides slightly increased consistency when opening-for-write
93129         the name of a non-directory spelled with a trailing slash.
93130         * modules/chdir-safer: Likewise.
93131         * modules/chown: Likewise.
93132         * modules/clean-temp: Likewise.
93133         * modules/copy-file: Likewise.
93134         * modules/fchdir: Likewise.
93135         * modules/fcntl-safer: Likewise.
93136         * modules/pipe: Likewise.
93137         * modules/utime: Likewise.
93138         Prompted by Eric Blake and Bruno Haible.
93140 2008-06-24  Andreas Schwab  <schwab@suse.de>
93142         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
93143         literals can be used as initializers for global variables.
93145 2008-06-23  Eric Blake  <ebb9@byu.net>
93147         Make gnulib-cache.m4 easier to diff.
93148         * gnulib-tool (func_import): Allow newlines when reading cached
93149         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
93151 2008-06-23  Bruno Haible  <bruno@clisp.org>
93153         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
93154         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
93155         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
93156         m4/signalblocking.m4.
93157         (gl_PREREQ_SIGACTION): Don't invoke it.
93158         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
93159         gl_PREREQ_SIG_HANDLER_H.
93160         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93161         Don't check for sigaction here.
93163 2008-06-23  Bruno Haible  <bruno@clisp.org>
93165         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
93166         (install_handlers): Don't set the SA_RESETHAND flag.
93168 2008-06-23  Bruno Haible  <bruno@clisp.org>
93170         * m4/sigaction.m4: Comment fixes.
93171         * lib/signal.in.h: Likewise.
93173 2008-06-23  Eric Blake  <ebb9@byu.net>
93175         Fix typo.
93176         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
93178         Avoid SA_ namespace.
93179         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
93180         Reported by Ralf Wildenhues.
93182         Avoid test failure due to SA_RESTORER.
93183         * tests/test-sigaction.c (SA_MASK): New macro.
93184         (main): Avoid failing due to extension flags being set.
93185         Reported by Jim Meyering.
93187         Revert use of sig-handler.h in sigprocmask.c.
93188         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
93189         it requires the existence of struct sigaction.
93190         * lib/sigprocmask.c (handler_t): Restore typedef.
93191         (rpl_signal, old_handlers): Use local type.
93193 2008-06-22  Bruno Haible  <bruno@clisp.org>
93195         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
93196         conditionally.
93197         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
93199 2008-06-22  Bruno Haible  <bruno@clisp.org>
93201         * doc/posix-functions/siginterrupt.texi: Move note.
93203         * lib/signal.in.h (SA_RESTART): New macro.
93204         * lib/sigaction.c: Update comment.
93206         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
93208         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
93209         (gl_PREREQ_SIGPROCMASK): Invoke it.
93210         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
93212         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
93214         * lib/sigprocmask.c: Update a comment.
93216 2008-06-21  Eric Blake  <ebb9@byu.net>
93218         Use sigaction module rather than signal().
93219         * modules/c-stack (Depends-on): Add sigaction.
93220         * modules/fatal-signal (Depends-on): Likewise.
93221         * modules/nanosleep (Depends-on): Likewise.
93222         * modules/sigprocmask (Files): Add sig-handler.h.
93223         * modules/sigaction (Files): Likewise.
93224         * lib/sig-handler.h (get_handler): New file, suggested by Paul
93225         Eggert.
93226         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
93227         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
93228         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
93229         (init_fatal_signals): Likewise.
93230         * lib/nanosleep.c (rpl_nanosleep): Likewise.
93231         (siginterrupt): Delete fallback.
93232         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
93233         instead.
93234         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
93235         siginterrupt.
93237         New module sigaction, for mingw.
93238         * modules/sigaction: New module...
93239         * modules/sigaction-tests: ...and its test.
93240         * m4/sigaction.m4: New file.
93241         * lib/sigaction.c: Likewise.
93242         * tests/test-sigaction.c: Likewise.
93243         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
93244         * modules/signal (Makefile.am): Likewise.
93245         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
93246         needed.
93247         * doc/posix-headers/signal.texi (signal.h): Mention provided
93248         types.
93249         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
93250         that sigaction is preferable.
93251         * doc/posix-functions/sigaction.texi (sigaction): Mention new
93252         module.
93253         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
93254         sigaction.
93256         Improve robustness of sigprocmask by overriding signal.
93257         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
93258         is in use.
93259         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
93260         (SIGKILL, SIGSTOP): Provide fallbacks.
93261         (rpl_signal): Implement.
93262         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
93263         signal can be called inside handlers.
93265         Fix nanosleep module on mingw.
93266         * modules/nanosleep (Depends-on): Add sys_select.
93267         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
93269         Fix licensing of sigprocmask.
93270         * modules/raise (License): Relicense as LGPL.
93272 2008-06-21  Bruno Haible  <bruno@clisp.org>
93274         * lib/propername.c (proper_name_utf8): Don't use the transliterated
93275         result if it contains question marks.
93276         Reported by Michael Geng <linux@michaelgeng.de>.
93278 2008-06-19  Bruno Haible  <bruno@clisp.org>
93280         Fix CVS-ism.
93281         * doc/gnulib.texi: Include updated-stamp.texi.
93282         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
93283         (updated-stamp.texi): New rule.
93284         (gnulib.info): Depend on it.
93285         * doc/.gitignore: Add updated-stamp.texi.
93286         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
93288 2008-06-19  Bruno Haible  <bruno@clisp.org>
93290         * doc/Makefile (gnulib.info): Update and simplify dependencies.
93291         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
93293 2008-06-19  Eric Blake  <ebb9@byu.net>
93295         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
93296         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
93297         Reported by Stepan Kasal.
93299 2008-06-18  Bruno Haible  <bruno@clisp.org>
93301         * lib/fatal-signal.c (init_fatal_signals): Add comment.
93302         Reported by Eric Blake.
93304 2008-06-18  Eric Blake  <ebb9@byu.net>
93306         Work around cygwin 1.5.25 strsignal bug.
93307         * tests/test-strsignal.c: Allow for const char *.
93308         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
93310 2008-06-18  Simon Josefsson  <simon@josefsson.org>
93312         * users.txt: Update URL to article and add author/date
93313         information.
93315 2008-06-17  Bruno Haible  <bruno@clisp.org>
93317         New macro gl_DISABLE_THREADS.
93318         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
93319         if the user did not pass --enable-threads or --disable-threads option.
93320         (gl_DISABLE_THREADS): New macro.
93321         Reported by Eric Blake <ebb9@byu.net>.
93323 2008-06-17  Bruno Haible  <bruno@clisp.org>
93325         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
93326         when the macro ignores it.
93327         Based on a patch by Eric Blake <ebb9@byu.net>.
93329 2008-06-17  Bruno Haible  <bruno@clisp.org>
93331         * modules/tls (License): Change to LGPLv2+.
93332         Reported by Eric Blake.
93334 2008-06-17  Eric Blake  <ebb9@byu.net>
93336         Simplify c-stack prerequisites.
93337         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
93338         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
93339         no longer requires <ucontext.h> to exist.  Optimize setrlimit
93340         check.
93341         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
93342         <sys/resource.h>.
93344         Move c-stack test into testsuite.
93345         * modules/c-stack-tests: New file.
93346         * lib/c-stack.c [DEBUG]: Move test program...
93347         * tests/test-c-stack.c: ...into this new file.  Skip rather than
93348         fail test if sigaltstack is lacking.
93349         * tests/test-c-stack.sh: New driver file.
93351 2008-06-16  Eric Blake  <ebb9@byu.net>
93353         Use raise module consistently.
93354         * modules/fatal-signal (Depends-on): Add raise.
93355         * modules/sigprocmask (Depends-on): Likewise.
93356         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
93357         * lib/sigprocmask.c (sigprocmask): Likewise.
93358         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
93359         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
93361         Fix compliance bug in sigpending.
93362         * lib/sigprocmask.c (sigpending): Return pending array via
93363         parameter, not return value.
93365 2008-06-14  Eric Blake  <ebb9@byu.net>
93367         Improve obstack-printf test code.
93368         * tests/test-obstack-printf.c (test_function): Fix comment, and
93369         simplify usage of obstack_* in macros.  Add a test for coverage.
93370         Reported by Bruno Haible.
93372 2008-06-14  Bruno Haible  <bruno@clisp.org>
93374         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
93375         array size as a constant, not as a const variable.
93376         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
93377         AC_USE_SYSTEM_EXTENSIONS.
93378         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
93379         Test whether the obstack_printf function actually exists.
93380         * modules/obstack-printf (Depends-on): Add extensions.
93381         (Include): Remove obstack.h.
93382         * modules/obstack-printf-posix (Depends-on): Add extensions.
93383         (Include): Remove obstack.h.
93385 2008-06-13  Eric Blake  <ebb9@byu.net>
93387         Add obstack-printf and obstack-printf-posix modules.
93388         * modules/obstack-printf: New file.
93389         * modules/obstack-printf-posix: Likewise.
93390         * MODULES.html.sh (Misc): Mention them.
93391         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
93392         Likewise.
93393         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
93394         Likewise.
93395         * modules/stdio (Makefile.am): Accomodate new modules.
93396         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
93397         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
93398         Declare.
93399         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
93400         functions.
93401         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
93402         (gl_REPLACE_OBSTACK_PRINTF): New macros
93403         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
93404         * tests/test-obstack-printf.c: New file.
93405         * modules/obstack-printf-tests: Likewise.
93406         * modules/obstack-printf-posix-tests: Likewise.
93408 2008-06-11  Bruno Haible  <bruno@clisp.org>
93410         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
93411         * lib/open.c: Include errno.h.
93412         (open): Fail when attempting to write to a file that has a trailing
93413         slash.
93414         * tests/test-open.c (main): Test against trailing slash bug.
93415         * doc/posix-functions/open.texi: Mention the trailing slash bug.
93417 2008-06-10  Bruno Haible  <bruno@clisp.org>
93419         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
93420         for $? to work inside the trap command, with various /bin/sh-s.
93421         * tests/test-vc-list-files-cvs.sh: Likewise.
93423 2008-06-10  Bruno Haible  <bruno@clisp.org>
93425         * lib/acl-internal.h: Don't include gettext.h here.
93426         * lib/set-mode-acl.c: Include gettext.h here.
93427         * lib/copy-acl.c: Likewise.
93429 2008-06-10  Bruno Haible  <bruno@clisp.org>
93431         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
93432         * lib/wait-process.c (wait_subprocess): Likewise.
93433         * lib/execute.h (execute): Add termsigp argument.
93434         * lib/execute.c (execute): Likewise.
93435         * lib/csharpcomp.c (compile_csharp_using_pnet,
93436         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
93437         * lib/csharpexec.c (execute_csharp_using_pnet,
93438         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
93439         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
93440         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
93441         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
93442         is_jikes_present): Update.
93443         * lib/javaexec.c (execute_java_class): Update.
93444         * lib/javaversion.c (execute_and_read_line): Update.
93445         * NEWS: Document the changes.
93446         Reported by Eric Blake.
93448 2008-06-10  Eric Blake  <ebb9@byu.net>
93450         Add missing include.
93451         * tests/test-strstr.c (includes): Add <signal.h>.
93452         * tests/test-strcasestr.c (includes): Likewise.
93453         * tests/test-memmem.c (includes): Likewise.
93455 2008-06-10  Bruno Haible  <bruno@clisp.org>
93457         * lib/wait-process.c (wait_subprocess): Add an assertion.
93459 2008-06-10  Bruno Haible  <bruno@clisp.org>
93461         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
93463 2008-06-10  Bruno Haible  <bruno@clisp.org>
93465         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
93466         using alarm().
93467         * tests/test-strcasestr.c (main): Likewise.
93468         * tests/test-strstr.c (main): Likewise.
93470 2008-06-09  Bruno Haible  <bruno@clisp.org>
93472         Work around the Solaris 10 ACE ACLs ABI change.
93473         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
93474         declare if ACL_NO_TRIVIAL is present.
93475         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
93476         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
93477         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
93478         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
93479         define if ACL_NO_TRIVIAL is present.
93480         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
93481         and use the current ABI.
93482         (file_has_acl): Use same #if condition as elsewhere.
93483         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
93484         in use, and use the current ABI.
93485         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
93486         Reported by Jim Meyering.
93488 2008-06-09  Eric Blake  <ebb9@byu.net>
93490         Work around environments that (stupidly) ignore SIGALRM.
93491         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
93492         before using alarm().
93493         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93494         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
93495         Reported by Ian Beckwith <ianb@erislabs.net>.
93497         Produce autobuild blurb earlier in log.
93498         * modules/autobuild (configure.ac-early): Move AB_INIT here.
93500 2008-06-09  Jim Meyering  <meyering@redhat.com>
93501         and Ondřej Vašík  <ovasik@redhat.com>
93503         utimens.c: correct kernel bug work-around
93504         Ondřej Vašík found that the invalid return value of 280 indicates
93505         failure, not success, and the kernel bug we're trying to work
93506         around affects not just the utimensat call, but also the fallback
93507         futimens call.
93508         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
93509         not success.
93510         [HAVE_FUTIMENS]: Use the same work-around, here.
93512 2008-06-09  Jim Meyering  <meyering@redhat.com>
93514         add more guards around definition of ACE_-related code
93515         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
93516         ALLOW and ACE_OWNER are also defined.
93518 2008-06-08  Bruno Haible  <bruno@clisp.org>
93520         * lib/acl-internal.h: Add me as co-author.
93521         * lib/file-has-acl.c: Likewise.
93522         * lib/set-mode-acl.c: Likewise.
93523         * lib/copy-acl.c: Likewise.
93525 2008-06-08  Bruno Haible  <bruno@clisp.org>
93527         Add support for AIX ACLs.
93528         * lib/acl-internal.h (acl_nontrivial): New declaration.
93529         * lib/file-has-acl.c (acl_nontrivial): New function.
93530         (file_has_acl): Add implementation using AIX 4 ACL API.
93531         * lib/set-mode-acl.c (qset_acl): Likewise.
93532         * lib/copy-acl.c (qcopy_acl): Likewise.
93534 2008-06-08  Bruno Haible  <bruno@clisp.org>
93536         Add support for HP-UX ACLs.
93537         * lib/acl-internal.h (acl_nontrivial): New declaration.
93538         * lib/file-has-acl.c (acl_nontrivial): New function.
93539         (file_has_acl): Add implementation using HP-UX 11 ACL API.
93540         * lib/set-mode-acl.c (qset_acl): Likewise.
93541         * lib/copy-acl.c (qcopy_acl): Likewise.
93543 2008-06-08  Bruno Haible  <bruno@clisp.org>
93545         Add support for Cygwin ACLs.
93546         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
93547         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
93548         the chmod_or_fchmod call.
93549         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
93551 2008-06-08  Bruno Haible  <bruno@clisp.org>
93553         Fix bug with setuid modes in Solaris 10+ code.
93554         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
93555         succeeded, when the mode contains some special bits.
93557 2008-06-08  Bruno Haible  <bruno@clisp.org>
93559         Add support for Solaris 7..10 ACLs.
93560         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
93561         declarations.
93562         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
93563         functions.
93564         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
93565         * lib/set-mode-acl.c (qset_acl): Likewise.
93566         * lib/copy-acl.c (qcopy_acl): Likewise.
93568 2008-06-08  Bruno Haible  <bruno@clisp.org>
93570         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
93571         declaration.
93572         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
93573         (acl_access_nontrivial): Remove MacOS X case.
93574         (file_has_acl): Use acl_extended_nontrivial.
93575         * lib/copy-acl.c (qcopy_acl): Likewise.
93577 2008-06-08  Bruno Haible  <bruno@clisp.org>
93579         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
93581 2008-06-08  Jim Meyering  <meyering@redhat.com>
93583         * modules/acl (Maintainer): Add Bruno Haible.
93585 2008-06-07  Bruno Haible  <bruno@clisp.org>
93587         Improve support for Tru64 ACLs.
93588         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
93589         ACL on OSF/1.
93591 2008-06-07  Bruno Haible  <bruno@clisp.org>
93593         Add support for MacOS X ACLs.
93594         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
93595         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
93596         * lib/set-mode-acl.c (qset_acl): Likewise.
93597         * lib/copy-acl.c (qcopy_acl): Likewise.
93599 2008-06-07  Bruno Haible  <bruno@clisp.org>
93601         Fix memory leak introduced on 2008-05-22.
93602         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
93603         use.
93605 2008-06-07  Bruno Haible  <bruno@clisp.org>
93607         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
93608         to construct an empty ACL.
93610 2008-06-07  Bruno Haible  <bruno@clisp.org>
93612         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
93613         precisely.
93614         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
93616 2008-06-07  Bruno Haible  <bruno@clisp.org>
93618         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
93619         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
93621 2008-06-07  Bruno Haible  <bruno@clisp.org>
93623         * doc/posix-functions/_setjmp.texi: Explain the use of this function
93624         regardless of POSIX.
93625         * doc/posix-functions/_longjmp.texi: Likewise.
93626         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
93627         SystemV platform in this case.
93629 2008-06-06  Eric Blake  <ebb9@byu.net>
93631         Document abort() bugs.
93632         * doc/posix-functions/abort.texi (abort): Mention anomalies.
93634         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
93635         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
93636         sigsetjmp.
93637         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
93638         siglongjmp, but only as a macro.
93639         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
93640         is obsolete.
93641         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
93643         Tweak documentation to cover cygwin argz bugs.
93644         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
93645         argz bug fix; no code change needed since no cygwin releases
93646         occurred between the last fix and the bug being tested.
93647         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
93648         module and recently fixed cygwin bugs.
93649         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
93650         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
93651         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
93652         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
93653         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
93654         Likewise.
93655         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
93656         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
93657         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
93658         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
93659         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
93660         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
93661         Likewise.
93663         Avoid gcc warning on cygwin.
93664         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
93665         !ACL_NO_TRIVIAL]: Avoid unused variable.
93667 2008-06-05  Eric Blake  <ebb9@byu.net>
93669         Be tolerant of UNKNOWN version in gnulib-tool test dir.
93670         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
93671         git-version-gen fails to come up with a version.
93672         Reported by Simon Josefsson.
93674 2008-06-05  Jim Meyering  <meyering@redhat.com>
93675             Paul Eggert  <eggert@cs.ucla.edu>
93677         utimens.c: work around a probable Linux kernel bug
93678         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
93679         appears to be a kernel bug that causes utimensat to return 280
93680         instead of 0, indicating success.
93682 2008-06-04  Bruno Haible  <bruno@clisp.org>
93684         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
93685         2008-06-01 commit.
93687 2008-06-04  Bruno Haible  <bruno@clisp.org>
93689         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
93690         * lib/file-has-acl.c (acl_access_nontrivial): New function.
93691         (file_has_acl): Use it. Save errno afterwards.
93692         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
93694 2008-06-03  Bruno Haible  <bruno@clisp.org>
93696         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
93697         draft code. Simplify #ifs.
93698         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
93699         Put Solaris code after POSIX-draft code. Fix comments regarding
93700         Solaris 10, HP-UX. Mention Cygwin.
93701         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
93703 2008-06-03  Eric Blake  <ebb9@byu.net>
93705         Provide fallback for older kernels.
93706         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
93707         Provide runtime fallback if kernel lacks support.
93708         Reported by Mike Frysinger.
93710 2008-06-02  Bruno Haible  <bruno@clisp.org>
93712         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
93713         it exists.
93715 2008-06-02  Bruno Haible  <bruno@clisp.org>
93717         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
93718         * lib/copy-acl.c (qcopy_acl): Update comment.
93720 2008-06-02  Bruno Haible  <bruno@clisp.org>
93722         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
93723         like ACL APIs.
93725 2008-06-02  Bruno Haible  <bruno@clisp.org>
93727         * tests/test-file-has-acl.sh: Use different code for Cygwin.
93728         * tests/test-set-mode-acl.sh: Likewise.
93729         * tests/test-copy-acl.sh: Likewise.
93730         * tests/test-copy-file.sh: Likewise.
93732 2008-06-02  Bruno Haible  <bruno@clisp.org>
93734         * tests/test-file-has-acl.sh: Remove unused code.
93736 2008-06-01  Bruno Haible  <bruno@clisp.org>
93738         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
93739         (copy_acl): Just a wrapper around qcopy_acl that emits the error
93740         messages.
93741         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
93743 2008-06-01  Bruno Haible  <bruno@clisp.org>
93745         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
93746         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
93747         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
93748         APIs.
93749         * modules/acl-tests (configure.ac): Remove tests now contained in
93750         m4/acl.m4.
93752 2008-06-02  Jim Meyering  <meyering@redhat.com>
93754         announce-gen: use a better key-server host name
93755         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
93756         it may be more consistently reliable.  Suggested by Werner Koch
93757         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
93759 2008-06-01  Bruno Haible  <bruno@clisp.org>
93761         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
93762         Reported by Voroskoi Andras <voroskoi@gmail.com>.
93764 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
93766         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
93768 2008-06-01  Bruno Haible  <bruno@clisp.org>
93770         New ACL tests.
93771         * tests/test-file-has-acl.sh: New file.
93772         * tests/test-file-has-acl.c: New file.
93773         * tests/test-set-mode-acl.sh: New file.
93774         * tests/test-set-mode-acl.c: New file.
93775         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
93776         * tests/test-copy-acl.c: New file.
93777         * modules/acl-tests: New file, based on modules/copy-file-tests.
93778         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
93779         (Depends-on): Add acl-tests.
93780         (configure.ac): Remove checks.
93781         (Makefile.am): Don't create test-sameacls program here any more.
93783 2008-06-01  Bruno Haible  <bruno@clisp.org>
93785         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
93786         * tests/test-sameacls.c: Include progname.h.
93787         (main): Invoke set_program_name. Portability fixes for MacOS X,
93788         Solaris, HP-UX.
93790 2008-06-01  Bruno Haible  <bruno@clisp.org>
93792         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
93793         function.
93794         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
93796 2008-06-01  Bruno Haible  <bruno@clisp.org>
93798         * modules/rpmatch (Depends-on): Add strdup.
93800 2008-06-01  Bruno Haible  <bruno@clisp.org>
93802         * lib/pipe.c: Include unistd-safer.h.
93803         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
93804         * modules/pipe (Depends-on): Add unistd-safer.
93806 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93808         * modules/autobuild (configure.ac): Call AB_INIT.
93810 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93812         * tests/test-getaddrinfo.c: Don't print debug messages by default.
93813         Suggested by Bruno Haible <bruno@clisp.org>.
93815 2008-05-30  Simon Josefsson  <simon@josefsson.org>
93817         * tests/test-base64.c: Cast size_t to unsigned long when invoking
93818         printf.  Use %lu instead of %d.  Reported by Bruno Haible
93819         <bruno@clisp.org>.
93821 2008-05-29  Eric Blake  <ebb9@byu.net>
93823         Prefer new POSIX 200x interfaces over futimesat.
93824         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
93825         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
93826         when available.
93827         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
93829 2008-05-28  Bruno Haible  <bruno@clisp.org>
93831         * modules/stpcpy (License): Change to LGPLv2+.
93832         Requested by David Lutterkort <dlutter@redhat.com>.
93834 2008-05-27  Bruno Haible  <bruno@clisp.org>
93836         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
93837         current mingw.
93838         Reported by Jose E. Marchesi <jemarch@gnu.org>.
93840 2008-05-27  Bruno Haible  <bruno@clisp.org>
93842         * modules/iconv_open (Link): New section, from module 'iconv'.
93843         * modules/striconv (Link): Likewise.
93844         * modules/striconveh (Link): Likewise.
93845         * modules/xstriconv (Link): Likewise.
93846         * modules/unicodeio (Link): Likewise.
93847         * modules/propername (Link): Likewise.
93848         Reported by Jim Meyering.
93850 2008-05-26  Jim Meyering  <meyering@redhat.com>
93852         sha256: do not artificially restrict buffer length to be < 2^32
93853         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
93854         uint32_t to size_t.
93855         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
93856         to match.
93858         avoid unaligned access errors, e.g., on sparc
93859         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
93860         direct access through a possibly-unaligned uint64* pointer.
93861         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
93862         direct access through a possibly-unaligned uint32* pointer.
93863         Prompted by this patch from Tom "spot" Callaway:
93864         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
93866         sha512.c: fix typo in comment
93867         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
93869 2008-05-25  Bruno Haible  <bruno@clisp.org>
93871         * lib/set-mode-acl.c: Renamed from lib/acl.c.
93872         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
93873         (Makefile.am): Update lib_SOURCES.
93875 2008-05-25  Bruno Haible  <bruno@clisp.org>
93877         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
93879 2008-05-25  Jim Meyering  <meyering@redhat.com>
93881         useless-if-before-free: freed expr may have white-space differences
93882         * build-aux/useless-if-before-free: Recognize cases in which the
93883         freed expression differs from the tested one in embedded white
93884         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
93885         $1 was used, so we can't make any regexp shy.  Improved tests now
93886         detect this.
93888         useless-if-before-free: accept white space in the expression.
93889         * build-aux/useless-if-before-free: For now, any white space
93890         in the expression must be identical in the free argument.
93892         useless-if-before-free: efficiency tweak
93893         * build-aux/useless-if-before-free: Make the expression-matching
93894         regexp "shy".
93895         Make the *outer* regexp shy, not the expr-matching one.
93897         update code-in-comment to accept cast of free arg
93898         * build-aux/useless-if-before-free: Update regexp.
93900 2008-05-25  Bruno Haible  <bruno@clisp.org>
93902         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
93903         * modules/copy-file-tests (Files, Makefile.am): Update.
93904         * tests/test-copy-file.c (func_test_copy): Update.
93906 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
93908         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
93910 2008-05-23  Bruno Haible  <bruno@clisp.org>
93912         Improve support for ACLs on OSF/1.
93913         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
93914         Remove fallback for unknown flavors of ACLs.
93916 2008-05-22  Bruno Haible  <bruno@clisp.org>
93918         Add support for ACLs on OSF/1.
93919         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
93920         replacements.
93921         (acl_free_text): New macro fallback.
93922         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
93923         acl_free.
93924         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
93925         acl_free_text function. Require AC_C_INLINE.
93927 2008-05-22  Bruno Haible  <bruno@clisp.org>
93929         Make copy_acl work on MacOS X 10.5.
93930         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
93931         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
93932         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
93933         If MODE_INSIDE_ACL, don't assume that every system has the same text
93934         representation for ACLs as FreeBSD.
93935         * lib/copy-acl.c (copy_acl): Add support for platforms with
93936         !MODE_INSIDE_ACL.
93937         * lib/file-has-acl.c (file_has_acl): Likewise.
93938         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
93939         FreeBSD, MacOS X, or IRIX, respectively.
93941 2008-05-22  Bruno Haible  <bruno@clisp.org>
93943         * lib/acl.h: Don't include <sys/acl.h>.
93944         (GETACLCNT): Move fallback to lib/acl-internal.h.
93945         * lib/acl-internal.h: Include <sys/acl.h> here.
93946         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
93948 2008-05-22  Bruno Haible  <bruno@clisp.org>
93950         Split off copy_acl function to separate file.
93951         * lib/copy-acl.c: New file, extracted from lib/acl.c.
93952         * lib/acl.c (copy_acl): Moved function to separate file.
93953         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
93954         * modules/acl (Files): Add lib/copy-acl.c.
93955         (Makefiles.am): Augment lib_SOURCES.
93957 2008-05-22  Bruno Haible  <bruno@clisp.org>
93959         * modules/copy-file-tests: New file.
93960         * tests/test-copy-file.sh: New file.
93961         * tests/test-copy-file.c: New file.
93962         * tests/test-copy-file-sameacls.c: New file.
93964 2008-05-22  Eric Blake  <ebb9@byu.net>
93966         Avoid gcc warning.
93967         * tests/test-memcmp.c (main): Pass NULL indirectly.
93969 2008-05-21  Bruno Haible  <bruno@clisp.org>
93971         Add reference doc about ACLs.
93972         * doc/acl-resources.txt: New file.
93973         * doc/acl-cygwin.txt: New file.
93975 2008-05-21  Bruno Haible  <bruno@clisp.org>
93977         Avoid one more warning from gcc.
93978         * lib/vasnprintf.c (IF_LINT): Update comments.
93979         (VASNPRINTF): Use it also for the 'prefix' array initializer.
93981 2008-05-21  Jim Meyering  <meyering@redhat.com>
93983         avoid a warning from gcc
93984         * lib/vasnprintf.c (IF_LINT): Define.
93985         (scale10_round_decimal_long_double):
93986         Use it to avoid a "may be used uninitialized" warning.
93987         (scale10_round_decimal_double): Likewise.
93989 2008-05-21  Simon Josefsson  <simon@josefsson.org>
93991         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
93992         declared.
93994 2008-05-20  Bruno Haible  <bruno@clisp.org>
93996         * tests/test-memcmp.c (main): Test also the sign of the result. Test
93997         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
93999 2008-05-20  Simon Josefsson  <simon@josefsson.org>
94001         * modules/memcmp-tests: New file.
94002         * tests/test-memcmp.c: New file.
94004 2008-05-19  Bruno Haible  <bruno@clisp.org>
94006         * modules/propername (Notice, configure.ac): Put quoted "..." into
94007         --keyword option.
94008         * lib/propername.h: Update comments accordingly.
94009         Reported by Eric Blake.
94011 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
94013         * modules/getpass-gnu (Depends-on): Add fseeko.
94015 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94017         * modules/base64-tests: New file.
94019 2008-05-19  Bo Borgerson  <gigabo@gmail.com>
94021         * lib/base64.c (base64_decode_ctx): If a decode context structure
94022         was passed in use it to ignore newlines.  If a context structure
94023         was _not_ passed in, continue to treat newlines as garbage (this
94024         is the historical behavior).  Formerly base64_decode.
94025         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94026         takes a decode context structure.
94027         * lib/base64.h (base64_decode): Macro for four-argument calls.
94028         (base64_decode_alloc): Likewise.
94029         * lib/base64.c (base64_decode_ctx): If a decode context structure
94030         was passed in use it to ignore newlines.  If a context structure
94031         was _not_ passed in, continue to treat newlines as garbage (this
94032         is the historical behavior).  Formerly base64_decode.
94033         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
94034         takes a decode context structure.
94035         * lib/base64.h (base64_decode): Macro for four-argument calls.
94036         (base64_decode_alloc): Likewise.
94038 2008-05-19  Jim Meyering  <meyering@redhat.com>
94040         avoid a warning from gcc
94041         * lib/trim.c (IF_LINT): Define.
94042         (trim2): Use it to avoid a "may be used uninitialized" warning.
94044         Fix doc typo.
94045         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
94047 2008-05-19  Bruno Haible  <bruno@clisp.org>
94049         * doc/glibc-functions/getpass.texi: Document limits of other
94050         implementations.
94052 2008-05-19  Simon Josefsson  <simon@josefsson.org>
94053             Bruno Haible <bruno@clisp.org>
94055         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
94057 2008-05-18  Bruno Haible  <bruno@clisp.org>
94059         * modules/propername: New file, from GNU gettext.
94060         * lib/propername.h: New file, from GNU gettext.
94061         * lib/propername.c: New file, from GNU gettext.
94062         * MODULES.html.sh (Internationalization functions): Add propername.
94064 2008-05-16  Jim Meyering  <meyering@redhat.com>
94065             Bruno Haible  <bruno@clisp.org>
94067         Avoid some warnings from "gcc -Wshadow".
94068         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
94070 2008-05-15  Eric Blake  <ebb9@byu.net>
94072         Extend previous patch to cygwin 1.7.0.
94073         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
94074         fast implementation in cygwin >= 1.7.0.
94075         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94076         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94078 2008-05-15  Bruno Haible  <bruno@clisp.org>
94080         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
94081         implementation in glibc >= 2.9.
94082         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
94083         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
94085 2008-05-15  Bruno Haible  <bruno@clisp.org>
94087         * MODULES.html.sh (Internationalization functions): Remove linebreak.
94088         (Unicode string functions): Add unilbrk/*.
94089         Reported by Karl Berry.
94091 2008-05-15  Eric Blake  <ebb9@byu.net>
94093         Fix violation of <stdbool.h> replacement in regex.
94094         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
94095         * lib/regexec.c (re_search_internal): Likewise.
94096         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
94098 2008-05-15  Jim Meyering  <meyering@redhat.com>
94100         avoid distracting test output when git or cvs is not found
94101         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
94102         * tests/test-vc-list-files-git.sh: Likewise.
94104 2008-05-15  Eric Blake  <ebb9@byu.net>
94106         Glibc finally accepted the memmem speedup code, bugzilla #5514.
94107         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
94108         glibc version.
94109         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
94110         * doc/posix-functions/strstr.texi (strstr): Likewise.
94111         * lib/str-two-way.h (MAX): Sychronize with glibc.
94113 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
94115         * lib/regcomp.c (optimize_utf8): Add a note on why we test
94116         opr.ctx_type.
94117         (calc_first): Initialize constraint field.
94118         (duplicate_node_closure): Use it instead of special casing ANCHORS.
94119         Fix grammar.
94120         (duplicate_node): Merge constraint field for all node types.
94121         (calc_eclosure_iter): Look at constraint field for all node types.
94122         * lib/regex_internal.c (create_cd_newstate): Don't look at
94123         opr.ctx_type.
94125 2008-05-14  Bruno Haible  <bruno@clisp.org>
94127         Help GCC to do better code generation.
94128         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
94129         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
94130         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
94131         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
94132         Declare with attribute 'malloc' if supported.
94134 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
94136         use "echo STR|wc -c" rather than unportable "expr length STR"
94137         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
94138         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
94140 2008-05-14  Jim Meyering  <meyering@redhat.com>
94142         use dd ibs=$n count=1 ... rather than less-portable head -c$n
94143         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
94144         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
94145         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
94146         via Collin Lasse.
94148 2008-05-14  Eric Blake  <ebb9@byu.net>
94150         Avoid quadratic growth in gl_LIBSOURCES.
94151         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
94152         Suggested by Bruno Haible.
94154         Test xmemdup0.
94155         * modules/xmemdup0-tests: New file.
94156         * tests/test-xmemdup0.c: Likewise.
94158 2008-05-13  Eric Blake  <ebb9@byu.net>
94160         Split xmemdup0 into its own module.
94161         * modules/xmemdup0: New file.
94162         * lib/xmemdup0.h: Likewise.
94163         * lib/xmemdup0.c: Likewise.
94164         * MODULES.html.sh (Memory management functions): Add xmemdup0.
94165         * lib/xalloc.h (xmemdup0): Remove.
94166         * lib/xmalloc.c (xmemdup0): Likewise.
94168 2008-05-13  Eric Blake  <ebb9@byu.net>
94169             Bruno Haible  <bruno@clisp.org>
94171         Reduce number of forks required during autoconf.
94172         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
94173         and gl_LIBSOURCES_DIR.
94174         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
94175         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
94176         m4_syscmd per file.
94177         <m4_foreach_w>: Move...
94178         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
94180 2008-05-13  Eric Blake  <ebb9@byu.net>
94182         * gnulib-tool: Fix various comment typos.
94184 2008-05-12  Bruno Haible  <bruno@clisp.org>
94186         Tailor the linebreaking algorithm.
94187         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
94189 2008-05-12  Bruno Haible  <bruno@clisp.org>
94191         Update to Unicode 5.0.0.
94192         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94193         LBP_JV, LBP_JT. Redistribute values.
94194         (unilbrk_table): Change size.
94195         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
94196         Unicode TR#14 rev. 22.
94197         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
94198         LBP_JV, LBP_JT. Redistribute values.
94199         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
94200         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
94201         Update.
94202         * lib/unilbrk/lbrkprop1.h: Regenerated.
94203         * lib/unilbrk/lbrkprop2.h: Regenerated.
94204         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
94205         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
94206         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
94207         Likewise.
94208         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
94209         Likewise.
94210         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
94211         result.
94212         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
94213         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
94214         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
94215         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
94216         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
94217         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
94219 2008-05-11  Bruno Haible  <bruno@clisp.org>
94221         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
94223 2008-05-11  Bruno Haible  <bruno@clisp.org>
94225         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
94226         * modules/unilbrk/gen-lbrk: New file.
94228 2008-05-11  Bruno Haible  <bruno@clisp.org>
94230         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
94231         * m4/sha512.m4 (gl_SHA512): Likewise.
94233 2008-05-11  Jim Meyering  <meyering@redhat.com>
94235         New modules: crypto/sha256, crypto/sha512 (from coreutils)
94236         * modules/crypto/sha256: New file.
94237         * modules/crypto/sha512: Likewise.
94238         * lib/sha256.c: Likewise.
94239         * lib/sha256.h: Likewise.
94240         * lib/sha512.c: Likewise.
94241         * lib/sha512.h: Likewise.
94242         * lib/u64.h: Likewise.
94243         * m4/sha256.m4: Likewise.
94244         * m4/sha512.m4: Likewise.
94245         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
94247 2008-05-10  Bruno Haible  <bruno@clisp.org>
94249         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
94250         (Input/Output <stdio.h>): Add xprintf.
94251         (Signal handling <signal.h>): Add strsignal.
94252         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
94253         (Core language properties): Add func.
94254         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
94255         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
94256         strings.
94257         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
94258         (Input/output): New section.
94259         (File system functions): Add openat-die, stat-macros.
94260         (Networking functions): Add sockets.
94261         (Unicode string functions): Add unictype/*.
94262         (Support for building libraries and executables): Add gperf.
94263         (Support for building documentation): Add agpl-3.0.
94264         (Misc): Add nocrash.
94266 2008-05-10  Bruno Haible  <bruno@clisp.org>
94268         * modules/unictype/gen-ctype: New file.
94270 2008-05-10  Jim Meyering  <meyering@redhat.com>
94272         Make chdir-safer.c more efficient on a system with no symlinks.
94273         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
94274         also if ELOOP is zero.  Suggested by Bruno Haible.
94276         Make chdir-safer.c slightly safer.
94277         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
94278         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
94280         Avoid compile failure on systems without ELOOP (like mingw).
94281         * lib/chdir-safer.c (ELOOP): Define if not already defined.
94282         Reported by Bruno Haible.
94284 2008-05-10  Bruno Haible  <bruno@clisp.org>
94286         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
94287         (is_utf8_encoding): Use a case-insensitive comparison.
94288         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
94289         streq.
94291 2008-05-10  Bruno Haible  <bruno@clisp.org>
94293         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
94294         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
94295         * lib/unilbrk/ulc-common.h (iconv_string_length,
94296         iconv_string_keeping_offsets): Remove declarations.
94297         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
94298         Don't include <iconv.h>, streq.h, xsize.h.
94299         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
94300         conversion.
94301         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
94302         <iconv.h>, streq.h, xsize.h.
94303         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
94304         conversion.
94305         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
94306         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
94307         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
94308         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
94310 2008-05-10  Bruno Haible  <bruno@clisp.org>
94312         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
94313         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
94315         * modules/unilbrk/u32-width-linebreaks-tests: New file.
94316         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
94318         * modules/unilbrk/u16-width-linebreaks-tests: New file.
94319         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
94321         * modules/unilbrk/u8-width-linebreaks-tests: New file.
94322         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
94324         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
94325         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
94327         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
94328         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
94330         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
94331         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
94333         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
94334         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
94336 2008-05-10  Bruno Haible  <bruno@clisp.org>
94338         Split up 'linebreak' module.
94339         * lib/unilbrk.h: New file, based on lib/linebreak.h.
94340         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
94341         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
94342         modifications.
94343         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
94344         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
94345         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
94346         lib/linebreak.c.
94347         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
94348         lib/linebreak.c.
94349         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
94350         lib/linebreak.c.
94351         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
94352         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
94353         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
94354         lib/linebreak.c.
94355         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
94356         lib/linebreak.c.
94357         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
94358         lib/linebreak.c.
94359         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
94360         lib/linebreak.c.
94361         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
94362         lib/linebreak.c.
94363         * modules/unilbrk/base: New file.
94364         * modules/unilbrk/tables: New file.
94365         * modules/unilbrk/u8-possible-linebreaks: New file.
94366         * modules/unilbrk/u16-possible-linebreaks: New file.
94367         * modules/unilbrk/u32-possible-linebreaks: New file.
94368         * modules/unilbrk/ulc-common: New file.
94369         * modules/unilbrk/ulc-possible-linebreaks: New file.
94370         * modules/unilbrk/u8-width-linebreaks: New file.
94371         * modules/unilbrk/u16-width-linebreaks: New file.
94372         * modules/unilbrk/u32-width-linebreaks: New file.
94373         * modules/unilbrk/ulc-width-linebreaks: New file.
94374         * lib/linebreak.h: Remove file.
94375         * lib/linebreak.c: Remove file.
94376         * m4/linebreak.m4: Remove file.
94377         * modules/linebreak: Remove file.
94378         * NEWS: Mention the changes.
94380 2008-05-09  Eric Blake  <ebb9@byu.net>
94382         Add xmemdup0.
94383         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
94384         implementation.
94385         * lib/xmalloc.c (xmemdup0): New C implementation.
94387 2008-05-08  Bruno Haible  <bruno@clisp.org>
94389         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
94391 2008-05-07  Eric Blake  <ebb9@byu.net>
94393         Support cross-compilation of <wctype.h>.
94394         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
94395         AC_CACHE_CHECK.
94397 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
94399         * build-aux/vc-list-files: Add support for bzr.
94401 2008-05-03  Jim Meyering  <meyering@redhat.com>
94403         avoid failed assertion with tight malloc
94404         * tests/test-getndelim2.c: Correct an off-by-one assertion.
94406 2008-05-03  Simon Josefsson  <simon@josefsson.org>
94408         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
94409         are needed from arpa/inet.h.
94410         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
94411         Reported by Bruno Haible.
94413 2008-05-02  Jim Meyering  <meyering@redhat.com>
94415         avoid compilation error on FreeBSD 6
94416         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
94418 2008-05-01  Jim Meyering  <meyering@redhat.com>
94420         useless-if-before-free: correct --help's exit status description
94421         * build-aux/useless-if-before-free (usage): Like grep, exit 0
94422         for one or more matches, etc.  Reported by Bruno Haible.
94424         vc-list-files: make the stand-alone gnulib test work
94425         * modules/vc-list-files-tests (configure.ac):
94426         Define and AC_SUBST abs_aux_dir.
94427         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
94428         $(abs_top_srcdir) to each script and having each of them
94429         duplicate the work of setting PATH, set PATH here, using
94430         the new variable, abs_aux_dir instead.
94431         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
94432         * tests/test-vc-list-files-git.sh: Likewise.
94433         Reported by Bruno Haible.
94435 2008-05-01  Bruno Haible  <bruno@clisp.org>
94437         * lib/getndelim2.c (getndelim2): Fix newsize computation during
94438         reallocation. Rename 'done' to 'found_delimiter'.
94440 2008-05-01  Jim Meyering  <meyering@redhat.com>
94442         vc-list-files: accommodate /bin/sh like the one from Solaris 10
94443         * build-aux/vc-list-files: Use `...`, not $(...).
94445 2008-04-30  Jim Meyering  <meyering@redhat.com>
94447         add tests for vc-list-files
94448         * modules/vc-list-files-tests: New module.
94449         * tests/test-vc-list-files-cvs.sh: New file.
94450         * tests/test-vc-list-files-git.sh: New file.
94452         avoid a warning from gcc
94453         * lib/getndelim2.c (IF_LINT): Define.
94454         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
94456         vc-list-files: work properly with build-aux/cvsu, too
94457         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
94458         to all cvs-based clauses.
94460         vc-list-files: work properly in the CVS+awk case, too
94461         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
94463         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
94464         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
94465         take more than one file argument, so .  Add quotes, just in case $dir
94466         ever contains a shell meta-character.  Prompted by Soren Hansen in
94467         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
94469 2008-04-29  Eric Blake  <ebb9@byu.net>
94471         Optimize getndelim2 to use block operations when possible.
94472         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
94473         freadseek, and memchr2.
94474         * lib/getndelim2.c (getndelim2): Use them for block reads.
94476 2008-04-29  Bruno Haible  <bruno@clisp.org>
94478         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
94479         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94480         * modules/inet_ntop (Depends-on): Add extensions.
94481         * modules/inet_pton (Depends-on): Likewise.
94482         Reported by Simon Josefsson.
94484 2008-04-29  Jim Meyering  <meyering@redhat.com>
94486         When the is more than one match in a block, match all of them.
94487         * build-aux/useless-if-before-free: Iterate through each block
94488         until there are no more matches.
94490         Fix broken useless-if-before-free script.
94491         * build-aux/useless-if-before-free: Fix typo: missing "?" after
94492         the expression to match cast of argument to free-like function.
94494 2008-04-29  Eric Blake  <ebb9@byu.net>
94496         Use new header.
94497         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
94499 2008-04-29  Jim Meyering  <meyering@redhat.com>
94501         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
94502         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
94503         by gnulib to exist and to declare e.g., inet_ntop.
94504         Don't include "inet_ntop.h", now removed.
94506         * m4/arpa_inet_h.m4: Remove trailing blanks.
94508 2008-04-29  Eric Blake  <ebb9@byu.net>
94510         Silence valgrind on safe reads beyond potential array bounds.
94511         * lib/rawmemchr.valgrind: New file.
94512         * lib/strchrnul.valgrind: Likewise.
94513         * modules/rawmemchr (Files): Distribute new file.
94514         * modules/strchrnul (Files): Likewise.
94515         Suggested by Bruno Haible.
94517 2008-04-29  Bruno Haible  <bruno@clisp.org>
94519         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
94520         (inet_ntop, inet_pton): Change portability warning's wording.
94521         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
94522         Invoke gl_CHECK_NEXT_HEADERS.
94523         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
94524         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
94525         set ARPA_INET_H.
94526         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
94527         * modules/arpa_inet (Description): No longer only for systems that
94528         lack it.
94529         (Depends-on): Add include_next.
94530         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
94531         HAVE_ARPA_INET_H.
94533 2008-04-29  Jim Meyering  <meyering@redhat.com>
94535         * modules/mkdir (License): Re-license as LGPLv2+.
94537 2008-04-29  Bruno Haible  <bruno@clisp.org>
94539         * modules/rawmemchr (Maintainer): Set to Eric.
94540         * modules/strchrnul (Maintainer): Likewise.
94542 2008-04-29  Simon Josefsson  <simon@josefsson.org>
94544         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
94545         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
94547         * modules/arpa_inet (arpa/inet.h): Use them.
94549 2008-04-28  Eric Blake  <ebb9@byu.net>
94551         Test getndelim2.
94552         * modules/getndelim2-tests: New file.
94553         * tests/test-getndelim2.c: Likewise.
94554         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
94555         stream.
94556         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
94558         * MODULES.html.sh: Document new module.
94560 2008-04-20  Bruno Haible  <bruno@clisp.org>
94562         * lib/c-stack.c (die): Use raise.
94563         * modules/c-stack (Depends-on): Add raise.
94565 2008-04-28  Bruno Haible  <bruno@clisp.org>
94567         Expect rpmatch to be declared.
94568         * lib/yesno.c (rpmatch): Remove declaration.
94570         Declare rpmatch.
94571         * lib/stdlib.in.h (rpmatch): New declaration.
94572         * lib/rpmatch.c: Include <stdlib.h> first.
94573         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
94574         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
94575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
94576         HAVE_RPMATCH.
94577         * modules/rpmatch (Depends-on): Add stdlib, extensions.
94578         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
94579         (Include): Set to <stdlib.h>.
94580         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
94581         HAVE_RPMATCH.
94582         * NEWS: Document the change.
94584 2008-04-28  Bruno Haible  <bruno@clisp.org>
94586         Change rpmatch to use nl_langinfo when appropriate.
94587         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
94588         (N_): New macro.
94589         (localized_pattern): New function/macro.
94590         (try): Remove match, nomatch arguments. Copy the pattern into safe
94591         memory before caching it.
94592         (rpmatch): Use localized_pattern. Add translator comments.
94593         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
94594         Suggested by Eric Blake.
94595         * modules/rpmatch (Depends-on): Add stdbool.
94597 2008-04-28  Eric Blake  <ebb9@byu.net>
94599         Add rawmemchr module, matching glibc.
94600         * modules/string (Makefile.am): New indicator.
94601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
94602         * lib/string.in.h (rawmemchr): Declare when appropriate.
94603         * modules/rawmemchr: New file.
94604         * m4/rawmemchr.m4: Likewise.
94605         * lib/rawmemchr.c: Likewise.
94606         * modules/rawmemchr-tests: Likewise.
94607         * tests/test-rawmemchr.c: Likewise.
94608         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
94609         module.
94610         * modules/strchrnul (Depends-on): Add rawmemchr.
94611         * lib/strchrnul.c (strchrnul): Optimize a corner case.
94613         Whitespace cleanup.
94614         * tests/test-strchrnul.c: Reindent.
94615         * lib/strchrnul.c: Likewise.
94617         Optimize and test strchrnul.
94618         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
94619         * modules/strchrnul-tests: New file.
94620         * tests/test-strchrnul.c: Likewise.
94622         Remove intprops dependency.
94623         * modules/memchr (Depends-on): Remove intprops.
94624         * modules/memrchr (Depends-on): Likewise.
94625         * modules/memchr2 (Depends-on): Likewise.
94626         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
94627         * lib/memrchr.c (__memrchr): Likewise.
94628         * lib/memrchr2.c (memchr2): Likewise.
94629         Reported by Simon Josefsson.
94631 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94633         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
94634         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94636 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94638         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
94640         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
94642         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
94644         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
94645         declarations.
94646         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
94648         * m4/inet_pton.m4: Don't check for header files.
94650         * m4/inet_ntop.m4: Don't check for header files.
94652 2008-04-28  Simon Josefsson  <simon@josefsson.org>
94654         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
94655         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
94656         trigger for cygwin).
94657         Reported by Bruno Haible  <bruno@clisp.org>.
94659 2008-04-28  Bruno Haible  <bruno@clisp.org>
94661         * doc/posix-functions/strdup.texi: Mention mingw problem.
94663 2008-04-27  Bruno Haible  <bruno@clisp.org>
94665         * modules/stat-time-tests (Depends-on): Add sleep.
94666         * tests/test-stat-time.c (force_unlink): New function.
94667         (cleanup): Use it.
94668         (test_mtime): Remove the ctime related tests.
94669         (test_ctime): New function, containing the ctime related tests.
94670         (main): Call test_ctime, except on native Windows platforms.
94672 2008-04-27  Bruno Haible  <bruno@clisp.org>
94674         * lib/rpmatch.c (rpmatch): Add some comments.
94675         Reported by James Youngman <jay@gnu.org>.
94677 2008-04-27  Bruno Haible  <bruno@clisp.org>
94679         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
94680         quiet NaNs.
94682 2008-04-27  Bruno Haible  <bruno@clisp.org>
94684         Make test-yesno.sh work on mingw.
94685         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
94686         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
94687         (main): Set stdin to binary mode.
94688         * modules/yesno-tests (Depends-on): Add binary-io.
94690 2008-04-27  Bruno Haible  <bruno@clisp.org>
94692         Fix 'isfinite' on x86, x86_64, ia64 platforms.
94693         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
94694         argument that lie outside the IEEE 854 domain.
94695         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
94696         (gl_ISFINITE): Use it.
94697         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
94699 2008-04-27  Bruno Haible  <bruno@clisp.org>
94701         Allow local renaming in config.h.
94702         * lib/memrchr.c (memrchr): Don't undefine outside libc.
94704 2008-04-27  Bruno Haible  <bruno@clisp.org>
94706         * lib/memchr.c (__memchr): Change type of 'i'.
94707         * lib/memchr2.c (memchr2): Likewise.
94709 2008-04-26  Eric Blake  <ebb9@byu.net>
94710         and Bruno Haible  <bruno@clisp.org>
94712         Optimize and test memrchr.
94713         * modules/memrchr (Depends-on): Add intprops.
94714         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
94715         * modules/memrchr-tests: New file.
94716         * tests/test-memrchr.c: New file.
94718 2008-04-26  Bruno Haible  <bruno@clisp.org>
94720         Add tentative support for DragonFly BSD.
94721         * lib/stdio-impl.h: Add macros for DragonFly BSD.
94722         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
94723         fp.
94724         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94725         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
94726         * lib/fpurge.c (fpurge): Likewise.
94727         * lib/freadable.c (freaadable): Likewise.
94728         * lib/freadahead.c (freadahead): Likewise.
94729         * lib/freading.c (freading): Likewise.
94730         * lib/freadptr.c (freadptr): Likewise.
94731         * lib/freadseek.c (freadptrinc): Likewise.
94732         * lib/fseeko.c (fseeko): Likewise.
94733         * lib/fseterr.c (fseterr): Likewise.
94734         * lib/fwritable.c (fwritable): Likewise.
94735         * lib/fwriting.c (fwriting): Likewise.
94737 2008-04-26  Bruno Haible  <bruno@clisp.org>
94739         * lib/stdio-impl.h: New file.
94740         * lib/fbufmode.c: Include stdio-impl.h.
94741         (fbufmode): Use fp_, remove redundant #defines.
94742         * lib/fflush.c: Include stdio-impl.h.
94743         (clear_ungetc_buffer): Remove redundant #defines.
94744         * lib/fpurge.c: Include stdio-impl.h.
94745         (fpurge): Remove redundant #defines.
94746         * lib/freadable.c: Include stdio-impl.h.
94747         (freadable): Remove redundant #defines.
94748         * lib/freadahead.c: Include stdio-impl.h.
94749         (freadahead): Remove redundant #defines.
94750         * lib/freading.c: Include stdio-impl.h.
94751         (freading): Remove redundant #defines.
94752         * lib/freadptr.c: Include stdio-impl.h.
94753         (freadptr): Remove redundant #defines.
94754         * lib/freadseek.c: Include stdio-impl.h.
94755         (freadptrinc): Remove redundant #defines.
94756         * lib/fseeko.c: Include stdio-impl.h.
94757         (rpl_fseeko): Remove redundant #defines.
94758         * lib/fseterr.c: Include stdio-impl.h.
94759         (fseterr): Remove redundant #defines.
94760         * lib/fwritable.c: Include stdio-impl.h.
94761         (fwritable: Remove redundant #defines.
94762         * lib/fwriting.c: Include stdio-impl.h.
94763         (fwriting): Remove redundant #defines.
94764         * modules/fbufmode (Files): Add lib/stdio-impl.h.
94765         * modules/fflush (Files): Likewise.
94766         * modules/fpurge (Files): Likewise.
94767         * modules/freadable (Files): Likewise.
94768         * modules/freadahead (Files): Likewise.
94769         * modules/freading (Files): Likewise.
94770         * modules/freadptr (Files): Likewise.
94771         * modules/freadseek (Files): Likewise.
94772         * modules/fseeko (Files): Likewise.
94773         * modules/fseterr (Files): Likewise.
94774         * modules/fwritable (Files): Likewise.
94775         * modules/fwriting (Files): Likewise.
94777 2008-04-26  Bruno Haible  <bruno@clisp.org>
94779         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
94780         restore_seek_optimization, update_fpos_cache): New functions, extracted
94781         from rpl_fflush.
94782         (rpl_fflush): Use them.
94783         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
94784         (gl_REPLACE_FFLUSH): Use it.
94786 2008-04-26  Bruno Haible  <bruno@clisp.org>
94788         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
94789         on Solaris.
94790         * tests/test-xstrtoimax.sh: Likewise.
94791         * tests/test-xstrtoumax.sh: Likewise.
94792         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
94794 2008-04-26  Bruno Haible  <bruno@clisp.org>
94796         * modules/memchr-tests: New file.
94797         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
94799 2008-04-26  Eric Blake  <ebb9@byu.net>
94800             Bruno Haible  <bruno@clisp.org>
94802         * lib/memchr.c: Include intprops.h.
94803         (__memchr): Optimize parallel detection of matching bytes. Rename local
94804         variables. Add explanatory comments.
94806 2008-04-26  Bruno Haible  <bruno@clisp.org>
94808         Fix module 'memchr', broken since 2000-10-28.
94809         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
94811 2008-04-26  Bruno Haible  <bruno@clisp.org>
94813         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
94814         comments.
94816 2008-04-25  Eric Blake  <ebb9@byu.net>
94818         Use native fstatat on cygwin 1.7.0.
94819         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
94820         first.
94822 2008-04-23  Eric Blake  <ebb9@byu.net>
94824         Improve memchr2 performance.
94825         * lib/memchr2.c (memchr2): Further optimize parallel detection of
94826         NUL bytes.
94827         * modules/memchr2 (Depends-on): Use intprops.h.
94829 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94831         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
94832         an inline function instead of a CPP macro.  Patch by Ben Pfaff
94833         <blp@cs.stanford.edu>.
94835 2008-04-23  Simon Josefsson  <simon@josefsson.org>
94837         * lib/arpa_inet.in.h: New file.
94839         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
94840         (Makefile.am): Sed in substitute header file.
94842         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
94843         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
94845         * modules/inet_ntop (configure.ac): Use
94846         gl_ARPA_INET_MODULE_INDICATOR.
94848         * modules/inet_pton (configure.ac): Use
94849         gl_ARPA_INET_MODULE_INDICATOR.
94851 2008-04-22  Jim Meyering  <meyering@redhat.com>
94853         * modules/verify (License): Re-license as LGPLv2+.
94855 2008-04-22  Simon Josefsson  <simon@josefsson.org>
94857         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
94858         parameter to void* as per POSIX standard (MinGW uses char*).
94860 2008-04-21  Bruno Haible  <bruno@clisp.org>
94862         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
94863         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
94864         Define to replacements if REPLACE_ISWCNTRL is 1.
94865         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
94866         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
94867         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
94868         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
94869         what it fixes.
94870         * doc/posix-functions/iswalpha.texi: Likewise.
94871         * doc/posix-functions/iswblank.texi: Likewise.
94872         * doc/posix-functions/iswcntrl.texi: Likewise.
94873         * doc/posix-functions/iswdigit.texi: Likewise.
94874         * doc/posix-functions/iswgraph.texi: Likewise.
94875         * doc/posix-functions/iswlower.texi: Likewise.
94876         * doc/posix-functions/iswprint.texi: Likewise.
94877         * doc/posix-functions/iswpunct.texi: Likewise.
94878         * doc/posix-functions/iswspace.texi: Likewise.
94879         * doc/posix-functions/iswupper.texi: Likewise.
94880         * doc/posix-functions/iswxdigit.texi: Likewise.
94881         Reported by Alain Guibert.
94883 2008-04-21  Bruno Haible  <bruno@clisp.org>
94885         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
94886         Patch by Alain Guibert.
94888 2008-04-21  Bruno Haible  <bruno@clisp.org>
94890         Fix test failures on mingw.
94891         * tests/test-xstrtol.c (print_no_progname): New function.
94892         (main): Install it in error_print_progname hook.
94893         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
94894         * tests/test-xstrtoimax.sh: Likewise.
94895         * tests/test-xstrtoumax.sh: Likewise.
94897 2008-04-21  Bruno Haible  <bruno@clisp.org>
94899         Fix test failure on mingw.
94900         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
94902 2008-04-21  Bruno Haible  <bruno@clisp.org>
94904         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
94905         Actually assign a value.
94907 2008-04-20  Bruno Haible  <bruno@clisp.org>
94909         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
94910         take 2.
94911         * lib/canonicalize.c (canonicalize_file_name): Elide if the
94912         'canonicalize-lgpl' module is also used.
94913         * lib/canonicalize-lgpl.c: Undo last change.
94914         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
94916 2008-04-20  Bruno Haible  <bruno@clisp.org>
94918         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
94919         config.h. Provide _mkdir based fallback for mingw.
94920         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
94921         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
94922         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
94923         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
94924         rather than defining mkdir in config.h.
94925         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
94926         (gl_SYS_STAT_H_DEFAULTS): New macro.
94927         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
94928         HAVE_IO_H any more.
94929         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
94930         HAVE_DECL_MKDIR and HAVE_IO_H.
94932 2008-04-20  Bruno Haible  <bruno@clisp.org>
94934         * lib/isapipe.c: Port to native Windows platforms.
94936 2008-04-20  Bruno Haible  <bruno@clisp.org>
94938         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
94940 2008-04-21  Eric Blake  <ebb9@byu.net>
94942         Work around preprocessors that don't handle UINTMAX_MAX.
94943         * lib/memchr2.c (memchr2): Avoid embedded #if.
94944         Reported by Alain Guibert, fix suggested by Bruno Haible.
94946 2008-04-21  Simon Josefsson  <simon@josefsson.org>
94948         * doc/posix-functions/strftime.texi (strftime): Explain better
94949         Windows incompatibility.  Suggested by Micah Cowan
94950         <micah@cowan.name>.
94952 2008-04-20  Bruno Haible  <bruno@clisp.org>
94954         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
94955         unistr/u8-mblen.
94957 2008-04-20  Bruno Haible  <bruno@clisp.org>
94959         Fix test failure on platforms with non-GNU iconv.
94960         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
94961         (U_TO_U8): Use it, rather than u16_to_u8.
94962         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
94963         units at the end of the input string.
94964         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
94966 2008-04-20  Bruno Haible  <bruno@clisp.org>
94968         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
94969         when the resulting length is 0.
94970         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
94972 2008-04-20  Bruno Haible  <bruno@clisp.org>
94974         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
94975         works.
94976         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
94978 2008-04-20  Bruno Haible  <bruno@clisp.org>
94980         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
94981         * modules/tsearch-tests (configure.ac): Test for initstate function.
94983 2008-04-20  Bruno Haible  <bruno@clisp.org>
94985         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
94986         for nlink_t if missing.
94987         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
94989 2008-04-19  Bruno Haible  <bruno@clisp.org>
94991         Work around snprintf bug on Linux libc5.
94992         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
94993         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
94994         gl_SNPRINTF_SIZE1.
94995         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
94996         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
94997         that test failed.
94998         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
94999         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
95000         * modules/snprintf (Files): Add m4/printf.m4.
95001         * modules/vsnprintf (Files): Likewise.
95002         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
95003         * doc/posix-functions/vsnprintf.texi: Likewise.
95005 2008-04-19  Bruno Haible  <bruno@clisp.org>
95007         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
95008         from 0.0058 to less than 10^-7.
95010 2008-04-19  Bruno Haible  <bruno@clisp.org>
95012         Fix rounding when a precision is given.
95013         * lib/vasnprintf.c (is_borderline): New function.
95014         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
95015         9...9x.
95016         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
95017         %e, %g.
95018         * tests/test-vasprintf-posix.c (test_function): Likewise.
95019         * tests/test-snprintf-posix.h (test_function): Likewise.
95020         * tests/test-sprintf-posix.h (test_function): Likewise.
95021         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
95022         * tests/test-printf-posix.h (test_function): Likewise.
95023         * tests/test-printf-posix.output: Update.
95024         Reported by John Darrington <john@darrington.wattle.id.au> via
95025         Ben Pfaff <blp@cs.stanford.edu>.
95027 2008-04-18  Simon Josefsson  <simon@josefsson.org>
95029         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
95030         Suggested by Bruno Haible <bruno@clisp.org>.
95032 2008-04-17  Bruno Haible  <bruno@clisp.org>
95034         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
95035         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
95036         implementation.
95037         Patch by Bruce Merry <bmerry@gmail.com>.
95039 2008-04-17  Simon Josefsson  <simon@josefsson.org>
95041         * doc/posix-functions/strftime.texi (strftime): Mention that %e
95042         doesn't work under Windows.
95044 2008-04-16  Bruno Haible  <bruno@clisp.org>
95046         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
95047         New macros.
95048         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
95049         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
95050         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
95051         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
95052         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
95053         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
95054         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
95055         macros.
95056         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
95057         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
95058         Northern Sotho, Uighur.
95060 2008-04-16  Bruno Haible  <bruno@clisp.org>
95062         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
95063         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
95064         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
95065         Reported by Daniel Bergström <daniel@octocode.com>.
95067 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
95068             Bruno Haible  <bruno@clisp.org>
95070         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
95071         function.
95072         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
95073         New functions, mostly extracted from gl_locale_name_default.
95074         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
95076 2008-04-16  Eric Blake  <ebb9@byu.net>
95078         Adjust strtod detection to catch glibc 2.7 bug.
95079         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
95080         Reported by John Gatewood Ham.
95082 2008-04-16  Bruno Haible  <bruno@clisp.org>
95084         Add tentative support for Linux libc5.
95085         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
95086         * lib/fpurge.c (fpurge): Likewise.
95087         * lib/freadable.c (freadable): Likewise.
95088         * lib/freadahead.c (freadahead): Likewise.
95089         * lib/freading.c (freading): Likewise.
95090         * lib/freadptr.c (freadptr): Likewise.
95091         * lib/freadseek.c (freadptrinc): Likewise.
95092         * lib/fseeko.c (rpl_fseeko): Likewise.
95093         * lib/fseterr.c (fseterr): Likewise.
95094         * lib/fwritable.c (fwritable): Likewise.
95095         * lib/fwriting.c (fwriting): Likewise.
95096         Reported by Alain Guibert <alguibert+bts@free.fr>.
95098 2008-04-15  Bruno Haible  <bruno@clisp.org>
95100         * modules/mathl (configure.ac): Define module indicator.
95102 2008-04-15  Bruno Haible  <bruno@clisp.org>
95104         * lib/logl.c (logl): Remove unused variables.
95106 2008-04-15  Bruno Haible  <bruno@clisp.org>
95108         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
95109         fails.
95111 2008-04-15  Bruno Haible  <bruno@clisp.org>
95113         * lib/trim.c (trim2): Fix argument of isspace() macro.
95115 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
95117         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
95118         to 0.
95119         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
95121 2008-04-14  Bruno Haible  <bruno@clisp.org>
95123         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
95124         AC_LANG_PROGRAM argument.
95125         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
95126         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
95127         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
95128         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
95129         * m4/math_h.m4 (gl_MATH_H): Likewise.
95130         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
95131         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
95132         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
95133         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
95134         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
95135         * m4/regex.m4 (gl_REGEX): Likewise.
95136         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
95137         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
95138         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
95139         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
95140         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
95141         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
95142         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
95143         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
95145 2008-04-14  Jim Meyering  <meyering@redhat.com>
95147         test-strtod: fix typos: s/abs/fabs/
95148         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
95150 2008-04-13  Bruno Haible  <bruno@clisp.org>
95152         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
95153         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
95154         module is also used and while not building the reloc-wrapper.
95156 2008-04-13  Bruno Haible  <bruno@clisp.org>
95158         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
95160 2008-04-13  Bruno Haible  <bruno@clisp.org>
95162         Fix AIX compilation failure introduced on 2008-04-02.
95163         * tests/test-frexp.c (exp): Undefine before redefining.
95164         * tests/test-frexpl.c (exp): Likewise.
95166 2008-04-13  Bruno Haible  <bruno@clisp.org>
95168         Work around a HP-UX stdio bug.
95169         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
95170         * tests/test-ftello.c (main): Likewise.
95171         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
95172         * doc/posix-functions/ftello.texi: Likewise.
95174 2008-04-13  Bruno Haible  <bruno@clisp.org>
95176         Make test-signbit pass on HP-UX/hppa.
95177         * tests/test-signbit.c (minus_zerol): New variable.
95178         (test_signbitl): Use it.
95180 2008-04-13  Bruno Haible  <bruno@clisp.org>
95182         Make truncl work on OSF/1 4.0.
95183         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
95184         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95185         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
95186         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
95187         HAVE_DECL_TRUNCL.
95188         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
95189         HAVE_DECL_TRUNCL.
95190         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
95192 2008-04-13  Bruno Haible  <bruno@clisp.org>
95194         * lib/unictype.h: Remove trailing comma from enumeration definitions.
95196 2008-04-13  Bruno Haible  <bruno@clisp.org>
95198         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
95199         expression, so as to avoid HP-UX 11 cc compiler bug.
95201 2008-04-13  Bruno Haible  <bruno@clisp.org>
95203         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
95205 2008-04-13  Bruno Haible  <bruno@clisp.org>
95207         * lib/git-merge-changelog.c: Remove empty declaration outside of
95208         functions.
95210 2008-04-13  Bruno Haible  <bruno@clisp.org>
95212         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
95214 2008-04-13  Bruno Haible  <bruno@clisp.org>
95216         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
95217         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
95218         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
95219         also if it exists but lacks definitions of the SHUT_* macros.
95220         * modules/sys_socket (Description): Update.
95221         Reported by Elbert Pol <e.pol@chello.nl>.
95223 2008-04-13  Bruno Haible  <bruno@clisp.org>
95225         * lib/localcharset.c (OS2): Don't redefine if already defined.
95226         Reported by Elbert Pol <e.pol@chello.nl>.
95228 2008-04-13  Bruno Haible  <bruno@clisp.org>
95230         * lib/binary-io.h [__EMX__]: Include <io.h>.
95231         Reported by Elbert Pol <e.pol@chello.nl>.
95233 2008-04-12  Bruno Haible  <bruno@clisp.org>
95235         * lib/fpucw.h: Enable the definitions also for x86_64.
95236         Needed for NetBSD/x86_64.
95237         Reported by Thomas Klausner <tk@giga.or.at>.
95239 2008-04-12  Bruno Haible  <bruno@clisp.org>
95241         * tests/test-strtod.c: Include isnand.h.
95242         (main): Use isnand instead of isnan.
95243         Reported by Jim Meyering.
95245 2008-04-12  Bruno Haible  <bruno@clisp.org>
95247         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
95248         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
95250 2008-04-12  Jim Meyering  <meyering@redhat.com>
95252         * m4/math_h.m4 (gl_MATH_H): Fix typos.
95254 2008-04-12  Bruno Haible  <bruno@clisp.org>
95256         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
95257         Reported by Elbert Pol <e.pol@chello.nl>.
95259 2008-04-12  Eric Blake  <ebb9@byu.net>
95261         Work around Solaris 10 math.h bug.
95262         * m4/math_h.m4 (gl_MATH_H): Check for bug.
95263         (gl_MATH_H_DEFAULTS): Set up default.
95264         * modules/math (Makefile.am): Replace new indicators.
95265         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
95266         * tests/test-math.c (main): Test this.
95267         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
95268         * doc/posix-headers/math.texi (math.h): Mention bug.
95269         Reported by Nelson H. F. Beebe and Jim Meyering.
95271 2008-04-11  Bruno Haible  <bruno@clisp.org>
95273         Adapt to future versions of Apple GCC.
95274         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
95275         Reported by Peter O'Gorman <peter@pogma.com>.
95277 2008-04-11  Bruno Haible  <bruno@clisp.org>
95279         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
95281 2008-04-11  Bruno Haible  <bruno@clisp.org>
95283         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
95285         * modules/getaddrinfo-tests (Makefile.am): Define
95286         test_getaddrinfo_LDADD.
95288 2008-04-11  Bruno Haible  <bruno@clisp.org>
95290         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
95291         (init): Fix syntax error.
95292         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
95293         is declared.
95295 2008-04-11  Bruno Haible  <bruno@clisp.org>
95297         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
95298         * modules/glob (Depends-on): Add stdbool.
95300 2008-04-11  Bruno Haible  <bruno@clisp.org>
95302         * lib/trim.c: Include <string.h>.
95304 2008-04-11  Eric Blake  <ebb9@byu.net>
95306         Avoid compile failure on OS/2.
95307         * lib/regex_internal.h (internal_function): Disable optimization
95308         on OS/2 (__EMX__), where it caused compiler error.
95309         Reported by Elbert Pol.
95311 2008-04-11  Bruno Haible  <bruno@clisp.org>
95313         Flush the standard error stream before aborting. Needed on mingw.
95314         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
95315         * tests/test-array_list.c (ASSERT): Likewise.
95316         * tests/test-array_oset.c (ASSERT): Likewise.
95317         * tests/test-avltree_list.c (ASSERT): Likewise.
95318         * tests/test-avltree_oset.c (ASSERT): Likewise.
95319         * tests/test-avltreehash_list.c (ASSERT): Likewise.
95320         * tests/test-binary-io.c (ASSERT): Likewise.
95321         * tests/test-byteswap.c (ASSERT): Likewise.
95322         * tests/test-c-ctype.c (ASSERT): Likewise.
95323         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
95324         * tests/test-c-strcasestr.c (ASSERT): Likewise.
95325         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
95326         * tests/test-c-strstr.c (ASSERT): Likewise.
95327         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
95328         * tests/test-canonicalize.c (ASSERT): Likewise.
95329         * tests/test-carray_list.c (ASSERT): Likewise.
95330         * tests/test-ceilf1.c (ASSERT): Likewise.
95331         * tests/test-ceilf2.c (ASSERT): Likewise.
95332         * tests/test-ceill.c (ASSERT): Likewise.
95333         * tests/test-count-one-bits.c (ASSERT): Likewise.
95334         * tests/test-fbufmode.c (ASSERT): Likewise.
95335         * tests/test-fflush2.c (ASSERT): Likewise.
95336         * tests/test-floorf1.c (ASSERT): Likewise.
95337         * tests/test-floorf2.c (ASSERT): Likewise.
95338         * tests/test-floorl.c (ASSERT): Likewise.
95339         * tests/test-fopen.c (ASSERT): Likewise.
95340         * tests/test-fpending.c (ASSERT): Likewise.
95341         * tests/test-fprintf-posix.c (ASSERT): Likewise.
95342         * tests/test-fpurge.c (ASSERT): Likewise.
95343         * tests/test-freadable.c (ASSERT): Likewise.
95344         * tests/test-freadahead.c (ASSERT): Likewise.
95345         * tests/test-freading.c (ASSERT): Likewise.
95346         * tests/test-freadptr.c (ASSERT): Likewise.
95347         * tests/test-freadptr2.c (ASSERT): Likewise.
95348         * tests/test-freadseek.c (ASSERT): Likewise.
95349         * tests/test-freopen.c (ASSERT): Likewise.
95350         * tests/test-frexp.c (ASSERT): Likewise.
95351         * tests/test-frexpl.c (ASSERT): Likewise.
95352         * tests/test-fseek.c (ASSERT): Likewise.
95353         * tests/test-fseeko.c (ASSERT): Likewise.
95354         * tests/test-fstrcmp.c (ASSERT): Likewise.
95355         * tests/test-ftell.c (ASSERT): Likewise.
95356         * tests/test-ftello.c (ASSERT): Likewise.
95357         * tests/test-func.c (ASSERT): Likewise.
95358         * tests/test-fwritable.c (ASSERT): Likewise.
95359         * tests/test-fwriting.c (ASSERT): Likewise.
95360         * tests/test-getdelim.c (ASSERT): Likewise.
95361         * tests/test-getline.c (ASSERT): Likewise.
95362         * tests/test-i-ring.c (ASSERT): Likewise.
95363         * tests/test-iconv-utf.c (ASSERT): Likewise.
95364         * tests/test-iconv.c (ASSERT): Likewise.
95365         * tests/test-isfinite.c (ASSERT): Likewise.
95366         * tests/test-isnand.c (ASSERT): Likewise.
95367         * tests/test-isnanf.c (ASSERT): Likewise.
95368         * tests/test-isnanl.h (ASSERT): Likewise.
95369         * tests/test-ldexpl.c (ASSERT): Likewise.
95370         * tests/test-linked_list.c (ASSERT): Likewise.
95371         * tests/test-linkedhash_list.c (ASSERT): Likewise.
95372         * tests/test-localename.c (ASSERT): Likewise.
95373         * tests/test-lseek.c (ASSERT): Likewise.
95374         * tests/test-mbscasecmp.c (ASSERT): Likewise.
95375         * tests/test-mbscasestr1.c (ASSERT): Likewise.
95376         * tests/test-mbscasestr2.c (ASSERT): Likewise.
95377         * tests/test-mbscasestr3.c (ASSERT): Likewise.
95378         * tests/test-mbscasestr4.c (ASSERT): Likewise.
95379         * tests/test-mbschr.c (ASSERT): Likewise.
95380         * tests/test-mbscspn.c (ASSERT): Likewise.
95381         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
95382         * tests/test-mbspbrk.c (ASSERT): Likewise.
95383         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
95384         * tests/test-mbsrchr.c (ASSERT): Likewise.
95385         * tests/test-mbsspn.c (ASSERT): Likewise.
95386         * tests/test-mbsstr1.c (ASSERT): Likewise.
95387         * tests/test-mbsstr2.c (ASSERT): Likewise.
95388         * tests/test-mbsstr3.c (ASSERT): Likewise.
95389         * tests/test-memchr2.c (ASSERT): Likewise.
95390         * tests/test-memmem.c (ASSERT): Likewise.
95391         * tests/test-open.c (ASSERT): Likewise.
95392         * tests/test-printf-frexp.c (ASSERT): Likewise.
95393         * tests/test-printf-frexpl.c (ASSERT): Likewise.
95394         * tests/test-printf-posix.c (ASSERT): Likewise.
95395         * tests/test-quotearg.c (ASSERT): Likewise.
95396         * tests/test-rbtree_list.c (ASSERT): Likewise.
95397         * tests/test-rbtree_oset.c (ASSERT): Likewise.
95398         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
95399         * tests/test-round1.c (ASSERT): Likewise.
95400         * tests/test-roundf1.c (ASSERT): Likewise.
95401         * tests/test-roundl.c (ASSERT): Likewise.
95402         * tests/test-signbit.c (ASSERT): Likewise.
95403         * tests/test-sleep.c (ASSERT): Likewise.
95404         * tests/test-snprintf-posix.c (ASSERT): Likewise.
95405         * tests/test-snprintf.c (ASSERT): Likewise.
95406         * tests/test-sprintf-posix.c (ASSERT): Likewise.
95407         * tests/test-stat-time.c (ASSERT): Likewise.
95408         * tests/test-strcasestr.c (ASSERT): Likewise.
95409         * tests/test-strerror.c (ASSERT): Likewise.
95410         * tests/test-striconv.c (ASSERT): Likewise.
95411         * tests/test-striconveh.c (ASSERT): Likewise.
95412         * tests/test-striconveha.c (ASSERT): Likewise.
95413         * tests/test-strsignal.c (ASSERT): Likewise.
95414         * tests/test-strstr.c (ASSERT): Likewise.
95415         * tests/test-strtod.c (ASSERT): Likewise.
95416         * tests/test-trunc1.c (ASSERT): Likewise.
95417         * tests/test-trunc2.c (ASSERT): Likewise.
95418         * tests/test-truncf1.c (ASSERT): Likewise.
95419         * tests/test-truncf2.c (ASSERT): Likewise.
95420         * tests/test-truncl.c (ASSERT): Likewise.
95421         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
95422         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
95423         * tests/test-vasnprintf.c (ASSERT): Likewise.
95424         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
95425         * tests/test-vasprintf.c (ASSERT): Likewise.
95426         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
95427         * tests/test-vprintf-posix.c (ASSERT): Likewise.
95428         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
95429         * tests/test-vsnprintf.c (ASSERT): Likewise.
95430         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
95431         * tests/test-wcwidth.c (ASSERT): Likewise.
95432         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
95433         * tests/test-xprintf-posix.c (ASSERT): Likewise.
95434         * tests/test-xvasprintf.c (ASSERT): Likewise.
95435         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
95436         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
95437         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
95438         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
95439         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
95440         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
95441         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
95442         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
95443         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
95444         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
95445         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
95446         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
95447         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
95448         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
95449         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
95450         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
95451         * tests/unictype/test-block_list.c (ASSERT): Likewise.
95452         * tests/unictype/test-block_of.c (ASSERT): Likewise.
95453         * tests/unictype/test-block_test.c (ASSERT): Likewise.
95454         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
95455         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
95456         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
95457         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
95458         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
95459         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
95460         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
95461         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
95462         * tests/unictype/test-combining.c (ASSERT): Likewise.
95463         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
95464         * tests/unictype/test-digit.c (ASSERT): Likewise.
95465         * tests/unictype/test-mirror.c (ASSERT): Likewise.
95466         * tests/unictype/test-numeric.c (ASSERT): Likewise.
95467         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
95468         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
95469         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
95470         * tests/unictype/test-scripts.c (ASSERT): Likewise.
95471         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
95472         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
95473         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
95474         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
95475         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
95476         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
95477         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
95478         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
95479         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
95480         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
95481         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
95482         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
95483         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
95484         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
95485         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
95486         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
95487         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
95488         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
95489         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
95490         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
95491         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
95492         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
95493         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
95494         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
95495         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
95496         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
95497         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
95498         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
95499         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
95500         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
95501         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
95502         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
95503         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
95504         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
95505         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
95506         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
95507         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
95508         Reported by Eric Blake.
95510 2008-04-11  Bruno Haible  <bruno@clisp.org>
95512         * lib/wchar.in.h: Tweak comment.
95514 2008-04-11  Bruno Haible  <bruno@clisp.org>
95516         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
95517         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
95518         gl_COMMON.
95519         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
95521 2008-04-11  Bruno Haible  <bruno@clisp.org>
95523         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
95525 2008-04-11  Simon Josefsson  <simon@josefsson.org>
95527         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
95528         of attempting to use non-existing /dev/*random.  Based on patch
95529         from Adam Strzelecki <ono@java.pl> in
95530         <http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.
95532 2008-04-08  Bruno Haible  <bruno@clisp.org>
95534         Add tentative support for emx+gcc.
95535         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
95536         * lib/fpurge.c (fpurge): Likewise.
95537         * lib/freadable.c (freadable): Likewise.
95538         * lib/freadahead.c (freadahead): Likewise.
95539         * lib/freading.c (freading): Likewise.
95540         * lib/freadptr.c (freadptr): Likewise.
95541         * lib/freadseek.c (freadptrinc): Likewise.
95542         * lib/fseeko.c (rpl_fseeko): Likewise.
95543         * lib/fseterr.c (fseterr): Likewise.
95544         * lib/fwritable.c (fwritable): Likewise.
95545         * lib/fwriting.c (fwriting): Likewise.
95546         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
95548 2008-04-09  Eric Blake  <ebb9@byu.net>
95550         Avoid some autoconf warnings.
95551         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
95552         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
95553         * m4/afs.m4 (gl_AFS): Likewise.
95554         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
95555         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
95556         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
95557         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
95558         (gl_INTEGER_TYPE_SUFFIX): Likewise.
95559         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
95560         (AC_CHECK_DECLS_ONCE): Likewise.
95561         Rename file...
95562         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
95563         gnulib-tool requires autoconf 2.59 or better.
95564         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
95566 2008-04-08  Eric Blake  <ebb9@byu.net>
95568         Use 'git describe --match' if present (added in git 1.5.5).
95569         * build-aux/git-version-gen: Limit result to tags that match 'v*'
95570         if possible.
95572 2008-04-08  Bruno Haible  <bruno@clisp.org>
95574         Add tentative support for OpenServer.
95575         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
95576         _ptr, _cnt.
95577         * lib/fpurge.c (fpurge): Likewise.
95578         * lib/freadable.c (freadable): Likewise.
95579         * lib/freadahead.c (freadahead): Likewise.
95580         * lib/freading.c (freading): Likewise.
95581         * lib/freadptr.c (freadptr): Likewise.
95582         * lib/freadseek.c (freadptrinc): Likewise.
95583         * lib/fseeko.c (rpl_fseeko): Likewise.
95584         * lib/fseterr.c (fseterr): Likewise.
95585         * lib/fwritable.c (fwritable): Likewise.
95586         * lib/fwriting.c (fwriting): Likewise.
95587         Reported by Roger Cornelius <rac@tenzing.org> and
95588         Brian K. White <brian@aljex.com>.
95590 2008-04-06  Jim Meyering  <meyering@redhat.com>
95592         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
95594 2008-04-06  Bruno Haible  <bruno@clisp.org>
95596         Avoid possible error with non-ASCII bytes in UTF-8 locales.
95597         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
95598         * tests/test-printf-posix.sh: Likewise.
95599         * tests/test-vfprintf-posix.sh: Likewise.
95600         * tests/test-vprintf-posix.sh: Likewise.
95601         * tests/test-xprintf-posix.sh: Likewise.
95603 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
95605         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
95606         hide error from 'ls', needed on OS/2.
95607         Report by Elbert Pol <elbert.pol@gmail.com>.
95609 2008-04-04  Eric Blake  <ebb9@byu.net>
95611         Make test-fseeko.c failures meaningful.
95612         * tests/test-fseeko.c: Print line number on failure.
95613         * tests/test-fseek.c: Likewise.
95614         Reported by Nelson H. F. Beebe.
95616         Improve strtod bug detection check.
95617         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
95618         required for Solaris 10.
95619         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
95621 2008-04-04  Bruno Haible  <bruno@clisp.org>
95623         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
95624         by m4/setenv.m4.
95626 2008-04-03  Eric Blake  <ebb9@byu.net>
95628         Ensure sane .version contents.
95629         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
95630         version string.
95631         * build-aux/git-version-gen: Improve documentation.
95633         Make GNU make output nicer.
95634         * top/GNUmakefile [!_have-Makefile]: Add dependency on
95635         MAKECMDGOALS to enforce message for all command line targets.  Set
95636         srcdir for use in maint.mk.
95638         Another maintainer tweak.
95639         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
95640         a target that regenerates version.
95642 2008-04-03  Jim Meyering  <meyering@redhat.com>
95644         vc-list-files: don't cause coreutils "make po-check" failure
95645         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
95647 2008-04-03  Eric Blake  <ebb9@byu.net>
95649         Allow VPATH usage of vc-list-files.
95650         * build-aux/vc-list-files (scriptversion): Add timestamp.
95651         (options): Add --help, --version, -C.
95652         (CVS): Support installed cvsu.
95654 2008-04-02  Bruno Haible  <bruno@clisp.org>
95656         Avoid some "statement with no effect" warnings from gcc.
95657         * tests/test-wctype.c (main): Explicitly ignore unused values.
95658         Reported by Jim Meyering.
95660 2008-04-02  Jim Meyering  <meyering@redhat.com>
95662         Avoid some warnings from "gcc -Wshadow".
95663         * tests/test-frexp.c (exp): Define to a different identifier.
95664         * tests/test-frexpl.c (exp): Likewise.
95666 2008-04-03  Jim Meyering  <meyering@redhat.com>
95668         bootstrap: remove dangling *.[ch] symlinks from lib
95669         * build-aux/bootstrap [dangling symlink removal]: Move find's
95670         -depth option to precede all others, to avoid a warning.
95671         Remove *.[ch] files too, and from "$source_base" (usually lib/).
95673 2008-04-02  Bruno Haible  <bruno@clisp.org>
95675         Avoid some warnings from "gcc -Wshadow".
95676         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
95677         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
95678         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
95679         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
95680         Reported by Jim Meyering.
95682 2008-04-01  Bruno Haible  <bruno@clisp.org>
95684         Fix test to work on IRIX 6.5 with cc.
95685         * tests/test-math.c (numeric_equal): New function.
95686         (main): Use it.
95688 2008-04-01  Bruno Haible  <bruno@clisp.org>
95690         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
95692 2008-04-01  Bruno Haible  <bruno@clisp.org>
95694         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
95695         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95696         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
95697         (Depends-on): Remove math.
95699         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
95700         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95701         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
95702         (Depends-on): Remove math.
95704         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
95705         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95706         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
95707         (Depends-on): Remove math.
95708         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
95709         (Depends-on): Remove math.
95711         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
95712         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
95713         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
95714         (Depends-on): Remove math.
95715         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
95716         (Depends-on): Remove math.
95718         * tests/test-round1.c: Include nan.h.
95719         (main): Use NaNd instead of NAN.
95720         * modules/round-tests (Files): Add tests/nan.h.
95722         * tests/test-trunc1.c: Include nan.h.
95723         (main): Use NaNd instead of NAN.
95724         * modules/trunc-tests (Files): Add tests/nan.h.
95726         * tests/test-roundf1.c: Include nan.h.
95727         (main): Use NaNf instead of NAN.
95728         * modules/roundf-tests (Files): Add tests/nan.h.
95730         * tests/test-truncf1.c: Include nan.h.
95731         (main): Use NaNf instead of NAN.
95732         * modules/truncf-tests (Files): Add tests/nan.h.
95734         * tests/test-ceilf1.c: Include nan.h.
95735         (main): Use NaNf instead of NAN.
95736         * modules/ceilf-tests (Files): Add tests/nan.h.
95738         * tests/test-floorf1.c: Include nan.h.
95739         (main): Use NaNf instead of NAN.
95740         * modules/floorf-tests (Files): Add tests/nan.h.
95742         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
95743         (main): Use NaNf instead of NAN.
95744         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
95746         * tests/test-isnand.c: Include nan.h instead of <math.h>.
95747         (main): Use NaNd instead of NAN.
95748         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
95750         * tests/test-frexp.c: Include nan.h.
95751         (main): Use NaNd instead of NAN.
95752         * modules/frexp-tests (Files): Add tests/nan.h.
95754         * lib/isnan.c: Don't include <math.h>.
95755         (FUNC): Don't use NAN macro.
95756         * modules/isnand-nolibm (Depends-on): Remove math.
95757         * modules/isnanf-nolibm (Depends-on): Remove math.
95758         * modules/isnanl (Depends-on): Remove math.
95759         * modules/isnanl-nolibm (Depends-on): Remove math.
95761         * tests/nan.h: New file.
95763 2008-04-01  Eric Blake  <ebb9@byu.net>
95765         Fix typos.
95766         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
95767         values to be the right type.
95769         For now, cater to gnulib strtod inaccuracies.
95770         * tests/test-strtod.c (main): Allow 1-ulp error on expected
95771         fractional results.  While not as nice from a QoI perspective, it
95772         is a quicker patch than correctly implementing decimal to binary
95773         rounding.
95775 2008-03-31  Eric Blake  <ebb9@byu.net>
95777         Guarantee a definition of NAN.
95778         * lib/math.in.h (NAN): Define if missing.
95779         * tests/test-math.c (main): Test it.
95780         * doc/posix-headers/math.texi (math.h): Document this.
95781         * lib/isnan.c (rpl_isnand): Use it.
95782         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
95783         * tests/test-floorf1.c (NaN): Likewise.
95784         * tests/test-frexp.c (NaN): Likewise.
95785         * tests/test-isnand.c (NaN): Likewise.
95786         * tests/test-isnanf.c (NaN): Likewise.
95787         * tests/test-round1.c (NaN): Likewise.
95788         * tests/test-roundf1.c (NaN): Likewise.
95789         * tests/test-snprintf-posix.h (NaN): Likewise.
95790         * tests/test-sprintf-posix.h (NaN): Likewise.
95791         * tests/test-trunc1.c (NaN): Likewise.
95792         * tests/test-truncf1.c (NaN): Likewise.
95793         * tests/test-vasnprintf-posix.c (NaN): Likewise.
95794         * tests/test-vasprintf-posix.c (NaN): Likewise.
95795         * modules/isnand-nolibm (Depends-on): Add math.
95796         * modules/isnanf-nolibm (Depends-on): Likewise.
95797         * modules/isnanl (Depends-on): Likewise.
95798         * modules/isnanl-nolibm (Depends-on): Likewise.
95799         * modules/snprintf-posix-tests (Depends-on): Likewise.
95800         * modules/sprintf-posix-tests (Depends-on): Likewise.
95801         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
95802         * modules/vsprintf-posix-tests (Depends-on): Likewise.
95803         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
95804         * modules/vasprintf-posix-tests (Depends-on): Likewise.
95806 2008-03-31  Bruno Haible  <bruno@clisp.org>
95808         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
95809         * doc/posix-functions/strtod.texi: Likewise.
95811 2008-03-31  Bruno Haible  <bruno@clisp.org>
95813         * tests/test-strtod.c (main): Don't use C99 syntax.
95815 2008-03-31  Bruno Haible  <bruno@clisp.org>
95817         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
95818         Reported by Eric Blake.
95820 2008-03-31  Jim Meyering  <meyering@redhat.com>
95822         Don't compare actual signbit return values.
95823         * tests/test-strtod.c (main): Rather, compare only their
95824         zero/non-zero nature.
95826 2008-03-31  Eric Blake  <ebb9@byu.net>
95828         More strtod documentation.
95829         * doc/posix-functions/strtod.texi (strtod): Interpret more test
95830         failures as distinct bugs.
95832 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
95834         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
95835         Problem reported by Erik Benada in
95836         <http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.
95838 2008-03-30  Bruno Haible  <bruno@clisp.org>
95840         * tests/test-strtod.c: Add comments about which assertion fails on which
95841         platform.
95842         * doc/posix-functions/strtod.texi: Add info about many more platforms.
95844 2008-03-30  Eric Blake  <ebb9@byu.net>
95846         Test signbit behavior on zeros.
95847         * tests/test-signbit.c (test_signbitf): Add tests for zero.
95848         (test_signbitd, test_signbitl): Likewise.
95850         More strtod touchups.
95851         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
95852         sign of negative underflow, for now.  Use .5, not .1.
95853         * doc/posix-functions/strtod.texi (strtod): Mention these
95854         limitations.
95855         Reported by Jim Meyering.
95857 2008-03-30  Bruno Haible  <bruno@clisp.org>
95859         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
95860         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
95862 2008-03-30  Bruno Haible  <bruno@clisp.org>
95864         Avoid failure when attempting to return empty iconv results on some
95865         platforms.
95866         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
95867         allocation, don't report ENOMEM when the resulting string is empty.
95869 2008-03-30  Bruno Haible  <bruno@clisp.org>
95871         Fix buffer overrun.
95872         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
95873         Don't consider the width for tmp_length. Check count against tmp_length
95874         before doing the padding. Ensure enough allocation during padding.
95876 2008-03-30  Eric Blake  <ebb9@byu.net>
95878         strtod touchups.
95879         * lib/strtod.c (strtod): Avoid compiler warnings.
95880         Reported by Jim Meyering.
95882 2008-03-30  Bruno Haible  <bruno@clisp.org>
95884         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
95885         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
95886         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
95887         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
95888         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
95889         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
95890         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
95891         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
95893         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
95894         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
95895         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
95896         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
95897         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
95898         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
95899         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
95900         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
95902         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
95903         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
95904         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
95905         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
95906         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
95907         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
95908         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
95909         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
95911         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
95912         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
95914         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
95915         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
95917         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
95918         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
95920         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
95921         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
95922         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
95924         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
95925         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
95926         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
95928         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
95929         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
95930         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
95932         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
95933         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
95934         * modules/vasprintf (Depends-on): Add EOVERFLOW.
95936         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
95937         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
95938         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
95939         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
95940         (Depends-on): Add EOVERFLOW.
95941         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
95942         (Depends-on): Add EOVERFLOW.
95943         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95944         (Depends-on): Add EOVERFLOW.
95945         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
95946         (Depends-on): Add EOVERFLOW.
95947         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95948         (Depends-on): Add EOVERFLOW.
95949         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
95950         (Depends-on): Add EOVERFLOW.
95951         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95952         (Depends-on): Add EOVERFLOW.
95953         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
95954         (Depends-on): Add EOVERFLOW.
95956         * lib/sprintf.c (EOVERFLOW): Remove fallback.
95957         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
95958         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
95960         * lib/snprintf.c (EOVERFLOW): Remove fallback.
95961         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
95962         * modules/snprintf (Depends-on): Add EOVERFLOW.
95964         * lib/poll.c (EOVERFLOW): Remove fallback.
95965         * modules/poll (Depends-on): Add EOVERFLOW.
95967         * lib/getugroups.c (EOVERFLOW): Remove fallback.
95968         * modules/getugroups (Depends-on): Add EOVERFLOW.
95970         * lib/getdelim.c (EOVERFLOW): Remove fallback.
95971         * modules/getdelim (Depends-on): Add EOVERFLOW.
95973         * lib/ftell.c (EOVERFLOW): Remove fallback.
95974         * modules/ftell (Depends-on): Add EOVERFLOW.
95976         * lib/fprintf.c (EOVERFLOW): Remove fallback.
95977         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
95978         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
95980         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
95982         * modules/EOVERFLOW-tests: New file.
95983         * tests/test-EOVERFLOW.c: New file.
95985         * modules/EOVERFLOW: New file.
95986         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
95988 2008-03-30  Bruno Haible  <bruno@clisp.org>
95990         Fix bug introduced on 2007-06-10.
95991         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
95992         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
95994 2008-03-30  Bruno Haible  <bruno@clisp.org>
95996         Improve freadseek's efficiency after ungetc.
95997         * lib/freadseek.c: Include freadahead.h.
95998         (freadptrinc): New function, extracted from freadseek.
95999         (freadseek): Use it in a loop. Use freadahead to determine the number
96000         of loop iterations.
96001         * modules/freadseek (Depends-on): Add freadahead.
96002         (configure.ac): Require AC_C_INLINE.
96004 2008-03-30  Bruno Haible  <bruno@clisp.org>
96006         * lib/freadseek.c (freadseek): Don't ignore the return value of
96007         freadptr.
96009 2008-03-29  Eric Blake  <ebb9@byu.net>
96011         Add hex float support.
96012         * modules/strtod (Depends-on): Add c-ctype.
96013         (Link): Mention POW_LIB.
96014         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
96015         whitespace between 'e' and exponent.
96016         * tests/test-strtod.c (main): Enable hex float tests.
96017         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
96018         now provides.
96020         Document various strtod bugs, with some fixes.
96021         * doc/posix-functions/strtod.texi (strtod): Document bugs with
96022         "-0x", "inf", "nan", and hex constants.
96023         * doc/posix-functions/atof.texi (atof): Likewise.
96024         * modules/stdlib (Makefile.am): Support strtod.
96025         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
96026         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
96027         detect additional strtod bugs.
96028         * lib/stdlib.in.h (rpl_strtod): Add declarations.
96029         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
96030         bool where appropriate.  Parse 'inf' and 'nan'.
96031         * tests/test-strtod.c: New file.
96032         * modules/strtod (Depends-on): Add stdbool, stdlib.
96033         (configure.ac): Turn on module indicator.
96034         * modules/strtod-tests: New module.
96036 2008-03-29  Eric Blake  <ebb9@byu.net>
96038         Fix ftell on mingw.
96039         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
96040         * modules/ftell-tests (Depends-on): Add binary-io.
96041         * modules/ftello-tests (Depends-on): Likewise.
96042         * tests/test-ftell.c (main): Enhance test to cover behavior after
96043         ungetc.  Enforce binary mode.
96044         * tests/test-ftello.c (main): Likewise.
96046         Pass test-freadseek on cygwin.
96047         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
96048         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
96049         ungetc buffer.
96051         * tests/test-fflush2.c (main): Fix typo.
96053 2008-03-29  Bruno Haible  <bruno@clisp.org>
96055         * tests/test-fflush2.c (main): Temporarily disable the contents of
96056         this test.
96057         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
96058         Reported by Eric Blake.
96060 2008-03-28  Simon Josefsson  <simon@josefsson.org>
96062         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
96063         (GC_SHA224_DIGEST_SIZE): Add.
96065         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
96066         (gc_hash_digest_length): Likewise.
96067         (gc_hash_buffer): Likewise.
96069 2008-03-25  Bruno Haible  <bruno@clisp.org>
96071         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
96072         detail which gettext release to use.
96073         Reported by Simon Josefsson.
96075 2008-03-26  Jim Meyering  <meyering@redhat.com>
96077         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
96078         * modules/gnumakefile (clean-GNUmakefile): Also, use
96079         test ... && ... || : syntax rather than if-then ... fi.
96081         gnumakefile: Don't double-quote-expand $(VPATH) value.
96082         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
96084 2008-03-24  Eric Blake  <ebb9@byu.net>
96086         Alter GNUmakefile to install into top directory.
96087         * modules/maintainer-makefile: Split, and add dependency...
96088         * modules/gnumakefile: to this new module.
96089         * build-aux/GNUmakefile: Move...
96090         * top/GNUmakefile: ...here.
96091         * build-aux/maint.mk: Move...
96092         * top/maint.mk: ...here.
96093         * MODULES.html.sh (Support for maintaining...): Document new
96094         module.
96096 2008-03-23  Bruno Haible  <bruno@clisp.org>
96098         * gnulib-tool: New options --vc-files, --no-vc-files.
96099         (func_usage): Document them.
96100         (vc_files): New variable.
96101         (func_import): Consider vc_files.
96102         (func_create_testdir): Set vc_files to empty.
96103         Suggested by Jim Meyering and Karl Berry.
96105 2008-03-23  Bruno Haible  <bruno@clisp.org>
96107         Fix regex compilation error on HP-UX 11.
96108         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
96109         * modules/regex (Files): Add m4/mbstate_t.m4.
96110         Reported by Ton Voon <ton.voon@altinity.com>.
96112 2008-03-23  Bruno Haible  <bruno@clisp.org>
96114         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
96116 2008-03-23  Eric Blake  <ebb9@byu.net>
96117             Bruno Haible  <bruno@clisp.org>
96119         Install files from top/ in the destination directory.
96120         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
96121         augmentation also for the files from top/.
96122         (func_import, func_create_testdir): Rewrite file names:
96123         top/filename -> filename.
96125 2008-03-23  Bruno Haible  <bruno@clisp.org>
96127         Tweak "gnulib --version" output.
96128         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
96130 2008-03-23  Bruno Haible  <bruno@clisp.org>
96132         Tweak "gnulib --version" output.
96133         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
96134         rather than contents of ChangeLog, when possible.
96136 2008-03-21  Eric Blake  <ebb9@byu.net>
96138         More --version tweaks.
96139         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
96140         date of last ChangeLog entry.
96142 2008-03-21  Jim Meyering  <meyering@redhat.com>
96144         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
96146 2008-03-20  Eric Blake  <ebb9@byu.net>
96148         VPATH fix.
96149         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
96151 2008-03-20  Simon Josefsson  <simon@josefsson.org>
96153         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
96154         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
96156 2008-03-20  Eric Blake  <ebb9@byu.net>
96158         Sync GNUmakefile with coreutils.
96159         * build-aux/GNUmakefile (have-Makefile): Rename...
96160         (_have-Makefile): ...to this, for namespace consideration.
96161         (GNUmakefile.cfg): Include, if present.
96162         (_autoreconf): Define a default.
96163         (_is-dist-target): New rule for rebuilds to pick up intra-release
96164         version.
96165         (maint-cfg.mk): Rename...
96166         (cfg.mk): ...to this.
96168 2008-03-18  Jim Meyering  <meyering@redhat.com>
96170         New script and module: mktempd
96171         * MODULES.html.sh (maint+release support): Add mktempd.
96172         * build-aux/mktempd: New file.
96173         * modules/mktempd: New file.
96175 2008-03-15  Jim Meyering  <meyering@redhat.com>
96177         Undo last change.
96178         * lib/sha1.c, lib/md5.c: 63 != ~63.
96179         Reported by Andreas Schwab.
96181         sha1.c, md5.c: Hoist a redundant expression.
96182         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
96183         "ctx->buflen" only once, before calling *_process_block.
96184         * lib/md5.c (md5_process_bytes): Likewise.
96186 2008-03-14  Eric Blake  <ebb9@byu.net>
96188         Bump copyright year in files generated by gnulib-tool.
96189         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
96190         gnulib-tool, rather than hard-coding it.
96192         Fix 'gnulib-tool --version' output to work with git.
96193         * gnulib-tool (func_gnulib_dir): New function, extracted from...
96194         (startup): ...here.
96195         (func_version): Use it to invoke git-version-gen, rather than
96196         relying on CVS keyword expansion.  Modernize wording.
96197         (cvsdatestamp, last_checkin_date, version): Kill unused
96198         variables.
96200 2008-03-12  Jim Meyering  <meyering@redhat.com>
96202         Recognize optional cast of the argument to free.
96203         * build-aux/useless-if-before-free: Update regexps.
96205         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
96207 2008-03-11  Bruno Haible  <bruno@clisp.org>
96209         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
96210         by a single package.
96211         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
96212         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
96213         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
96214         Reported by Sam Steingold <sds@gnu.org>.
96216 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
96218         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
96219         repositories.
96221 2008-03-11  Bruno Haible  <bruno@clisp.org>
96223         Avoid conflicts between local macro definitions.
96224         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
96225         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
96227 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
96228             Bruno Haible  <bruno@clisp.org>
96230         Make va_copy work with some version of xlc on AIX 5.1.
96231         * lib/stdarg.in.h: New file.
96232         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
96233         On AIX, use a <stdarg.h> file substitute.
96234         * modules/stdarg (Files): Add lib/stdarg.in.h.
96235         (Depends-on): Add include_next.
96236         (Makefile.am): Build a stdarg.h substitute if requested.
96237         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
96239 2008-03-10  Bruno Haible  <bruno@clisp.org>
96241         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
96242         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
96243         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96245 2008-03-10  Bruno Haible  <bruno@clisp.org>
96247         * modules/stdlib (Depends-on): Add include_next, remove
96248         absolute-header.
96250 2008-03-09  Bruno Haible  <bruno@clisp.org>
96252         * lib/freadahead.h (freadahead): Document more precisely.
96253         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
96254         the sum of both buffer sizes.
96255         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
96256         * NEWS: Document the change.
96258 2008-03-09  Bruno Haible  <bruno@clisp.org>
96260         Extend freadptr to return also the buffer size.
96261         * lib/freadptr.h (freadptr): Add sizep argument.
96262         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
96263         (freadptr): Add sizep argument. Determine buffer size like freadahead
96264         does.
96265         * tests/test-freadptr.c: Don't include freadahead.h.
96266         (main): Adapt for new calling convention of freadptr.
96267         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
96268         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
96269         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
96270         tests/test-freadptr2.sh.
96271         (Depends): Remove freadahead.
96272         (TESTS): Add test-freadptr2.sh.
96273         (check_PROGRAMS): Add test-freadptr2.
96275 2008-03-09  Bruno Haible  <bruno@clisp.org>
96277         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
96278         Report and solution by Simon Josefsson.
96280 2008-03-06  Bruno Haible  <bruno@clisp.org>
96282         Make fflush after ungetc work on BSD platforms.
96283         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
96284         * tests/test-fflush2.c: New file.
96285         * tests/test-fflush2.sh: New file.
96286         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
96287         tests/test-fflush2.c.
96288         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
96289         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
96291 2008-03-06  Eric Blake  <ebb9@byu.net>
96293         Likewise for ftello.
96294         * modules/ftello (Dependencies): Add extensions.
96295         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
96297 2008-03-06  Bruno Haible  <bruno@clisp.org>
96299         * modules/fseeko (Dependencies): Add extensions.
96300         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
96301         Needed on glibc systems.
96303 2008-03-06  Bruno Haible  <bruno@clisp.org>
96305         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
96306         email address.
96307         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96309 2008-03-06  Bruno Haible  <bruno@clisp.org>
96311         * users.txt: Add libgnupdf.
96313 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
96315         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
96316         (Header File Substitutes, Function Substitutes,
96317         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
96318         (Build robot for gnulib): Fix typo.
96320 2008-03-06  Bruno Haible  <bruno@clisp.org>
96322         * doc/gnulib-tool.texi (VCS Issues): Small updates.
96323         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
96325 2008-03-06  Bruno Haible  <bruno@clisp.org>
96327         * doc/func.texi: New file, extracted from doc/gnulib.texi.
96328         * doc/gnulib.texi: Include it.
96330 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96332         * modules/func (License): Change license to unlimited; there was
96333         no LGPL parts in the module anyway.
96335 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96337         * modules/__func__: Renamed to modules/func.
96338         * modules/__func__-tests: Renamed to modules/func-tests.
96339         * tests/test-__func__.c: Renamed to tests/test-func.c.
96340         * m4/__func__.m4: Renamed to m4/func.m4.
96341         * doc/gnulib.texi (__func__): Section renamed to func.
96342         Suggested by Eric Blake <ebb9@byu.net>.
96344 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96346         * doc/gnulib.texi (__func__): Use C99 terminology when talking
96347         about __func__.  Make example self-contained.  Suggested by Eric
96348         Blake <ebb9@byu.net>.
96350         * tests/test-__func__.c (main): Avoid extraneous () around __func.
96351         Suggested by Eric Blake <ebb9@byu.net>.
96353 2008-03-06  Simon Josefsson  <simon@josefsson.org>
96355         * modules/__func__: New file.
96356         * modules/__func__-tests: New file.
96357         * tests/test-__func__.c: New file.
96358         * m4/__func__.m4: New file.
96359         * doc/gnulib.texi (__func__): Document __func__ module.
96361 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96363         * modules/byteswap (License): Re-license as LGPLv2+.
96365 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96367         * doc/Makefile: Add pdf target.
96369 2008-03-05  Simon Josefsson  <simon@josefsson.org>
96371         * modules/inline (License): Use 'unlimited', since there are only
96372         *.m4 files in this module.
96374 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96375             Bruno Haible  <bruno@clisp.org>
96377         Add support for HP C 7.1 on OpenVMS 8.3.
96378         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
96380 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
96382         Update VMS specifics.
96383         * lib/getopt.c [VMS]: Remove include of unixlib.h.
96385 2008-03-02  Jim Meyering  <meyering@redhat.com>
96387         Remove the last dependency on the "free" module.
96388         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
96389         Reported by Bob Proulx.
96391         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
96393         Remove useless "if" tests before free.  Deprecate "free" module.
96394         * doc/posix-functions/free.texi: Mention that this
96395         module is no longer useful.
96396         * modules/free (Notice): Say this module is obsolete.
96397         * modules/readutmp (Depends-on): Remove free.
96398         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
96399         * lib/putenv.c (putenv): Likewise.
96400         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
96401         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
96402         * tests/test-c-strcasestr.c (main): Likewise.
96403         * tests/test-c-strstr.c (main): Likewise.
96404         * tests/test-mbscasestr1.c (main): Likewise.
96405         * tests/test-mbscasestr2.c (main): Likewise.
96406         * tests/test-mbsstr1.c (main): Likewise.
96407         * tests/test-mbsstr2.c (main): Likewise.
96408         * tests/test-memmem.c (main): Likewise.
96409         * tests/test-strcasestr.c (main): Likewise.
96410         * tests/test-striconv.c (main): Likewise.
96411         * tests/test-striconveh.c (main): Likewise.
96412         * tests/test-striconveha.c (main): Likewise.
96413         * tests/test-strstr.c (main): Likewise.
96415         * build-aux/git-version-gen: Adjust a comment and the Usage string.
96417         bootstrap: sync from coreutils again
96418         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
96420 2008-03-01  Jim Meyering  <meyering@redhat.com>
96422         bootstrap: sync from coreutils
96423         * build-aux/bootstrap (update_po_files): Copy a .po file into place
96424         also when the target doesn't exist.
96426 2008-03-01  Eric Blake  <ebb9@byu.net>
96428         Fix bugs in last patch.
96429         * lib/memchr2.c (memchr2): Fix typo.
96430         * tests/test-memchr2.c: Test previous bug, and don't use GNU
96431         extension.
96432         Reported by Bruce Korb.
96434         New module 'memchr2'.
96435         * modules/memchr2: New file.
96436         * modules/memchr2-tests: Likewise.
96437         * lib/memchr2.h: Likewise.
96438         * lib/memchr2.c: Likewise, based on memchr.c.
96439         * tests/test-memchr2.c: New test.
96440         * MODULES.html.sh (String handling): Add memchr2.
96442 2008-02-29  Bruno Haible  <bruno@clisp.org>
96444         * modules/freadseek-tests: New file.
96445         * tests/test-freadseek.sh: New file.
96446         * tests/test-freadseek.c: New file.
96448         New module 'freadseek'.
96449         * modules/freadseek: New file.
96450         * lib/freadseek.h: New file.
96451         * lib/freadseek.c: New file.
96452         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
96454 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
96456         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
96457         wydawca.
96459         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
96460         program_invocation_name and program_invocation_short_name are
96461         present.
96463 2008-02-28  Bruno Haible  <bruno@clisp.org>
96465         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
96466         * tests/test-freadptr.sh: Also test non-seekable stdin.
96468 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
96470         * build-aux/bootstrap (source_base, m4_base)
96471         (doc_base, tests_base): New variables.
96472         (gnulib_tool_options): Do not hardcode base directories, use
96473         the above variables instead.
96475 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
96477         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
96479 2008-02-28  Bruno Haible  <bruno@clisp.org>
96481         * modules/freadptr-tests: New file.
96482         * tests/test-freadptr.sh: New file.
96483         * tests/test-freadptr.c: New file.
96485         New module 'freadptr'.
96486         * modules/freadptr: New file.
96487         * lib/freadptr.h: New file.
96488         * lib/freadptr.c: New file.
96489         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
96491 2008-02-26  Karl Berry  <karl@freefriends.org>
96493         Sync from Libtool:
96494         * libltdl/argz.c (argz_add, argz_count): New functions.
96495         * libltdl/argz.in.h: Declare them.
96496         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
96498 2008-02-22  Bruno Haible  <bruno@clisp.org>
96500         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
96501         is a pointer type.  Needed for HP-UX 10.
96502         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
96503         * doc/posix-functions/gmtime_r.texi: Likewise.
96504         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
96506 2008-02-24  Bruno Haible  <bruno@clisp.org>
96508         * modules/environ-tests: New file.
96509         * tests/test-environ.c: New file.
96511         New module 'environ'.
96512         * modules/environ: New file.
96513         * lib/unistd.in.h (environ): New declaration.
96514         * m4/environ.m4: New file.
96515         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
96516         after use.
96517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
96518         HAVE_DECL_ENVIRON.
96519         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
96520         HAVE_DECL_ENVIRON.
96521         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
96522         wrong claim that 'environ' is missing on some systems.
96523         * modules/execute (Depends-on): Add environ.
96524         * lib/execute.c (environ): Remove fallback declaration.
96525         * modules/pipe (Depends-on): Add environ.
96526         * lib/pipe.c (environ): Remove fallback declaration.
96527         * modules/setenv (Depends-on): Add environ.
96528         * lib/setenv.c (environ): Remove fallback declaration.
96529         * modules/unsetenv (Depends-on): Add environ.
96530         * lib/unsetenv.c (environ): Remove fallback declaration.
96531         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
96532         m4/environ.m4.
96533         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
96534         (gl_PREREQ_UNSETENV): Likewise.
96536 2008-02-24  Bruno Haible  <bruno@clisp.org>
96538         * doc/posix-functions/environ.texi: Document the MacOS X problem.
96540 2008-02-20  Bob Proulx  <bob@proulx.com>
96542         Enable use of older two part flavor 'git describe'.
96543         * build-aux/git-version-gen: If using the older two part flavor of
96544         git version then recreate the third part now present in the
96545         newer three part flavor of git describe.
96547 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
96549         * lib/fts.c (fts_build): Typo correction to comment.
96551 2008-02-17  Bruno Haible  <bruno@clisp.org>
96553         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
96554         generating no-op conflicts.
96556 2008-02-17  Bruno Haible  <bruno@clisp.org>
96558         Speed up by 10%.
96559         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
96560         result_entries, rather than an index-based loop.
96562 2008-02-17  Bruno Haible  <bruno@clisp.org>
96564         Speed up by 25%.
96565         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
96566         'hashcode_cached'.
96567         (entry_create): New function.
96568         (entry_hashcode): Use the cached hashcode if possible.
96569         (read_changelog_file, try_split_merged_entry): Use entry_create.
96571 2008-02-17  Bruno Haible  <bruno@clisp.org>
96573         Speed up from O(n^2) to O(n) for long ChangeLog files.
96574         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
96575         (read_changelog_file): Change implementation of entries_reversed list
96576         to rbtreehash.
96577         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
96579 2008-02-17  Bruno Haible  <bruno@clisp.org>
96581         New option --split-merged-entry.
96582         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
96583         (find_paragraph_end, try_split_merged_entry): New functions.
96584         (long_options): Add option --split-merged-entry.
96585         (usage): Document option --split-merged-entry.
96586         (main): Implement option --split-merged-entry.
96587         Reported by Eric Blake.
96589 2008-02-17  Bruno Haible  <bruno@clisp.org>
96591         * lib/git-merge-changelog.c: Include c-strstr.h.
96592         (main): Support the "git pull --rebase" situation.
96593         * modules/git-merge-changelog (Depends-on): Add c-strstr.
96594         Reported by Eric Blake.
96596 2008-02-16  Eric Blake  <ebb9@byu.net>
96598         Avoid doubling \ in common case of "c-maybe" quoting style.
96599         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
96600         eliding outer quotes.
96601         * lib/quotearg.h: Document this.
96602         * tests/test-quotearg.c (result_strings, inputs, results_g)
96603         (flag_results, locale_results): Test it by adding a new string to
96604         each test group.
96605         (compare_strings): Test new string.
96607 2008-02-13  Eric Blake  <ebb9@byu.net>
96609         Avoid trigraph quoting in default output.
96610         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
96611         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
96612         unless explicitly requested.
96613         * tests/test-quotearg.c (flag_results, main): Add additional tests.
96615 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
96617         Don't rely on signed integer overflowing to negative value.
96618         * lib/getugroups.c (getugroups): Include <limits.h>.
96619         Instead, compare against INT_MAX, and increment only if the test passes.
96621 2008-02-13  Jim Meyering  <meyering@redhat.com>
96622         and Eric Blake  <ebb9@byu.net>
96624         Avoid shadowing warning and compile errors on Linux.
96625         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
96626         forwarding macros on Linux.
96627         (dcgettext): Define a stub, for Linux.
96628         (results_g, main): Avoid warnings.
96630 2008-02-12  Eric Blake  <ebb9@byu.net>
96632         Silence warning in last patch.
96633         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
96635         Quotearg part 4: add tests, fix c-maybe colon quoting.
96636         * lib/quotearg.h: Improve documentation.
96637         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
96638         escapes when adding outer quotes.  When quoting trigraphs, use
96639         valid C notation.  When quoting NUL, omit extra characters if next
96640         character is not digit.  Alter prototype.
96641         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
96642         callers.
96643         * modules/quotearg-tests: New module.
96644         * tests/test-quotearg.c: New test.
96646 2008-02-07  Eric Blake  <ebb9@byu.net>
96648         Quotearg part 3: add flag to control outer quote elision.
96649         * lib/quotearg.h (c_maybe_quoting_style): New style.
96650         (enum quoting_flags): Better documentation of flags.
96651         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
96652         c-maybe style.
96653         (quotearg_buffer_restyled): Handle new flag to elide outer
96654         quotes.
96656         Quotearg part 2: add flag that can control NUL elision.
96657         * lib/quotearg.h (set_quoting_flags): New prototype.
96658         * lib/quotearg.c (struct quoting_options): Add flag field.
96659         (set_quoting_flags): New function.
96660         (quotearg_buffer_restyled): Add flags parameter.
96661         (quotearg_alloc_mem): Set the flag if length cannot be returned.
96662         (quotearg_n_options): Set the flag, since length cannot be
96663         returned.
96664         (quoting_options_from_style): Default flags correctly.
96666         Quotearg part 1: more wrappers, restore quotearg_char state.
96667         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
96668         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
96669         (quotearg_colon_mem): New wrappers.
96670         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
96671         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
96672         functions.
96673         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
96674         (quotearg_colon_mem): New functions.
96676 2008-02-11  Bruno Haible  <bruno@clisp.org>
96678         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
96679         library in the current directory: it does not work with parallel make.
96680         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
96682 2008-02-11  Bruno Haible  <bruno@clisp.org>
96684         * .gitattributes: New file.
96686 2008-02-11  Jim Meyering  <meyering@redhat.com>
96688         useless-if-before-free: Fix reversed exit values.
96689         * build-aux/useless-if-before-free: Use correct values
96690         for EXIT_MATCH and EXIT_NO_MATCH.
96692         * build-aux/useless-if-before-free: Close stdout carefully.
96694 2008-02-10  Bruno Haible  <bruno@clisp.org>
96696         New module 'git-merge-changelog'.
96697         * modules/git-merge-changelog: New file.
96698         * lib/git-merge-changelog.c: New file.
96700 2008-02-10  Jim Meyering  <meyering@redhat.com>
96702         useless-if-before-free: New option: --list (-l).
96704         useless-if-before-free: Don't exit immediately upon open failure.
96705         * build-aux/useless-if-before-free: Exit 2 for errors.
96706         Upon failure to open a file, don't exit immediately.
96707         Rather, just warn and continue with any remaining files.
96709 2008-02-10  Bruno Haible  <bruno@clisp.org>
96711         New abstract list operation 'node_set_value'.
96712         * lib/gl_list.h (gl_list_node_set_value): New function.
96713         (struct gl_list_implementation): New field node_set_value.
96714         * lib/gl_list.c (gl_list_node_set_value): New function.
96715         * lib/gl_array_list.c (gl_array_node_set_value): New function.
96716         (gl_array_list_implementation): Update.
96717         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
96718         (gl_carray_list_implementation): Update.
96719         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
96720         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
96721         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
96722         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
96723         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
96724         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
96725         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
96726         Update.
96727         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
96728         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
96729         (gl_sublist_list_implementation): Update.
96731 2008-02-10  Bruno Haible  <bruno@clisp.org>
96733         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
96734         Needed when ELEMENT is #defined to 'some_type *'.
96736 2008-02-10  Jim Meyering  <meyering@redhat.com>
96738         New script and module: useless-if-before-free
96739         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
96740         * build-aux/useless-if-before-free: New file.
96741         * modules/useless-if-before-free: New file.
96743         * build-aux/gitlog-to-changelog: Use committer date, not author date.
96745         xstrtol_error: Fix typo.
96746         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
96747         s/exit_failure/exit_status/.
96749 2008-02-09  Jim Meyering  <meyering@redhat.com>
96751         New script and module: gitlog-to-changelog
96752         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
96753         * modules/gitlog-to-changelog: New file.
96754         * build-aux/gitlog-to-changelog: New file.
96756 2008-02-08  Jim Meyering  <meyering@redhat.com>
96758         Avoid two "parameter unused" warnings.
96759         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
96760         Mark "st" as used.
96762         Use "git COMMAND", not "git-COMMAND".
96763         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
96764         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
96765         * build-aux/git-version-gen: Use "git status", not "git-status".
96767 2008-02-07  Bruno Haible  <bruno@clisp.org>
96769         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
96770         Avoids a crash on Windows Vista.
96771         Reported by Adam Strzelecki <ono@java.pl> via
96772         Simon Josefsson <simon@josefsson.org>.
96774 2008-02-06  Bruno Haible  <bruno@clisp.org>
96776         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
96777         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
96778         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
96779         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
96780         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
96781         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
96782         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
96783         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
96784         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
96785         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
96786         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
96787         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
96788         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
96789         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
96790         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
96791         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
96792         left-adjust flag.
96793         * tests/test-snprintf-posix.h (test_function): Likewise.
96794         * tests/test-sprintf-posix.h (test_function): Likewise.
96795         * tests/test-vasprintf-posix.c (test_function): Likewise.
96796         * doc/posix-functions/fprintf.texi: Update.
96797         * doc/posix-functions/printf.texi: Update.
96798         * doc/posix-functions/snprintf.texi: Update.
96799         * doc/posix-functions/sprintf.texi: Update.
96800         * doc/posix-functions/vfprintf.texi: Update.
96801         * doc/posix-functions/vprintf.texi: Update.
96802         * doc/posix-functions/vsnprintf.texi: Update.
96803         * doc/posix-functions/vsprintf.texi: Update.
96804         Reported by Peter Fales <psfales@alcatel-lucent.com>.
96806 2008-02-06  Bruno Haible  <bruno@clisp.org>
96808         Fix bug introduced on 2008-01-26.
96809         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
96811 2008-02-06  Bruno Haible  <bruno@clisp.org>
96813         Fix bug introduced on 2007-06-10.
96814         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
96815         !NEED_PRINTF_FLAG_ZERO.
96817 2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>
96819         getloadavg: use libperfstat on AIX5
96820         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
96822 2008-02-03  Bruno Haible  <bruno@clisp.org>
96824         * lib/diffseq.h: Add comments about required #includes.
96825         Reported by Michael Biggs <gnulib@doubleplum.net>.
96827 2008-02-01  Bruno Haible  <bruno@clisp.org>
96829         * users.txt: Add gnuit.
96831 2008-01-31  Bruno Haible  <bruno@clisp.org>
96833         * lib/md4.c (set_uint32): Mark as inline.
96834         * lib/md5.c (set_uint32): Likewise.
96835         * lib/sha1.c (set_uint32): Likewise.
96836         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
96837         * m4/md5.m4 (gl_MD5): Likewise.
96838         * m4/sha1.m4 (gl_SHA1): Likewise.
96840 2008-01-31  Jim Meyering  <meyering@redhat.com>
96842         Use "sizeof VAR", rather than a literal "4".
96843         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
96844         * lib/md4.c (md4_read_ctx): Likewise.
96845         * lib/sha1.c (sha1_read_ctx): Likewise.
96847 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96849         * tests/test-sha1.c: New file, based on test-md5.c.
96851         * modules/crypto/sha1-tests: New file.
96853 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96855         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
96857 2008-01-31  Jim Meyering  <meyering@redhat.com>
96859         Prefer "sizeof v" over the equivalent "4".
96860         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
96861         * lib/md5.c (set_uint32): Likewise.
96862         * lib/sha1.c (set_uint32): Likewise.
96864 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96866         * lib/sha1.c (set_uint32): Mark function as static.
96868 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96870         md2: clarify comments to say that alignment is not required.
96871         * lib/md2.h: Remove warning about alignment in comment.
96872         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
96873         never been required.
96875 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96877         md4: adapt alignment constraint fix from sha1.
96878         * lib/md4.c (set_uint32): New function, from sha1.c
96879         (md4_read_ctx): Use it.
96880         (md4_finish_ctx): Doc fix.
96881         * lib/md4.h: Doc fix.
96883 2008-01-31  Simon Josefsson  <simon@josefsson.org>
96885         md5: adapt alignment constraint fix from sha1.
96886         * lib/md5.c (set_uint32): New function, from sha1.c
96887         (md5_read_ctx): Use it.
96888         (md5_finish_ctx): Doc fix.
96889         * lib/md5.h: Doc fix.
96891 2008-01-30  Peter Palfrader  <weasel@debian.org>
96893         sha1: remove the result buffer alignment constraint
96894         * lib/sha1.c (set_uint32): New function.
96895         (sha1_read_ctx): Rewrite to remove the result buffer alignment
96896         constraint.
96897         (sha1_finish_ctx): Remove comment warning about alignment constraint.
96898         * lib/sha1.h: Likewise.
96900 2008-01-30  Andreas Schwab  <schwab@suse.de>
96901             Bruno Haible  <bruno@clisp.org>
96903         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
96904         correct definition of LDBL_MIN_EXP.
96906 2008-01-30  Karl Berry  <karl@gnu.org>
96908         * config/srclist-update: try to preserve x bit on updates.
96909         * config/srclistvars.sh: update for karl.
96911 2008-01-29  Jim Meyering  <meyering@redhat.com>
96913         vasnprintf.c: Avoid warning about unused label
96914         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
96915         "overflow" label definition and associated code with the
96916         same cpp condition that guards the sole use of that label.
96918 2008-01-26  Bruno Haible  <bruno@clisp.org>
96920         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
96921         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
96922         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
96923         * lib/isnanl-nolibm.h (isnanl): Likewise.
96924         Reported by Paul Eggert <eggert@cs.ucla.edu>.
96926 2008-01-26  Bruno Haible  <bruno@clisp.org>
96928         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
96929         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
96931 2008-01-26  Bruno Haible  <bruno@clisp.org>
96933         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
96934         GCC >= 4.0 built-in.
96935         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
96937 2008-01-26  Bruno Haible  <bruno@clisp.org>
96939         Rename isnan, applicable to 'double' only, to isnand.
96940         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
96941         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
96942         (configure.ac): Update.
96943         (Include): Replace "isnan.h" with "isnand.h".
96944         * m4/isnand.m4: Renamed from m4/isnan.m4.
96945         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
96946         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
96947         instead of isnan.c.
96948         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
96949         instead of HAVE_ISNAN_IN_LIBC.
96950         (isnand): Renamed from isnan.
96951         * lib/isnand.c: New file.
96952         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
96953         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
96954         (Makefile.am): Update.
96955         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
96956         Include isnand.h instead of isnan.h.
96957         (main): Test isnand instead of isnan.
96958         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
96959         isnan-nolibm.
96960         * modules/frexp (Depends-on): Likewise.
96961         * modules/frexp-tests (Depends-on): Likewise.
96962         * modules/frexp-nolibm (Depends-on): Likewise.
96963         * modules/frexp-nolibm-tests (Depends-on): Likewise.
96964         * modules/isfinite (Depends-on): Likewise.
96965         * modules/round-tests (Depends-on): Likewise.
96966         * modules/signbit (Depends-on): Likewise.
96967         * modules/signbit-tests (Depends-on): Likewise.
96968         * modules/snprintf-posix (Depends-on): Likewise.
96969         * modules/sprintf-posix (Depends-on): Likewise.
96970         * modules/trunc-tests (Depends-on): Likewise.
96971         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
96972         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
96973         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
96974         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
96975         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
96976         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
96977         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
96978         * modules/vasnprintf-posix (Depends-on): Likewise.
96979         * modules/vasprintf-posix (Depends-on): Likewise.
96980         * modules/vfprintf-posix (Depends-on): Likewise.
96981         * modules/vsnprintf-posix (Depends-on): Likewise.
96982         * modules/vsprintf-posix (Depends-on): Likewise.
96983         * lib/frexp.c: Include isnand.h instead of isnan.h.
96984         (ISNAN): Set to isnand instead of isnan.
96985         * lib/isfinite.c: Include isnand.h instead of isnan.h.
96986         (gl_isfinited): Use isnand instead of isnan.
96987         * lib/signbitd.c: Include isnand.h instead of isnan.h.
96988         (gl_signbitd): Use isnand instead of isnan.
96989         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
96990         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
96991         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
96992         (main): Use isnand instead of isnan.
96993         * tests/test-round1.c: Include isnand.h.
96994         (main): Use isnand instead of isnan.
96995         * tests/test-round2.c: Include isnand.h instead of isnan.h.
96996         (ISNAN): Set to isnand instead of isnan.
96997         * tests/test-trunc1.c: Include isnand.h.
96998         (main): Use isnand instead of isnan.
96999         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
97000         (equal): Use isnand instead of isnan.
97001         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
97002         isnand-nolibm.
97003         * NEWS: Mention the change.
97005 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
97006             Bruno Haible  <bruno@clisp.org>
97008         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
97009         the GCC builtins for signbits are present and set
97010         REPLACE_SIGNBIT_USING_GCC if so.
97011         * lib/math.in.h (signbit): Define using GCC builtins if
97012         REPLACE_SIGNBIT_USING_GCC is set.
97013         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
97014         REPLACE_SIGNBIT_USING_GCC.
97015         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
97017 2008-01-25  Jim Meyering  <meyering@redhat.com>
97019         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
97020         * lib/poll.c: Include <config.h>, not "config.h".
97021         * tests/test-getaddrinfo.c: Likewise.
97023 2008-01-25  Simon Josefsson  <simon@josefsson.org>
97025         * modules/sockets-tests: New file.
97027 2008-01-24  Simon Josefsson  <simon@josefsson.org>
97029         * modules/sockets: New module, can be used to call WSA_Startup and
97030         WSA_Cleanup when needed.
97032         * lib/sockets.h, lib/sockets.c: New files.
97034         * m4/sockets.m4: New file.
97036         * tests/test-sockets.c: New file.
97038 2008-01-19  Bruno Haible  <bruno@clisp.org>
97040         * doc/posix-headers: Renamed from doc/headers.
97041         * doc/posix-functions: Renamed from doc/functions.
97042         * doc/gnulib.texi: Update.
97044 2008-01-19  Bruno Haible  <bruno@clisp.org>
97046         * doc/glibc-functions/strcasestr.texi: Include contents of
97047         doc/functions/strcasestr.texi, fixing the list of platforms.
97048         * doc/functions/strcasestr.texi: Remove file.
97050 2008-01-19  Bruno Haible  <bruno@clisp.org>
97052         * doc/glibc-functions/memmem.texi: Include contents of
97053         doc/functions/memmem.texi.
97054         * doc/functions/memmem.texi: Remove file.
97056 2008-01-18  Bruno Haible  <bruno@clisp.org>
97058         * doc/glibc-functions/*.texi: New files.
97059         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
97060         to use the new files.
97062 2008-01-17  Bruno Haible  <bruno@clisp.org>
97064         * tests/test-gethostname.c (main): Fix printf statement.
97066 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97068         * modules/gethostname-tests: New file.
97070         * tests/test-gethostname.c: New file.
97072 2008-01-17  Simon Josefsson  <simon@josefsson.org>
97074         * lib/gethostname.c: Include string.h unconditionally, strncpy is
97075         used by the UNAME case.  Reported by Bruno Haible
97076         <bruno@clisp.org>.
97078 2008-01-17  Eric Blake  <ebb9@byu.net>
97080         Convert c-strcasestr to be more efficient.
97081         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
97082         (Depends-on): Add c-strcase, remove malloca, strnlen.
97083         * tests/test-c-strcasestr.c (main): Enhance test.
97084         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
97086 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
97088         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
97089         Use it in creating po/Makevars.
97091 2008-01-15  Simon Josefsson  <simon@josefsson.org>
97093         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
97094         Applications that requires it should initialize libgcrypt
97095         manually.
97097 2008-01-16  Simon Josefsson  <simon@josefsson.org>
97099         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
97101 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
97103         Fix problem with getdate on mingw32 reported by Simon Josefsson
97104         in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
97105         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
97106         tzname", when deciding whether to declare tzname.
97107         * lib/strftime.c (tzname): Likewise.
97109 2008-01-15  Bruno Haible  <bruno@clisp.org>
97111         Work around a MacOS X 10.5 bug in frexpl().
97112         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
97113         * doc/functions/frexpl.texi: Document the bug.
97114         Reported by Elias Pipping <pipping@gentoo.org>.
97116 2008-01-14  Eric Blake  <ebb9@byu.net>
97118         Touch up previous patch.
97119         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
97120         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
97122         Convert strcasestr module to use Two-Way algorithm.
97123         * modules/strcasestr-simple: New module, based on the old
97124         strcasestr, but with Two-Way rather than KMP.
97125         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
97126         * lib/string.in.h (rpl_strcasestr): Declare.
97127         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
97128         performance.
97129         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
97130         * modules/string (Makefile.am): Support strcasestr.
97131         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
97132         * modules/strcasestr-tests (Depends-on): Check for alarm.
97133         * tests/test-strcasestr.c: Augment test.
97134         * lib/str-two-way.h: Clean up stray macro.
97135         * NEWS: Document new module.
97136         * MODULES.html.sh (string handling): Likewise.
97137         * doc/functions/strcasestr.texi: New file.
97138         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
97139         here, since it is not a POSIX function.
97141 2008-01-14  Colin Watson  <cjwatson@debian.org>
97142             Bruno Haible  <bruno@clisp.org>
97144         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
97145         works fine; if not, set REPLACE_STRSIGNAL.
97146         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
97147         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97148         REPLACE_STRSIGNAL.
97149         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
97150         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
97151         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
97153 2008-01-14  Bruno Haible  <bruno@clisp.org>
97155         * modules/strsignal (Include): Change to <string.h>.
97157 2008-01-14  Colin Watson  <cjwatson@debian.org>
97159         * modules/argp (Notice): Add a notice recommending to change
97160         XGETTEXT_OPTIONS.
97161         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
97163 2008-01-13  Colin Watson  <cjwatson@debian.org>
97165         * modules/strsignal-tests: New file.
97166         * tests/test-strsignal.c: New file.
97168         * lib/strsignal.c: New file, from glibc with modifications.
97169         * lib/siglist.h: New file, from glibc with modifications.
97170         * lib/string.in.h (strsignal): New declaration.
97171         * m4/strsignal.m4: New file.
97172         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
97173         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
97174         * modules/strsignal: New file.
97175         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
97176         HAVE_DECL_STRSIGNAL.
97178 2008-01-13  Bruno Haible  <bruno@clisp.org>
97180         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
97181         locale encoding is not ASCII. Needed for OpenBSD 4.0.
97182         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
97183         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
97185 2008-01-13  Bruno Haible  <bruno@clisp.org>
97187         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
97188         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
97189         * lib/argp.h (__attribute__): Likewise.
97190         * lib/c-stack.c (__attribute__): Likewise.
97191         * lib/error.h (__attribute__): Likewise.
97192         * lib/fts.c (__attribute__): Likewise.
97193         * lib/openat.h (__attribute__): Likewise.
97194         * lib/stdio.in.h (__attribute__): Likewise.
97195         * lib/string.in.h (__attribute__): Likewise.
97196         * lib/utimens.c (__attribute__): Likewise.
97197         * lib/vasnprintf.h (__attribute__): Likewise.
97198         * lib/xalloc.h (__attribute__): Likewise.
97199         * lib/xprintf.h (__attribute__): Likewise.
97200         * lib/xstrtol.h (__attribute__): Likewise.
97201         * lib/xvasprintf.h (__attribute__): Likewise.
97203 2008-01-12  Bruno Haible  <bruno@clisp.org>
97205         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
97206         * doc/glibc-headers/a.out.texi: New file.
97207         * doc/glibc-headers/aliases.texi: New file.
97208         * doc/glibc-headers/alloca.texi: New file.
97209         * doc/glibc-headers/ar.texi: New file.
97210         * doc/glibc-headers/argp.texi: New file.
97211         * doc/glibc-headers/argz.texi: New file.
97212         * doc/glibc-headers/byteswap.texi: New file.
97213         * doc/glibc-headers/crypt.texi: New file.
97214         * doc/glibc-headers/endian.texi: New file.
97215         * doc/glibc-headers/envz.texi: New file.
97216         * doc/glibc-headers/err.texi: New file.
97217         * doc/glibc-headers/error.texi: New file.
97218         * doc/glibc-headers/execinfo.texi: New file.
97219         * doc/glibc-headers/fpu_control.texi: New file.
97220         * doc/glibc-headers/fstab.texi: New file.
97221         * doc/glibc-headers/fts.texi: New file.
97222         * doc/glibc-headers/getopt.texi: New file.
97223         * doc/glibc-headers/ieee754.texi: New file.
97224         * doc/glibc-headers/ifaddrs.texi: New file.
97225         * doc/glibc-headers/libintl.texi: New file.
97226         * doc/glibc-headers/mcheck.texi: New file.
97227         * doc/glibc-headers/mntent.texi: New file.
97228         * doc/glibc-headers/obstack.texi: New file.
97229         * doc/glibc-headers/paths.texi: New file.
97230         * doc/glibc-headers/printf.texi: New file.
97231         * doc/glibc-headers/pty.texi: New file.
97232         * doc/glibc-headers/resolv.texi: New file.
97233         * doc/glibc-headers/shadow.texi: New file.
97234         * doc/glibc-headers/sysexits.texi: New file.
97235         * doc/glibc-headers/ttyent.texi: New file.
97237 2008-01-12  Jim Meyering  <meyering@redhat.com>
97239         announce-gen: emit Gnulib's git-based version string.
97240         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
97241         New option --gnulib-version=V, where V is expected to be
97242         the output of running git describe in the gnulib directory.
97243         (get_tool_versions): Request feedback on xdelta.  I suspect it's
97244         not useful, and plan to stop publishing an xdelta file with each
97245         coreutils release.
97247         * build-aux/announce-gen: Also check for lzma-compressed files.
97249 2008-01-11  Bruno Haible  <bruno@clisp.org>
97251         * tests/test-memmem.c (main): Increase maximum allowed time.
97252         * tests/test-strstr.c (main): Likewise.
97254 2008-01-11  Bruno Haible  <bruno@clisp.org>
97256         * doc/functions/memmem.texi: Add more precisions about platforms.
97257         * doc/functions/strstr.texi: Likewise.
97259 2008-01-10  Eric Blake  <ebb9@byu.net>
97261         * m4/strstr.m4: Delete cruft from copy-n-paste.
97262         Reported by Bruno Haible.
97264 2008-01-10  Bruno Haible  <bruno@clisp.org>
97266         Make c-strstr rely on strstr.
97267         * lib/c-strstr.c: Don't include str-kmp.h.
97268         (c_strstr): Define in terms of strstr.
97269         * modules/c-strstr (Files): Remove lib/str-kmp.h.
97270         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
97272 2008-01-10  Bruno Haible  <bruno@clisp.org>
97274         * doc/gnulib.texi (String Functions in C Locale): New section.
97275         * doc/c-ctype.texi: New file.
97276         * doc/c-strcase.texi: New file.
97277         * doc/c-strcaseeq.texi: New file.
97278         * doc/c-strcasestr.texi: New file.
97279         * doc/c-strstr.texi: New file.
97280         * doc/c-strtod.texi: New file.
97281         * doc/c-strtold.texi: New file.
97283 2008-01-10  Eric Blake  <ebb9@byu.net>
97285         * lib/relocatable.h: Fix a comment.
97287 2008-01-10  Eric Blake  <ebb9@byu.net>
97289         Share two-way algorithm.
97290         * lib/str-two-way.h: New file, merged from...
97291         * lib/memmem.c: ...here...
97292         * lib/strstr.c: ...and here.
97293         * modules/memmem (Files): Use it.
97294         * modules/strstr (Files): Likewise.
97296         Avoid quadratic strstr implementations.
97297         * lib/strstr.c: New file.
97298         * m4/strstr.m4: Likewise.
97299         * modules/strstr: Likewise.
97300         * modules/strstr-tests: Likewise.
97301         * tests/test-strstr.c: Likewise.
97302         * lib/string.in.h (rpl_strstr): Declare.
97303         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
97304         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
97305         * modules/string (Makefile.am): Likewise.
97306         * MODULES.html.sh (string handling): Mention new module.
97307         * doc/functions/strstr.texi (strstr): Document the bug.
97309 2008-01-10  Bruno Haible  <bruno@clisp.org>
97311         * lib/relocatable.h (relocate): State whether result is freshly
97312         allocated or not.
97313         * lib/relocatable.c (relocate): Return a freshly allocated string
97314         instead of a pointer to a privately held string.
97315         Reported by Sylvain Beucler <beuc@gnu.org>.
97317 2008-01-10  Colin Watson  <cjwatson@debian.org>
97319         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
97320         s/S_ISNLK/S_ISLNK/.
97322 2008-01-09  Bruno Haible  <bruno@clisp.org>
97324         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
97325         and other files.
97326         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
97327         if it's only a guess.
97328         * modules/memmem: Simplify by depending on memmem-simple.
97330 2008-01-09  Bruno Haible  <bruno@clisp.org>
97332         Work around OpenBSD 4.0 tdelete() bug.
97333         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
97334         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
97335         macros and don't redefine the enum values.
97336         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
97337         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
97338         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
97340 2008-01-09  Bruno Haible  <bruno@clisp.org>
97342         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
97343         (main): Don't perform the tests if setlocale did not install a UTF-8
97344         locale. Needed on OpenBSD 4.0.
97345         * modules/wcwidth-tests (Depends-on): Add localcharset.
97347 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
97349         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
97350         See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
97351         * NEWS: announce this.
97352         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
97354 2008-01-09  Simon Josefsson  <simon@josefsson.org>
97355         and Eric Blake  <ebb9@byu.net>
97357         Add memmem-simple module.
97358         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
97359         (gl_FUNC_MEMMEM): Separate performance from presence checks.
97360         * modules/memmem-simple: New file.
97361         * modules/memmem (Description): Tweak.
97362         * MODULES.html.sh (string handling): Mention new module.
97363         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
97364         addressed by memmem-simple.
97365         * NEWS: Document the difference.
97367 2008-01-09  Eric Blake  <ebb9@byu.net>
97369         Give gcc some memmem optimization hints.
97370         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
97371         (strcasestr): Declare as pure.
97372         * modules/memmem (Maintainer): Claim my implementation.
97374 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97376         Support AIX 6.1 and higher.
97377         * build-aux/config.libpath: Likewise.
97378         * build-aux/config.rpath: Likewise.
97380 2008-01-08  Jim Meyering  <meyering@redhat.com>
97381             Bruno Haible  <bruno@clisp.org>
97383         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
97384         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
97385         Reported by Peter Fales in
97386         <http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.
97388 2008-01-08  Bruno Haible  <bruno@clisp.org>
97390         * modules/unictype/category-of (Depends-on): Add
97391         unictype/category-none.
97392         * modules/unictype/category-and-tests (Depends-on): Add
97393         unictype/category-{L,N,Lu,Nd}.
97394         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
97395         * modules/unictype/category-or-tests (Depends-on): Add
97396         unictype/category-{L,N}.
97397         * modules/unictype/category-name-tests (Depends-on): Add
97398         unictype/category-{Z,Nl}.
97399         Reported by Simon Josefsson.
97401 2008-01-08  Bruno Haible  <bruno@clisp.org>
97403         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
97404         convention better.
97405         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
97406         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
97407         Reported by Peter Miller <millerp@canb.auug.org.au>.
97409 2008-01-08  Eric Blake  <ebb9@byu.net>
97411         Rewrite memmem to guarantee linear complexity without malloc.
97412         * lib/memmem.c (memmem): Use Two-Way rather than
97413         Knuth-Morris-Pratt, to allow O(1) space usage.
97414         (critical_factorization, two_way_short_needle)
97415         (two_way_long_needle): New functions.
97416         (knuth_morris_pratt): Delete.
97417         * modules/memmem (Depends-on): No longer need malloca or stdbool.
97418         Add stdint.
97419         * tests/test-memmem.c (main): Add tests for periodic needle and
97420         sublinear performance.
97421         * doc/functions/memmem.texi (memmem): Document other deficiencies
97422         in cygwin and older glibc.
97424 2008-01-08  Bruno Haible  <bruno@clisp.org>
97426         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
97427         augmentation.
97429 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
97431         Add a configure time option: --disable-acl.
97432         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
97433         AC_ARG_ENABLE(acl).
97435 2008-01-06  Simon Josefsson  <simon@josefsson.org>
97437         * tests/test-localename.c: Don't include obsolete "setenv.h".
97439         * modules/localename-tests (Depends-on): Need unsetenv.
97441 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97443         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
97445 2008-01-06  Colin Watson  <cjwatson@debian.org>
97447         * users.txt: Add man-db.
97449 2008-01-07  Bruno Haible  <bruno@clisp.org>
97451         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
97452         previous section name.
97454 2008-01-07  Bruno Haible  <bruno@clisp.org>
97456         * lib/progname.c (set_program_name): Don't strip off a leading
97457         "lt-" prefix outside a .libs directory.
97458         Suggested by Paul Eggert.
97460 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
97461             Bruno Haible  <bruno@clisp.org>
97463         Improve memory cleanup in 'relocatable' module.
97464         * lib/relocatable.h (compute_curr_prefix): Change return type to
97465         'char *'.
97466         * lib/relocatable.c (compute_curr_prefix): Change return type to
97467         'char *'. Free curr_installdir after use.
97468         (relocate): Free curr_prefix_better after use.
97469         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
97471 2008-01-01  Bruno Haible  <bruno@clisp.org>
97473         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
97474         failure on older glibc systems.
97475         Reported by Peter Fales <psfales@alcatel-lucent.com>.
97477 2008-01-05  Eric Blake  <ebb9@byu.net>
97479         Avoid quadratic system memmem.
97480         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
97481         Reported by Ralf Wildenhues.
97483         Fix memmem test for mingw.
97484         * modules/memmem-tests (configure.ac): Check for alarm.
97485         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
97486         it.
97487         * doc/functions/memmem.texi: New file.
97488         * doc/gnulib.texi (Function Substitutes): Add memmem.
97489         Reported by Bruno Haible.
97491 2008-01-04  Bruno Haible  <bruno@clisp.org>
97493         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
97494         Require gl_HEADER_STRINGS_H_DEFAULTS, not
97495         gl_HEADER_STRING_H_DEFAULTS.
97497 2008-01-04  Eric Blake  <ebb9@byu.net>
97499         Shorten duration of memmem test.
97500         * tests/test-memmem.c (main): Use alarm to declare failure if test
97501         is taking too long.
97502         Reported by Ralf Wildenhues.
97504 2007-12-21  Simon Josefsson  <simon@josefsson.org>
97506         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
97507         string, needed by strerror.
97509 2008-01-03  Colin Watson  <cjwatson@debian.org>
97510             Bruno Haible  <bruno@clisp.org>
97512         * doc/gnulib-tool.texi (Localization): New section.
97514 2008-01-02  Bruno Haible  <bruno@clisp.org>
97516         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
97517         variables to 'unsigned char *' type.
97518         Reported by Paul Eggert.
97520 2008-01-02  Jim Meyering  <jim@meyering.net>
97522         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
97524 2007-12-31  Jim Meyering  <jim@meyering.net>
97526         Avoid use of private FTS type name.
97527         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
97529 2007-12-30  Karl Berry  <karl@gnu.org>
97531         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
97532         work around defect in Texinfo and/or the standalone Info browser.
97534 2007-12-30  Bruno Haible  <bruno@clisp.org>
97536         Unify 5 copies of the KMP code.
97537         * lib/str-kmp.h: New file.
97538         * lib/c-strcasestr.c: Include str-kmp.h.
97539         (knuth_morris_pratt): Remove function.
97540         (c_strcasestr): Update.
97541         * lib/c-strstr.c: Include str-kmp.h.
97542         (knuth_morris_pratt): Remove function.
97543         (c_strcasestr): Update.
97544         * lib/mbscasestr.c: Include str-kmp.h.
97545         (knuth_morris_pratt_unibyte): Remove function.
97546         * lib/mbsstr.c: Include str-kmp.h.
97547         (knuth_morris_pratt_unibyte): Remove function.
97548         * lib/strcasestr.c: Include str-kmp.h.
97549         (knuth_morris_pratt): Remove function.
97550         (strcasestr): Update.
97551         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
97552         * modules/c-strstr (Files): Likewise.
97553         * modules/mbscasestr (Files): Likewise.
97554         * modules/mbsstr (Files): Likewise.
97555         * modules/strcasestr (Files): Likewise.
97556         Suggested by Paul Eggert.
97558 2007-12-30  Bruno Haible  <bruno@clisp.org>
97560         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
97561         defined.
97563 2007-12-30  Bruno Haible  <bruno@clisp.org>
97565         * lib/xmalloca.h: Include xalloc.h.
97566         (xnmalloca): New macro.
97568 2007-12-30  Bruno Haible  <bruno@clisp.org>
97570         * lib/malloca.h (nmalloca): New macro.
97571         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
97572         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
97573         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
97574         knuth_morris_pratt_multibyte): Likewise.
97575         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
97576         knuth_morris_pratt_multibyte): Likewise.
97577         * lib/memmem.c (knuth_morris_pratt): Likewise.
97578         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
97580 2007-12-25  Bruno Haible  <bruno@clisp.org>
97582         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
97583         * lib/glob.c: Don't include openat.h.
97584         (link_exists2_p): Add back the code that deals with the
97585         !GLOB_ALTDIRFUNC case.
97586         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
97587         let it do the filename concatenation.
97588         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
97589         * modules/glob (Depends-on): Remove openat.
97591 2007-12-31  Bruno Haible  <bruno@clisp.org>
97593         * modules/dirfd (License): Change to LGPLv2+.
97594         Approved by Jim Meyering.
97596 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
97598         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
97599         when multiplying M by sizeof (size_t).
97601 2007-12-10  Martin Lambers  <marlam@marlam.de>
97603         Override getpagesize on mingw.
97604         * lib/getpagesize.c: New file.
97605         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
97606         * modules/getpagesize (Files): Add lib/getpagesize.c.
97607         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
97608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
97609         REPLACE_GETPAGESIZE.
97610         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
97612 2007-12-25  Bruno Haible  <bruno@clisp.org>
97614         * modules/localcharset (Notice): New field.
97615         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
97616         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
97618 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
97619             Bruno Haible  <bruno@clisp.org>
97621         Avoid using the syntax symbol() in formatted documentation.
97622         * MODULES.html.sh (func_module): When replacing symbol() with a
97623         hyperlink, remove the parentheses. Show an error if some remain.
97624         Recognize and render the '...' syntax.
97625         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
97626         Rework. Add paragraph about GCC's inlining.
97627         * doc/alloca.texi: Likewise.
97628         * doc/error.texi: Remove parentheses from symbol reference.
97629         * doc/gnulib-intro.texi: Likewise.
97630         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
97631         * modules/fnmatch (Description): Reword to say "the ... function".
97632         * modules/full-read (Description): Likewise.
97633         * modules/full-write (Description): Likewise.
97634         * modules/safe-read (Description): Likewise.
97635         * modules/safe-write (Description): Likewise.
97636         * modules/strchrnul (Description): Likewise.
97637         * modules/trim (Description): Likewise.
97638         * modules/error (Description): Remove parentheses from symbol
97639         references.
97640         * modules/verror (Description): Likewise.
97641         Reported by Karl Berry.
97643 2007-12-25  Bruno Haible  <bruno@clisp.org>
97645         Fixup after 2007-10-16 commit.
97646         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
97648 2007-12-24  Bruno Haible  <bruno@clisp.org>
97650         Make --enable-relocatable work with DESTDIR.
97651         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
97652         to compute installdir from destprog.
97653         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
97654         also set the RELOC_DESTDIR variable.
97655         Reported by Левашев Иван <octagram@bluebottle.com>.
97657 2007-12-24  Bruno Haible  <bruno@clisp.org>
97659         Fix link error due to xalloc_die().
97660         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
97661         of xreadlink.
97662         * lib/relocwrapper.c: Update comments.
97663         * build-aux/install-reloc: Remove xreadlink.c from file list.
97664         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
97665         xreadlink.c.
97666         Reported by Левашев Иван <octagram@bluebottle.com>.
97668 2007-12-24  Bruno Haible  <bruno@clisp.org>
97670         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
97671         * lib/setenv.h: Remove file.
97672         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
97673         lib/setenv.h.
97674         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
97675         (Depends-on): Add stdlib.
97676         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
97677         gl_FUNC_UNSETENV.
97678         (Include): Replace setenv.h with <stdlib.h>.
97679         * modules/unsetenv: New file.
97680         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
97681         * lib/unsetenv.c: Include <stdlib.h> first.
97682         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
97683         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
97684         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
97685         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
97686         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
97687         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97688         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
97689         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
97690         * doc/functions/unsetenv.texi: Update.
97691         * modules/xsetenv (Depends-on): Add unsetenv.
97692         * modules/getdate (Depends-on): Likewise.
97693         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
97694         * lib/xsetenv.c: Don't include setenv.h.
97695         * lib/getdate.y: Likewise.
97696         * lib/relocwrapper.c: Likewise.
97697         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
97698         (Depends-on): Add stdlib.
97699         * NEWS: Mention the changes.
97700         Reported by Левашев Иван <octagram@bluebottle.com>.
97702 2007-12-23  Bruno Haible  <bruno@clisp.org>
97704         * lib/memmem.c (memmem): Use lowercase variable names. Tab
97705         indentation.
97707 2007-12-23  Bruno Haible  <bruno@clisp.org>
97709         * lib/c-strcasestr.c: Add more comments.
97710         * lib/c-strstr.c: Likewise.
97711         * lib/mbscasestr.c: Likewise.
97712         * lib/mbsstr.c: Likewise.
97713         * lib/strcasestr.c: Likewise.
97714         * lib/memmem.c: Likewise.
97716 2007-12-23  Bruno Haible  <bruno@clisp.org>
97718         * tests/test-memmem.c: Include <string.h> first.
97720 2007-12-22  Bruno Haible  <bruno@clisp.org>
97722         * gnulib-tool (func_create_testdir): Change $auxdir while generating
97723         the contents of $testsbase.
97724         Reported by Ralf Wildenhues.
97726 2007-12-22  Bruno Haible  <bruno@clisp.org>
97728         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
97729         two variables local_ldadd_before, local_ldadd_last.
97731 2007-12-20  Eric Blake  <ebb9@byu.net>
97733         Work around circular library issue when cross-compiling.
97734         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
97735         that progname.o does not need to pull in rpl_memcmp.
97737 2007-12-19  Eric Blake  <ebb9@byu.net>
97739         Fix memmem to avoid O(n^2) worst-case complexity.
97740         * lib/memmem.c (knuth_morris_pratt): New function.
97741         (memmem): Use it if first few naive iterations fail.
97742         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
97743         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
97744         * modules/memchr (License): Likewise.
97745         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
97746         malloca.
97747         * tests/test-memmem.c: Rewrite, borrowing ideas from
97748         test-mbsstr1.c; the old version wouldn't even compile!
97749         * modules/memmem-tests: New file.
97750         * lib/string.in.h (rpl_memmem): Add declaration.
97751         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
97752         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
97753         REPLACE_MEMMEM.
97755 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
97757         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
97758         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
97759         before any system include files, and undef after them all.  This
97760         should fix a problem on VMS reported by John E. Malmberg in
97761         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.
97763 2007-12-17  Eric Blake  <ebb9@byu.net>
97765         Revert addition of verify, for BSD/OS.
97766         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
97767         can't handle large files, for the sake of obsolete platforms.
97768         * modules/fseeko (Depends-on): Remove verify.
97769         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
97770         * doc/functions/ftello.texi (ftello): Likewise.
97771         * doc/functions/fgetpos.texi (fgetpos): Likewise.
97772         Reported by Larry Jones.
97774 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
97776         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
97777         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
97779 2007-12-17  Jim Meyering  <meyering@redhat.com>
97781         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
97782         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
97783         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
97784         * modules/getcwd (Depends-on): Add openat.
97785         Reported by Petr Salinger.
97787 2007-12-17  Bruno Haible  <bruno@clisp.org>
97789         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
97790         avoid a segmentation fault of the configure test on x86_64 systems.
97792 2007-12-15  Jim Meyering  <meyering@redhat.com>
97794         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
97796 2007-12-13  Eric Blake  <ebb9@byu.net>
97798         Another fseek test.
97799         * tests/test-fseek.c (main): Also test ungetc handling.
97800         * tests/test-fseeko.c (main): Likewise.
97801         * modules/fseeko (Depends-on): Add verify.
97802         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
97803         large.
97804         Reported by Larry Jones.
97806         Fix fseeko on mingw.
97807         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
97808         seek.
97810         Beef up fseek tests.
97811         * tests/test-fseek.c (main): Also test eof handling.
97812         * tests/test-fseeko.c (main): Likewise.
97813         Reported by Larry Jones.
97815 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
97817         Fix fseeko on BSD-based platforms.
97818         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
97819         successful seek.
97821 2007-12-12  Eric Blake  <ebb9@byu.net>
97823         Allow circular dependency of separate libtests.a
97824         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
97825         when use_libtests.
97827 2007-12-11  Eric Blake  <ebb9@byu.net>
97829         Fix bug with -0.0L in previous patch.
97830         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
97831         * tests/test-isnan.c (main): Also test on zeroes.
97832         * tests/test-isnanf.c (main): Likewise.
97833         * tests/test-isnanl.h (main): Likewise.
97835         Detect pseudo-denormals on x86 even when cross-compiling.
97836         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
97837         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
97838         invalid bit patterns that happen to satisfy ==.
97840         Avoid link failures with separate libtests.a.
97841         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
97842         last, to satisfy circular dependencies.
97844 2007-12-11  Eric Blake  <ebb9@byu.net>
97845         and Bruno Haible  <bruno@clisp.org>
97847         Fix OpenBSD 4.0 <float.h> handling of long double.
97848         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
97849         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
97850         * doc/headers/float.texi (float.h): Document OpenBSD bug.
97852 2007-12-11  Jim Meyering  <meyering@redhat.com>
97854         * users.txt: Add libvirt.
97856         Support versions of autoconf prior to 2.59c.
97857         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
97858         if it is not already defined.
97860 2007-12-09  Bruno Haible  <bruno@clisp.org>
97862         Let 'gnulib-tool --import' collect sources needed for the tests in
97863         tests/ rather than in lib/.
97864         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
97865         argument. If true, add rules to generate libtests.a, and put libtests.a
97866         into $(LDADD). Consider source files in subdirectories and set
97867         uses_subdirs.
97868         (func_emit_initmacro_start, func_emit_initmacro_end,
97869         func_emit_initmacro_done): Pass all arguments explicitly.
97870         (func_import): Determine two module lists main_modules,
97871         testsrelated_modules. Determine use_libtests. Determine two variables
97872         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
97873         instead of just sed_transform_lib_file. Determine two variables
97874         main_files and testsrelated_files. Compute 'files' as the union of
97875         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
97876         func_add_or_update. In the generated gnulib-comp.m4, collect the
97877         object files for tests/ in different variables than those for lib/.
97878         Substitute LIBTESTS_LIBDEPS.
97879         (func_create_testdir): Combine the uses_subdirs results from
97880         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
97882 2007-12-09  Bruno Haible  <bruno@clisp.org>
97884         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
97885         the build-aux directory.
97887 2007-12-09  Bruno Haible  <bruno@clisp.org>
97889         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
97890         introduced on 2006-09-09.
97892 2007-12-07  Jim Meyering  <meyering@redhat.com>
97894         Let these macros work also with autoconf-2.59.
97895         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
97896         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
97897         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
97899 2007-12-06  Jim Meyering  <meyering@redhat.com>
97901         Avoid a configure-time syntax error in gl_FUNC_ACL.
97902         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
97903         function in each branch, before testing the cache variable.
97905 2007-12-04  Eric Blake  <ebb9@byu.net>
97907         Make scripts executable.
97908         * build-aux/config.guess: Add execute permissions.
97909         * build-aux/config.sub: Likewise.
97910         * build-aux/gendocs.sh: Likewise.
97912         Fix frexp on mingw.
97913         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
97914         cross-compiling.
97915         * doc/functions/frexp.texi (frexp): Document the bug.
97917         Make cygwin fseeko check more reliable.
97918         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
97919         version numbers, rather than unrelated feature check.
97920         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
97921         * doc/functions/ftello.texi (ftello): Likewise.
97922         Reported by Bruno Haible.
97924         * m4/strerror.m4: Bump version number.
97926 2007-12-03  Bruno Haible  <bruno@clisp.org>
97928         * doc/functions/mprotect.texi: Mention the mingw problem.
97930 2007-12-03  Eric Blake  <ebb9@byu.net>
97932         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
97933         REPLACE_STRERROR is initialized before this macro.
97935 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
97937         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
97938         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
97939         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
97940         put -lsec in even for programs other than 'ls'.  This fixes a problem
97941         for gettext reported by Bruno Haible in
97942         <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
97943         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
97944         Add support for Solaris 10.  This isn't efficient, but should get the
97945         job done for now.
97947 2007-12-03  James Youngman  <jay@gnu.org>
97949         * doc/regexprops-generic.texi: change "an close-group" to "a
97950         close-group" and "illegal" to "not allowed".
97952 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
97954         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
97955         pr_byname.h. Needed for the rare case when the maintainer has done
97956         "make maintainer-clean" in the source directory and then attempts a
97957         build outside the source directory.
97958         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
97959         scripts_byname.h.
97961 2007-12-02  Martin Lambers  <marlam@marlam.de>
97962             Bruno Haible  <bruno@clisp.org>
97964         * lib/getpagesize.h: Remove file.
97965         * lib/unistd.in.h: Include declaration of getpagesize here.
97966         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
97967         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
97968         HAVE_SYS_PARAM_H.
97969         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
97970         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97971         * modules/getpagesize (Files): Remove lib/getpagesize.h.
97972         (Depends-on): Add unistd.
97973         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
97974         (Include): Use <unistd.h> instead of getpagesize.h.
97975         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
97976         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
97977         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
97978         gl_GETPAGESIZE invocation, already handled by module dependency.
97979         * lib/pagealign_alloc.c: Don't include getpagesize.h.
97981 2007-12-02  Bruno Haible  <bruno@clisp.org>
97983         * modules/strings-tests: New file.
97984         * tests/test-strings.c: New file.
97986         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
97987         * lib/strings.in.h: New file.
97988         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
97989         * m4/strings_h.m4: New file.
97990         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
97991         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
97992         * modules/strings: New file.
97993         * modules/string (Makefile.am): Update.
97994         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
97995         Reported by Karl Berry.
97997 2007-12-01  Eric Blake  <ebb9@byu.net>
97999         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
98000         accommodate fix in cygwin 1.5.25.
98002 2007-12-01  Jim Meyering  <meyering@redhat.com>
98004         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
98005         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
98006         that would inhibit utf8-optimization of a regexp containing line-
98007         or buffer-anchors, e.g., `^', `$'.
98009 2007-11-30  Bruno Haible  <bruno@clisp.org>
98011         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
98012         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
98013         glthread_recursive_lock_init.
98014         * lib/lock.c (glthread_recursive_lock_init)
98015         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
98016         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
98018 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
98020         New function qset_acl, like set_acl but with syscall semantics.
98021         * lib/acl.h (qset_acl): New decl.
98022         * lib/acl.c (qset_acl): New function.
98023         (set_acl): Use new function.  Use more-consistent diagnostics.
98025 2007-11-28  Jim Meyering  <meyering@redhat.com>
98027         * modules/physmem (License): Change from GPL to LGPLv2+.
98029 2007-11-26  Bruno Haible  <bruno@clisp.org>
98031         * lib/vasnprintf.c (decode_long_double): Don't abort if the
98032         'long double' type has excess precision.
98033         Reported by Jim Meyering in
98034         <http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.
98036 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
98038         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
98039         Sync from <http://gnu.org/licenses>.
98040         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
98041         with license text from same location.
98042         * doc/maintain.texi, doc/standards.texi:  Sync from
98043         <http://savannah.gnu.org/projects/gnustandards>.
98045 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
98046         and Jim Meyering  <meyering@redhat.com>
98048         Adjust getdate' grammar to accept a slightly more regular language.
98049         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
98050         Before, the former was rejected.
98051         * lib/getdate.y (digits_to_date_time): New function, factored
98052         out of ...
98053         (number): ...here.  Just call digits_to_date_time.
98054         (hybrid): New non-terminal to handle an <unsigned number,
98055         signed relative offset> sequence consistently.
98057 2007-11-18  Jim Meyering  <meyering@redhat.com>
98059         Pull my changes from coreutils:
98060         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
98061         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
98062         use of $gnulib_tool_option_extras, so that it's separated from the
98063         preceding argument.
98065         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
98066         * build-aux/bootstrap (cp_mark_as_generated): Create any required
98067         parent destination directories before copying a file into place.
98069 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
98071         bootstrap: work also with 4-argument variant of AC_INIT
98072         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
98074 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
98076         Port test-getaddrinfo to Solaris.
98077         Problem reported by Bruno Haible in
98078         <http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
98079         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
98080         explanation of setting 'hints'.
98081         Don't reject an implementation merely because it returns EAI_SERVICE.
98082         (EAI_SERVICE): Define to 0 if not defined.
98084 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
98086         The license of gnu-make and posix-shell is now "GPLed build tool".
98087         * modules/gnu-make (License): Likewise.
98088         * modules/posix-shell (License): Likewise.
98090         New module posix-shell, for determining a POSIX shell
98091         or perhaps something that is close enough to a POSIX shell.
98092         * m4/posix-shell.m4: New file.
98093         * modules/posix-shell: New file.
98095         * MODULES.html.sh: Mention new module.
98097         New module gnu-make, for determining whether we're using GNU Make.
98098         * m4/gnu-make.m4: New file.
98099         * modules/gnu-make: New file.
98100         * MODULES.html.sh: Mention new module.
98102 2007-11-14  Jim Meyering  <meyering@redhat.com>
98104         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
98105         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
98106         use this macro to create a function _definition_.
98107         Remove useless "#undef ARGMATCH_DIE".
98109 2007-11-14  Bruno Haible  <bruno@clisp.org>
98111         * lib/config.charset: Update for OpenBSD 4.1.
98112         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
98114 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
98116         Document 64-bit #if problems in stdint.texi.
98117         * doc/headers/stdint.texi (stdint.h): Mention problems with
98118         64-bit-#if, and how to work around them.
98120         Don't insist on 'long long int' support in the preprocessor.  It
98121         breaks too many things.  For example, PRIdMAX still uses a 'long
98122         long int' format with the latest Sun compiler, even though
98123         HAVE_LONG_LONG_INT isn't defined due to that compiler's
98124         preprocessor problem.  This causes the latest coreutils to dump
98125         core on Solaris 10 sparc with the Sun C compiler.
98126         Instead, fix the 2007-10-16 problem in a different way, by evaluating
98127         the troublesome expressions at configure-time, not at #if-time.
98128         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
98129         preprocessor.
98130         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
98131         compile-time C checks, done at 'configure'-time.
98132         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
98133         * modules/inttypes (Makefile): Substitute the new symbols that
98134         gl_INTTYPES_H now generates.
98135         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
98137 2007-11-12  Bruno Haible  <bruno@clisp.org>
98139         Tests for Unicode character classification functions.
98141         * modules/unictype/bidicategory-byname-tests: New file.
98142         * modules/unictype/bidicategory-name-tests: New file.
98143         * modules/unictype/bidicategory-of-tests: New file.
98144         * modules/unictype/bidicategory-test-tests: New file.
98145         * modules/unictype/block-list-tests: New file.
98146         * modules/unictype/block-of-tests: New file.
98147         * modules/unictype/block-test-tests: New file.
98148         * modules/unictype/category-C-tests: New file.
98149         * modules/unictype/category-Cc-tests: New file.
98150         * modules/unictype/category-Cf-tests: New file.
98151         * modules/unictype/category-Cn-tests: New file.
98152         * modules/unictype/category-Co-tests: New file.
98153         * modules/unictype/category-Cs-tests: New file.
98154         * modules/unictype/category-L-tests: New file.
98155         * modules/unictype/category-Ll-tests: New file.
98156         * modules/unictype/category-Lm-tests: New file.
98157         * modules/unictype/category-Lo-tests: New file.
98158         * modules/unictype/category-Lt-tests: New file.
98159         * modules/unictype/category-Lu-tests: New file.
98160         * modules/unictype/category-M-tests: New file.
98161         * modules/unictype/category-Mc-tests: New file.
98162         * modules/unictype/category-Me-tests: New file.
98163         * modules/unictype/category-Mn-tests: New file.
98164         * modules/unictype/category-N-tests: New file.
98165         * modules/unictype/category-Nd-tests: New file.
98166         * modules/unictype/category-Nl-tests: New file.
98167         * modules/unictype/category-No-tests: New file.
98168         * modules/unictype/category-P-tests: New file.
98169         * modules/unictype/category-Pc-tests: New file.
98170         * modules/unictype/category-Pd-tests: New file.
98171         * modules/unictype/category-Pe-tests: New file.
98172         * modules/unictype/category-Pf-tests: New file.
98173         * modules/unictype/category-Pi-tests: New file.
98174         * modules/unictype/category-Po-tests: New file.
98175         * modules/unictype/category-Ps-tests: New file.
98176         * modules/unictype/category-S-tests: New file.
98177         * modules/unictype/category-Sc-tests: New file.
98178         * modules/unictype/category-Sk-tests: New file.
98179         * modules/unictype/category-Sm-tests: New file.
98180         * modules/unictype/category-So-tests: New file.
98181         * modules/unictype/category-Z-tests: New file.
98182         * modules/unictype/category-Zl-tests: New file.
98183         * modules/unictype/category-Zp-tests: New file.
98184         * modules/unictype/category-Zs-tests: New file.
98185         * modules/unictype/category-and-not-tests: New file.
98186         * modules/unictype/category-and-tests: New file.
98187         * modules/unictype/category-byname-tests: New file.
98188         * modules/unictype/category-name-tests: New file.
98189         * modules/unictype/category-none-tests: New file.
98190         * modules/unictype/category-of-tests: New file.
98191         * modules/unictype/category-or-tests: New file.
98192         * modules/unictype/category-test-withtable-tests: New file.
98193         * modules/unictype/combining-class-tests: New file.
98194         * modules/unictype/ctype-alnum-tests: New file.
98195         * modules/unictype/ctype-alpha-tests: New file.
98196         * modules/unictype/ctype-blank-tests: New file.
98197         * modules/unictype/ctype-cntrl-tests: New file.
98198         * modules/unictype/ctype-digit-tests: New file.
98199         * modules/unictype/ctype-graph-tests: New file.
98200         * modules/unictype/ctype-lower-tests: New file.
98201         * modules/unictype/ctype-print-tests: New file.
98202         * modules/unictype/ctype-punct-tests: New file.
98203         * modules/unictype/ctype-space-tests: New file.
98204         * modules/unictype/ctype-upper-tests: New file.
98205         * modules/unictype/ctype-xdigit-tests: New file.
98206         * modules/unictype/decimal-digit-tests: New file.
98207         * modules/unictype/digit-tests: New file.
98208         * modules/unictype/mirror-tests: New file.
98209         * modules/unictype/numeric-tests: New file.
98210         * modules/unictype/property-alphabetic-tests: New file.
98211         * modules/unictype/property-ascii-hex-digit-tests: New file.
98212         * modules/unictype/property-bidi-arabic-digit-tests: New file.
98213         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
98214         * modules/unictype/property-bidi-block-separator-tests: New file.
98215         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
98216         * modules/unictype/property-bidi-common-separator-tests: New file.
98217         * modules/unictype/property-bidi-control-tests: New file.
98218         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
98219         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
98220         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
98221         * modules/unictype/property-bidi-european-digit-tests: New file.
98222         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
98223         * modules/unictype/property-bidi-left-to-right-tests: New file.
98224         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
98225         * modules/unictype/property-bidi-other-neutral-tests: New file.
98226         * modules/unictype/property-bidi-pdf-tests: New file.
98227         * modules/unictype/property-bidi-segment-separator-tests: New file.
98228         * modules/unictype/property-bidi-whitespace-tests: New file.
98229         * modules/unictype/property-byname-tests: New file.
98230         * modules/unictype/property-combining-tests: New file.
98231         * modules/unictype/property-composite-tests: New file.
98232         * modules/unictype/property-currency-symbol-tests: New file.
98233         * modules/unictype/property-dash-tests: New file.
98234         * modules/unictype/property-decimal-digit-tests: New file.
98235         * modules/unictype/property-default-ignorable-code-point-tests: New file.
98236         * modules/unictype/property-deprecated-tests: New file.
98237         * modules/unictype/property-diacritic-tests: New file.
98238         * modules/unictype/property-extender-tests: New file.
98239         * modules/unictype/property-format-control-tests: New file.
98240         * modules/unictype/property-grapheme-base-tests: New file.
98241         * modules/unictype/property-grapheme-extend-tests: New file.
98242         * modules/unictype/property-grapheme-link-tests: New file.
98243         * modules/unictype/property-hex-digit-tests: New file.
98244         * modules/unictype/property-hyphen-tests: New file.
98245         * modules/unictype/property-id-continue-tests: New file.
98246         * modules/unictype/property-id-start-tests: New file.
98247         * modules/unictype/property-ideographic-tests: New file.
98248         * modules/unictype/property-ids-binary-operator-tests: New file.
98249         * modules/unictype/property-ids-trinary-operator-tests: New file.
98250         * modules/unictype/property-ignorable-control-tests: New file.
98251         * modules/unictype/property-iso-control-tests: New file.
98252         * modules/unictype/property-join-control-tests: New file.
98253         * modules/unictype/property-left-of-pair-tests: New file.
98254         * modules/unictype/property-line-separator-tests: New file.
98255         * modules/unictype/property-logical-order-exception-tests: New file.
98256         * modules/unictype/property-lowercase-tests: New file.
98257         * modules/unictype/property-math-tests: New file.
98258         * modules/unictype/property-non-break-tests: New file.
98259         * modules/unictype/property-not-a-character-tests: New file.
98260         * modules/unictype/property-numeric-tests: New file.
98261         * modules/unictype/property-other-alphabetic-tests: New file.
98262         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
98263         * modules/unictype/property-other-grapheme-extend-tests: New file.
98264         * modules/unictype/property-other-id-continue-tests: New file.
98265         * modules/unictype/property-other-id-start-tests: New file.
98266         * modules/unictype/property-other-lowercase-tests: New file.
98267         * modules/unictype/property-other-math-tests: New file.
98268         * modules/unictype/property-other-uppercase-tests: New file.
98269         * modules/unictype/property-paired-punctuation-tests: New file.
98270         * modules/unictype/property-paragraph-separator-tests: New file.
98271         * modules/unictype/property-pattern-syntax-tests: New file.
98272         * modules/unictype/property-pattern-white-space-tests: New file.
98273         * modules/unictype/property-private-use-tests: New file.
98274         * modules/unictype/property-punctuation-tests: New file.
98275         * modules/unictype/property-quotation-mark-tests: New file.
98276         * modules/unictype/property-radical-tests: New file.
98277         * modules/unictype/property-sentence-terminal-tests: New file.
98278         * modules/unictype/property-soft-dotted-tests: New file.
98279         * modules/unictype/property-space-tests: New file.
98280         * modules/unictype/property-terminal-punctuation-tests: New file.
98281         * modules/unictype/property-test-tests: New file.
98282         * modules/unictype/property-titlecase-tests: New file.
98283         * modules/unictype/property-unassigned-code-value-tests: New file.
98284         * modules/unictype/property-unified-ideograph-tests: New file.
98285         * modules/unictype/property-uppercase-tests: New file.
98286         * modules/unictype/property-variation-selector-tests: New file.
98287         * modules/unictype/property-white-space-tests: New file.
98288         * modules/unictype/property-xid-continue-tests: New file.
98289         * modules/unictype/property-xid-start-tests: New file.
98290         * modules/unictype/property-zero-width-tests: New file.
98291         * modules/unictype/scripts-tests: New file.
98292         * modules/unictype/syntax-c-ident-tests: New file.
98293         * modules/unictype/syntax-c-whitespace-tests: New file.
98294         * modules/unictype/syntax-java-ident-tests: New file.
98295         * modules/unictype/syntax-java-whitespace-tests: New file.
98296         * tests/unictype/test-bidi_byname.c: New file.
98297         * tests/unictype/test-bidi_name.c: New file.
98298         * tests/unictype/test-bidi_of.c: New file.
98299         * tests/unictype/test-bidi_test.c: New file.
98300         * tests/unictype/test-block_list.c: New file.
98301         * tests/unictype/test-block_of.c: New file.
98302         * tests/unictype/test-block_test.c: New file.
98303         * tests/unictype/test-categ_and.c: New file.
98304         * tests/unictype/test-categ_and_not.c: New file.
98305         * tests/unictype/test-categ_byname.c: New file.
98306         * tests/unictype/test-categ_name.c: New file.
98307         * tests/unictype/test-categ_none.c: New file.
98308         * tests/unictype/test-categ_of.c: New file.
98309         * tests/unictype/test-categ_or.c: New file.
98310         * tests/unictype/test-categ_test_withtable.c: New file.
98311         * tests/unictype/test-combining.c: New file.
98312         * tests/unictype/test-decdigit.c: New file.
98313         * tests/unictype/test-digit.c: New file.
98314         * tests/unictype/test-mirror.c: New file.
98315         * tests/unictype/test-numeric.c: New file.
98316         * tests/unictype/test-pr_byname.c: New file.
98317         * tests/unictype/test-pr_test.c: New file.
98318         * tests/unictype/test-predicate-part1.h: New file.
98319         * tests/unictype/test-predicate-part2.h: New file.
98320         * tests/unictype/test-scripts.c: New file.
98321         * tests/unictype/test-sy_c_ident.c: New file.
98322         * tests/unictype/test-sy_java_ident.c: New file.
98324         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
98325         for Unicode 5.0.0.
98326         * tests/unictype/test-categ_Cc.c: Likewise.
98327         * tests/unictype/test-categ_Cf.c: Likewise.
98328         * tests/unictype/test-categ_Cn.c: Likewise.
98329         * tests/unictype/test-categ_Co.c: Likewise.
98330         * tests/unictype/test-categ_Cs.c: Likewise.
98331         * tests/unictype/test-categ_L.c: Likewise.
98332         * tests/unictype/test-categ_Ll.c: Likewise.
98333         * tests/unictype/test-categ_Lm.c: Likewise.
98334         * tests/unictype/test-categ_Lo.c: Likewise.
98335         * tests/unictype/test-categ_Lt.c: Likewise.
98336         * tests/unictype/test-categ_Lu.c: Likewise.
98337         * tests/unictype/test-categ_M.c: Likewise.
98338         * tests/unictype/test-categ_Mc.c: Likewise.
98339         * tests/unictype/test-categ_Me.c: Likewise.
98340         * tests/unictype/test-categ_Mn.c: Likewise.
98341         * tests/unictype/test-categ_N.c: Likewise.
98342         * tests/unictype/test-categ_Nd.c: Likewise.
98343         * tests/unictype/test-categ_Nl.c: Likewise.
98344         * tests/unictype/test-categ_No.c: Likewise.
98345         * tests/unictype/test-categ_P.c: Likewise.
98346         * tests/unictype/test-categ_Pc.c: Likewise.
98347         * tests/unictype/test-categ_Pd.c: Likewise.
98348         * tests/unictype/test-categ_Pe.c: Likewise.
98349         * tests/unictype/test-categ_Pf.c: Likewise.
98350         * tests/unictype/test-categ_Pi.c: Likewise.
98351         * tests/unictype/test-categ_Po.c: Likewise.
98352         * tests/unictype/test-categ_Ps.c: Likewise.
98353         * tests/unictype/test-categ_S.c: Likewise.
98354         * tests/unictype/test-categ_Sc.c: Likewise.
98355         * tests/unictype/test-categ_Sk.c: Likewise.
98356         * tests/unictype/test-categ_Sm.c: Likewise.
98357         * tests/unictype/test-categ_So.c: Likewise.
98358         * tests/unictype/test-categ_Z.c: Likewise.
98359         * tests/unictype/test-categ_Zl.c: Likewise.
98360         * tests/unictype/test-categ_Zp.c: Likewise.
98361         * tests/unictype/test-categ_Zs.c: Likewise.
98362         * tests/unictype/test-ctype_alnum.c: Likewise.
98363         * tests/unictype/test-ctype_alpha.c: Likewise.
98364         * tests/unictype/test-ctype_blank.c: Likewise.
98365         * tests/unictype/test-ctype_cntrl.c: Likewise.
98366         * tests/unictype/test-ctype_digit.c: Likewise.
98367         * tests/unictype/test-ctype_graph.c: Likewise.
98368         * tests/unictype/test-ctype_lower.c: Likewise.
98369         * tests/unictype/test-ctype_print.c: Likewise.
98370         * tests/unictype/test-ctype_punct.c: Likewise.
98371         * tests/unictype/test-ctype_space.c: Likewise.
98372         * tests/unictype/test-ctype_upper.c: Likewise.
98373         * tests/unictype/test-ctype_xdigit.c: Likewise.
98374         * tests/unictype/test-decdigit.h: Likewise.
98375         * tests/unictype/test-digit.h: Likewise.
98376         * tests/unictype/test-numeric.h: Likewise.
98377         * tests/unictype/test-pr_alphabetic.c: Likewise.
98378         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
98379         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
98380         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
98381         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
98382         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
98383         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
98384         * tests/unictype/test-pr_bidi_control.c: Likewise.
98385         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
98386         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
98387         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
98388         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
98389         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
98390         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
98391         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
98392         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
98393         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
98394         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
98395         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
98396         * tests/unictype/test-pr_combining.c: Likewise.
98397         * tests/unictype/test-pr_composite.c: Likewise.
98398         * tests/unictype/test-pr_currency_symbol.c: Likewise.
98399         * tests/unictype/test-pr_dash.c: Likewise.
98400         * tests/unictype/test-pr_decimal_digit.c: Likewise.
98401         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
98402         * tests/unictype/test-pr_deprecated.c: Likewise.
98403         * tests/unictype/test-pr_diacritic.c: Likewise.
98404         * tests/unictype/test-pr_extender.c: Likewise.
98405         * tests/unictype/test-pr_format_control.c: Likewise.
98406         * tests/unictype/test-pr_grapheme_base.c: Likewise.
98407         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
98408         * tests/unictype/test-pr_grapheme_link.c: Likewise.
98409         * tests/unictype/test-pr_hex_digit.c: Likewise.
98410         * tests/unictype/test-pr_hyphen.c: Likewise.
98411         * tests/unictype/test-pr_id_continue.c: Likewise.
98412         * tests/unictype/test-pr_id_start.c: Likewise.
98413         * tests/unictype/test-pr_ideographic.c: Likewise.
98414         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
98415         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
98416         * tests/unictype/test-pr_ignorable_control.c: Likewise.
98417         * tests/unictype/test-pr_iso_control.c: Likewise.
98418         * tests/unictype/test-pr_join_control.c: Likewise.
98419         * tests/unictype/test-pr_left_of_pair.c: Likewise.
98420         * tests/unictype/test-pr_line_separator.c: Likewise.
98421         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
98422         * tests/unictype/test-pr_lowercase.c: Likewise.
98423         * tests/unictype/test-pr_math.c: Likewise.
98424         * tests/unictype/test-pr_non_break.c: Likewise.
98425         * tests/unictype/test-pr_not_a_character.c: Likewise.
98426         * tests/unictype/test-pr_numeric.c: Likewise.
98427         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
98428         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
98429         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
98430         * tests/unictype/test-pr_other_id_continue.c: Likewise.
98431         * tests/unictype/test-pr_other_id_start.c: Likewise.
98432         * tests/unictype/test-pr_other_lowercase.c: Likewise.
98433         * tests/unictype/test-pr_other_math.c: Likewise.
98434         * tests/unictype/test-pr_other_uppercase.c: Likewise.
98435         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
98436         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
98437         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
98438         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
98439         * tests/unictype/test-pr_private_use.c: Likewise.
98440         * tests/unictype/test-pr_punctuation.c: Likewise.
98441         * tests/unictype/test-pr_quotation_mark.c: Likewise.
98442         * tests/unictype/test-pr_radical.c: Likewise.
98443         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
98444         * tests/unictype/test-pr_soft_dotted.c: Likewise.
98445         * tests/unictype/test-pr_space.c: Likewise.
98446         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
98447         * tests/unictype/test-pr_titlecase.c: Likewise.
98448         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
98449         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
98450         * tests/unictype/test-pr_uppercase.c: Likewise.
98451         * tests/unictype/test-pr_variation_selector.c: Likewise.
98452         * tests/unictype/test-pr_white_space.c: Likewise.
98453         * tests/unictype/test-pr_xid_continue.c: Likewise.
98454         * tests/unictype/test-pr_xid_start.c: Likewise.
98455         * tests/unictype/test-pr_zero_width.c: Likewise.
98456         * tests/unictype/test-sy_c_whitespace.c: Likewise.
98457         * tests/unictype/test-sy_java_whitespace.c: Likewise.
98459 2007-11-12  Bruno Haible  <bruno@clisp.org>
98461         Unicode character classification functions.
98462         * lib/unictype.h: New file.
98463         * modules/unictype/base: New file.
98464         * modules/unictype/category-L: New file.
98465         * modules/unictype/category-Lu: New file.
98466         * modules/unictype/category-Ll: New file.
98467         * modules/unictype/category-Lt: New file.
98468         * modules/unictype/category-Lm: New file.
98469         * modules/unictype/category-Lo: New file.
98470         * modules/unictype/category-M: New file.
98471         * modules/unictype/category-Mn: New file.
98472         * modules/unictype/category-Mc: New file.
98473         * modules/unictype/category-Me: New file.
98474         * modules/unictype/category-N: New file.
98475         * modules/unictype/category-Nd: New file.
98476         * modules/unictype/category-Nl: New file.
98477         * modules/unictype/category-No: New file.
98478         * modules/unictype/category-P: New file.
98479         * modules/unictype/category-Pc: New file.
98480         * modules/unictype/category-Pd: New file.
98481         * modules/unictype/category-Ps: New file.
98482         * modules/unictype/category-Pe: New file.
98483         * modules/unictype/category-Pi: New file.
98484         * modules/unictype/category-Pf: New file.
98485         * modules/unictype/category-Po: New file.
98486         * modules/unictype/category-S: New file.
98487         * modules/unictype/category-Sm: New file.
98488         * modules/unictype/category-Sc: New file.
98489         * modules/unictype/category-Sk: New file.
98490         * modules/unictype/category-So: New file.
98491         * modules/unictype/category-Z: New file.
98492         * modules/unictype/category-Zs: New file.
98493         * modules/unictype/category-Zl: New file.
98494         * modules/unictype/category-Zp: New file.
98495         * modules/unictype/category-C: New file.
98496         * modules/unictype/category-Cc: New file.
98497         * modules/unictype/category-Cf: New file.
98498         * modules/unictype/category-Cs: New file.
98499         * modules/unictype/category-Co: New file.
98500         * modules/unictype/category-Cn: New file.
98501         * modules/unictype/category-or: New file.
98502         * modules/unictype/category-of: New file.
98503         * modules/unictype/category-test: New file.
98504         * modules/unictype/category-test-withtable: New file.
98505         * modules/unictype/category-byname: New file.
98506         * modules/unictype/category-none: New file.
98507         * modules/unictype/category-and: New file.
98508         * modules/unictype/category-and-not: New file.
98509         * modules/unictype/category-name: New file.
98510         * modules/unictype/combining-class: New file.
98511         * modules/unictype/category-all: New file.
98512         * modules/unictype/bidicategory-all: New file.
98513         * modules/unictype/bidicategory-byname: New file.
98514         * modules/unictype/bidicategory-name: New file.
98515         * modules/unictype/bidicategory-of: New file.
98516         * modules/unictype/bidicategory-test: New file.
98517         * modules/unictype/decimal-digit: New file.
98518         * modules/unictype/digit: New file.
98519         * modules/unictype/numeric: New file.
98520         * modules/unictype/mirror: New file.
98521         * modules/unictype/property-white-space: New file.
98522         * modules/unictype/property-alphabetic: New file.
98523         * modules/unictype/property-other-alphabetic: New file.
98524         * modules/unictype/property-not-a-character: New file.
98525         * modules/unictype/property-default-ignorable-code-point: New file.
98526         * modules/unictype/property-other-default-ignorable-code-point: New
98527         file.
98528         * modules/unictype/property-deprecated: New file.
98529         * modules/unictype/property-logical-order-exception: New file.
98530         * modules/unictype/property-variation-selector: New file.
98531         * modules/unictype/property-private-use: New file.
98532         * modules/unictype/property-unassigned-code-value: New file.
98533         * modules/unictype/property-uppercase: New file.
98534         * modules/unictype/property-other-uppercase: New file.
98535         * modules/unictype/property-lowercase: New file.
98536         * modules/unictype/property-other-lowercase: New file.
98537         * modules/unictype/property-titlecase: New file.
98538         * modules/unictype/property-soft-dotted: New file.
98539         * modules/unictype/property-id-start: New file.
98540         * modules/unictype/property-other-id-start: New file.
98541         * modules/unictype/property-id-continue: New file.
98542         * modules/unictype/property-other-id-continue: New file.
98543         * modules/unictype/property-xid-start: New file.
98544         * modules/unictype/property-xid-continue: New file.
98545         * modules/unictype/property-pattern-white-space: New file.
98546         * modules/unictype/property-pattern-syntax: New file.
98547         * modules/unictype/property-join-control: New file.
98548         * modules/unictype/property-grapheme-base: New file.
98549         * modules/unictype/property-grapheme-extend: New file.
98550         * modules/unictype/property-other-grapheme-extend: New file.
98551         * modules/unictype/property-grapheme-link: New file.
98552         * modules/unictype/property-bidi-control: New file.
98553         * modules/unictype/property-bidi-left-to-right: New file.
98554         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
98555         * modules/unictype/property-bidi-arabic-right-to-left: New file.
98556         * modules/unictype/property-bidi-european-digit: New file.
98557         * modules/unictype/property-bidi-eur-num-separator: New file.
98558         * modules/unictype/property-bidi-eur-num-terminator: New file.
98559         * modules/unictype/property-bidi-arabic-digit: New file.
98560         * modules/unictype/property-bidi-common-separator: New file.
98561         * modules/unictype/property-bidi-block-separator: New file.
98562         * modules/unictype/property-bidi-segment-separator: New file.
98563         * modules/unictype/property-bidi-whitespace: New file.
98564         * modules/unictype/property-bidi-non-spacing-mark: New file.
98565         * modules/unictype/property-bidi-boundary-neutral: New file.
98566         * modules/unictype/property-bidi-pdf: New file.
98567         * modules/unictype/property-bidi-embedding-or-override: New file.
98568         * modules/unictype/property-bidi-other-neutral: New file.
98569         * modules/unictype/property-hex-digit: New file.
98570         * modules/unictype/property-ascii-hex-digit: New file.
98571         * modules/unictype/property-ideographic: New file.
98572         * modules/unictype/property-unified-ideograph: New file.
98573         * modules/unictype/property-radical: New file.
98574         * modules/unictype/property-ids-binary-operator: New file.
98575         * modules/unictype/property-ids-trinary-operator: New file.
98576         * modules/unictype/property-zero-width: New file.
98577         * modules/unictype/property-space: New file.
98578         * modules/unictype/property-non-break: New file.
98579         * modules/unictype/property-iso-control: New file.
98580         * modules/unictype/property-format-control: New file.
98581         * modules/unictype/property-dash: New file.
98582         * modules/unictype/property-hyphen: New file.
98583         * modules/unictype/property-punctuation: New file.
98584         * modules/unictype/property-line-separator: New file.
98585         * modules/unictype/property-paragraph-separator: New file.
98586         * modules/unictype/property-quotation-mark: New file.
98587         * modules/unictype/property-sentence-terminal: New file.
98588         * modules/unictype/property-terminal-punctuation: New file.
98589         * modules/unictype/property-currency-symbol: New file.
98590         * modules/unictype/property-math: New file.
98591         * modules/unictype/property-other-math: New file.
98592         * modules/unictype/property-paired-punctuation: New file.
98593         * modules/unictype/property-left-of-pair: New file.
98594         * modules/unictype/property-combining: New file.
98595         * modules/unictype/property-composite: New file.
98596         * modules/unictype/property-decimal-digit: New file.
98597         * modules/unictype/property-numeric: New file.
98598         * modules/unictype/property-diacritic: New file.
98599         * modules/unictype/property-extender: New file.
98600         * modules/unictype/property-ignorable-control: New file.
98601         * modules/unictype/property-test: New file.
98602         * modules/unictype/property-byname: New file.
98603         * modules/unictype/property-all: New file.
98604         * modules/unictype/scripts: New file.
98605         * modules/unictype/scripts-all: New file.
98606         * modules/unictype/block-of: New file.
98607         * modules/unictype/block-test: New file.
98608         * modules/unictype/block-list: New file.
98609         * modules/unictype/block-all: New file.
98610         * modules/unictype/syntax-c-whitespace: New file.
98611         * modules/unictype/syntax-java-whitespace: New file.
98612         * modules/unictype/syntax-c-ident: New file.
98613         * modules/unictype/syntax-java-ident: New file.
98614         * modules/unictype/ctype-alnum: New file.
98615         * modules/unictype/ctype-alpha: New file.
98616         * modules/unictype/ctype-cntrl: New file.
98617         * modules/unictype/ctype-digit: New file.
98618         * modules/unictype/ctype-graph: New file.
98619         * modules/unictype/ctype-lower: New file.
98620         * modules/unictype/ctype-print: New file.
98621         * modules/unictype/ctype-punct: New file.
98622         * modules/unictype/ctype-space: New file.
98623         * modules/unictype/ctype-upper: New file.
98624         * modules/unictype/ctype-xdigit: New file.
98625         * modules/unictype/ctype-blank: New file.
98626         * lib/unictype/bidi_byname.c: New file.
98627         * lib/unictype/bidi_name.c: New file.
98628         * lib/unictype/bidi_of.c: New file.
98629         * lib/unictype/bidi_test.c: New file.
98630         * lib/unictype/bitmap.h: New file.
98631         * lib/unictype/block_test.c: New file.
98632         * lib/unictype/blocks.c: New file.
98633         * lib/unictype/categ_C.c: New file.
98634         * lib/unictype/categ_Cc.c: New file.
98635         * lib/unictype/categ_Cf.c: New file.
98636         * lib/unictype/categ_Cn.c: New file.
98637         * lib/unictype/categ_Co.c: New file.
98638         * lib/unictype/categ_Cs.c: New file.
98639         * lib/unictype/categ_L.c: New file.
98640         * lib/unictype/categ_Ll.c: New file.
98641         * lib/unictype/categ_Lm.c: New file.
98642         * lib/unictype/categ_Lo.c: New file.
98643         * lib/unictype/categ_Lt.c: New file.
98644         * lib/unictype/categ_Lu.c: New file.
98645         * lib/unictype/categ_M.c: New file.
98646         * lib/unictype/categ_Mc.c: New file.
98647         * lib/unictype/categ_Me.c: New file.
98648         * lib/unictype/categ_Mn.c: New file.
98649         * lib/unictype/categ_N.c: New file.
98650         * lib/unictype/categ_Nd.c: New file.
98651         * lib/unictype/categ_Nl.c: New file.
98652         * lib/unictype/categ_No.c: New file.
98653         * lib/unictype/categ_P.c: New file.
98654         * lib/unictype/categ_Pc.c: New file.
98655         * lib/unictype/categ_Pd.c: New file.
98656         * lib/unictype/categ_Pe.c: New file.
98657         * lib/unictype/categ_Pf.c: New file.
98658         * lib/unictype/categ_Pi.c: New file.
98659         * lib/unictype/categ_Po.c: New file.
98660         * lib/unictype/categ_Ps.c: New file.
98661         * lib/unictype/categ_S.c: New file.
98662         * lib/unictype/categ_Sc.c: New file.
98663         * lib/unictype/categ_Sk.c: New file.
98664         * lib/unictype/categ_Sm.c: New file.
98665         * lib/unictype/categ_So.c: New file.
98666         * lib/unictype/categ_Z.c: New file.
98667         * lib/unictype/categ_Zl.c: New file.
98668         * lib/unictype/categ_Zp.c: New file.
98669         * lib/unictype/categ_Zs.c: New file.
98670         * lib/unictype/categ_and.c: New file.
98671         * lib/unictype/categ_and_not.c: New file.
98672         * lib/unictype/categ_byname.c: New file.
98673         * lib/unictype/categ_name.c: New file.
98674         * lib/unictype/categ_none.c: New file.
98675         * lib/unictype/categ_of.c: New file.
98676         * lib/unictype/categ_or.c: New file.
98677         * lib/unictype/categ_test.c: New file.
98678         * lib/unictype/combining.c: New file.
98679         * lib/unictype/ctype_alnum.c: New file.
98680         * lib/unictype/ctype_alpha.c: New file.
98681         * lib/unictype/ctype_blank.c: New file.
98682         * lib/unictype/ctype_cntrl.c: New file.
98683         * lib/unictype/ctype_digit.c: New file.
98684         * lib/unictype/ctype_graph.c: New file.
98685         * lib/unictype/ctype_lower.c: New file.
98686         * lib/unictype/ctype_print.c: New file.
98687         * lib/unictype/ctype_punct.c: New file.
98688         * lib/unictype/ctype_space.c: New file.
98689         * lib/unictype/ctype_upper.c: New file.
98690         * lib/unictype/ctype_xdigit.c: New file.
98691         * lib/unictype/decdigit.c: New file.
98692         * lib/unictype/digit.c: New file.
98693         * lib/unictype/identsyntaxmap.h: New file.
98694         * lib/unictype/mirror.c: New file.
98695         * lib/unictype/numeric.c: New file.
98696         * lib/unictype/pr_alphabetic.c: New file.
98697         * lib/unictype/pr_ascii_hex_digit.c: New file.
98698         * lib/unictype/pr_bidi_arabic_digit.c: New file.
98699         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
98700         * lib/unictype/pr_bidi_block_separator.c: New file.
98701         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
98702         * lib/unictype/pr_bidi_common_separator.c: New file.
98703         * lib/unictype/pr_bidi_control.c: New file.
98704         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
98705         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
98706         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
98707         * lib/unictype/pr_bidi_european_digit.c: New file.
98708         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
98709         * lib/unictype/pr_bidi_left_to_right.c: New file.
98710         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
98711         * lib/unictype/pr_bidi_other_neutral.c: New file.
98712         * lib/unictype/pr_bidi_pdf.c: New file.
98713         * lib/unictype/pr_bidi_segment_separator.c: New file.
98714         * lib/unictype/pr_bidi_whitespace.c: New file.
98715         * lib/unictype/pr_byname.c: New file.
98716         * lib/unictype/pr_byname.gperf: New file.
98717         * lib/unictype/pr_combining.c: New file.
98718         * lib/unictype/pr_composite.c: New file.
98719         * lib/unictype/pr_currency_symbol.c: New file.
98720         * lib/unictype/pr_dash.c: New file.
98721         * lib/unictype/pr_decimal_digit.c: New file.
98722         * lib/unictype/pr_default_ignorable_code_point.c: New file.
98723         * lib/unictype/pr_deprecated.c: New file.
98724         * lib/unictype/pr_diacritic.c: New file.
98725         * lib/unictype/pr_extender.c: New file.
98726         * lib/unictype/pr_format_control.c: New file.
98727         * lib/unictype/pr_grapheme_base.c: New file.
98728         * lib/unictype/pr_grapheme_extend.c: New file.
98729         * lib/unictype/pr_grapheme_link.c: New file.
98730         * lib/unictype/pr_hex_digit.c: New file.
98731         * lib/unictype/pr_hyphen.c: New file.
98732         * lib/unictype/pr_id_continue.c: New file.
98733         * lib/unictype/pr_id_start.c: New file.
98734         * lib/unictype/pr_ideographic.c: New file.
98735         * lib/unictype/pr_ids_binary_operator.c: New file.
98736         * lib/unictype/pr_ids_trinary_operator.c: New file.
98737         * lib/unictype/pr_ignorable_control.c: New file.
98738         * lib/unictype/pr_iso_control.c: New file.
98739         * lib/unictype/pr_join_control.c: New file.
98740         * lib/unictype/pr_left_of_pair.c: New file.
98741         * lib/unictype/pr_line_separator.c: New file.
98742         * lib/unictype/pr_logical_order_exception.c: New file.
98743         * lib/unictype/pr_lowercase.c: New file.
98744         * lib/unictype/pr_math.c: New file.
98745         * lib/unictype/pr_non_break.c: New file.
98746         * lib/unictype/pr_not_a_character.c: New file.
98747         * lib/unictype/pr_numeric.c: New file.
98748         * lib/unictype/pr_other_alphabetic.c: New file.
98749         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
98750         * lib/unictype/pr_other_grapheme_extend.c: New file.
98751         * lib/unictype/pr_other_id_continue.c: New file.
98752         * lib/unictype/pr_other_id_start.c: New file.
98753         * lib/unictype/pr_other_lowercase.c: New file.
98754         * lib/unictype/pr_other_math.c: New file.
98755         * lib/unictype/pr_other_uppercase.c: New file.
98756         * lib/unictype/pr_paired_punctuation.c: New file.
98757         * lib/unictype/pr_paragraph_separator.c: New file.
98758         * lib/unictype/pr_pattern_syntax.c: New file.
98759         * lib/unictype/pr_pattern_white_space.c: New file.
98760         * lib/unictype/pr_private_use.c: New file.
98761         * lib/unictype/pr_punctuation.c: New file.
98762         * lib/unictype/pr_quotation_mark.c: New file.
98763         * lib/unictype/pr_radical.c: New file.
98764         * lib/unictype/pr_sentence_terminal.c: New file.
98765         * lib/unictype/pr_soft_dotted.c: New file.
98766         * lib/unictype/pr_space.c: New file.
98767         * lib/unictype/pr_terminal_punctuation.c: New file.
98768         * lib/unictype/pr_test.c: New file.
98769         * lib/unictype/pr_titlecase.c: New file.
98770         * lib/unictype/pr_unassigned_code_value.c: New file.
98771         * lib/unictype/pr_unified_ideograph.c: New file.
98772         * lib/unictype/pr_uppercase.c: New file.
98773         * lib/unictype/pr_variation_selector.c: New file.
98774         * lib/unictype/pr_white_space.c: New file.
98775         * lib/unictype/pr_xid_continue.c: New file.
98776         * lib/unictype/pr_xid_start.c: New file.
98777         * lib/unictype/pr_zero_width.c: New file.
98778         * lib/unictype/scripts.c: New file.
98779         * lib/unictype/sy_c_ident.c: New file.
98780         * lib/unictype/sy_c_whitespace.c: New file.
98781         * lib/unictype/sy_java_ident.c: New file.
98782         * lib/unictype/sy_java_whitespace.c: New file.
98784         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
98785         Unicode 5.0.0.
98786         * lib/unictype/blocks.h: Likewise.
98787         * lib/unictype/categ_C.h: Likewise.
98788         * lib/unictype/categ_Cc.h: Likewise.
98789         * lib/unictype/categ_Cf.h: Likewise.
98790         * lib/unictype/categ_Cn.h: Likewise.
98791         * lib/unictype/categ_Co.h: Likewise.
98792         * lib/unictype/categ_Cs.h: Likewise.
98793         * lib/unictype/categ_L.h: Likewise.
98794         * lib/unictype/categ_Ll.h: Likewise.
98795         * lib/unictype/categ_Lm.h: Likewise.
98796         * lib/unictype/categ_Lo.h: Likewise.
98797         * lib/unictype/categ_Lt.h: Likewise.
98798         * lib/unictype/categ_Lu.h: Likewise.
98799         * lib/unictype/categ_M.h: Likewise.
98800         * lib/unictype/categ_Mc.h: Likewise.
98801         * lib/unictype/categ_Me.h: Likewise.
98802         * lib/unictype/categ_Mn.h: Likewise.
98803         * lib/unictype/categ_N.h: Likewise.
98804         * lib/unictype/categ_Nd.h: Likewise.
98805         * lib/unictype/categ_Nl.h: Likewise.
98806         * lib/unictype/categ_No.h: Likewise.
98807         * lib/unictype/categ_P.h: Likewise.
98808         * lib/unictype/categ_Pc.h: Likewise.
98809         * lib/unictype/categ_Pd.h: Likewise.
98810         * lib/unictype/categ_Pe.h: Likewise.
98811         * lib/unictype/categ_Pf.h: Likewise.
98812         * lib/unictype/categ_Pi.h: Likewise.
98813         * lib/unictype/categ_Po.h: Likewise.
98814         * lib/unictype/categ_Ps.h: Likewise.
98815         * lib/unictype/categ_S.h: Likewise.
98816         * lib/unictype/categ_Sc.h: Likewise.
98817         * lib/unictype/categ_Sk.h: Likewise.
98818         * lib/unictype/categ_Sm.h: Likewise.
98819         * lib/unictype/categ_So.h: Likewise.
98820         * lib/unictype/categ_Z.h: Likewise.
98821         * lib/unictype/categ_Zl.h: Likewise.
98822         * lib/unictype/categ_Zp.h: Likewise.
98823         * lib/unictype/categ_Zs.h: Likewise.
98824         * lib/unictype/categ_of.h: Likewise.
98825         * lib/unictype/combining.h: Likewise.
98826         * lib/unictype/ctype_alnum.h: Likewise.
98827         * lib/unictype/ctype_alpha.h: Likewise.
98828         * lib/unictype/ctype_blank.h: Likewise.
98829         * lib/unictype/ctype_cntrl.h: Likewise.
98830         * lib/unictype/ctype_digit.h: Likewise.
98831         * lib/unictype/ctype_graph.h: Likewise.
98832         * lib/unictype/ctype_lower.h: Likewise.
98833         * lib/unictype/ctype_print.h: Likewise.
98834         * lib/unictype/ctype_punct.h: Likewise.
98835         * lib/unictype/ctype_space.h: Likewise.
98836         * lib/unictype/ctype_upper.h: Likewise.
98837         * lib/unictype/ctype_xdigit.h: Likewise.
98838         * lib/unictype/decdigit.h: Likewise.
98839         * lib/unictype/digit.h: Likewise.
98840         * lib/unictype/mirror.h: Likewise.
98841         * lib/unictype/numeric.h: Likewise.
98842         * lib/unictype/pr_alphabetic.h: Likewise.
98843         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
98844         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
98845         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
98846         * lib/unictype/pr_bidi_block_separator.h: Likewise.
98847         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
98848         * lib/unictype/pr_bidi_common_separator.h: Likewise.
98849         * lib/unictype/pr_bidi_control.h: Likewise.
98850         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
98851         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
98852         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
98853         * lib/unictype/pr_bidi_european_digit.h: Likewise.
98854         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
98855         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
98856         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
98857         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
98858         * lib/unictype/pr_bidi_pdf.h: Likewise.
98859         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
98860         * lib/unictype/pr_bidi_whitespace.h: Likewise.
98861         * lib/unictype/pr_combining.h: Likewise.
98862         * lib/unictype/pr_composite.h: Likewise.
98863         * lib/unictype/pr_currency_symbol.h: Likewise.
98864         * lib/unictype/pr_dash.h: Likewise.
98865         * lib/unictype/pr_decimal_digit.h: Likewise.
98866         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
98867         * lib/unictype/pr_deprecated.h: Likewise.
98868         * lib/unictype/pr_diacritic.h: Likewise.
98869         * lib/unictype/pr_extender.h: Likewise.
98870         * lib/unictype/pr_format_control.h: Likewise.
98871         * lib/unictype/pr_grapheme_base.h: Likewise.
98872         * lib/unictype/pr_grapheme_extend.h: Likewise.
98873         * lib/unictype/pr_grapheme_link.h: Likewise.
98874         * lib/unictype/pr_hex_digit.h: Likewise.
98875         * lib/unictype/pr_hyphen.h: Likewise.
98876         * lib/unictype/pr_id_continue.h: Likewise.
98877         * lib/unictype/pr_id_start.h: Likewise.
98878         * lib/unictype/pr_ideographic.h: Likewise.
98879         * lib/unictype/pr_ids_binary_operator.h: Likewise.
98880         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
98881         * lib/unictype/pr_ignorable_control.h: Likewise.
98882         * lib/unictype/pr_iso_control.h: Likewise.
98883         * lib/unictype/pr_join_control.h: Likewise.
98884         * lib/unictype/pr_left_of_pair.h: Likewise.
98885         * lib/unictype/pr_line_separator.h: Likewise.
98886         * lib/unictype/pr_logical_order_exception.h: Likewise.
98887         * lib/unictype/pr_lowercase.h: Likewise.
98888         * lib/unictype/pr_math.h: Likewise.
98889         * lib/unictype/pr_non_break.h: Likewise.
98890         * lib/unictype/pr_not_a_character.h: Likewise.
98891         * lib/unictype/pr_numeric.h: Likewise.
98892         * lib/unictype/pr_other_alphabetic.h: Likewise.
98893         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
98894         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
98895         * lib/unictype/pr_other_id_continue.h: Likewise.
98896         * lib/unictype/pr_other_id_start.h: Likewise.
98897         * lib/unictype/pr_other_lowercase.h: Likewise.
98898         * lib/unictype/pr_other_math.h: Likewise.
98899         * lib/unictype/pr_other_uppercase.h: Likewise.
98900         * lib/unictype/pr_paired_punctuation.h: Likewise.
98901         * lib/unictype/pr_paragraph_separator.h: Likewise.
98902         * lib/unictype/pr_pattern_syntax.h: Likewise.
98903         * lib/unictype/pr_pattern_white_space.h: Likewise.
98904         * lib/unictype/pr_private_use.h: Likewise.
98905         * lib/unictype/pr_punctuation.h: Likewise.
98906         * lib/unictype/pr_quotation_mark.h: Likewise.
98907         * lib/unictype/pr_radical.h: Likewise.
98908         * lib/unictype/pr_sentence_terminal.h: Likewise.
98909         * lib/unictype/pr_soft_dotted.h: Likewise.
98910         * lib/unictype/pr_space.h: Likewise.
98911         * lib/unictype/pr_terminal_punctuation.h: Likewise.
98912         * lib/unictype/pr_titlecase.h: Likewise.
98913         * lib/unictype/pr_unassigned_code_value.h: Likewise.
98914         * lib/unictype/pr_unified_ideograph.h: Likewise.
98915         * lib/unictype/pr_uppercase.h: Likewise.
98916         * lib/unictype/pr_variation_selector.h: Likewise.
98917         * lib/unictype/pr_white_space.h: Likewise.
98918         * lib/unictype/pr_xid_continue.h: Likewise.
98919         * lib/unictype/pr_xid_start.h: Likewise.
98920         * lib/unictype/pr_zero_width.h: Likewise.
98921         * lib/unictype/scripts.h: Likewise.
98922         * lib/unictype/scripts_byname.gperf: Likewise.
98923         * lib/unictype/sy_c_ident.h: Likewise.
98924         * lib/unictype/sy_c_whitespace.h: Likewise.
98925         * lib/unictype/sy_java_ident.h: Likewise.
98926         * lib/unictype/sy_java_whitespace.h: Likewise.
98928         * lib/unictype/Makefile: New file.
98929         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
98930         glibc.
98931         * lib/unictype/3level.h: New file, copied from glibc.
98932         * lib/unictype/3levelbit.h: New file.
98934 2007-11-11  Bruno Haible  <bruno@clisp.org>
98936         * modules/gperf: New file.
98937         * modules/iconv_open (Depends-on): Add it.
98938         (Makefile.am): Remove the GPERF definition.
98940 2007-11-11  Bruno Haible  <bruno@clisp.org>
98942         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
98943         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
98945 2007-11-11  Bruno Haible  <bruno@clisp.org>
98947         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
98948         (usage): Remove function.
98950 2007-11-11  Bruno Haible  <bruno@clisp.org>
98952         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
98953         gl_FUNC_CEILF_LIBS.
98954         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
98955         gl_FUNC_CEIL_LIBS.
98956         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
98957         gl_FUNC_CEILL_LIBS.
98958         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
98959         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
98960         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
98962 2007-11-11  Bruno Haible  <bruno@clisp.org>
98964         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
98965         roundf were declared but do not exist on functions.
98966         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
98967         roundl were declared but do not exist on functions.
98968         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
98969         HAVE_FLOORL_AND_CEILL, respectively.
98970         Needed for Sun C on Solaris 10.
98972 2007-11-11  Bruno Haible  <bruno@clisp.org>
98974         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
98975         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
98976         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
98977         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
98978         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
98979         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
98980         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
98981         HAVE_DECL_ROUNDF.
98982         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
98983         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
98984         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
98985         of HAVE_DECL_ROUND*.
98986         * modules/math (Makefile.am): Update.
98988 2007-11-10  Bruno Haible  <bruno@clisp.org>
98990         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
98991         ptrdiff_t as m4/intl.m4.
98993 2007-11-10  Jim Meyering  <meyering@redhat.com>
98995         Avoid link failure for the argmatch test.
98996         * tests/test-argmatch.c (usage): Define function to avoid a link
98997         failure: argmatch_die requires a usage function.
98999 2007-11-09  Bruno Haible  <bruno@clisp.org>
99001         * doc/functions/snprintf.texi: Mention BeOS deficiency.
99002         * doc/functions/vsnprintf.texi: Likewise.
99003         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
99004         with a size argument < 2.
99006 2007-11-09  Bruno Haible  <bruno@clisp.org>
99008         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
99009         buffer. Fixes an inefficiency introduced on 2007-11-03.
99011 2007-11-09  Bruno Haible  <bruno@clisp.org>
99013         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
99014         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
99016 2007-11-08  Jim Meyering  <meyering@redhat.com>
99018         Change cache variable name prefix "jm_" to "gl_" everywhere.
99019         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
99020         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
99021         * m4/uptime.m4: s/gl_/jm_/
99023 2007-11-07  Bruno Haible  <bruno@clisp.org>
99025         Update to GNU gettext 0.17.
99026         * m4/intl.m4: Update to GNU gettext 0.17.
99027         * m4/po.m4: Likewise.
99028         * modules/gettext (Files): Remove m4/ulonglong.m4.
99029         (configure.ac): Require gettext infrastructure from version 0.17.
99031 2007-11-06  Bruno Haible  <bruno@clisp.org>
99033         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
99034         symbolic values are not defined in a public header.
99035         * lib/freadable.c (freadable) [QNX]: Likewise.
99036         * lib/freadahead.c (freadahead) [QNX]: Likewise.
99037         * lib/freading.c (freading) [QNX]: Likewise.
99038         * lib/fseterr.c (fseterr) [QNX]: Likewise.
99039         * lib/fwritable.c (fwritable) [QNX]: Likewise.
99040         * lib/fwriting.c (fwriting) [QNX]: Likewise.
99041         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
99042         Reported by Alain Magloire.
99044         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
99046 2007-11-05  Bruno Haible  <bruno@clisp.org>
99048         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
99049         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
99050         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
99051         Reported by Eric Blake.
99053 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99054             Bruno Haible  <bruno@clisp.org>
99056         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
99057         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
99058         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
99059         (malloc): Undefine also before including <stdlib.h>.
99060         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
99061         Needed on OSF/1 4.0.
99063 2007-11-05  Jim Meyering  <meyering@redhat.com>
99065         git-version-gen: sync from coreutils.
99066         * build-aux/git-version-gen: Add comments.
99067         Change the first '-' to '.' in the snapshot version string,
99068         e.g., 6.9-377-08144 -> 6.9.377-08144
99069         Remove first parameter.
99070         Don't declare a version "-dirty" merely because a time
99071         stamp has changed.
99073 2007-11-04  Bruno Haible  <bruno@clisp.org>
99075         * lib/lock.h: Protect all macro definitions containing an 'if'
99076         statement through a "do { ... } while (0)".
99077         * lib/tls.h: Likewise.
99079 2007-11-04  Bruno Haible  <bruno@clisp.org>
99081         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
99083 2007-11-04  Bruno Haible  <bruno@clisp.org>
99085         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
99086         * modules/fprintf-posix (Depends-on): Add nocrash.
99087         * modules/snprintf-posix (Depends-on): Likewise.
99088         * modules/sprintf-posix (Depends-on): Likewise.
99089         * modules/vasnprintf-posix (Depends-on): Likewise.
99090         * modules/vasprintf-posix (Depends-on): Likewise.
99091         * modules/vfprintf-posix (Depends-on): Likewise.
99092         * modules/vsnprintf-posix (Depends-on): Likewise.
99093         * modules/vsprintf-posix (Depends-on): Likewise.
99094         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
99095         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
99096         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
99097         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
99098         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
99099         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
99100         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
99102 2007-11-04  Bruno Haible  <bruno@clisp.org>
99104         * modules/nocrash: New file.
99105         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
99106         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
99108 2007-11-04  Bruno Haible  <bruno@clisp.org>
99110         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
99111         precision handling.
99112         * tests/test-vasprintf-posix.c (test_function): Likewise.
99113         * tests/test-snprintf-posix.h (test_function): Likewise.
99114         * tests/test-sprintf-posix.h (test_function): Likewise.
99116         Fix *printf behaviour for large precisions on mingw and BeOS.
99117         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
99118         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
99119         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
99120         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99121         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99122         gl_PRINTF_PRECISION and test its result. Invoke
99123         gl_PREREQ_VASNPRINTF_PRECISION.
99124         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99125         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99126         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99127         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99128         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99129         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99130         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99131         * doc/functions/fprintf.texi: Update.
99132         * doc/functions/printf.texi: Update.
99133         * doc/functions/snprintf.texi: Update.
99134         * doc/functions/sprintf.texi: Update.
99135         * doc/functions/vfprintf.texi: Update.
99136         * doc/functions/vprintf.texi: Update.
99137         * doc/functions/vsnprintf.texi: Update.
99138         * doc/functions/vsprintf.texi: Update.
99140 2007-11-04  Bruno Haible  <bruno@clisp.org>
99142         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
99144 2007-11-04  Bruno Haible  <bruno@clisp.org>
99146         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
99147         Reported by Sylvain Beucler <beuc@gnu.org>.
99149 2007-11-03  Bruno Haible  <bruno@clisp.org>
99151         * tests/test-fprintf-posix2.sh: New file.
99152         * tests/test-fprintf-posix2.c: New file.
99153         * modules/fprintf-posix-tests (Files): Add them.
99154         (TESTS): Add test-fprintf-posix2.sh.
99155         (configure.ac): Check for getrlimit and setrlimit.
99156         (check_PROGRAMS): Add test-fprintf-posix2.
99158         * tests/test-printf-posix2.sh: New file.
99159         * tests/test-printf-posix2.c: New file.
99160         * modules/printf-posix-tests (Files): Add them.
99161         (TESTS): Add test-printf-posix2.sh.
99162         (configure.ac): Check for getrlimit and setrlimit.
99163         (check_PROGRAMS): Add test-printf-posix2.
99165         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
99166         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
99167         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
99168         (decode_double): New function, copied from decode_long_double.
99169         (scale10_round_decimal_decoded): New function, extracted from
99170         scale10_round_decimal_long_double.
99171         (scale10_round_decimal_long_double): Use it.
99172         (scale10_round_decimal_double): New function.
99173         (floorlog10): New function.
99174         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
99175         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
99176         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
99177         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
99178         gl_PRINTF_ENOMEM and test its result. Invoke
99179         gl_PREREQ_VASNPRINTF_ENOMEM.
99180         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
99181         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
99182         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
99183         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
99184         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
99185         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
99186         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
99187         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
99188         * modules/snprintf-posix (Depends-on): Likewise.
99189         * modules/sprintf-posix (Depends-on): Likewise.
99190         * modules/vasnprintf-posix (Depends-on): Likewise.
99191         * modules/vasprintf-posix (Depends-on): Likewise.
99192         * modules/vfprintf-posix (Depends-on): Likewise.
99193         * modules/vsnprintf-posix (Depends-on): Likewise.
99194         * modules/vsprintf-posix (Depends-on): Likewise.
99195         * doc/functions/fprintf.texi: Update.
99196         * doc/functions/printf.texi: Update.
99197         * doc/functions/snprintf.texi: Update.
99198         * doc/functions/sprintf.texi: Update.
99199         * doc/functions/vfprintf.texi: Update.
99200         * doc/functions/vprintf.texi: Update.
99201         * doc/functions/vsnprintf.texi: Update.
99202         * doc/functions/vsprintf.texi: Update.
99204 2007-11-03  Bruno Haible  <bruno@clisp.org>
99206         * modules/frexp-nolibm-tests: New file.
99208         * modules/frexp-nolibm: New file.
99209         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
99211 2007-11-03  Bruno Haible  <bruno@clisp.org>
99213         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
99214         value is C99 compliant.
99215         Needed for OSF/1 5.1.
99217 2007-11-03  Bruno Haible  <bruno@clisp.org>
99219         Fix out-of-memory handling of vasnprintf.
99220         * lib/printf-parse.c: Include <errno.h>.
99221         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
99222         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
99223         is already set.
99225 2007-11-02  Eric Blake  <ebb9@byu.net>
99227         Fix tests on cygwin.
99228         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
99230 2007-11-01  Bruno Haible  <bruno@clisp.org>
99232         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
99233         warning.
99234         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
99235         needed for POSIX compatibility.
99237 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
99239         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
99240         for compatibility with GNU.
99242 2007-11-01  Bruno Haible  <bruno@clisp.org>
99244         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
99245         (putenv): Renamed from rpl_putenv. Change argument type from
99246         'const char *' to 'char *'.
99247         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
99248         of defining putenv in config.h, just set REPLACE_PUTENV.
99249         * modules/putenv (Depends-on): Add stdlib.
99250         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
99251         (Include): Use <stdlib.h>.
99252         * lib/stdlib.in.h (putenv): New declaration.
99253         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
99254         REPLACE_PUTENV.
99255         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
99256         REPLACE_PUTENV.
99257         Needed for MacOS X 10.5.0.
99258         Reported by Peter O'Gorman <peter@pogma.com>.
99260 2007-11-01  Jim Meyering  <meyering@redhat.com>
99262         Treat an empty date string exactly like "0".
99263         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
99264         if the remaining date string (to be parsed) is empty, use "0".
99265         Reported by Mischa Molhoek and discussed in this thread:
99266         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
99268 2007-10-31  Bruno Haible  <bruno@clisp.org>
99270         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
99271         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
99272         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
99273         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
99274         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
99275         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
99277 2007-10-31  Bruno Haible  <bruno@clisp.org>
99279         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
99280         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
99281         (AC_TYPE_LONG_LONG_INT): Use it.
99282         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
99283         it as well.
99284         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
99285         to m4/longlong.m4.
99286         * modules/stdint (Files): Remove m4/ulonglong.m4.
99287         * modules/strtoull (Files): Use m4/longlong.m4 instead of
99288         m4/ulonglong.m4.
99289         * modules/strtoumax (Files): Likewise.
99291 2007-10-30  Bruno Haible  <bruno@clisp.org>
99293         * modules/xvasprintf-posix: New file.
99294         Suggested by Eric Blake.
99296 2007-10-30  Bruno Haible  <bruno@clisp.org>
99298         * modules/xprintf-posix-tests: New file.
99299         * tests/test-xprintf-posix.sh: New file.
99300         * tests/test-xprintf-posix.c: New file.
99301         * tests/test-xfprintf-posix.c: New file.
99303         * modules/xprintf-posix: New file.
99305 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99307         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
99308         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
99309         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
99311 2007-10-29  Bruno Haible  <bruno@clisp.org>
99313         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
99314         contain the special marker '_cv_'.
99315         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
99316         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
99317         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
99318         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
99319         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
99320         Reported by Ralf Wildenhues.
99322 2007-10-29  Bruno Haible  <bruno@clisp.org>
99324         * gnulib-tool (func_import): When --lgpl is not specified, set
99325         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
99326         GPLv3.
99327         Reported by Simon Josefsson.
99329 2007-10-28  Bruno Haible  <bruno@clisp.org>
99331         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
99332         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
99333         HAVE_DECL_ISFINITE.
99334         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99335         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
99336         HAVE_DECL_ISFINITE.
99338 2007-10-28  Bruno Haible  <bruno@clisp.org>
99340         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
99341         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
99343 2007-10-28  Bruno Haible  <bruno@clisp.org>
99345         Fix link errors with Sun C 5.0 on Solaris 10.
99346         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
99347         function is declared but not present in the compiler's libm.
99348         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
99349         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
99350         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
99351         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
99352         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
99353         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
99354         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
99355         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
99356         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
99357         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
99358         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
99359         HAVE_DECL_FLOORL.
99361 2007-10-28  Bruno Haible  <bruno@clisp.org>
99363         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
99364         gl_FUNC_FLOORL. Cache the result.
99365         (gl_FUNC_FLOORL): Use it.
99366         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
99367         gl_FUNC_CEILL. Cache the result.
99368         (gl_FUNC_CEILL): Use it.
99370         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
99371         gl_FUNC_FLOOR. Cache the result.
99372         (gl_FUNC_FLOOR): Use it.
99373         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
99374         gl_FUNC_CEIL. Cache the result.
99375         (gl_FUNC_CEIL): Use it.
99377         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
99378         gl_FUNC_FLOORF. Cache the result.
99379         (gl_FUNC_FLOORF): Use it.
99380         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
99381         gl_FUNC_CEILF. Cache the result.
99382         (gl_FUNC_CEILF): Use it.
99384 2007-10-28  Bruno Haible  <bruno@clisp.org>
99386         * gnulib-tool: Allow specifying the LGPL version number through
99387         --lgpl=2 or --lgpl=3.
99388         (func_usage): Document --lgpl with argument.
99389         Handle --lgpl=... arguments.
99390         (func_import): Recognize also gl_LGPL calls with an argument. When
99391         --lgpl=2 is used and the module's license is just LGPL, report an
99392         error. Set sed_transform_lib_file according to the lgpl variable. In
99393         the generated files, use --lgpl or gl_LGPL invocations with argument,
99394         if necessary.
99395         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
99396         an LGPv2+ license.
99397         * doc/gnulib-tool.texi (Modified imports): Update explanation of
99398         gl_LGPL macro.
99400 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99401             Bruno Haible  <bruno@clisp.org>
99403         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
99404         (u16_uctomb_aux): Likewise.
99405         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
99406         !HAVE_INLINE.
99407         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
99409 2007-10-28  Bruno Haible  <bruno@clisp.org>
99411         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
99412         Invoke AM_GETTEXT_OPTION if it exists.
99413         * modules/vasprintf: Likewise.
99414         * modules/verror: Likewise.
99415         * modules/xprintf: Likewise.
99416         * modules/xvasprintf: Likewise.
99418 2007-10-27  Ben Pfaff  <blp@gnu.org>
99420         * lib/math.in.h: Define isfinite macro and prototypes for
99421         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
99422         implementations.
99423         * m4/math_h.m4: New substitutions for isfinite module.
99424         * lib/isfinite.c: New file.
99425         * m4/isfinite.m4: New file.
99426         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
99427         * modules/isfinite: New file.
99428         * modules/isfinite-tests: New file.
99429         * tests/tests-isfinite.c: New file.
99430         * doc/functions/isfinite.texi: Mention isfinite module.
99431         * MODULES.html.sh: Mention new module.
99433 2007-10-27  Ben Pfaff  <blp@gnu.org>
99435         Ralf Wildenhues reported that Tru64 4.0D declares the round
99436         functions but does not have definitions.
99437         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
99438         cannot be found in any library, set the output variable to
99439         "missing" instead of "".
99440         * m4/round.m4: Also use our substitute if we cannot find round in
99441         any library, even if it is declared.
99442         * m4/roundf.m4: Likewise for roundf.
99443         * m4/roundl.m4: Likewise for roundl.
99444         * lib/math.in.h: Undefine roundf, round, roundl before defining
99445         their replacements, to allow for hypothetical systems where these
99446         may be defined as macros but not available in libraries.
99448 2007-10-27  Bruno Haible  <bruno@clisp.org>
99450         * doc/gnulib.texi: Invoke @firstparagraphindent.
99451         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
99452         changes in gnulib.
99453         (Source changes): New section.
99455 2007-10-26  Bruno Haible  <bruno@clisp.org>
99457         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
99458         borrowed from autoconf.
99460 2007-10-26  Bruno Haible  <bruno@clisp.org>
99462         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
99463         strerror returned the empty string. Needed on HP-UX 11.00.
99465 2007-10-24  Micah Cowan  <micah@cowan.name>
99467         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
99468         * build-aux/bootstrap: Remove support for now-unnecessary option,
99469         --cvs-user, and envvars CVS_USER, CVS_RSH.
99471 2007-10-24  Jim Meyering  <meyering@redhat.com>
99473         Avoid diagnostics from sha1sum when there is no cached checksum.
99474         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
99475         if the po.s1 file hasn't been created yet.
99477         * build-aux/bootstrap: Sync from coreutils:
99478         2007-10-24  Jim Meyering  <meyering@redhat.com>
99479         Get gnulib from the git repository, not from an obsolete cvs one.
99480         * build-aux/bootstrap: Suggestion from Micah Cowan.
99481         2007-10-04  Jim Meyering  <jim@meyering.net>
99482         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
99483         (update_po_files): Work also when there are no .po files in po/.
99485 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
99487         * README: Append ".git" to git and cg examples.
99488         Problem reported by Benoit Sigoure.
99490 2007-10-23  Micah Cowan  <micah@cowan.name>
99492         * users.txt: Add wget.
99494 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99496         Fix linking of some unistdio tests on FreeBSD.
99497         * modules/unistdio/u16-vsnprintf-tests
99498         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
99499         * modules/unistdio/u16-vsprintf-tests
99500         (test_u16_vsnprintf1_LDADD): Likewise.
99501         * modules/unistdio/u32-vsnprintf-tests
99502         (test_u32_vsnprintf1_LDADD): Likewise.
99503         * modules/unistdio/u32-vsprintf-tests
99504         (test_u32_vsprintf1_LDADD): Likewise.
99505         * modules/unistdio/u8-vsnprintf-tests
99506         (test_u8_vsnprintf1_LDADD): Likewise.
99507         * modules/unistdio/u8-vsprintf-tests
99508         (test_u8_vsprintf1_LDADD): Likewise.
99509         * modules/unistdio/ulc-vsnprintf-tests
99510         (test_ulc_vsnprintf1_LDADD): Likewise.
99511         * modules/unistdio/ulc-vsprintf-tests
99512         (test_ulc_vsprintf1_LDADD): Likewise.
99514         Fix linking of some uniconv tests on FreeBSD.
99515         * modules/uniconv/u16-conv-from-enc-tests
99516         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
99517         * modules/uniconv/u16-conv-to-enc-tests
99518         (test_u16_conv_to_enc_LDADD): Likewise.
99519         * modules/uniconv/u16-strconv-from-enc-tests
99520         (test_u16_strconv_from_enc_LDADD): Likewise.
99521         * modules/uniconv/u16-strconv-to-enc-tests
99522         (test_u16_strconv_to_enc_LDADD): Likewise.
99523         * modules/uniconv/u32-conv-from-enc-tests
99524         (test_u32_conv_from_enc_LDADD): Likewise.
99525         * modules/uniconv/u32-conv-to-enc-tests
99526         (test_u32_conv_to_enc_LDADD): Likewise.
99527         * modules/uniconv/u32-strconv-from-enc-tests
99528         (test_u32_strconv_from_enc_LDADD): Likewise.
99529         * modules/uniconv/u32-strconv-to-enc-tests
99530         (test_u32_strconv_to_enc_LDADD): Likewise.
99531         * modules/uniconv/u8-conv-from-enc-tests
99532         (test_u8_conv_from_enc_LDADD): Likewise.
99533         * modules/uniconv/u8-conv-to-enc-tests
99534         (test_u8_conv_to_enc_LDADD): Likewise.
99535         * modules/uniconv/u8-strconv-from-enc-tests
99536         (test_u8_strconv_from_enc_LDADD): Likewise.
99537         * modules/uniconv/u8-strconv-to-enc-tests
99538         (test_u8_strconv_to_enc_LDADD): Likewise.
99540 2007-10-22  Bruno Haible  <bruno@clisp.org>
99542         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
99543         size.
99545 2007-10-22  Eric Blake  <ebb9@byu.net>
99547         Tweak x*printf documentation.
99548         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
99549         variable name and comments.
99550         Suggested by Bruno Haible.
99552 2007-10-22  Bruno Haible  <bruno@clisp.org>
99554         * lib/acl.c (copy_acl): Fix file name in comment.
99556 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99558         Fix Tru64 problem with stdbool.h.
99559         * lib/stdbool.in.h (false, true):
99560         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
99561         Don't declare as an enum in this situation; it runs afoul of Tru64.
99562         Problem reported by Steven M. Schweda in
99563         <http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.
99565 2007-10-22  Eric Blake  <ebb9@byu.net>
99567         Also wrap vf?printf.
99568         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
99569         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
99570         (xvprintf, xvfprintf): New functions.
99572 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99574         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
99575         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
99577         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
99578         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
99580 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
99582         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
99583         by Bruno Haible.
99585 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99587         * lib/getloadavg.c
99588         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
99589         Undef `sys' after including sys/table.h, for Tru64 4.0D.
99591         * tests/test-i-ring.c: Work for C89.
99593 2007-10-22  Bruno Haible  <bruno@clisp.org>
99595         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
99596         -1u, in preprocessor expression, so that we don't test for the bug
99597         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
99598         <http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.
99600 2007-10-22  Eric Blake  <ebb9@byu.net>
99602         * tests/test-yesno.sh: Silence stderr during test.
99604 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99606         * modules/crypto/gc-camellia: New file.
99608         * m4/gc-camellia.m4: New file.
99610         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
99612         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
99614 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99616         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
99617         --help to stdout.  Reported by sms@antinode.org (Steven
99618         M. Schweda).
99620 2007-10-22  Simon Josefsson  <simon@josefsson.org>
99622         * users.txt: Fix link to libksba.
99624 2007-10-21  Ben Pfaff  <blp@gnu.org>
99626         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
99627         round.c roundf implementation that depends on floorf and ceilf to
99628         be tested unconditionally.
99630 2007-10-21  Ben Pfaff  <blp@gnu.org>
99632         * m4/check-libm-func.m4: Removed.
99633         * m4/check-math-lib.m4: New file.
99634         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
99635         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
99636         definition and lack of AC_LIBOBJ([roundf]).
99637         * m4/roundl.m4: Ditto, and similarly for roundl.
99638         * modules/round: Reference new m4 file.
99639         * modules/roundf: Ditto.
99640         * modules/roundl: Ditto.
99641         * tests/test-round2.c (main): Use ROUND instead of round.
99642         Bug report from Bruno Haible.
99644 2007-10-21  Bruno Haible  <bruno@clisp.org>
99646         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
99647         context.
99649 2007-10-21  Bruno Haible  <bruno@clisp.org>
99651         * tests/test-wcwidth.c (main): Allow negative result for some control
99652         characters.
99654         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
99655         Needed on OSF/1 5.1.
99657 2007-10-21  Bruno Haible  <bruno@clisp.org>
99659         * tests/test-floorf1.c: Include isnanf.h.
99660         (main): Use isnanf() instead of isnan().
99661         * tests/test-ceilf1.c: Include isnanf.h.
99662         (main): Use isnanf() instead of isnan().
99663         * tests/test-truncf1.c: Include isnanf.h.
99664         (main): Use isnanf() instead of isnan().
99665         * tests/test-roundf1.c: Include isnanf.h.
99666         (main): Use isnanf() instead of isnan().
99668 2007-10-21  Eric Blake  <ebb9@byu.net>
99670         * users.txt: Update URL for m4.
99672 2007-10-21  Bruno Haible  <bruno@clisp.org>
99674         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
99676 2007-10-21  Bruno Haible  <bruno@clisp.org>
99678         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
99679         Git's management files if the CVS files are not present.
99681 2007-10-20  Bruno Haible  <bruno@clisp.org>
99683         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
99684         gcc-3.4.x.
99686 2007-10-20  Ben Pfaff  <blp@gnu.org>
99688         * lib/math.in.h: Declare round, roundf, roundl if we are providing
99689         implementations.
99690         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
99691         * lib/round.c: New file.
99692         * lib/roundf.c: New file.
99693         * lib/roundl.c: New file.
99694         * m4/round.m4: New file.
99695         * m4/roundf.m4: New file.
99696         * m4/roundl.m4: New file.
99697         * m4/check-libm-func-m4: New file.
99698         * modules/math: Replace round, roundf, roundl related @VARS@ in
99699         math.in.h.
99700         * modules/round: New file.
99701         * modules/round-tests: New file.
99702         * modules/roundf: New file.
99703         * modules/roundf-tests: New file.
99704         * modules/roundl: New file.
99705         * modules/roundl-tests: New file.
99706         * tests/test-round1.c: New file.
99707         * tests/test-round2.c: New file.
99708         * tests/test-roundf1.c: New file.
99709         * tests/test-roundf2.c: New file.
99710         * tests/test-roundl.c: New file.
99711         * doc/functions/round.texi: Mention round module.
99712         * doc/functions/roundf.texi: Mention roundf module.
99713         * doc/functions/roundl.texi: Mention roundl module.
99714         * MODULES.html.sh: Mention new modules.
99715         Thanks to Bruno Haible for suggestions.
99717 2007-10-20  Jim Meyering  <meyering@redhat.com>
99719         * lib/xprintf.c: Include <config.h> unconditionally.
99721         Change xprintf's license to GPL.
99722         * modules/xprintf (License): s/LGPL/GPL/, since this module
99723         depends on modules (exit and exitfail) which are GPL.
99724         Suggestion from Bruno Haible.
99726         xprintf fixes.
99727         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
99728         Use a clearer diagnostic.
99729         Patch from Bruno Haible.
99731 2007-10-20  Bruno Haible  <bruno@clisp.org>
99733         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
99734         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
99735         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99737 2007-10-20  Bruno Haible  <bruno@clisp.org>
99739         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
99740         precision in the comparison result > x - 1 or similar.
99741         * tests/test-ceilf2.c (correct_result_p): Likewise.
99742         * tests/test-truncf2.c (correct_result_p): Likewise.
99743         * tests/test-trunc2.c (correct_result_p): Likewise.
99744         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
99746 2007-10-20  Bruno Haible  <bruno@clisp.org>
99748         * modules/ceil: New file.
99749         * m4/ceil.m4: New file.
99750         * doc/functions/ceil.texi: Mention the 'ceil' module.
99752 2007-10-20  Bruno Haible  <bruno@clisp.org>
99754         * modules/floor: New file.
99755         * m4/floor.m4: New file.
99756         * doc/functions/floor.texi: Mention the 'floor' module.
99758 2007-10-20  Bruno Haible  <bruno@clisp.org>
99760         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
99761         of %a.
99762         * modules/floorf-tests (Depends-on): Likewise.
99763         * modules/truncf-tests (Depends-on): Likewise.
99764         * modules/trunc-tests (Depends-on): Likewise.
99765         Reported by Ben Pfaff.
99767 2007-10-19  Jim Meyering  <meyering@redhat.com>
99769         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
99770         Don't bother testing specific errno values.  Just test ferror.
99772         New module: xprintf
99773         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
99775 2007-10-19  Bruno Haible  <bruno@clisp.org>
99777         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
99778         syntax.
99779         * modules/javaexec (Makefile.am): Likewise.
99780         * modules/relocatable-prog (Makefile.am): Likewise.
99781         Suggested by Jim Meyering.
99783 2007-10-18  Bruno Haible  <bruno@clisp.org>
99785         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
99786         Reported by Jim Meyering.
99788 2007-10-18  Eric Blake  <ebb9@byu.net>
99790         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
99792 2007-10-18  Bruno Haible  <bruno@clisp.org>
99794         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
99795         the format string into writable memory. Needed in Fortify conditions.
99797 2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
99798             Bruno Haible  <bruno@clisp.org>
99800         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
99801         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
99802         * modules/trim (Depends-on): Add mbchar.
99803         (configure.ac): Add gl_FUNC_MBRTOWC.
99804         (Makefile.am): Augment lib_SOURCES.
99806 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
99808         Modify glob.c to use fstatat and dirfd, to simplify it.
99809         Suggested by Eric Blake.
99810         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
99811         Don't include <stdbool.h>; not used.
99812         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
99813         (link_exists_p): Simplify implementation, since we can now assume
99814         dirfd and fstatat.
99815         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
99817 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99819         * gnulib-tool (func_get_dependencies): Fix sed script to
99820         match only tests.
99822 2007-10-17  Bruno Haible  <bruno@clisp.org>
99824         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
99825         allow locale names without encoding suffix.
99826         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
99827         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
99829 2007-10-16  Bruno Haible  <bruno@clisp.org>
99831         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
99832         * lib/getgroups.c (getgroups): Likewise.
99833         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
99835 2007-10-16  Bruno Haible  <bruno@clisp.org>
99837         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
99838         * modules/malloc-posix (License): Likewise.
99839         * modules/realloc-posix (License): Likewise.
99840         * modules/calloc-posix (License): Likewise.
99841         * modules/intprops (License): Change from GPL to LGPL, with
99842         Paul Eggert's approval.
99844 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99846         Merge glibc changes into lib/glob.c.
99848         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
99849         2007-10-15 04:59:03 UTC.  Here are the changes:
99851         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
99853         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
99855         * lib/glob.c: Add some branch prediction throughout.
99857         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
99859         [BZ #5103]
99860         * lib/glob.c (glob): Recognize patterns starting \/.
99862         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
99864         [BZ #3996]
99865         * lib/glob.c (attribute_hidden): Define if not defined.
99866         (glob): Unescape dirname, filename or username when needed and not
99867         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
99868         is NULL.  Handle unescaped [ in pattern without closing ].
99869         Don't pass GLOB_CHECK down to recursive glob for directories.
99870         (__glob_pattern_type): New function.
99871         (__glob_pattern_p): Implement using __glob_pattern_type.
99872         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
99873         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
99874         Remove unreachable code.
99876         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
99878         * lib/glob.c (glob_in_dir): Add some comments and asserts to
99879         explain why there are no leaks.
99881         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
99883         [BZ #3253]
99884         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
99885         time, rather allocate increasingly bigger arrays of pointers, if
99886         possible with alloca, if too large with malloc.
99888 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
99890         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
99891         Problem reported by H.Merijn Brand in
99892         <http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
99893         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
99894         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
99896 2007-10-15  Bruno Haible  <bruno@clisp.org>
99898         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
99899         with explicit rpl_ prefix.
99900         * lib/fopen.c (fopen): Likewise.
99901         * lib/freopen.c (freopen): Likewise.
99902         * lib/iconv.c (iconv): Likewise.
99903         * lib/iconv_close.c (iconv_close): Likewise.
99905 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
99907         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
99909 2007-10-15  Bruno Haible  <bruno@clisp.org>
99911         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
99912         <stddef.h> instead of <stdlib.h> since we only need NULL.
99913         Reported by Ben Pfaff <blp@cs.stanford.edu>.
99915 2007-10-15  Bruno Haible  <bruno@clisp.org>
99917         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
99918         Replace paragraph talking about LIBOBJS.
99919         Reported by Colin Watson <cjwatson@debian.org>.
99921 2007-10-15  Bruno Haible  <bruno@clisp.org>
99923         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
99924         <stdlib.h> before using NULL.
99926 2007-10-15  Simon Josefsson  <simon@josefsson.org>
99928         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
99929         Reported by Albert Chin <china@thewrittenword.com>.
99931 2007-10-14  Bruno Haible  <bruno@clisp.org>
99933         * modules/iconv_open-utf-tests: New file.
99934         * tests/test-iconv-utf.c: New file.
99936         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
99937         * modules/iconv_open-utf: New file.
99938         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
99939         (iconv, iconv_close): New declarations.
99940         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
99941         be defined.
99942         (iconv_open): Add special handling of conversion between UTF-8 and
99943         UTF-{16,32}{BE,LE}.
99944         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
99945         * lib/iconv_close.c: New file.
99946         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
99947         gl_FUNC_ICONV_OPEN.
99948         (gl_FUNC_ICONV_OPEN): Use it.
99949         (gl_FUNC_ICONV_OPEN_UTF): New macro.
99950         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
99951         and REPLACE_ICONV_UTF.
99952         * modules/iconv_open (Depends-on): Add c-strcase.
99953         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
99954         ICONV_CONST.
99955         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
99957 2007-10-13  Albert Chin  <china@thewrittenword.com>
99958             Bruno Haible  <bruno@clisp.org>
99960         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
99961         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
99963 2007-10-13  Bruno Haible  <bruno@clisp.org>
99965         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
99966         defined, use the ISO C99 inline semantics.
99967         * lib/argp.h (ARGP_EI): Likewise.
99969 2007-10-13  Bruno Haible  <bruno@clisp.org>
99971         Handle 'inline' change in gcc 4.3.0.
99972         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
99973         argp_fmtstream_write, argp_fmtstream_set_lmargin,
99974         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
99975         argp_fmtstream_point): Disable 'extern' declaration if the function
99976         definition is going to be provided inline.
99977         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
99978         semantics, not the ISO C99 inline semantics.
99979         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
99980         'extern' declaration if the function definition is going to be provided
99981         inline.
99982         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
99983         the GNU C inline semantics, not the ISO C99 inline semantics. With
99984         GCC 4.2, avoid a warning.
99986 2007-10-13  Bruno Haible  <bruno@clisp.org>
99988         * lib/freading.h (freading): Enable the use of __freading for
99989         glibc >= 2.7.
99990         * lib/freading.c (freading): Likewise.
99992 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
99994         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
99995         "warning: C99 inline functions are not supported; using GNU89".
99997 2007-10-12  Bruno Haible  <bruno@clisp.org>
99999         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
100000         of 2.
100001         * tests/test-ceilf2.c: New file.
100002         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
100004         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
100005         * modules/ceilf-tests: Update.
100007 2007-10-12  Bruno Haible  <bruno@clisp.org>
100009         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
100010         of 2.
100011         * tests/test-floorf2.c: New file.
100012         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
100014         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
100015         * modules/floorf-tests: Update.
100017 2007-10-12  Bruno Haible  <bruno@clisp.org>
100019         * tests/test-trunc2.c: New file.
100020         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
100022         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
100023         * modules/trunc-tests: Update.
100025 2007-10-12  Bruno Haible  <bruno@clisp.org>
100027         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
100028         of 2.
100029         * tests/test-truncf2.c: New file.
100030         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
100032         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
100033         * modules/truncf-tests: Update.
100035 2007-10-11  Eric Blake  <ebb9@byu.net>
100037         Don't claim strerror is broken on Interix.
100038         * doc/functions/strerror.texi (strerror): Known broken systems are
100039         now Solaris 8, and not Interix.
100040         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
100041         Interix on cross-compile.
100042         Reported by Martin Koeppe in
100043         http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.
100045 2007-10-11  Bruno Haible  <bruno@clisp.org>
100047         * modules/i-ring-tests: New file.
100048         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
100049         instead of assert.
100051 2007-10-11  Bruno Haible  <bruno@clisp.org>
100053         * modules/filenamecat-tests: New file.
100054         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
100055         * lib/filenamecat.c: Remove test code.
100057 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
100059         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
100061         * lib/strerror.c: Include <string.h> always, to test interface,
100062         and to remove the need for the dummy.
100063         Include intprops.h to compute width instead of doing it ourselves
100064         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
100065         (strerror): Define it to return NULL if there's no system strerror.
100066         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
100067         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
100068         ancient pre-strerror Unix systems well any more.  Saying "unknown
100069         system error" is enough.
100070         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
100071         simpler strerror.c implementation.
100072         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
100073         Simplify the tests to reflect the simpler strerror implementation.
100074         * modules/strerror (Depends-on): Add intprops.
100076 2007-10-09  Eric Blake  <ebb9@byu.net>
100078         Silence test-fpending.
100079         * modules/fpending-tests (Files): Add wrapper script.
100080         * tests/test-fpending.sh: New file.
100082 2007-10-09  Bruno Haible  <bruno@clisp.org>
100084         * MODULES.html.sh (func_module): Don't create a hyperlink for
100085         function names like 'printf_frexp'.
100086         (Misc): Add crc, memxor.
100087         (Characteristics of floating types): New section.
100088         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
100089         isnanf-nolibm, signbit, trunc, truncf, truncl.
100090         (Enhancements for ISO C 99 functions): New subsection Input/output.
100091         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
100092         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
100093         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
100094         (Compatibility checks for POSIX:2001 functions): Add clock-time.
100095         (Enhancements for POSIX:2001 functions): Add chdir-long.
100096         (File system functions): Add areadlink, chdir-safer, read-file.
100097         Remove cycle-check.
100098         (File system as inode set): New section.
100099         (Date and time): Add gethrxtime.
100100         (Multithreading): Add openmp.
100101         (Internationalization functions): Add localename.
100102         (Unicode string functions): Add unistr/u*-mbsnlen.
100103         (Support for maintaining and releasing projects): Add git-version-gen.
100104         (Lone files): Remove directories.
100106 2007-10-08  Ben Pfaff  <blp@gnu.org>
100108         * lib/xmalloca.h: Fix typo in comment.
100110 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
100112         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
100113         when avoiding problems with integer overflow.  Use a portable test
100114         instead.
100116 2007-10-08  Simon Josefsson  <simon@josefsson.org>
100118         * modules/dummy (License): Change to LGPLv2+.
100119         * modules/float (License): Likewise
100120         * modules/realloc (License): Likewise
100121         * modules/stdlib (License): Likewise
100123 2007-10-07  Bruno Haible  <bruno@clisp.org>
100125         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
100126         * floor.c (TWO_MANT_DIG): Likewise.
100127         * ceil.c (TWO_MANT_DIG): Likewise.
100128         Reported by Ben Pfaff.
100130 2007-10-07  Bruno Haible  <bruno@clisp.org>
100132         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
100133         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
100134         * lib/frexp.c (FUNC): Likewise.
100135         * lib/printf-frexp.h (printf_frexp): Likewise.
100136         * lib/printf-frexpl.h (printf_frexpl): Likewise.
100137         * lib/printf-frexp.c (FUNC): Likewise.
100138         Suggested by Jim Meyering.
100140 2007-10-07  Jim Meyering  <meyering@redhat.com>
100142         Make xnanosleep's integer overflow test more robust.
100143         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
100144         so that gcc-4.3.0 doesn't optimize away this test for overflow.
100146 2007-10-07  Bruno Haible  <bruno@clisp.org>
100148         * NEWS: Mention the license change.
100150         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
100151         abbreviations in the modules files.
100153         Change copyright notice from GPLv2+ to GPLv3+.
100154         * README: Change copyright notice.
100155         * MODULES.html.sh: Likewise.
100156         * build-aux/bootstrap.conf: Likewise.
100157         * build-aux/config.libpath: Likewise.
100158         * build-aux/csharpcomp.sh.in: Likewise.
100159         * build-aux/csharpexec.sh.in: Likewise.
100160         * build-aux/install-reloc: Likewise.
100161         * build-aux/javacomp.sh.in: Likewise.
100162         * build-aux/javaexec.sh.in: Likewise.
100163         * build-aux/ldd.sh.in: Likewise.
100164         * build-aux/reloc-ldflags: Likewise.
100165         * build-aux/relocatable.sh.in: Likewise.
100166         * build-aux/x-to-1.in: Likewise.
100167         * check-module: Likewise.
100168         * config/srclistvars.sh: Likewise.
100169         * gnulib-tool: Likewise.
100170         * lib/acl-internal.h: Likewise.
100171         * lib/acl.c: Likewise.
100172         * lib/acl.h: Likewise.
100173         * lib/acl_entries.c: Likewise.
100174         * lib/areadlink-with-size.c: Likewise.
100175         * lib/areadlink.c: Likewise.
100176         * lib/areadlink.h: Likewise.
100177         * lib/argmatch.c: Likewise.
100178         * lib/argmatch.h: Likewise.
100179         * lib/argp-ba.c: Likewise.
100180         * lib/argp-eexst.c: Likewise.
100181         * lib/argp-fmtstream.c: Likewise.
100182         * lib/argp-fmtstream.h: Likewise.
100183         * lib/argp-fs-xinl.c: Likewise.
100184         * lib/argp-help.c: Likewise.
100185         * lib/argp-namefrob.h: Likewise.
100186         * lib/argp-parse.c: Likewise.
100187         * lib/argp-pin.c: Likewise.
100188         * lib/argp-pv.c: Likewise.
100189         * lib/argp-pvh.c: Likewise.
100190         * lib/argp-xinl.c: Likewise.
100191         * lib/argp.h: Likewise.
100192         * lib/at-func.c: Likewise.
100193         * lib/atanl.c: Likewise.
100194         * lib/backupfile.c: Likewise.
100195         * lib/backupfile.h: Likewise.
100196         * lib/basename.c: Likewise.
100197         * lib/binary-io.h: Likewise.
100198         * lib/byteswap.in.h: Likewise.
100199         * lib/c-stack.c: Likewise.
100200         * lib/c-stack.h: Likewise.
100201         * lib/c-strcasestr.c: Likewise.
100202         * lib/c-strcasestr.h: Likewise.
100203         * lib/c-strstr.c: Likewise.
100204         * lib/c-strstr.h: Likewise.
100205         * lib/c-strtod.c: Likewise.
100206         * lib/calloc.c: Likewise.
100207         * lib/canon-host.c: Likewise.
100208         * lib/canon-host.h: Likewise.
100209         * lib/canonicalize-lgpl.c: Likewise.
100210         * lib/canonicalize.c: Likewise.
100211         * lib/canonicalize.h: Likewise.
100212         * lib/ceil.c: Likewise.
100213         * lib/ceilf.c: Likewise.
100214         * lib/ceill.c: Likewise.
100215         * lib/chdir-long.c: Likewise.
100216         * lib/chdir-long.h: Likewise.
100217         * lib/chdir-safer.c: Likewise.
100218         * lib/chdir-safer.h: Likewise.
100219         * lib/chown.c: Likewise.
100220         * lib/classpath.c: Likewise.
100221         * lib/classpath.h: Likewise.
100222         * lib/clean-temp.c: Likewise.
100223         * lib/clean-temp.h: Likewise.
100224         * lib/cloexec.c: Likewise.
100225         * lib/close-stream.c: Likewise.
100226         * lib/closein.c: Likewise.
100227         * lib/closein.h: Likewise.
100228         * lib/closeout.c: Likewise.
100229         * lib/closeout.h: Likewise.
100230         * lib/concat-filename.c: Likewise.
100231         * lib/copy-file.c: Likewise.
100232         * lib/copy-file.h: Likewise.
100233         * lib/count-one-bits.h: Likewise.
100234         * lib/crc.c: Likewise.
100235         * lib/crc.h: Likewise.
100236         * lib/creat-safer.c: Likewise.
100237         * lib/csharpcomp.c: Likewise.
100238         * lib/csharpcomp.h: Likewise.
100239         * lib/csharpexec.c: Likewise.
100240         * lib/csharpexec.h: Likewise.
100241         * lib/cycle-check.c: Likewise.
100242         * lib/cycle-check.h: Likewise.
100243         * lib/diacrit.c: Likewise.
100244         * lib/diacrit.h: Likewise.
100245         * lib/diffseq.h: Likewise.
100246         * lib/dirchownmod.c: Likewise.
100247         * lib/dirent.in.h: Likewise.
100248         * lib/dirfd.c: Likewise.
100249         * lib/dirfd.h: Likewise.
100250         * lib/dirname.c: Likewise.
100251         * lib/dirname.h: Likewise.
100252         * lib/dummy.c: Likewise.
100253         * lib/dup-safer.c: Likewise.
100254         * lib/dup2.c: Likewise.
100255         * lib/eealloc.h: Likewise.
100256         * lib/error.c: Likewise.
100257         * lib/error.h: Likewise.
100258         * lib/euidaccess.c: Likewise.
100259         * lib/exclude.c: Likewise.
100260         * lib/exclude.h: Likewise.
100261         * lib/execute.c: Likewise.
100262         * lib/execute.h: Likewise.
100263         * lib/exitfail.c: Likewise.
100264         * lib/exitfail.h: Likewise.
100265         * lib/expl.c: Likewise.
100266         * lib/fatal-signal.c: Likewise.
100267         * lib/fatal-signal.h: Likewise.
100268         * lib/fbufmode.c: Likewise.
100269         * lib/fbufmode.h: Likewise.
100270         * lib/fchdir.c: Likewise.
100271         * lib/fchmodat.c: Likewise.
100272         * lib/fchownat.c: Likewise.
100273         * lib/fcntl--.h: Likewise.
100274         * lib/fcntl-safer.h: Likewise.
100275         * lib/fcntl.in.h: Likewise.
100276         * lib/fd-safer.c: Likewise.
100277         * lib/fflush.c: Likewise.
100278         * lib/file-has-acl.c: Likewise.
100279         * lib/file-set.c: Likewise.
100280         * lib/file-type.c: Likewise.
100281         * lib/file-type.h: Likewise.
100282         * lib/fileblocks.c: Likewise.
100283         * lib/filemode.c: Likewise.
100284         * lib/filemode.h: Likewise.
100285         * lib/filename.h: Likewise.
100286         * lib/filenamecat.c: Likewise.
100287         * lib/filenamecat.h: Likewise.
100288         * lib/findprog.c: Likewise.
100289         * lib/findprog.h: Likewise.
100290         * lib/float.in.h: Likewise.
100291         * lib/floor.c: Likewise.
100292         * lib/floorf.c: Likewise.
100293         * lib/floorl.c: Likewise.
100294         * lib/fopen-safer.c: Likewise.
100295         * lib/fopen.c: Likewise.
100296         * lib/fpending.c: Likewise.
100297         * lib/fpending.h: Likewise.
100298         * lib/fprintf.c: Likewise.
100299         * lib/fprintftime.h: Likewise.
100300         * lib/fpucw.h: Likewise.
100301         * lib/fpurge.c: Likewise.
100302         * lib/fpurge.h: Likewise.
100303         * lib/freadable.c: Likewise.
100304         * lib/freadable.h: Likewise.
100305         * lib/freadahead.c: Likewise.
100306         * lib/freadahead.h: Likewise.
100307         * lib/freading.c: Likewise.
100308         * lib/freading.h: Likewise.
100309         * lib/free.c: Likewise.
100310         * lib/freopen.c: Likewise.
100311         * lib/frexp.c: Likewise.
100312         * lib/frexpl.c: Likewise.
100313         * lib/fseek.c: Likewise.
100314         * lib/fseterr.c: Likewise.
100315         * lib/fseterr.h: Likewise.
100316         * lib/fstatat.c: Likewise.
100317         * lib/fstrcmp.c: Likewise.
100318         * lib/fstrcmp.h: Likewise.
100319         * lib/fsusage.c: Likewise.
100320         * lib/fsusage.h: Likewise.
100321         * lib/ftell.c: Likewise.
100322         * lib/ftello.c: Likewise.
100323         * lib/fts-cycle.c: Likewise.
100324         * lib/fts.c: Likewise.
100325         * lib/fts_.h: Likewise.
100326         * lib/full-read.c: Likewise.
100327         * lib/full-read.h: Likewise.
100328         * lib/full-write.c: Likewise.
100329         * lib/full-write.h: Likewise.
100330         * lib/fwritable.c: Likewise.
100331         * lib/fwritable.h: Likewise.
100332         * lib/fwriteerror.c: Likewise.
100333         * lib/fwriteerror.h: Likewise.
100334         * lib/fwriting.c: Likewise.
100335         * lib/fwriting.h: Likewise.
100336         * lib/gcd.c: Likewise.
100337         * lib/gcd.h: Likewise.
100338         * lib/getcwd.c: Likewise.
100339         * lib/getdate.h: Likewise.
100340         * lib/getdate.y: Likewise.
100341         * lib/getdomainname.c: Likewise.
100342         * lib/getdomainname.h: Likewise.
100343         * lib/getgroups.c: Likewise.
100344         * lib/gethostname.c: Likewise.
100345         * lib/gethrxtime.c: Likewise.
100346         * lib/gethrxtime.h: Likewise.
100347         * lib/getloadavg.c: Likewise.
100348         * lib/getndelim2.c: Likewise.
100349         * lib/getndelim2.h: Likewise.
100350         * lib/getnline.c: Likewise.
100351         * lib/getnline.h: Likewise.
100352         * lib/getopt.c: Likewise.
100353         * lib/getopt.in.h: Likewise.
100354         * lib/getopt1.c: Likewise.
100355         * lib/getopt_int.h: Likewise.
100356         * lib/getpagesize.h: Likewise.
100357         * lib/getsubopt.c: Likewise.
100358         * lib/gettime.c: Likewise.
100359         * lib/getugroups.c: Likewise.
100360         * lib/getugroups.h: Likewise.
100361         * lib/getusershell.c: Likewise.
100362         * lib/gl_anyavltree_list1.h: Likewise.
100363         * lib/gl_anyavltree_list2.h: Likewise.
100364         * lib/gl_anyhash_list1.h: Likewise.
100365         * lib/gl_anyhash_list2.h: Likewise.
100366         * lib/gl_anylinked_list1.h: Likewise.
100367         * lib/gl_anylinked_list2.h: Likewise.
100368         * lib/gl_anyrbtree_list1.h: Likewise.
100369         * lib/gl_anyrbtree_list2.h: Likewise.
100370         * lib/gl_anytree_list1.h: Likewise.
100371         * lib/gl_anytree_list2.h: Likewise.
100372         * lib/gl_anytree_oset.h: Likewise.
100373         * lib/gl_anytreehash_list1.h: Likewise.
100374         * lib/gl_anytreehash_list2.h: Likewise.
100375         * lib/gl_array_list.c: Likewise.
100376         * lib/gl_array_list.h: Likewise.
100377         * lib/gl_array_oset.c: Likewise.
100378         * lib/gl_array_oset.h: Likewise.
100379         * lib/gl_avltree_list.c: Likewise.
100380         * lib/gl_avltree_list.h: Likewise.
100381         * lib/gl_avltree_oset.c: Likewise.
100382         * lib/gl_avltree_oset.h: Likewise.
100383         * lib/gl_avltreehash_list.c: Likewise.
100384         * lib/gl_avltreehash_list.h: Likewise.
100385         * lib/gl_carray_list.c: Likewise.
100386         * lib/gl_carray_list.h: Likewise.
100387         * lib/gl_linked_list.c: Likewise.
100388         * lib/gl_linked_list.h: Likewise.
100389         * lib/gl_linkedhash_list.c: Likewise.
100390         * lib/gl_linkedhash_list.h: Likewise.
100391         * lib/gl_list.c: Likewise.
100392         * lib/gl_list.h: Likewise.
100393         * lib/gl_oset.c: Likewise.
100394         * lib/gl_oset.h: Likewise.
100395         * lib/gl_rbtree_list.c: Likewise.
100396         * lib/gl_rbtree_list.h: Likewise.
100397         * lib/gl_rbtree_oset.c: Likewise.
100398         * lib/gl_rbtree_oset.h: Likewise.
100399         * lib/gl_rbtreehash_list.c: Likewise.
100400         * lib/gl_rbtreehash_list.h: Likewise.
100401         * lib/gl_sublist.c: Likewise.
100402         * lib/gl_sublist.h: Likewise.
100403         * lib/group-member.c: Likewise.
100404         * lib/group-member.h: Likewise.
100405         * lib/hard-locale.c: Likewise.
100406         * lib/hard-locale.h: Likewise.
100407         * lib/hash-pjw.c: Likewise.
100408         * lib/hash-pjw.h: Likewise.
100409         * lib/hash-triple.c: Likewise.
100410         * lib/hash.c: Likewise.
100411         * lib/hash.h: Likewise.
100412         * lib/human.c: Likewise.
100413         * lib/human.h: Likewise.
100414         * lib/i-ring.c: Likewise.
100415         * lib/i-ring.h: Likewise.
100416         * lib/idcache.c: Likewise.
100417         * lib/imaxabs.c: Likewise.
100418         * lib/imaxdiv.c: Likewise.
100419         * lib/inet_pton.c: Likewise.
100420         * lib/inet_pton.h: Likewise.
100421         * lib/intprops.h: Likewise.
100422         * lib/inttostr.c: Likewise.
100423         * lib/inttostr.h: Likewise.
100424         * lib/inttypes.in.h: Likewise.
100425         * lib/isapipe.c: Likewise.
100426         * lib/isdir.c: Likewise.
100427         * lib/isnan.c: Likewise.
100428         * lib/isnan.h: Likewise.
100429         * lib/isnanf.c: Likewise.
100430         * lib/isnanf.h: Likewise.
100431         * lib/isnanl-nolibm.h: Likewise.
100432         * lib/isnanl.c: Likewise.
100433         * lib/isnanl.h: Likewise.
100434         * lib/javacomp.c: Likewise.
100435         * lib/javacomp.h: Likewise.
100436         * lib/javaexec.c: Likewise.
100437         * lib/javaexec.h: Likewise.
100438         * lib/javaversion.c: Likewise.
100439         * lib/javaversion.h: Likewise.
100440         * lib/javaversion.java: Likewise.
100441         * lib/lbrkprop.h: Likewise.
100442         * lib/lchmod.h: Likewise.
100443         * lib/lchown.c: Likewise.
100444         * lib/ldexpl.c: Likewise.
100445         * lib/linebreak.c: Likewise.
100446         * lib/linebreak.h: Likewise.
100447         * lib/linebuffer.c: Likewise.
100448         * lib/linebuffer.h: Likewise.
100449         * lib/locale.in.h: Likewise.
100450         * lib/logl.c: Likewise.
100451         * lib/long-options.c: Likewise.
100452         * lib/long-options.h: Likewise.
100453         * lib/lstat.c: Likewise.
100454         * lib/lstat.h: Likewise.
100455         * lib/math.in.h: Likewise.
100456         * lib/mbchar.c: Likewise.
100457         * lib/mbchar.h: Likewise.
100458         * lib/mbfile.h: Likewise.
100459         * lib/mbiter.h: Likewise.
100460         * lib/mbscasecmp.c: Likewise.
100461         * lib/mbscasestr.c: Likewise.
100462         * lib/mbschr.c: Likewise.
100463         * lib/mbscspn.c: Likewise.
100464         * lib/mbslen.c: Likewise.
100465         * lib/mbsncasecmp.c: Likewise.
100466         * lib/mbsnlen.c: Likewise.
100467         * lib/mbspbrk.c: Likewise.
100468         * lib/mbspcasecmp.c: Likewise.
100469         * lib/mbsrchr.c: Likewise.
100470         * lib/mbssep.c: Likewise.
100471         * lib/mbsspn.c: Likewise.
100472         * lib/mbsstr.c: Likewise.
100473         * lib/mbstok_r.c: Likewise.
100474         * lib/mbswidth.c: Likewise.
100475         * lib/mbswidth.h: Likewise.
100476         * lib/mbuiter.h: Likewise.
100477         * lib/memcasecmp.c: Likewise.
100478         * lib/memcasecmp.h: Likewise.
100479         * lib/memchr.c: Likewise.
100480         * lib/memcmp.c: Likewise.
100481         * lib/memcoll.c: Likewise.
100482         * lib/memcoll.h: Likewise.
100483         * lib/memcpy.c: Likewise.
100484         * lib/memrchr.c: Likewise.
100485         * lib/mkancesdirs.c: Likewise.
100486         * lib/mkdir-p.c: Likewise.
100487         * lib/mkdir-p.h: Likewise.
100488         * lib/mkdir.c: Likewise.
100489         * lib/mkdirat.c: Likewise.
100490         * lib/mkdtemp.c: Likewise.
100491         * lib/mkstemp-safer.c: Likewise.
100492         * lib/mkstemp.c: Likewise.
100493         * lib/modechange.c: Likewise.
100494         * lib/modechange.h: Likewise.
100495         * lib/mountlist.c: Likewise.
100496         * lib/mountlist.h: Likewise.
100497         * lib/mpsort.c: Likewise.
100498         * lib/nanosleep.c: Likewise.
100499         * lib/obstack.c: Likewise.
100500         * lib/obstack.h: Likewise.
100501         * lib/open-safer.c: Likewise.
100502         * lib/open.c: Likewise.
100503         * lib/openat-die.c: Likewise.
100504         * lib/openat-priv.h: Likewise.
100505         * lib/openat-proc.c: Likewise.
100506         * lib/openat.c: Likewise.
100507         * lib/openat.h: Likewise.
100508         * lib/pagealign_alloc.c: Likewise.
100509         * lib/pagealign_alloc.h: Likewise.
100510         * lib/physmem.c: Likewise.
100511         * lib/physmem.h: Likewise.
100512         * lib/pipe-safer.c: Likewise.
100513         * lib/pipe.c: Likewise.
100514         * lib/pipe.h: Likewise.
100515         * lib/posixtm.c: Likewise.
100516         * lib/posixtm.h: Likewise.
100517         * lib/posixver.c: Likewise.
100518         * lib/printf-frexp.c: Likewise.
100519         * lib/printf-frexp.h: Likewise.
100520         * lib/printf-frexpl.c: Likewise.
100521         * lib/printf-frexpl.h: Likewise.
100522         * lib/printf.c: Likewise.
100523         * lib/progname.c: Likewise.
100524         * lib/progname.h: Likewise.
100525         * lib/progreloc.c: Likewise.
100526         * lib/putenv.c: Likewise.
100527         * lib/quote.c: Likewise.
100528         * lib/quote.h: Likewise.
100529         * lib/quotearg.c: Likewise.
100530         * lib/quotearg.h: Likewise.
100531         * lib/raise.c: Likewise.
100532         * lib/readline.c: Likewise.
100533         * lib/readline.h: Likewise.
100534         * lib/readlink.c: Likewise.
100535         * lib/readtokens.c: Likewise.
100536         * lib/readtokens.h: Likewise.
100537         * lib/readtokens0.c: Likewise.
100538         * lib/readtokens0.h: Likewise.
100539         * lib/readutmp.c: Likewise.
100540         * lib/readutmp.h: Likewise.
100541         * lib/realloc.c: Likewise.
100542         * lib/relocwrapper.c: Likewise.
100543         * lib/rename-dest-slash.c: Likewise.
100544         * lib/rename.c: Likewise.
100545         * lib/rmdir.c: Likewise.
100546         * lib/rpmatch.c: Likewise.
100547         * lib/safe-read.c: Likewise.
100548         * lib/safe-read.h: Likewise.
100549         * lib/safe-write.c: Likewise.
100550         * lib/safe-write.h: Likewise.
100551         * lib/same-inode.h: Likewise.
100552         * lib/same.c: Likewise.
100553         * lib/same.h: Likewise.
100554         * lib/save-cwd.c: Likewise.
100555         * lib/save-cwd.h: Likewise.
100556         * lib/savedir.c: Likewise.
100557         * lib/savedir.h: Likewise.
100558         * lib/savewd.c: Likewise.
100559         * lib/savewd.h: Likewise.
100560         * lib/search.in.h: Likewise.
100561         * lib/setenv.c: Likewise.
100562         * lib/setenv.h: Likewise.
100563         * lib/settime.c: Likewise.
100564         * lib/sh-quote.c: Likewise.
100565         * lib/sh-quote.h: Likewise.
100566         * lib/sig2str.c: Likewise.
100567         * lib/sig2str.h: Likewise.
100568         * lib/signal.in.h: Likewise.
100569         * lib/signbitd.c: Likewise.
100570         * lib/signbitf.c: Likewise.
100571         * lib/signbitl.c: Likewise.
100572         * lib/sigprocmask.c: Likewise.
100573         * lib/sincosl.c: Likewise.
100574         * lib/sleep.c: Likewise.
100575         * lib/sprintf.c: Likewise.
100576         * lib/sqrtl.c: Likewise.
100577         * lib/stat-time.h: Likewise.
100578         * lib/stdio--.h: Likewise.
100579         * lib/stdio-safer.h: Likewise.
100580         * lib/stdlib--.h: Likewise.
100581         * lib/stdlib-safer.h: Likewise.
100582         * lib/stdlib.in.h: Likewise.
100583         * lib/stpcpy.c: Likewise.
100584         * lib/stpncpy.c: Likewise.
100585         * lib/strchrnul.c: Likewise.
100586         * lib/strcspn.c: Likewise.
100587         * lib/strerror.c: Likewise.
100588         * lib/strftime.c: Likewise.
100589         * lib/strftime.h: Likewise.
100590         * lib/striconveh.c: Likewise.
100591         * lib/striconveh.h: Likewise.
100592         * lib/striconveha.c: Likewise.
100593         * lib/striconveha.h: Likewise.
100594         * lib/stripslash.c: Likewise.
100595         * lib/strnlen1.c: Likewise.
100596         * lib/strnlen1.h: Likewise.
100597         * lib/strtod.c: Likewise.
100598         * lib/strtoimax.c: Likewise.
100599         * lib/strtok_r.c: Likewise.
100600         * lib/strtol.c: Likewise.
100601         * lib/strtoll.c: Likewise.
100602         * lib/strtoul.c: Likewise.
100603         * lib/strtoull.c: Likewise.
100604         * lib/sysexits.in.h: Likewise.
100605         * lib/tempname.c: Likewise.
100606         * lib/tempname.h: Likewise.
100607         * lib/timespec.h: Likewise.
100608         * lib/tls.c: Likewise.
100609         * lib/tls.h: Likewise.
100610         * lib/tmpdir.c: Likewise.
100611         * lib/tmpdir.h: Likewise.
100612         * lib/tmpfile-safer.c: Likewise.
100613         * lib/tmpfile.c: Likewise.
100614         * lib/trigl.c: Likewise.
100615         * lib/trigl.h: Likewise.
100616         * lib/trim.c: Likewise.
100617         * lib/trim.h: Likewise.
100618         * lib/trunc.c: Likewise.
100619         * lib/truncf.c: Likewise.
100620         * lib/truncl.c: Likewise.
100621         * lib/tsearch.c: Likewise.
100622         * lib/unicodeio.c: Likewise.
100623         * lib/unicodeio.h: Likewise.
100624         * lib/unistd--.h: Likewise.
100625         * lib/unistd-safer.h: Likewise.
100626         * lib/unistdio/ulc-fprintf.c: Likewise.
100627         * lib/unistdio/ulc-vfprintf.c: Likewise.
100628         * lib/unlinkdir.c: Likewise.
100629         * lib/unlinkdir.h: Likewise.
100630         * lib/unlocked-io.h: Likewise.
100631         * lib/unsetenv.c: Likewise.
100632         * lib/userspec.c: Likewise.
100633         * lib/utime.c: Likewise.
100634         * lib/utimecmp.c: Likewise.
100635         * lib/utimecmp.h: Likewise.
100636         * lib/utimens.c: Likewise.
100637         * lib/verify.h: Likewise.
100638         * lib/verror.c: Likewise.
100639         * lib/verror.h: Likewise.
100640         * lib/version-etc-fsf.c: Likewise.
100641         * lib/version-etc.c: Likewise.
100642         * lib/version-etc.h: Likewise.
100643         * lib/vfprintf.c: Likewise.
100644         * lib/vprintf.c: Likewise.
100645         * lib/vsprintf.c: Likewise.
100646         * lib/w32spawn.h: Likewise.
100647         * lib/wait-process.c: Likewise.
100648         * lib/wait-process.h: Likewise.
100649         * lib/wcwidth.c: Likewise.
100650         * lib/write-any-file.c: Likewise.
100651         * lib/xalloc-die.c: Likewise.
100652         * lib/xalloc.h: Likewise.
100653         * lib/xasprintf.c: Likewise.
100654         * lib/xgetcwd.c: Likewise.
100655         * lib/xgetcwd.h: Likewise.
100656         * lib/xgetdomainname.c: Likewise.
100657         * lib/xgetdomainname.h: Likewise.
100658         * lib/xgethostname.c: Likewise.
100659         * lib/xmalloc.c: Likewise.
100660         * lib/xmalloca.c: Likewise.
100661         * lib/xmalloca.h: Likewise.
100662         * lib/xmemcoll.c: Likewise.
100663         * lib/xnanosleep.c: Likewise.
100664         * lib/xreadlink.c: Likewise.
100665         * lib/xreadlink.h: Likewise.
100666         * lib/xsetenv.c: Likewise.
100667         * lib/xsetenv.h: Likewise.
100668         * lib/xstriconv.c: Likewise.
100669         * lib/xstriconv.h: Likewise.
100670         * lib/xstrndup.c: Likewise.
100671         * lib/xstrndup.h: Likewise.
100672         * lib/xstrtod.c: Likewise.
100673         * lib/xstrtod.h: Likewise.
100674         * lib/xstrtol-error.c: Likewise.
100675         * lib/xstrtol.c: Likewise.
100676         * lib/xstrtol.h: Likewise.
100677         * lib/xtime.h: Likewise.
100678         * lib/xvasprintf.c: Likewise.
100679         * lib/xvasprintf.h: Likewise.
100680         * lib/yesno.c: Likewise.
100681         * lib/yesno.h: Likewise.
100682         * posix-modules: Likewise.
100683         * tests/test-alloca-opt.c: Likewise.
100684         * tests/test-arcfour.c: Likewise.
100685         * tests/test-arctwo.c: Likewise.
100686         * tests/test-argmatch.c: Likewise.
100687         * tests/test-argp-2.sh: Likewise.
100688         * tests/test-argp.c: Likewise.
100689         * tests/test-arpa_inet.c: Likewise.
100690         * tests/test-array_list.c: Likewise.
100691         * tests/test-array_oset.c: Likewise.
100692         * tests/test-atexit.c: Likewise.
100693         * tests/test-avltree_list.c: Likewise.
100694         * tests/test-avltree_oset.c: Likewise.
100695         * tests/test-avltreehash_list.c: Likewise.
100696         * tests/test-base64.c: Likewise.
100697         * tests/test-binary-io.c: Likewise.
100698         * tests/test-byteswap.c: Likewise.
100699         * tests/test-c-ctype.c: Likewise.
100700         * tests/test-c-strcasecmp.c: Likewise.
100701         * tests/test-c-strcasestr.c: Likewise.
100702         * tests/test-c-strncasecmp.c: Likewise.
100703         * tests/test-c-strstr.c: Likewise.
100704         * tests/test-canonicalize-lgpl.c: Likewise.
100705         * tests/test-canonicalize.c: Likewise.
100706         * tests/test-carray_list.c: Likewise.
100707         * tests/test-ceilf.c: Likewise.
100708         * tests/test-ceill.c: Likewise.
100709         * tests/test-count-one-bits.c: Likewise.
100710         * tests/test-crc.c: Likewise.
100711         * tests/test-dirname.c: Likewise.
100712         * tests/test-fbufmode.c: Likewise.
100713         * tests/test-fcntl.c: Likewise.
100714         * tests/test-fflush.c: Likewise.
100715         * tests/test-floorf.c: Likewise.
100716         * tests/test-floorl.c: Likewise.
100717         * tests/test-fopen.c: Likewise.
100718         * tests/test-fprintf-posix.c: Likewise.
100719         * tests/test-fprintf-posix.h: Likewise.
100720         * tests/test-fpurge.c: Likewise.
100721         * tests/test-freadable.c: Likewise.
100722         * tests/test-freadahead.c: Likewise.
100723         * tests/test-freading.c: Likewise.
100724         * tests/test-freopen.c: Likewise.
100725         * tests/test-frexp.c: Likewise.
100726         * tests/test-frexpl.c: Likewise.
100727         * tests/test-fseek.c: Likewise.
100728         * tests/test-fseeko.c: Likewise.
100729         * tests/test-fseterr.c: Likewise.
100730         * tests/test-fstrcmp.c: Likewise.
100731         * tests/test-ftell.c: Likewise.
100732         * tests/test-ftello.c: Likewise.
100733         * tests/test-fwritable.c: Likewise.
100734         * tests/test-fwriting.c: Likewise.
100735         * tests/test-getaddrinfo.c: Likewise.
100736         * tests/test-getpass.c: Likewise.
100737         * tests/test-gettimeofday.c: Likewise.
100738         * tests/test-hmac-md5.c: Likewise.
100739         * tests/test-hmac-sha1.c: Likewise.
100740         * tests/test-iconv.c: Likewise.
100741         * tests/test-iconvme.c: Likewise.
100742         * tests/test-inttypes.c: Likewise.
100743         * tests/test-isnan.c: Likewise.
100744         * tests/test-isnanf.c: Likewise.
100745         * tests/test-isnanl-nolibm.c: Likewise.
100746         * tests/test-isnanl.c: Likewise.
100747         * tests/test-isnanl.h: Likewise.
100748         * tests/test-ldexpl.c: Likewise.
100749         * tests/test-linked_list.c: Likewise.
100750         * tests/test-linkedhash_list.c: Likewise.
100751         * tests/test-locale.c: Likewise.
100752         * tests/test-localename.c: Likewise.
100753         * tests/test-lock.c: Likewise.
100754         * tests/test-lseek.c: Likewise.
100755         * tests/test-malloca.c: Likewise.
100756         * tests/test-math.c: Likewise.
100757         * tests/test-mbscasecmp.c: Likewise.
100758         * tests/test-mbscasestr1.c: Likewise.
100759         * tests/test-mbscasestr2.c: Likewise.
100760         * tests/test-mbscasestr3.c: Likewise.
100761         * tests/test-mbscasestr4.c: Likewise.
100762         * tests/test-mbschr.c: Likewise.
100763         * tests/test-mbscspn.c: Likewise.
100764         * tests/test-mbsncasecmp.c: Likewise.
100765         * tests/test-mbspbrk.c: Likewise.
100766         * tests/test-mbspcasecmp.c: Likewise.
100767         * tests/test-mbsrchr.c: Likewise.
100768         * tests/test-mbsspn.c: Likewise.
100769         * tests/test-mbsstr1.c: Likewise.
100770         * tests/test-mbsstr2.c: Likewise.
100771         * tests/test-mbsstr3.c: Likewise.
100772         * tests/test-md5.c: Likewise.
100773         * tests/test-memmem.c: Likewise.
100774         * tests/test-netinet_in.c: Likewise.
100775         * tests/test-open.c: Likewise.
100776         * tests/test-printf-frexp.c: Likewise.
100777         * tests/test-printf-frexpl.c: Likewise.
100778         * tests/test-printf-posix.c: Likewise.
100779         * tests/test-printf-posix.h: Likewise.
100780         * tests/test-rbtree_list.c: Likewise.
100781         * tests/test-rbtree_oset.c: Likewise.
100782         * tests/test-rbtreehash_list.c: Likewise.
100783         * tests/test-read-file.c: Likewise.
100784         * tests/test-rijndael.c: Likewise.
100785         * tests/test-search.c: Likewise.
100786         * tests/test-signbit.c: Likewise.
100787         * tests/test-sleep.c: Likewise.
100788         * tests/test-snprintf-posix.c: Likewise.
100789         * tests/test-snprintf-posix.h: Likewise.
100790         * tests/test-snprintf.c: Likewise.
100791         * tests/test-sprintf-posix.c: Likewise.
100792         * tests/test-sprintf-posix.h: Likewise.
100793         * tests/test-stat-time.c: Likewise.
100794         * tests/test-stdbool.c: Likewise.
100795         * tests/test-stdint.c: Likewise.
100796         * tests/test-stdio.c: Likewise.
100797         * tests/test-stdlib.c: Likewise.
100798         * tests/test-stpncpy.c: Likewise.
100799         * tests/test-strcasestr.c: Likewise.
100800         * tests/test-striconv.c: Likewise.
100801         * tests/test-striconveh.c: Likewise.
100802         * tests/test-striconveha.c: Likewise.
100803         * tests/test-string.c: Likewise.
100804         * tests/test-sys_select.c: Likewise.
100805         * tests/test-sys_socket.c: Likewise.
100806         * tests/test-sys_stat.c: Likewise.
100807         * tests/test-sys_time.c: Likewise.
100808         * tests/test-sysexits.c: Likewise.
100809         * tests/test-time.c: Likewise.
100810         * tests/test-tls.c: Likewise.
100811         * tests/test-trunc.c: Likewise.
100812         * tests/test-truncf.c: Likewise.
100813         * tests/test-truncl.c: Likewise.
100814         * tests/test-unistd.c: Likewise.
100815         * tests/test-vasnprintf-posix.c: Likewise.
100816         * tests/test-vasnprintf-posix2.c: Likewise.
100817         * tests/test-vasnprintf.c: Likewise.
100818         * tests/test-vasprintf-posix.c: Likewise.
100819         * tests/test-vasprintf.c: Likewise.
100820         * tests/test-verify.c: Likewise.
100821         * tests/test-vfprintf-posix.c: Likewise.
100822         * tests/test-vprintf-posix.c: Likewise.
100823         * tests/test-vsnprintf-posix.c: Likewise.
100824         * tests/test-vsnprintf.c: Likewise.
100825         * tests/test-vsprintf-posix.c: Likewise.
100826         * tests/test-wchar.c: Likewise.
100827         * tests/test-wctype.c: Likewise.
100828         * tests/test-wcwidth.c: Likewise.
100829         * tests/test-xstrtol.c: Likewise.
100830         * tests/test-xvasprintf.c: Likewise.
100831         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
100832         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
100833         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
100834         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
100835         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
100836         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
100837         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
100838         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
100839         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
100840         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
100841         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
100842         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
100843         * tests/uniname/test-uninames.c: Likewise.
100844         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
100845         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
100846         * tests/unistdio/test-u16-printf1.h: Likewise.
100847         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
100848         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
100849         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
100850         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
100851         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
100852         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
100853         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
100854         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
100855         * tests/unistdio/test-u32-printf1.h: Likewise.
100856         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
100857         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
100858         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
100859         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
100860         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
100861         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
100862         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
100863         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
100864         * tests/unistdio/test-u8-printf1.h: Likewise.
100865         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
100866         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
100867         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
100868         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
100869         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
100870         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
100871         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
100872         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
100873         * tests/unistdio/test-ulc-printf1.h: Likewise.
100874         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
100875         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
100876         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
100877         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
100878         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
100879         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
100880         * tests/uniwidth/test-u16-strwidth.c: Likewise.
100881         * tests/uniwidth/test-u16-width.c: Likewise.
100882         * tests/uniwidth/test-u32-strwidth.c: Likewise.
100883         * tests/uniwidth/test-u32-width.c: Likewise.
100884         * tests/uniwidth/test-u8-strwidth.c: Likewise.
100885         * tests/uniwidth/test-u8-width.c: Likewise.
100886         * tests/uniwidth/test-uc_width.c: Likewise.
100887         * config/srclist-update: Likewise.
100888         (fixlicense): Update to GPLv3+.
100890         Change copyright notice from LGPLv2.1+ to LGPLv3+.
100891         * tests/test-tsearch.c: Change copyright notice.
100893         Change copyright notice from LGPLv2.0+ to LGPLv3+.
100894         * lib/c-strcaseeq.h: Change copyright notice.
100895         * lib/streq.h: Likewise.
100896         * lib/uniconv.h: Likewise.
100897         * lib/uniconv/u-conv-from-enc.h: Likewise.
100898         * lib/uniconv/u-conv-to-enc.h: Likewise.
100899         * lib/uniconv/u-strconv-from-enc.h: Likewise.
100900         * lib/uniconv/u-strconv-to-enc.h: Likewise.
100901         * lib/uniconv/u16-conv-from-enc.c: Likewise.
100902         * lib/uniconv/u16-conv-to-enc.c: Likewise.
100903         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
100904         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
100905         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
100906         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
100907         * lib/uniconv/u32-conv-from-enc.c: Likewise.
100908         * lib/uniconv/u32-conv-to-enc.c: Likewise.
100909         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
100910         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
100911         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
100912         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
100913         * lib/uniconv/u8-conv-from-enc.c: Likewise.
100914         * lib/uniconv/u8-conv-to-enc.c: Likewise.
100915         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
100916         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
100917         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
100918         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
100919         * lib/uniname.h: Likewise.
100920         * lib/uniname/uniname.c: Likewise.
100921         * lib/unistdio.h: Likewise.
100922         * lib/unistdio/u-asnprintf.h: Likewise.
100923         * lib/unistdio/u-asprintf.h: Likewise.
100924         * lib/unistdio/u-printf-args.c: Likewise.
100925         * lib/unistdio/u-printf-args.h: Likewise.
100926         * lib/unistdio/u-printf-parse.h: Likewise.
100927         * lib/unistdio/u-snprintf.h: Likewise.
100928         * lib/unistdio/u-sprintf.h: Likewise.
100929         * lib/unistdio/u-vasprintf.h: Likewise.
100930         * lib/unistdio/u-vsnprintf.h: Likewise.
100931         * lib/unistdio/u-vsprintf.h: Likewise.
100932         * lib/unistdio/u16-asnprintf.c: Likewise.
100933         * lib/unistdio/u16-asprintf.c: Likewise.
100934         * lib/unistdio/u16-printf-parse.c: Likewise.
100935         * lib/unistdio/u16-snprintf.c: Likewise.
100936         * lib/unistdio/u16-sprintf.c: Likewise.
100937         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
100938         * lib/unistdio/u16-u16-asprintf.c: Likewise.
100939         * lib/unistdio/u16-u16-snprintf.c: Likewise.
100940         * lib/unistdio/u16-u16-sprintf.c: Likewise.
100941         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
100942         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
100943         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
100944         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
100945         * lib/unistdio/u16-vasnprintf.c: Likewise.
100946         * lib/unistdio/u16-vasprintf.c: Likewise.
100947         * lib/unistdio/u16-vsnprintf.c: Likewise.
100948         * lib/unistdio/u16-vsprintf.c: Likewise.
100949         * lib/unistdio/u32-asnprintf.c: Likewise.
100950         * lib/unistdio/u32-asprintf.c: Likewise.
100951         * lib/unistdio/u32-printf-parse.c: Likewise.
100952         * lib/unistdio/u32-snprintf.c: Likewise.
100953         * lib/unistdio/u32-sprintf.c: Likewise.
100954         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
100955         * lib/unistdio/u32-u32-asprintf.c: Likewise.
100956         * lib/unistdio/u32-u32-snprintf.c: Likewise.
100957         * lib/unistdio/u32-u32-sprintf.c: Likewise.
100958         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
100959         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
100960         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
100961         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
100962         * lib/unistdio/u32-vasnprintf.c: Likewise.
100963         * lib/unistdio/u32-vasprintf.c: Likewise.
100964         * lib/unistdio/u32-vsnprintf.c: Likewise.
100965         * lib/unistdio/u32-vsprintf.c: Likewise.
100966         * lib/unistdio/u8-asnprintf.c: Likewise.
100967         * lib/unistdio/u8-asprintf.c: Likewise.
100968         * lib/unistdio/u8-printf-parse.c: Likewise.
100969         * lib/unistdio/u8-snprintf.c: Likewise.
100970         * lib/unistdio/u8-sprintf.c: Likewise.
100971         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
100972         * lib/unistdio/u8-u8-asprintf.c: Likewise.
100973         * lib/unistdio/u8-u8-snprintf.c: Likewise.
100974         * lib/unistdio/u8-u8-sprintf.c: Likewise.
100975         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
100976         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
100977         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
100978         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
100979         * lib/unistdio/u8-vasnprintf.c: Likewise.
100980         * lib/unistdio/u8-vasprintf.c: Likewise.
100981         * lib/unistdio/u8-vsnprintf.c: Likewise.
100982         * lib/unistdio/u8-vsprintf.c: Likewise.
100983         * lib/unistdio/ulc-asnprintf.c: Likewise.
100984         * lib/unistdio/ulc-asprintf.c: Likewise.
100985         * lib/unistdio/ulc-printf-parse.c: Likewise.
100986         * lib/unistdio/ulc-snprintf.c: Likewise.
100987         * lib/unistdio/ulc-sprintf.c: Likewise.
100988         * lib/unistdio/ulc-vasnprintf.c: Likewise.
100989         * lib/unistdio/ulc-vasprintf.c: Likewise.
100990         * lib/unistdio/ulc-vsnprintf.c: Likewise.
100991         * lib/unistdio/ulc-vsprintf.c: Likewise.
100992         * lib/unistr.h: Likewise.
100993         * lib/unistr/u-cpy-alloc.h: Likewise.
100994         * lib/unistr/u-cpy.h: Likewise.
100995         * lib/unistr/u-endswith.h: Likewise.
100996         * lib/unistr/u-move.h: Likewise.
100997         * lib/unistr/u-set.h: Likewise.
100998         * lib/unistr/u-startswith.h: Likewise.
100999         * lib/unistr/u-stpcpy.h: Likewise.
101000         * lib/unistr/u-stpncpy.h: Likewise.
101001         * lib/unistr/u-strcat.h: Likewise.
101002         * lib/unistr/u-strcpy.h: Likewise.
101003         * lib/unistr/u-strcspn.h: Likewise.
101004         * lib/unistr/u-strdup.h: Likewise.
101005         * lib/unistr/u-strlen.h: Likewise.
101006         * lib/unistr/u-strncat.h: Likewise.
101007         * lib/unistr/u-strncpy.h: Likewise.
101008         * lib/unistr/u-strnlen.h: Likewise.
101009         * lib/unistr/u-strpbrk.h: Likewise.
101010         * lib/unistr/u-strspn.h: Likewise.
101011         * lib/unistr/u-strstr.h: Likewise.
101012         * lib/unistr/u-strtok.h: Likewise.
101013         * lib/unistr/u16-check.c: Likewise.
101014         * lib/unistr/u16-chr.c: Likewise.
101015         * lib/unistr/u16-cmp.c: Likewise.
101016         * lib/unistr/u16-cpy-alloc.c: Likewise.
101017         * lib/unistr/u16-cpy.c: Likewise.
101018         * lib/unistr/u16-endswith.c: Likewise.
101019         * lib/unistr/u16-mblen.c: Likewise.
101020         * lib/unistr/u16-mbsnlen.c: Likewise.
101021         * lib/unistr/u16-mbtouc-aux.c: Likewise.
101022         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
101023         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
101024         * lib/unistr/u16-mbtouc.c: Likewise.
101025         * lib/unistr/u16-mbtoucr.c: Likewise.
101026         * lib/unistr/u16-move.c: Likewise.
101027         * lib/unistr/u16-next.c: Likewise.
101028         * lib/unistr/u16-prev.c: Likewise.
101029         * lib/unistr/u16-set.c: Likewise.
101030         * lib/unistr/u16-startswith.c: Likewise.
101031         * lib/unistr/u16-stpcpy.c: Likewise.
101032         * lib/unistr/u16-stpncpy.c: Likewise.
101033         * lib/unistr/u16-strcat.c: Likewise.
101034         * lib/unistr/u16-strchr.c: Likewise.
101035         * lib/unistr/u16-strcmp.c: Likewise.
101036         * lib/unistr/u16-strcpy.c: Likewise.
101037         * lib/unistr/u16-strcspn.c: Likewise.
101038         * lib/unistr/u16-strdup.c: Likewise.
101039         * lib/unistr/u16-strlen.c: Likewise.
101040         * lib/unistr/u16-strmblen.c: Likewise.
101041         * lib/unistr/u16-strmbtouc.c: Likewise.
101042         * lib/unistr/u16-strncat.c: Likewise.
101043         * lib/unistr/u16-strncmp.c: Likewise.
101044         * lib/unistr/u16-strncpy.c: Likewise.
101045         * lib/unistr/u16-strnlen.c: Likewise.
101046         * lib/unistr/u16-strpbrk.c: Likewise.
101047         * lib/unistr/u16-strrchr.c: Likewise.
101048         * lib/unistr/u16-strspn.c: Likewise.
101049         * lib/unistr/u16-strstr.c: Likewise.
101050         * lib/unistr/u16-strtok.c: Likewise.
101051         * lib/unistr/u16-to-u32.c: Likewise.
101052         * lib/unistr/u16-to-u8.c: Likewise.
101053         * lib/unistr/u16-uctomb-aux.c: Likewise.
101054         * lib/unistr/u16-uctomb.c: Likewise.
101055         * lib/unistr/u32-check.c: Likewise.
101056         * lib/unistr/u32-chr.c: Likewise.
101057         * lib/unistr/u32-cmp.c: Likewise.
101058         * lib/unistr/u32-cpy-alloc.c: Likewise.
101059         * lib/unistr/u32-cpy.c: Likewise.
101060         * lib/unistr/u32-endswith.c: Likewise.
101061         * lib/unistr/u32-mblen.c: Likewise.
101062         * lib/unistr/u32-mbsnlen.c: Likewise.
101063         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
101064         * lib/unistr/u32-mbtouc.c: Likewise.
101065         * lib/unistr/u32-mbtoucr.c: Likewise.
101066         * lib/unistr/u32-move.c: Likewise.
101067         * lib/unistr/u32-next.c: Likewise.
101068         * lib/unistr/u32-prev.c: Likewise.
101069         * lib/unistr/u32-set.c: Likewise.
101070         * lib/unistr/u32-startswith.c: Likewise.
101071         * lib/unistr/u32-stpcpy.c: Likewise.
101072         * lib/unistr/u32-stpncpy.c: Likewise.
101073         * lib/unistr/u32-strcat.c: Likewise.
101074         * lib/unistr/u32-strchr.c: Likewise.
101075         * lib/unistr/u32-strcmp.c: Likewise.
101076         * lib/unistr/u32-strcpy.c: Likewise.
101077         * lib/unistr/u32-strcspn.c: Likewise.
101078         * lib/unistr/u32-strdup.c: Likewise.
101079         * lib/unistr/u32-strlen.c: Likewise.
101080         * lib/unistr/u32-strmblen.c: Likewise.
101081         * lib/unistr/u32-strmbtouc.c: Likewise.
101082         * lib/unistr/u32-strncat.c: Likewise.
101083         * lib/unistr/u32-strncmp.c: Likewise.
101084         * lib/unistr/u32-strncpy.c: Likewise.
101085         * lib/unistr/u32-strnlen.c: Likewise.
101086         * lib/unistr/u32-strpbrk.c: Likewise.
101087         * lib/unistr/u32-strrchr.c: Likewise.
101088         * lib/unistr/u32-strspn.c: Likewise.
101089         * lib/unistr/u32-strstr.c: Likewise.
101090         * lib/unistr/u32-strtok.c: Likewise.
101091         * lib/unistr/u32-to-u16.c: Likewise.
101092         * lib/unistr/u32-to-u8.c: Likewise.
101093         * lib/unistr/u32-uctomb.c: Likewise.
101094         * lib/unistr/u8-check.c: Likewise.
101095         * lib/unistr/u8-chr.c: Likewise.
101096         * lib/unistr/u8-cmp.c: Likewise.
101097         * lib/unistr/u8-cpy-alloc.c: Likewise.
101098         * lib/unistr/u8-cpy.c: Likewise.
101099         * lib/unistr/u8-endswith.c: Likewise.
101100         * lib/unistr/u8-mblen.c: Likewise.
101101         * lib/unistr/u8-mbsnlen.c: Likewise.
101102         * lib/unistr/u8-mbtouc-aux.c: Likewise.
101103         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
101104         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
101105         * lib/unistr/u8-mbtouc.c: Likewise.
101106         * lib/unistr/u8-mbtoucr.c: Likewise.
101107         * lib/unistr/u8-move.c: Likewise.
101108         * lib/unistr/u8-next.c: Likewise.
101109         * lib/unistr/u8-prev.c: Likewise.
101110         * lib/unistr/u8-set.c: Likewise.
101111         * lib/unistr/u8-startswith.c: Likewise.
101112         * lib/unistr/u8-stpcpy.c: Likewise.
101113         * lib/unistr/u8-stpncpy.c: Likewise.
101114         * lib/unistr/u8-strcat.c: Likewise.
101115         * lib/unistr/u8-strchr.c: Likewise.
101116         * lib/unistr/u8-strcmp.c: Likewise.
101117         * lib/unistr/u8-strcpy.c: Likewise.
101118         * lib/unistr/u8-strcspn.c: Likewise.
101119         * lib/unistr/u8-strdup.c: Likewise.
101120         * lib/unistr/u8-strlen.c: Likewise.
101121         * lib/unistr/u8-strmblen.c: Likewise.
101122         * lib/unistr/u8-strmbtouc.c: Likewise.
101123         * lib/unistr/u8-strncat.c: Likewise.
101124         * lib/unistr/u8-strncmp.c: Likewise.
101125         * lib/unistr/u8-strncpy.c: Likewise.
101126         * lib/unistr/u8-strnlen.c: Likewise.
101127         * lib/unistr/u8-strpbrk.c: Likewise.
101128         * lib/unistr/u8-strrchr.c: Likewise.
101129         * lib/unistr/u8-strspn.c: Likewise.
101130         * lib/unistr/u8-strstr.c: Likewise.
101131         * lib/unistr/u8-strtok.c: Likewise.
101132         * lib/unistr/u8-to-u16.c: Likewise.
101133         * lib/unistr/u8-to-u32.c: Likewise.
101134         * lib/unistr/u8-uctomb-aux.c: Likewise.
101135         * lib/unistr/u8-uctomb.c: Likewise.
101136         * lib/unitypes.h: Likewise.
101137         * lib/uniwidth.h: Likewise.
101138         * lib/uniwidth/cjk.h: Likewise.
101139         * lib/uniwidth/u16-strwidth.c: Likewise.
101140         * lib/uniwidth/u16-width.c: Likewise.
101141         * lib/uniwidth/u32-strwidth.c: Likewise.
101142         * lib/uniwidth/u32-width.c: Likewise.
101143         * lib/uniwidth/u8-strwidth.c: Likewise.
101144         * lib/uniwidth/u8-width.c: Likewise.
101145         * lib/uniwidth/width.c: Likewise.
101147 2007-10-07  Bruno Haible  <bruno@clisp.org>
101149         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
101150         The file is still under LGPL (see modules/inttypes).
101152 2007-10-06  Bruno Haible  <bruno@clisp.org>
101154         * modules/trunc (Dependencies): Add 'extensions'.
101155         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
101156         Reported by Ben Pfaff <blp@gnu.org>.
101158 2007-10-06  Bruno Haible  <bruno@clisp.org>
101160         * modules/freopen-tests: New file.
101161         * tests/test-freopen.c: New file.
101163         * modules/fopen-tests: New file.
101164         * tests/test-fopen.c: New file.
101166         * modules/fopen: New file.
101167         * lib/fopen.c: New file.
101168         * m4/fopen.m4: New file.
101169         * modules/freopen: New file.
101170         * lib/freopen.c: New file.
101171         * m4/freopen.m4: New file.
101172         * lib/stdio.in.h (fopen, freopen): New declarations.
101173         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
101174         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101175         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
101176         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
101177         * doc/functions/fopen.texi: Mention the 'fopen' module.
101178         * doc/functions/freopen.texi: Mention the 'freopen' module.
101180 2007-10-06  Bruno Haible  <bruno@clisp.org>
101182         * modules/open-tests: New file.
101183         * tests/test-open.c: New file.
101185         * modules/open: New file.
101186         * lib/open.c: New file.
101187         * m4/open.m4: New file.
101188         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
101189         lib/open.c does.
101190         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
101191         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
101192         macros.
101193         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
101194         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
101195         REPLACE_OPEN.
101196         * doc/functions/open.texi: Mention the 'open' module.
101198 2007-10-04  Bruno Haible  <bruno@clisp.org>
101200         * modules/ceill-tests: New file.
101201         * tests/test-ceill.c: New file.
101203         * modules/ceill: New file.
101204         * lib/ceill.c: Replace entire file.
101205         * m4/ceill.m4: New file.
101206         * lib/math.in.h (ceill): Replace declaration.
101207         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
101208         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
101209         * doc/functions/ceill.texi: Mention the 'ceill' module.
101210         * modules/mathl (Files): Remove lib/ceill.c.
101211         (Depends-on): Add ceill.
101213 2007-10-04  Bruno Haible  <bruno@clisp.org>
101215         * modules/ceilf-tests: New file.
101216         * tests/test-ceilf.c: New file.
101218         * modules/ceilf: New file.
101219         * lib/ceil.c: New file.
101220         * lib/ceilf.c: New file.
101221         * m4/ceilf.m4: New file.
101222         * lib/math.in.h (ceilf): New declaration.
101223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
101224         HAVE_DECL_CEILF.
101225         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
101226         HAVE_DECL_CEILF.
101227         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
101229 2007-10-04  Bruno Haible  <bruno@clisp.org>
101231         * modules/floorl-tests: New file.
101232         * tests/test-floorl.c: New file.
101234         * modules/floorl: New file.
101235         * lib/floorl.c: Replace entire file.
101236         * m4/floorl.m4: New file.
101237         * lib/math.in.h (floorl): Replace declaration.
101238         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
101239         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
101240         * doc/functions/floorl.texi: Mention the 'floorl' module.
101241         * modules/mathl (Files): Remove lib/floorl.c.
101242         (Depends-on): Add floorl.
101244 2007-10-04  Bruno Haible  <bruno@clisp.org>
101246         * modules/floorf-tests: New file.
101247         * tests/test-floorf.c: New file.
101249         * modules/floorf: New file.
101250         * lib/floor.c: New file.
101251         * lib/floorf.c: New file.
101252         * m4/floorf.m4: New file.
101253         * lib/math.in.h (floorf): New declaration.
101254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
101255         HAVE_DECL_FLOORF.
101256         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
101257         HAVE_DECL_FLOORF.
101258         * doc/functions/floorf.texi: Mention the 'floorf' module.
101260 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
101261             Bruno Haible  <bruno@clisp.org>
101263         Advertise for the Git server instead of the CVS server.
101264         * doc/gnulib-intro.texi (Steady Development): Mention the Git
101265         repository instead of the CVS one.
101266         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
101267         about all VCS systems generically.
101268         * doc/gnulib.texi (Introduction): Capitalize `Git'.
101270 2007-10-04  Bruno Haible  <bruno@clisp.org>
101272         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
101273         means.
101274         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
101276 2007-10-04  Bruno Haible  <bruno@clisp.org>
101278         * modules/truncl-tests: New file.
101279         * tests/test-truncl.c: New file.
101281         * modules/truncl: New file.
101282         * lib/truncl.c: New file.
101283         * m4/truncl.m4: New file.
101284         * lib/math.in.h (truncl): New declaration.
101285         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
101286         HAVE_DECL_TRUNCL.
101287         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
101288         HAVE_DECL_TRUNCL.
101289         * doc/functions/truncl.texi: Mention the 'truncl' module.
101291 2007-10-04  Bruno Haible  <bruno@clisp.org>
101293         * modules/truncf-tests: New file.
101294         * tests/test-truncf.c: New file.
101296         * modules/truncf: New file.
101297         * lib/trunc.c: Make paramerizable through USE_* macros.
101298         * lib/truncf.c: New file.
101299         * m4/truncf.m4: New file.
101300         * lib/math.in.h (truncf): New declaration.
101301         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
101302         HAVE_DECL_TRUNCF.
101303         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
101304         HAVE_DECL_TRUNCF.
101305         * doc/functions/truncf.texi: Mention the 'truncf' module.
101307 2007-10-03  Bruno Haible  <bruno@clisp.org>
101309         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
101310         augmentation also for tests modules.
101311         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
101312         * modules/atexit-tests (Makefile.am): Likewise.
101313         * modules/binary-io-tests (Makefile.am): Likewise.
101314         * modules/c-strcase-tests (Makefile.am): Likewise.
101315         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
101316         * modules/canonicalize-tests (Makefile.am): Likewise.
101317         * modules/closein-tests (Makefile.am): Likewise.
101318         * modules/fprintf-posix-tests (Makefile.am): Likewise.
101319         * modules/freadahead-tests (Makefile.am): Likewise.
101320         * modules/fseek-tests (Makefile.am): Likewise.
101321         * modules/fseeko-tests (Makefile.am): Likewise.
101322         * modules/ftell-tests (Makefile.am): Likewise.
101323         * modules/ftello-tests (Makefile.am): Likewise.
101324         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
101325         * modules/isnanl-tests (Makefile.am): Likewise.
101326         * modules/lseek-tests (Makefile.am): Likewise.
101327         * modules/mbscasecmp-tests (Makefile.am): Likewise.
101328         * modules/mbscasestr-tests (Makefile.am): Likewise.
101329         * modules/mbschr-tests (Makefile.am): Likewise.
101330         * modules/mbscspn-tests (Makefile.am): Likewise.
101331         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
101332         * modules/mbspbrk-tests (Makefile.am): Likewise.
101333         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
101334         * modules/mbsrchr-tests (Makefile.am): Likewise.
101335         * modules/mbsspn-tests (Makefile.am): Likewise.
101336         * modules/mbsstr-tests (Makefile.am): Likewise.
101337         * modules/printf-posix-tests (Makefile.am): Likewise.
101338         * modules/snprintf-posix-tests (Makefile.am): Likewise.
101339         * modules/sprintf-posix-tests (Makefile.am): Likewise.
101340         * modules/tsearch-tests (Makefile.am): Likewise.
101341         * modules/uniname/uniname-tests (Makefile.am): Likewise.
101342         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
101343         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
101344         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
101345         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
101346         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
101347         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
101348         * modules/vprintf-posix-tests (Makefile.am): Likewise.
101349         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
101350         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
101351         * modules/xstrtoimax-tests (Makefile.am): Likewise.
101352         * modules/xstrtol-tests (Makefile.am): Likewise.
101353         * modules/xstrtoumax-tests (Makefile.am): Likewise.
101354         * modules/yesno-tests (Makefile.am): Likewise.
101356 2007-10-03  Bruno Haible  <bruno@clisp.org>
101358         * modules/trunc-tests: New file.
101359         * tests/test-trunc.c: New file.
101361         * modules/trunc: New file.
101362         * lib/trunc.c: New file.
101363         * m4/trunc.m4: New file.
101364         * lib/math.in.h (trunc): New declaration.
101365         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
101366         HAVE_DECL_TRUNC.
101367         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
101368         HAVE_DECL_TRUNC.
101369         * doc/functions/trunc.texi: Mention the 'trunc' module.
101371 2007-10-03  Bruno Haible  <bruno@clisp.org>
101373         * tests/test-fpending.c: New file, mostly copied
101374         from coreutils/lib/t-fpending.c.
101375         * modules/fpending-tests: New file.
101377 2007-10-03  Bruno Haible  <bruno@clisp.org>
101379         Port the stdio extensions to QNX (untested).
101380         * lib/fseterr.c (fseterr): Add support for QNX.
101381         * lib/fbufmode.c (fbufmode): Likewise.
101382         * lib/freadable.c (freadable): Likewise.
101383         * lib/fwritable.c (fwritable): Likewise.
101384         * lib/freading.c (freading): Likewise.
101385         * lib/fwriting.c (fwriting): Likewise.
101386         * lib/freadahead.c (freadahed): Likewise.
101387         * lib/fpurge.c (fpurge): Likewise.
101388         * lib/fseeko.c (rpl_fseeko): Likewise.
101390 2007-10-03  Bruno Haible  <bruno@clisp.org>
101391             Jim Meyering  <jim@meyering.net>
101392             Eric Blake  <ebb9@byu.net>
101394         * doc/relocatable.texi: Use @command instead of @program.
101396 2007-10-02  Jim Meyering  <jim@meyering.net>
101398         Perform one more "_.h" -> ".in.h" substitution.
101399         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
101400         instead of unistd_.h here, too.
101402 2007-10-01  Bruno Haible  <bruno@clisp.org>
101404         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
101405         Needed for the alloca-opt module.
101407 2007-09-30  Bruno Haible  <bruno@clisp.org>
101409         * lib/alloca.in.h: Renamed from lib/alloca_.h.
101410         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
101411         alloca_.h.
101412         * lib/argz.in.h: Renamed from lib/argz_.h.
101413         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
101414         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
101415         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
101416         byteswap_.h.
101417         * lib/dirent.in.h: Renamed from lib/dirent_.h.
101418         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
101419         dirent_.h.
101420         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
101421         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
101422         fcntl_.h.
101423         * lib/float.in.h: Renamed from lib/float_.h.
101424         * modules/float (Files, Makefile.am): Use float.in.h instead of
101425         float_.h.
101426         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
101427         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
101428         fnmatch_.h.
101429         * lib/getopt.in.h: Renamed from lib/getopt_.h.
101430         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
101431         getopt_.h.
101432         * lib/glob.in.h: Renamed from lib/glob_.h.
101433         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
101434         * lib/iconv.in.h: Renamed from lib/iconv_.h.
101435         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
101436         iconv_.h.
101437         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
101438         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
101439         inttypes_.h.
101440         * lib/locale.in.h: Renamed from lib/locale_.h.
101441         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
101442         locale_.h.
101443         * lib/math.in.h: Renamed from lib/math_.h.
101444         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
101445         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
101446         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
101447         of netinet_in_.h. Add dependency.
101448         * lib/poll.in.h: Renamed from lib/poll_.h.
101449         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
101450         * lib/search.in.h: Renamed from lib/search_.h.
101451         * modules/search (Files, Makefile.am): Use search.in.h instead of
101452         search_.h.
101453         * lib/signal.in.h: Renamed from lib/signal_.h.
101454         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
101455         _signal.h.
101456         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
101457         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
101458         stdbool_.h.
101459         * lib/stdint.in.h: Renamed from lib/stdint_.h.
101460         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
101461         stdint_.h.
101462         * lib/stdio.in.h: Renamed from lib/stdio_.h.
101463         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
101464         stdio_.h.
101465         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
101466         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
101467         stdlib_.h.
101468         * lib/string.in.h: Renamed from lib/string_.h.
101469         * modules/string (Files, Makefile.am): Use string.in.h instead of
101470         string_.h.
101471         * doc/gnulib-tool.texi (Initial import): Update.
101472         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
101473         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
101474         of sys_select_.h. Add dependency.
101475         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
101476         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
101477         of sys_socket_.h.
101478         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
101479         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
101480         sys_stat_.h.
101481         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
101482         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
101483         sys_time_.h.
101484         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
101485         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
101486         sysexits_.h.
101487         * lib/time.in.h: Renamed from lib/time_.h.
101488         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
101489         * lib/unistd.in.h: Renamed from lib/unistd_.h.
101490         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
101491         unistd_.h.
101492         * lib/wchar.in.h: Renamed from lib/wchar_.h.
101493         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
101494         wchar_.h.
101495         * lib/wctype.in.h: Renamed from lib/wctype_.h.
101496         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
101497         wctype_.h.
101498         * build-aux/bootstrap (slurp): Update.
101499         * lib/.cppi-disable: Update.
101501 2007-09-30  Bruno Haible  <bruno@clisp.org>
101503         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
101504         Needed on BeOS.
101506 2007-09-30  Bruno Haible  <bruno@clisp.org>
101508         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
101510 2007-09-29  Bruno Haible  <bruno@clisp.org>
101512         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
101514 2007-09-29  Bruno Haible  <bruno@clisp.org>
101516         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
101517         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
101518         * build-aux/install-reloc: Compile also areadlink.c.
101519         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
101521 2007-09-29  Bruno Haible  <bruno@clisp.org>
101523         * gnulib-tool (func_emit_initmacro_done): Indentation.
101525 2007-09-29  Bruno Haible  <bruno@clisp.org>
101527         * README: Add CVS checkout update instructions.
101528         Info from Bob Proulx <bob@proulx.com>.
101530 2007-09-28  Eric Blake  <ebb9@byu.net>
101532         Provide move-if-change.
101533         * build-aux/move-if-change: New file, based on best practice
101534         rather than any canonical upstream location.
101536 2007-09-28  Jim Meyering  <jim@meyering.net>
101538         Fix canonicalize loop-detection corner case.
101539         Do not attempt to stat the symlink values stored via seen_triple.
101540         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
101541         on linux-2.6.18, (but not 2.6.22).
101542         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
101543         triple_compare.  The former compares dev,ino,filename, while the latter
101544         would actually stat dirname(filename) when dev and ino were equal.
101545         * lib/hash-triple.c: Install <string.h>.
101546         (STREQ): Define.
101547         (triple_compare_ino_str): New function.
101548         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
101550 2007-09-28  Eric Blake  <ebb9@byu.net>
101552         Enforce that AC_REPLACE_FUNCS files exist.
101553         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
101554         override check for typos.
101556         Fix test-closein on Solaris 10.
101557         * tests/test-closein.c (main): Don't assume stdin can be inherited
101558         closed on all systems.
101559         * tests/test-closein.sh: Likewise.
101560         Reported by Piotr Tarnowski.
101562 2007-09-28  Jim Meyering  <jim@meyering.net>
101564         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
101566 2007-09-27  Jim Meyering  <jim@meyering.net>
101568         canonicalize: Avoid a false-positive cycle failure.
101569         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
101570         Sort.  Remove cycle-check.
101571         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
101572         not cycle-check.h.
101573         (seen_triple): New function.
101574         (canonicalize_filename_mode): Use it instead of cycle-check.
101575         * tests/test-canonicalize.c: Add a test for this bug.
101576         * tests/test-canonicalize.sh: Set up and run the test.
101578         New module, file-set, from coreutils.
101579         * modules/file-set: Define it.
101580         * lib/file-set.c, lib/file-set.h: Implement.
101582         New module, hash-triple, from coreutils.
101583         * modules/hash-triple: Define it.
101584         * lib/hash-triple.c, lib/hash-triple.h: Implement.
101586 2007-09-25  Eric Blake  <ebb9@byu.net>
101588         Fix strerror on Interix.
101589         * lib/string_.h (strerror): Declare replacement.
101590         * doc/functions/strerror.texi (strerror): Document the Interix
101591         shortcoming.
101592         * modules/string (Makefile.am): Support new hooks.
101593         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
101594         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
101595         gl_FUNC_STRERROR_SEPARATE.
101596         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
101597         * lib/strerror.c (rpl_strerror): Provide replacement.
101598         * modules/strerror (Depends-on): Add string.
101599         (configure.ac): Detect use of module.
101600         * tests/test-strerror.c: New file.
101601         * modules/strerror-tests: New test module.
101602         * modules/argp (Depends-on): Add strerror.
101603         * modules/error (Depends-on): Likewise.
101604         Reported by Martin Koeppe.
101606 2007-09-24  Bruno Haible  <bruno@clisp.org>
101608         * README: Update git instructions.
101610 2007-09-24  Eric Blake  <ebb9@byu.net>
101612         Revert fpending breakage from 2007-09-08.
101613         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
101614         __fpending.c.
101616 2007-09-24  Jim Meyering  <jim@meyering.net>
101618         filenamecat.c: Add a test.
101619         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
101620         showing how the function works when DIR is the empty string.
101622 2007-09-21  Simon Josefsson  <simon@josefsson.org>
101624         * tests/test-canonicalize.sh: Turn on executable bit.
101626 2007-09-19  Eric Blake  <ebb9@byu.net>
101628         * README: Update CVS instructions.
101630 2007-09-18  Bruno Haible  <bruno@clisp.org>
101632         * modules/areadlink: New file.
101633         * lib/areadlink.h (areadlink): New declaration.
101634         * lib/areadlink.c: New file, based on lib/xreadlink.c.
101636 2007-09-17  Jim Meyering  <jim@meyering.net>
101638         * lib/savewd.c (ESTALE) [!defined]: Define.
101639         Reported to be required on Interix by Martin Koeppe.
101641 2007-09-17  Bruno Haible  <bruno@clisp.org>
101643         * gnulib-tool (func_version): Use $version.
101645 2007-09-16  Bruno Haible  <bruno@clisp.org>
101647         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
101648         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
101649         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
101650         Reported by Greg Schafer <gschafer@zip.com.au>.
101652 2007-09-15  Bruno Haible  <bruno@clisp.org>
101654         * gnulib-tool (sed): Try a little harder to make bash understand the
101655         alias.
101656         Reported by Bruce Korb <bruce.korb@gmail.com>.
101658 2007-09-13  Eric Blake  <ebb9@byu.net>
101660         * ChangeLog: Remove conflict markers.
101662 2007-09-13  Simon Josefsson  <simon@josefsson.org>
101664         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
101665         Reported by Bruno Haible <bruno@clisp.org>.
101667 2007-09-12  Bruno Haible  <bruno@clisp.org>
101669         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
101670         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
101671         is not defined.
101673 2007-09-12  Eric Blake  <ebb9@byu.net>
101675         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
101676         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
101677         Autoconf definition.
101678         * modules/euidaccess (Depends-on): Add extensions, for
101679         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
101680         * modules/fnmatch (Depends-on): Likewise.
101681         * modules/getaddrinfo (Depends-on): Likewise.
101682         * modules/getdelim (Depends-on): Likewise.
101683         * modules/getline (Depends-on): Likewise.
101684         * modules/getsubopt (Depends-on): Likewise.
101685         * modules/gettext (Depends-on): Likewise.
101686         * modules/group-member (Depends-on): Likewise.
101687         * modules/mbchar (Depends-on): Likewise.
101688         * modules/memmem (Depends-on): Likewise.
101689         * modules/mempcpy (Depends-on): Likewise.
101690         * modules/memrchr (Depends-on): Likewise.
101691         * modules/pagealign_alloc (Depends-on): Likewise.
101692         * modules/readutmp (Depends-on): Likewise.
101693         * modules/stpcpy (Depends-on): Likewise.
101694         * modules/stpncpy (Depends-on): Likewise.
101695         * modules/strchrnul (Depends-on): Likewise.
101696         * modules/strndup (Depends-on): Likewise.
101697         * modules/strsep (Depends-on): Likewise.
101698         * modules/strverscmp (Depends-on): Likewise.
101699         * modules/vasprintf (Depends-on): Likewise.
101700         * modules/wcwidth (Depends-on): Likewise.
101701         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
101702         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
101703         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
101704         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
101705         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
101706         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
101707         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
101708         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
101709         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
101710         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
101711         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
101712         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
101713         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
101714         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
101715         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
101716         * m4/readutmp.m4 (gl_READUTMP): Likewise.
101717         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
101718         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
101719         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
101720         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
101721         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
101722         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
101723         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
101724         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
101725         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
101726         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
101727         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
101728         so that lock.m4 can be used in gettext without extensions module.
101730 2007-09-11  Bruno Haible  <bruno@clisp.org>
101732         * m4/isc-posix.m4: Remove file.
101733         Suggested by Eric Blake.
101735 2007-09-11  Eric Blake  <ebb9@byu.net>
101737         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
101739 2007-09-10  Bruno Haible  <bruno@clisp.org>
101741         * posix-modules: Fix typo in error message.
101742         Reported by Matt <mkraai@beckman.com>.
101744 2007-09-09  Bruno Haible  <bruno@clisp.org>
101746         * doc/functions/getdelim.texi: Update list of platforms lacking the
101747         function.
101748         * doc/functions/getline.texi: Likewise.
101750 2007-09-09  Jim Meyering  <jim@meyering.net>
101752         * lib/hash.c (hash_initialize): Detect calloc failure.
101753         Reported by Bruno Haible.
101755 2007-09-09  Bruno Haible  <bruno@clisp.org>
101757         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
101758         malloc or realloc fails.
101760 2007-09-09  Bruno Haible  <bruno@clisp.org>
101762         * modules/getcwd (Depends-on): Add malloc-posix.
101763         * modules/glob (Depends-on): Likewise.
101764         * modules/putenv (Depends-on): Likewise.
101765         * modules/strdup (Depends-on): Likewise.
101766         * modules/getdelim (Depends-on): Add realloc-posix.
101767         * modules/read-file (Depends-on): Likewise.
101769 2007-09-09  Bruno Haible  <bruno@clisp.org>
101771         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
101772         (gl_FUNC_MALLOC_POSIX): Require it.
101773         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
101774         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
101775         * modules/realloc (Files): Add m4/malloc.m4.
101776         * modules/calloc (Files): Likewise.
101778 2007-09-09  Bruno Haible  <bruno@clisp.org>
101780         * modules/malloc-posix: New file.
101781         * modules/malloc (Depends-on): Add malloc-posix.
101782         * lib/malloc.c: Include errno.h.
101783         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
101784         and a POSIX-compatible malloc into a single function. Set ENOMEM
101785         when returning NULL.
101786         * m4/malloc.m4: New file.
101787         * doc/functions/malloc.texi: Mention the malloc-posix module.
101788         * lib/stdlib_.h (malloc): New declaration.
101789         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101790         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
101791         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
101792         and HAVE_MALLOC_POSIX.
101794 2007-09-09  Bruno Haible  <bruno@clisp.org>
101796         * modules/realloc-posix: New file.
101797         * modules/realloc (Depends-on): Add realloc-posix.
101798         * lib/realloc.c: Include errno.h.
101799         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
101800         and a POSIX-compatible realloc into a single function. Set ENOMEM
101801         when returning NULL.
101802         * m4/realloc.m4: New file.
101803         * doc/functions/realloc.texi: Mention the realloc-posix module.
101804         * lib/stdlib_.h (realloc): New declaration.
101805         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101806         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
101807         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
101808         and HAVE_REALLOC_POSIX.
101810 2007-09-09  Bruno Haible  <bruno@clisp.org>
101812         * modules/calloc-posix: New file.
101813         * modules/calloc (Depends-on): Add calloc-posix.
101814         * lib/calloc.c: Include errno.h.
101815         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
101816         and a POSIX-compatible calloc into a single function. Set ENOMEM
101817         when returning NULL.
101818         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
101819         * doc/functions/calloc.texi: Mention the calloc-posix module.
101820         * lib/stdlib_.h (calloc): New declaration.
101821         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
101822         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
101823         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
101824         and HAVE_CALLOC_POSIX.
101826 2007-09-09  Bruno Haible  <bruno@clisp.org>
101828         Allow for modules to show an arbitrary notice.
101829         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
101830         * gnulib-tool: New option --extract-notice.
101831         (func_usage): Document it.
101832         (sed_extract_prog): Update.
101833         (func_get_notice): New function.
101834         (func_modules_notice): New function.
101835         (func_import, func_create_testdir): Invoke it.
101836         Suggested by Jim Meyering.
101838 2007-09-09  Bruno Haible  <bruno@clisp.org>
101840         * gnulib-tool: New options --verbose, --quiet.
101841         (func_usage): Document them.
101842         (verbose): New variable.
101843         (func_execute_command): New function.
101844         (func_import): Don't show the module list and the file list if
101845         $verbose < 0.
101846         (func_create_testdir): Likewise. Use func_execute_command.
101847         (func_create_megatestdir): Use func_execute_command.
101849 2007-09-08  Bruno Haible  <bruno@clisp.org>
101851         * gnulib-tool (func_import): Prefer rsync over wget when available,
101852         for fetching the PO files.
101854 2007-09-08  Bruno Haible  <bruno@clisp.org>
101856         * posix-modules: New file. Portions copied from gnulib-tool.
101857         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
101859 2007-09-08  Jim Meyering  <jim@meyering.net>
101861         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
101862         * lib/fpending.h: Rename from __fpending.h.
101863         * lib/fpending.c: Rename from __fpending.c.
101864         Include "fpending.h", not "__fpending.h".
101865         * lib/__fpending.h, lib/__fpending.c: Remove files.
101866         * modules/fpending (Files): Reflect new file names.
101867         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
101869 2007-09-08  Bruno Haible  <bruno@clisp.org>
101871         * m4/inttypes-h.m4: Remove stub file.
101873 2007-09-07  Simon Josefsson  <simon@josefsson.org>
101875         * doc/headers/stdint.texi: Discuss #include_next issue.
101877 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
101879         * build-aux/bootstrap: Remove obsolete comment about wget --help.
101881 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
101883         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
101884         in variable name.
101886 2007-09-03  Jim Meyering  <jim@meyering.net>
101888         New module: git-version-gen.
101889         * modules/git-version-gen: New file.
101891         Import changes from coreutils for bootstrap script.
101893         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
101895         bootstrap: uses rsync to download the .po files
101896         * build-aux/bootstrap (po_download_command_format): New global.
101897         (download_po_files): Use rsync.
101898         (update_po_files): Don't remove .po files after download,
101899         so future rsync runs can take advantage of the copies.
101901         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
101903         Solve the unnecessary-.po-file-regeneration problem once and for all.
101904         * build-aux/bootstrap (download_po_files): New function, renamed from
101905         get_translations.  Now, downloads, but doesn't update LINGUAS.
101906         (update_po_files): New function.
101908         bootstrap: Ignore more.
101909         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
101910         uniwidth to e.g., lib/.gitignore.
101911         (slurp): Handle the sys_stat_.h -> sys mapping, too.
101913         * build-aux/bootstrap: New setting: vc_ignore.
101914         (insert_sorted_if_absent): Create $file if absent.
101915         Adapt to new, possibly empty, list: $vc_ignore.
101917         bootstrap: generate more ignorable names
101918         * build-aux/bootstrap (slurp): When generating ignorable names,
101919         also map .sin to .sed, .gperf to .c, and .y to .c.
101921 2007-09-03  Jim Meyering  <jim@meyering.net>
101923         * build-aux/git-version-gen: New file, from coreutils.  For details, see
101924         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
101926 2007-09-02  Bruno Haible  <bruno@clisp.org>
101928         Fix mis-recognition of 'mcs' on QNX 6.
101929         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
101930         output contains the string "Mono".
101931         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
101932         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
101934 2007-09-01  Bruno Haible  <bruno@clisp.org>
101936         Fix collision between uniwidth/* and linebreak modules.
101937         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
101938         u32_width): Remove declarations.
101939         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
101940         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
101941         streq3, streq2, streq1, streq0): Remove functions.
101942         (STREQ): Remove macro.
101943         (is_cjk_encoding): Remove function.
101944         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
101945         (uc_width, u8_width, u16_width, u32_width): Remove functions.
101946         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
101947         * NEWS: Document the change.
101949 2007-09-01  Bruno Haible  <bruno@clisp.org>
101951         * lib/streq.h: Add double-inclusion guard.
101953 2007-09-01  Karl Berry  <karl@gnu.org>
101955         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
101957 2007-08-28  Jim Meyering  <jim@meyering.net>
101959         Rename mreadlink_with_size to areadlink_with_size.
101960         * NEWS: Document the change.
101961         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
101962         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
101963         * lib/mreadlink.h: Rename this to...
101964         * lib/areadlink.h: ...this.
101965         * modules/mreadlink-with-size: Rename this to...
101966         * modules/areadlink-with-size: ...this.
101967         * lib/canonicalize.c: Reflect the renaming.
101968         * modules/canonicalize: Likewise.
101970 2007-08-26  Bruno Haible  <bruno@clisp.org>
101972         * gnulib-tool (func_import): When deciding which files to remove,
101973         consider also dangling symbolic links.
101974         Reported by Eric Blake.
101976 2007-08-26  Bruno Haible  <bruno@clisp.org>
101978         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
101980 2007-08-23  Simon Josefsson  <simon@josefsson.org>
101982         * lib/readline.c: Don't include getline.h, the prototype is now
101983         found in stdio.h.
101985 2007-08-23  Jim Meyering  <jim@meyering.net>
101987         Getdelim touchup.
101988         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
101989         around the funlockfile call, since funlockfile never sets errno.
101990         Don't set errno upon failed realloc.
101992 2007-08-22  Eric Blake  <ebb9@byu.net>
101994         Getline touchups.
101995         * lib/getdelim.c (getdelim): Revert regression that required *n to
101996         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
101997         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
101998         getdelim, rather than whether implementation is missing.
101999         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
102000         * lib/stdio_.h (getline): Also declare if replacement is
102001         required.
102002         * doc/functions/getdelim.texi: New file.
102003         * doc/functions/getline.texi: Likewise.
102004         * doc/gnulib.texi (Function Substitutes): Add new files.
102005         Reported by Bruno Haible.
102007 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
102009         * users.txt: Add Guile.
102011 2007-08-22  Eric Blake  <ebb9@byu.net>
102013         * tests/test-getdelim.c (main): Use remove, not unlink.
102014         * tests/test-getline.c (main): Likewise.
102016         Move getline and getdelim into stdio.h, per POSIX 200x.
102017         * modules/getline (Files): Remove getline.h.
102018         (Depends-on): Add stdio.
102019         (configure.ac): Add module indicator.
102020         * modules/getdelim (Files): Remove getdelim.h.
102021         (Depends-on): Add stdio.
102022         (configure.ac): Add module indicator.
102023         * modules/stdio (Makefile.am): Work with new indicators.
102024         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
102025         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
102026         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
102027         * lib/getdelim.h: Delete.
102028         * lib/getline.h: Delete.
102029         * lib/stdio_.h (getdelim, getline): Declare.
102030         * modules/getdelim-tests: New module.
102031         * modules/getline-tests: Likewise.
102032         * tests/test-getdelim.c: New file.
102033         * tests/test-getline.c: Likewise.
102034         * NEWS: Document the change.
102035         * lib/getline.c: Update choice of header.
102036         * lib/csharpcomp.c: Likewise.
102037         * lib/getpass.c: Likewise.
102038         * lib/javacomp.c: Likewise.
102039         * lib/javaversion.c: Likewise.
102040         * lib/yesno.c: Likewise.
102041         * lib/getdelim.c: Likewise.
102042         (getdelim): Set errno on failure, and avoid memory leak.
102044 2007-08-19  Bruno Haible  <bruno@clisp.org>
102046         * modules/closein (Depends-on): Add freadahead.
102047         * lib/closein.c: Include freadahead.h.
102048         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
102049         is zero.
102051 2007-08-19  Bruno Haible  <bruno@clisp.org>
102053         * modules/freadahead-tests: New file.
102054         * tests/test-freadahead.sh: New file.
102055         * tests/test-freadahead.c: New file.
102057         * modules/freadahead: New file.
102058         * lib/freadahead.h: New file.
102059         * lib/freadahead.c: New file.
102060         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
102061         fbufmode, fpurge, freadable, fwritable.
102063 2007-08-19  Eric Blake  <ebb9@byu.net>
102065         Test yesno in combination with closein.
102066         * lib/yesno.c (yesno): Document use of stdin.
102067         * modules/yesno-tests (Files): New module.
102068         * tests/test-yesno.c (main): New file.
102069         * tests/test-yesno.sh: Likewise.
102071 2007-08-19  Bruno Haible  <bruno@clisp.org>
102073         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
102074         * lib/fseeko.c (rpl_fseeko): Likewise.
102075         * lib/fseterr.c (fseterr): Likewise.
102077 2007-08-19  Bruno Haible  <bruno@clisp.org>
102079         * tests/test-lseek.c (main): Disable a test for BeOS.
102080         * doc/functions/lseek.texi: Document the BeOS bug.
102082 2007-08-19  Bruno Haible  <bruno@clisp.org>
102083             Eric Blake  <ebb9@byu.net>
102085         * lib/lseek.c: Include <sys/stat.h>.
102086         (rpl_lseek): Add workaround code also for Unix platforms.
102087         Needed for BeOS.
102088         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
102089         * doc/functions/lseek.texi: Document BeOS definiency.
102091 2007-08-18  Bruno Haible  <bruno@clisp.org>
102093         * modules/fstrcmp-tests: New file.
102094         * tests/test-fstrcmp.c: New file.
102096 2007-08-18  Bruno Haible  <bruno@clisp.org>
102098         * modules/fstrcmp: New file, from GNU gettext with modifications.
102099         * lib/fstrcmp.h: New file, from GNU gettext.
102100         * lib/fstrcmp.c: New file, from GNU gettext.
102101         * MODULES.html.sh (String handling): Add fstrcmp.
102103 2007-08-18  Bruno Haible  <bruno@clisp.org>
102105         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
102106         'bool'.
102107         (diag, compareseq): Remove const from the ctxt argument.
102108         (USE_HEURISTIC): Undefine at the end.
102110 2007-08-18  Jim Meyering  <jim@meyering.net>
102112         New file: lib/idcache.h
102113         * NEWS: Mention the addition.
102114         * modules/idcache (Files): Add lib/idcache.h
102115         * lib/idcache.c: Include "idcache.h".
102116         Don't include <sys/types.h>.
102117         Add a FIXME comment.
102118         Move file-scoped "static" declarations to the top.
102119         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
102121 2007-08-17  Bruno Haible  <bruno@clisp.org>
102122         and Paul Eggert  <eggert@cs.ucla.edu>
102124         * MODULES.html.sh: Add diffseq.
102125         * modules/diffseq: New file.
102126         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
102127         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
102129 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
102131         Import changes from coreutils for bootstrap script.
102133         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
102135         * build-aux/bootstrap (slurp): Work even in environments where
102136         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
102137         current code does not slurp files whose names start with ".", and
102138         this looks like it might be a troublesome area.
102140         2007-07-11  Jim Meyering  <jim@meyering.net>
102142         If there's a GPL vN copyright comment, require that N == 3.
102144         2007-07-08  Jim Meyering  <jim@meyering.net>
102146         Run the coreutils-specific code only if tests/Makefile.am.in exists.
102147         * build-aux/bootstrap (mam_template): Move definition out of loop.
102149         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
102151         * build-aux/bootstrap (symlink_to_dir): Rename function from
102152         symlink_to_gnulib.  Add a directory parameter.  Update all
102153         callers.
102154         (cp_mark_as_generated): Also check for -- and link to -- files in
102155         gl/.
102157         2007-07-08  Jim Meyering  <jim@meyering.net>
102159         Adapt to deeper hierarchy in gnulib.
102160         * build-aux/bootstrap (symlink_to_dir): If the destination
102161         directory doesn't exist, create it. This is required at least for
102162         "lib/uniwidth/cjk.h".
102164         2007-05-15  Jim Meyering  <jim@meyering.net>
102166         * build-aux/bootstrap: Now that generated Makefile.am files
102167         are no longer under version control, they must be created at
102168         bootstrap time.
102170 2007-08-14  Ben Pfaff  <blp@gnu.org>
102172         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
102174 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
102176         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
102177         given the changes below.
102178         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
102179         even on hosts that have padding bits beyond the supported 64.
102181 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
102183         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
102184         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
102185         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
102186         depends on it.
102187         (xstrtol_error): Remove.
102188         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
102189         but with a different signature.
102190         (ATTRIBUTE_NORETURN, __attribute__): New macros.
102191         * lib/xstrtol-error.c: Include exitfail.h.
102192         (xstrtol_fatal): New function, with a different signature from the
102193         old xstrtol_error, so that the caller need not worry about passing
102194         in an exit status, or about storage management of the option argument.
102195         (xstrtol_error): Now a static function.  Redo signature to
102196         implement xstrtol_fatal.  Output the correct number of hyphens in
102197         front of the option so that the caller need not worry about
102198         storage management.
102199         (N_): New macro.
102200         (_): Remove; not used now.
102201         * modules/xstrtol: Depend on getopt.
102202         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
102203         of old STRTOL_FATAL_ERROR macro.
102204         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
102205         of test program.
102206         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
102207         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
102209 2007-08-08  Eric Blake  <ebb9@byu.net>
102211         * lib/xstrtol-error.c: Add missing include.
102213         Move xstrtol messages into gnulib domain, when --pobase is used.
102214         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
102215         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
102216         * modules/xstrtol (Files): Distribute new file.
102217         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
102218         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
102219         * tests/test-xstrtol.c: ...into new file.
102220         * tests/test-xstrtoul.c: Also test xstrtoul.
102221         * tests/test-xstrtoimax.c: Also test xstrtoimax.
102222         * tests/test-xstrtoumax.c: Also test xstrtoumax.
102223         * tests/test-xstrtol.sh: Drive the tests.
102224         * tests/test-xstrtoimax.sh: Likewise.
102225         * tests/test-xstrtoumax.sh: Likewise.
102226         * modules/xstrtol-tests: New module.
102227         * modules/xstrtoimax-tests: Likewise.
102228         * modules/xstrtoumax-tests: Likewise.
102230 2007-08-08  Jim Meyering  <jim@meyering.net>
102232         New function: mfile_name_concat.
102233         * lib/filenamecat.c (mfile_name_concat): New function, just like
102234         file_name_concat, but return NULL upon failure rather than exiting
102235         with a diagnostic.
102236         * lib/filenamecat.h: Declare it.
102238 2007-08-07  Bruno Haible  <bruno@clisp.org>
102240         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
102241         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
102242         warning from gcc.
102243         Reported by Eric Blake.
102245 2007-08-07  Simon Josefsson  <simon@josefsson.org>
102247         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
102248         * modules/crypto/arcfour (License): Likewise.
102249         * modules/crypto/des-tests (License): Likewise.
102250         * modules/crypto/gc-arctwo-tests (License): Likewise.
102251         * modules/crypto/gc-des-tests (License): Likewise.
102252         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
102253         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
102254         * modules/crypto/gc-md2-tests (License): Likewise.
102255         * modules/crypto/gc-md4-tests (License): Likewise.
102256         * modules/crypto/gc-md5-tests (License): Likewise.
102257         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
102258         * modules/crypto/gc-rijndael-tests (License): Likewise.
102259         * modules/crypto/gc-sha1-tests (License): Likewise.
102260         * modules/crypto/gc-tests (License): Likewise.
102261         * modules/crypto/hmac-md5 (License): Likewise.
102262         * modules/crypto/hmac-sha1 (License): Likewise.
102263         * modules/crypto/md2-tests (License): Likewise.
102264         * modules/crypto/md4-tests (License): Likewise.
102265         * modules/crypto/md5 (License): Likewise.
102266         * modules/crypto/rijndael (License): Likewise.
102267         * modules/crypto/sha1 (License): Likewise.
102268         * modules/memxor (License): Likewise.
102270 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
102271         and Bruno Haible  <bruno@clisp.org>
102273         * NEWS: Describe interface changes to human, xstrtol.
102274         * lib/human.h: Include <xstrtol.h>.
102275         (human_options): Return enum strtol_error, not int.  Remove
102276         bool arg; take int * instead.
102277         * lib/human.c: Don't include "gettext.h".
102278         (_): Remove; no longer used.
102279         Don't include <xstrtol.h>, since human.h does it.
102280         (human_options): Adjust to abovementioned interface changes.
102281         Do not report error to stderr; that's now the caller's
102282         responsibility.
102283         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
102284         interface change.
102285         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
102286         Str, Argument_type_string.  All uses changed.  Put " argument"
102287         in diagnostics to make them clearer.  Change wording of suffix
102288         message for clarity.
102289         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
102290         Argument_type_string.
102291         (STRTOL_FATAL_WARN): Remove; no longer used.
102292         * modules/human (Depends-on): Remove gettext-h.
102294 2007-08-06  Simon Josefsson  <simon@josefsson.org>
102296         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
102298 2007-07-31  Bruno Haible  <bruno@clisp.org>
102300         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
102301         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
102302         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
102304 2007-07-31  Bruno Haible  <bruno@clisp.org>
102306         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
102307         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
102309 2007-07-30  Bruno Haible  <bruno@clisp.org>
102311         * modules/base64 (License): Use the synonymous term "LGPLv2+".
102312         * modules/c-ctype (License): Likewise.
102313         * modules/c-strcase (License): Likewise.
102314         * modules/check-version (License): Likewise.
102315         * modules/iconv (License): Likewise.
102316         * modules/iconv_open (License): Likewise.
102317         * modules/read-file (License): Likewise.
102318         * modules/striconv (License): Likewise.
102319         * modules/strverscmp (License): Likewise.
102320         * modules/vasprintf (License): Likewise.
102321         * modules/crypto/des (License): Likewise.
102322         * modules/crypto/gc (License): Likewise.
102323         * modules/crypto/gc-arcfour (License): Likewise.
102324         * modules/crypto/gc-arctwo (License): Likewise.
102325         * modules/crypto/gc-des (License): Likewise.
102326         * modules/crypto/gc-hmac-md5 (License): Likewise.
102327         * modules/crypto/gc-hmac-sha1 (License): Likewise.
102328         * modules/crypto/gc-md2 (License): Likewise.
102329         * modules/crypto/gc-md4 (License): Likewise.
102330         * modules/crypto/gc-md5 (License): Likewise.
102331         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
102332         * modules/crypto/gc-random (License): Likewise.
102333         * modules/crypto/gc-rijndael (License): Likewise.
102334         * modules/crypto/gc-sha1 (License): Likewise.
102335         * modules/crypto/md2 (License): Likewise.
102336         * modules/crypto/md4 (License): Likewise.
102338 2007-07-30  Jim Meyering  <jim@meyering.net>
102340         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
102341         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
102342         it has valid stat data.  This bug would cause du not to count the
102343         sizes of inaccessible directories.
102344         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
102345         in <http://bugzilla.redhat.com/250077>.
102347 2007-07-25  Peter O'Gorman  <peter@pogma.com>
102348             Bruno Haible  <bruno@clisp.org>
102350         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
102351         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
102352         #include_next, gives a diagnostic about it, but reports no error in
102353         the exit code.
102354         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
102356 2007-07-24  Ben Pfaff  <blp@gnu.org>
102358         Improve name: "count-one-bits" is better than "popcount".
102359         * MODULES.html.sh: Update name.
102360         * lib/popcount.h: Renamed lib/count-one-bits.h.
102361         (popcount): Renamed count_one_bits.
102362         (popcountl): Renamed count_one_bits_l.
102363         (popcountll): Renamed count_one_bits_ll.
102364         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
102365         * modules/popcount: Renamed module/count-one-bits.
102366         * modules/popcount-tests: Renamed module/count-one-bits-tests.
102367         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
102369 2007-07-23  Ben Pfaff  <blp@gnu.org>
102371         * lib/popcount.h (popcount32): Reduce size of constants, to allow
102372         better code generation, and add U to large constants to avoid
102373         warnings, in non-GCC case.
102374         Suggested by Bruno Haible.
102376 2007-07-23  Ben Pfaff  <blp@gnu.org>
102378         * lib/popcount.h: Use verify_true instead of if...abort.
102379         * modules/popcount: Depend on verify module.
102380         Suggested by Jim Meyering.
102382 2007-07-23  Bruno Haible  <bruno@clisp.org>
102384         * gnulib-tool (func_import): Create a .cvsignore file also when the
102385         directory is not yet in CVS but the toplevel directory is. When
102386         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
102387         Reported by Karl Berry.
102389 2007-07-22  Ben Pfaff  <blp@gnu.org>
102391         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
102392         case.
102393         Suggested by Eric Blake.
102395 2007-07-22  Ben Pfaff  <blp@gnu.org>
102397         New module: popcount.
102398         * MODULES.html.sh: Add popcount.
102399         * modules/popcount: New file.
102400         * modules/popcount-tests: New file.
102401         * tests/test-popcount.c: New file.
102402         * lib/popcount.h: New file.
102403         * m4/popcount.m4: New file.
102405 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
102407         * build-aux/announce-gen: Update to GPLv3.
102409         * build-aux/config.guess: Update from config.
102411 2007-07-21  Bruno Haible  <bruno@clisp.org>
102413         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
102414         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
102416 2007-07-20  Jim Meyering  <jim@meyering.net>
102418         * check-module: Diagnose a self-dependency.
102420 2007-07-19  Bruno Haible  <bruno@clisp.org>
102422         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
102423         empty.
102424         Reported by Eric Blake.
102426 2007-07-18  Bruno Haible  <bruno@clisp.org>
102428         * gnulib-tool: New options --po-base, --po-domain.
102429         (func_usage): Document them.
102430         (pobase, po_domain): New variables.
102431         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
102432         DEFAULT_TEXT_DOMAIN.
102433         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
102434         (func_import): Consider pobase and po_domain. Create a po/ directory.
102435         (func_create_testdir): Set pobase and po_domain to empty.
102436         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
102437         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
102439 2007-07-18  Bruno Haible  <bruno@clisp.org>
102441         * gnulib-tool (func_get_automake_snippet): Synthesize also an
102442         EXTRA_DIST augmentation for files in build-aux/.
102444 2007-07-16  Bruno Haible  <bruno@clisp.org>
102446         * modules/lseek (License): Use the synonymous term "LGPLv2+".
102447         * modules/getdelim (License): Likewise.
102449 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
102451         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
102452         * modules/d-type (License): Likewise.
102453         * modules/extensions (License): Likewise.
102454         * modules/fnmatch (License): Likewise.
102455         * modules/fseeko (License): Likewise.
102456         * modules/getaddrinfo (License): Likewise.
102457         * modules/getline (License): Likewise.
102458         * modules/getlogin_r (License): Likewise.
102459         * modules/getpass (License): Likewise.
102460         * modules/gettimeofday (License): Likewise.
102461         * modules/glob (License): Likewise.
102462         * modules/inet_ntop (License): Likewise.
102463         * modules/malloc (License): Likewise.
102464         * modules/malloca (License): Likewise.
102465         * modules/memmem (License): Likewise.
102466         * modules/mempcpy (License): Likewise.
102467         * modules/memset (License): Likewise.
102468         * modules/minmax (License): Likewise.
102469         * modules/mktime (License): Likewise.
102470         * modules/netinet_in (License): Likewise.
102471         * modules/pathmax (License): Likewise.
102472         * modules/poll (License): Likewise.
102473         * modules/regex (License): Likewise.
102474         * modules/snprintf (License): Likewise.
102475         * modules/stdbool (License): Likewise.
102476         * modules/stdint (License): Likewise.
102477         * modules/stdio (License): Likewise.
102478         * modules/strcase (License): Likewise.
102479         * modules/strcasestr (License): Likewise.
102480         * modules/strdup (License): Likewise.
102481         * modules/string (License): Likewise.
102482         * modules/strndup (License): Likewise.
102483         * modules/strnlen (License): Likewise.
102484         * modules/strpbrk (License): Likewise.
102485         * modules/strptime (License): Likewise.
102486         * modules/strsep (License): Likewise.
102487         * modules/sys_select (License): Likewise.
102488         * modules/sys_socket (License): Likewise.
102489         * modules/sys_stat (License): Likewise.
102490         * modules/sys_time (License): Likewise.
102491         * modules/time (License): Likewise.
102492         * modules/time_r (License): Likewise.
102493         * modules/timegm (License): Likewise.
102494         * modules/unistd (License): Likewise.
102495         * modules/vsnprintf (License): Likewise.
102496         * modules/wctype (License): Likewise.
102498 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
102500         * modules/argz (License): LGPLv2+.
102502 2007-07-15  Karl Berry  <karl@gnu.org>
102504         * doc/gnulib.texi: revise node structure per new fdl.texi.
102506 2007-07-14  Bruno Haible  <bruno@clisp.org>
102508         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
102509         the output file.
102510         * lib/uniname/uninames.h: Regenerated.
102512 2007-07-14  Karl Berry  <karl@gnu.org>
102514         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
102515         omitting sectioning and index commands.
102517 2007-07-13  Bruno Haible  <bruno@clisp.org>
102519         New gnulib-tool option --more-symlinks.
102520         * gnulib-tool (func_usage): Document --more-symlinks.
102521         (do_copyrights): New variable.
102522         Recognize option --more-symlinks.
102523         (func_import): Don't add a copyright notice transform to
102524         sed_transform_lib_file if do_copyrights is empty.
102526 2007-07-13  Bruno Haible  <bruno@clisp.org>
102528         * lib/vasnprintf.c (decimal_point_char): Define also if
102529         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
102530         && !NEED_PRINTF_DIRECTIVE_A.
102531         Reported by Clemens Koller <clemens.koller@anagramm.de> via
102532         Gary V. Vaughan <gary@gnu.org>.
102534 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
102536         * lib/inttypes_.h: Undo previous change, since it was fixed
102537         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
102539 2007-07-13  Bruno Haible  <bruno@clisp.org>
102541         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
102542         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
102544 2007-07-13  Jim Meyering  <jim@meyering.net>
102546         df: Don't fail for Tru64's "file-on-file mount".
102547         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
102548         so we fall through and use statfs instead.  Details here:
102549         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
102550         Reported by Albert Chin.
102552 2007-07-13  Bruno Haible  <bruno@clisp.org>
102554         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
102555         * modules/configmake (License): Likewise.
102556         * modules/gettext (License): Likewise.
102557         * modules/gettext-h (License): Likewise.
102558         * modules/include_next (License): Likewise.
102559         * modules/link-warning (License): Likewise.
102560         * modules/localcharset (License): Likewise.
102561         * modules/localename (License): Likewise.
102562         * modules/lock (License): Likewise.
102563         * modules/relocatable-lib-lgpl (License): Likewise.
102564         * modules/size_max (License): Likewise.
102565         * modules/vasnprintf (License): Likewise.
102566         * modules/wchar (License): Likewise.
102567         * modules/xsize (License): Likewise.
102569 2007-07-13  Bruno Haible  <bruno@clisp.org>
102571         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
102572         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
102574 2007-07-12  Bruno Haible  <bruno@clisp.org>
102576         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
102577         in the modules files.
102579 2007-07-11  Karl Berry  <karl@gnu.org>
102581         * MODULES.html.sh (func_module): use
102582          sed -e '\|^'"${includefile}"'$|d'
102583          instead of /.../d, to avoid errors on $includefile's containing /.
102585 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
102587         * gnulib-tool (func_import): Avoid duplication of --avoid
102588         statements
102589         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
102590         names to `_' in variable names.
102592 2007-07-10  Eric Blake  <ebb9@byu.net>
102594         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
102595         * NEWS: Document this change.
102597 2007-07-08  Bruno Haible  <bruno@clisp.org>
102599         Update to Unicode 5.0.
102600         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
102601         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
102602         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
102603         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
102604         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
102605         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
102606         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
102607         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
102608         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
102609         U+10A3F, U+1D242..U+1D244.
102610         (nonspacing_table_ind): Update.
102611         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
102612         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
102614 2007-07-08  Bruno Haible  <bruno@clisp.org>
102616         Update to Unicode 5.0.
102617         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
102618         code transform. Extend the name index field of unicode_name_to_code and
102619         unicode_code_to_name from 16 to 24 bits.
102620         * lib/uniname/uniname.c (unicode_character_name,
102621         unicode_name_character): Add the range 0x12xxx to the code transform.
102622         * lib/uniname/uninames.h: Regenerated.
102623         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
102625 2007-07-07  Bruno Haible  <bruno@clisp.org>
102627         * modules/wcwidth-tests: New file.
102628         * tests/test-wcwidth.c: New file.
102630         Work around MacOS X wcwidth() bug.
102631         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
102632         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
102633         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
102634         original wcwidth in non-UTF-8 locales.
102635         * modules/wcwidth (Depends-on): Add localcharset, streq,
102636         uniwidth/width.
102637         * doc/functions/wcwidth.texi: Update.
102639 2007-07-07  Bruno Haible  <bruno@clisp.org>
102641         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
102642         (wcwidth): New declaration.
102643         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
102644         macros.
102645         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
102646         here. Prepare for creating <wchar.h> unconditionally.
102647         * modules/wchar (Depends-on): Add link-warning.
102648         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
102649         REPLACE_WCWIDTH, and GL_LINK_WARNING.
102650         * lib/wcwidth.h: Remove file.
102651         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
102652         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
102653         * modules/wcwidth (Files): Remove lib/wcwidth.h.
102654         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
102655         (Include): Replace wcwidth.h with <wchar.h>.
102656         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
102657         * lib/mbchar.h: Don't include wcwidth.h.
102658         * lib/mbswidth.c: Likewise.
102659         * NEWS: Mention the change.
102661 2007-07-07  Bruno Haible  <bruno@clisp.org>
102663         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
102664         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
102665         definition with an external declaration.
102666         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
102667         defined as a function. Remove AC_C_INLINE requirement.
102668         * modules/wcwidth (Files): Add lib/wcwidth.c.
102669         (Makefile.am): Remove redundant statement.
102671 2007-07-07  Bruno Haible  <bruno@clisp.org>
102673         * MODULES.html.sh (Unicode string functions): Add the new modules.
102675         * tests/uniwidth/test-u32-strwidth.c: New file.
102676         * modules/uniwidth/u32-strwidth-tests: New file.
102678         * lib/uniwidth/u32-strwidth.c: New file.
102679         * modules/uniwidth/u32-strwidth: New file.
102681         * tests/uniwidth/test-u16-strwidth.c: New file.
102682         * modules/uniwidth/u16-strwidth-tests: New file.
102684         * lib/uniwidth/u16-strwidth.c: New file.
102685         * modules/uniwidth/u16-strwidth: New file.
102687         * tests/uniwidth/test-u8-strwidth.c: New file.
102688         * modules/uniwidth/u8-strwidth-tests: New file.
102690         * lib/uniwidth/u8-strwidth.c: New file.
102691         * modules/uniwidth/u8-strwidth: New file.
102693         * tests/uniwidth/test-u32-width.c: New file.
102694         * modules/uniwidth/u32-width-tests: New file.
102696         * lib/uniwidth/u32-width.c: New file.
102697         * modules/uniwidth/u32-width: New file.
102699         * tests/uniwidth/test-u16-width.c: New file.
102700         * modules/uniwidth/u16-width-tests: New file.
102702         * lib/uniwidth/u16-width.c: New file.
102703         * modules/uniwidth/u16-width: New file.
102705         * tests/uniwidth/test-u8-width.c: New file.
102706         * modules/uniwidth/u8-width-tests: New file.
102708         * lib/uniwidth/u8-width.c: New file.
102709         * modules/uniwidth/u8-width: New file.
102711         * tests/uniwidth/test-uc_width.c: New file.
102712         * modules/uniwidth/width-tests: New file.
102714         * lib/uniwidth/width.c: New file, from GNU libiconv.
102715         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
102716         * modules/uniwidth/width: New file.
102718         * lib/uniwidth.h: New file, from GNU libiconv.
102719         * modules/uniwidth/base: New file.
102721 2007-07-07  Bruno Haible  <bruno@clisp.org>
102723         * lib/uniname.h: New file, from GNU gettext.
102724         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
102725         * lib/uniname/uninames.h: New file, from GNU gettext.
102726         * lib/uniname/uniname.c: New file, from GNU gettext.
102727         * tests/uniname/test-uninames.sh: New file.
102728         * tests/uniname/test-uninames.c: New file, from GNU gettext.
102729         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
102730         * modules/uniname/base: New file.
102731         * modules/uniname/uniname: New file.
102732         * modules/uniname/uniname-tests: New file.
102733         * MODULES.html.sh (Unicode string functions): Add the new modules.
102735 2007-07-06  Bruno Haible  <bruno@clisp.org>
102737         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
102739 2007-07-06  Bruno Haible  <bruno@clisp.org>
102741         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
102742         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
102743         includes <cygwin/sys_time.h> which includes <sys/select.h> which
102744         include <sys/time.h>.
102745         Reported by Eric Blake.
102747 2007-07-06  Eric Blake  <ebb9@byu.net>
102749         Fix testing canonicalize on cygwin.
102750         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
102751         Revert patch from 2007-06-19.
102752         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
102753         canonicalize module is also in use.
102754         * tests/test-canonicalize.c: New file.
102755         * tests/test-canonicalize.sh: Likewise.
102756         * modules/canonicalize-tests: Likewise.
102758 2007-07-06  Jim Meyering  <jim@meyering.net>
102760         * lib/getugroups.c (getugroups): Detect getgrent failure.
102761         Adjust comment to reflect reality: this function may return -1.
102763 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
102765         * build-aux/bootstrap (TP_URL,get_translations): Update to use
102766         the new TP address.
102767         (usage): Fix typo
102768         (gnulib_mk): New variable.
102770 2007-07-05  Jim Meyering  <jim@meyering.net>
102772         Don't let endgrent clobber errno, no matter how improbable.
102773         * lib/getugroups.c (getugroups): Save and restore errno around
102774         endgrent call.
102776         Close the group DB even when failing with 2^31 or more members.
102777         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
102779 2007-07-04  Jim Meyering  <jim@meyering.net>
102781         * lib/getugroups.h: New file.
102782         * lib/getugroups.c: Include "getugroups.h".
102783         Remove uses of "register" keyword.
102784         Move local variable, "cp", down into scope where used.
102785         Give "username" parameter the "const" attribute.
102786         * modules/getugroups (Files): Add lib/getugroups.h
102788 2007-07-04  Karl Berry  <karl@gnu.org>
102790         * MODULES.html.sh (func_all_modules): Complete rename of
102791         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
102793 2007-07-02  Bruno Haible  <bruno@clisp.org>
102795         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
102796         mode, when inttypes.h comes from gnulib.
102797         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
102799 2007-07-02  Simon Josefsson  <simon@josefsson.org>
102801         * NEWS: Mention lgpl module name change.
102803         * modules/lgpl-2.1: Renamed from lgpl.
102805         * NEWS: Mention gpl module name change.
102807         * modules/gpl-3.0: New file, based on gpl-2.0.
102809         * modules/gpl-2.0: Renamed from gpl.
102811         * modules/gpl: Fix filename, doc/gpl.texi is now found at
102812         doc/gpl-2.0.texi.
102814 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
102816         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
102817         #define __STDC_LIMIT_MACROS temporarily while including
102818         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
102819         Problem reported by Joel E. Denny in
102820         <http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.
102822 2007-07-01  Bruno Haible  <bruno@clisp.org>
102824         * lib/unistdio.h: New file.
102825         * lib/unistdio/u-asnprintf.h: New file.
102826         * lib/unistdio/u-asprintf.h: New file.
102827         * lib/unistdio/u-printf-args.c: New file.
102828         * lib/unistdio/u-printf-args.h: New file.
102829         * lib/unistdio/u-printf-parse.h: New file.
102830         * lib/unistdio/u-snprintf.h: New file.
102831         * lib/unistdio/u-sprintf.h: New file.
102832         * lib/unistdio/u-vasprintf.h: New file.
102833         * lib/unistdio/u-vsnprintf.h: New file.
102834         * lib/unistdio/u-vsprintf.h: New file.
102835         * lib/unistdio/ulc-asnprintf.c: New file.
102836         * lib/unistdio/ulc-asprintf.c: New file.
102837         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
102838         * lib/unistdio/ulc-printf-parse.c: New file.
102839         * lib/unistdio/ulc-snprintf.c: New file.
102840         * lib/unistdio/ulc-sprintf.c: New file.
102841         * lib/unistdio/ulc-vasnprintf.c: New file.
102842         * lib/unistdio/ulc-vasprintf.c: New file.
102843         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
102844         * lib/unistdio/ulc-vsnprintf.c: New file.
102845         * lib/unistdio/ulc-vsprintf.c: New file.
102846         * lib/unistdio/u8-asnprintf.c: New file.
102847         * lib/unistdio/u8-asprintf.c: New file.
102848         * lib/unistdio/u8-printf-parse.c: New file.
102849         * lib/unistdio/u8-snprintf.c: New file.
102850         * lib/unistdio/u8-sprintf.c: New file.
102851         * lib/unistdio/u8-vasnprintf.c: New file.
102852         * lib/unistdio/u8-vasprintf.c: New file.
102853         * lib/unistdio/u8-vsnprintf.c: New file.
102854         * lib/unistdio/u8-vsprintf.c: New file.
102855         * lib/unistdio/u8-u8-asnprintf.c: New file.
102856         * lib/unistdio/u8-u8-asprintf.c: New file.
102857         * lib/unistdio/u8-u8-snprintf.c: New file.
102858         * lib/unistdio/u8-u8-sprintf.c: New file.
102859         * lib/unistdio/u8-u8-vasnprintf.c: New file.
102860         * lib/unistdio/u8-u8-vasprintf.c: New file.
102861         * lib/unistdio/u8-u8-vsnprintf.c: New file.
102862         * lib/unistdio/u8-u8-vsprintf.c: New file.
102863         * lib/unistdio/u16-asnprintf.c: New file.
102864         * lib/unistdio/u16-asprintf.c: New file.
102865         * lib/unistdio/u16-printf-parse.c: New file.
102866         * lib/unistdio/u16-snprintf.c: New file.
102867         * lib/unistdio/u16-sprintf.c: New file.
102868         * lib/unistdio/u16-vasnprintf.c: New file.
102869         * lib/unistdio/u16-vasprintf.c: New file.
102870         * lib/unistdio/u16-vsnprintf.c: New file.
102871         * lib/unistdio/u16-vsprintf.c: New file.
102872         * lib/unistdio/u16-u16-asnprintf.c: New file.
102873         * lib/unistdio/u16-u16-asprintf.c: New file.
102874         * lib/unistdio/u16-u16-snprintf.c: New file.
102875         * lib/unistdio/u16-u16-sprintf.c: New file.
102876         * lib/unistdio/u16-u16-vasnprintf.c: New file.
102877         * lib/unistdio/u16-u16-vasprintf.c: New file.
102878         * lib/unistdio/u16-u16-vsnprintf.c: New file.
102879         * lib/unistdio/u16-u16-vsprintf.c: New file.
102880         * lib/unistdio/u32-asnprintf.c: New file.
102881         * lib/unistdio/u32-asprintf.c: New file.
102882         * lib/unistdio/u32-printf-parse.c: New file.
102883         * lib/unistdio/u32-snprintf.c: New file.
102884         * lib/unistdio/u32-sprintf.c: New file.
102885         * lib/unistdio/u32-vasnprintf.c: New file.
102886         * lib/unistdio/u32-vasprintf.c: New file.
102887         * lib/unistdio/u32-vsnprintf.c: New file.
102888         * lib/unistdio/u32-vsprintf.c: New file.
102889         * lib/unistdio/u32-u32-asnprintf.c: New file.
102890         * lib/unistdio/u32-u32-asprintf.c: New file.
102891         * lib/unistdio/u32-u32-snprintf.c: New file.
102892         * lib/unistdio/u32-u32-sprintf.c: New file.
102893         * lib/unistdio/u32-u32-vasnprintf.c: New file.
102894         * lib/unistdio/u32-u32-vasprintf.c: New file.
102895         * lib/unistdio/u32-u32-vsnprintf.c: New file.
102896         * lib/unistdio/u32-u32-vsprintf.c: New file.
102897         * tests/unistdio/test-ulc-asnprintf1.c: New file.
102898         * tests/unistdio/test-ulc-asnprintf1.h: New file.
102899         * tests/unistdio/test-ulc-printf1.h: New file.
102900         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
102901         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
102902         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
102903         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
102904         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
102905         * tests/unistdio/test-ulc-vasprintf1.c: New file.
102906         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
102907         * tests/unistdio/test-ulc-vsprintf1.c: New file.
102908         * tests/unistdio/test-u8-asnprintf1.c: New file.
102909         * tests/unistdio/test-u8-asnprintf1.h: New file.
102910         * tests/unistdio/test-u8-printf1.h: New file.
102911         * tests/unistdio/test-u8-vasnprintf1.c: New file.
102912         * tests/unistdio/test-u8-vasnprintf2.c: New file.
102913         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
102914         * tests/unistdio/test-u8-vasnprintf3.c: New file.
102915         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
102916         * tests/unistdio/test-u8-vasprintf1.c: New file.
102917         * tests/unistdio/test-u8-vsnprintf1.c: New file.
102918         * tests/unistdio/test-u8-vsprintf1.c: New file.
102919         * tests/unistdio/test-u16-asnprintf1.c: New file.
102920         * tests/unistdio/test-u16-asnprintf1.h: New file.
102921         * tests/unistdio/test-u16-printf1.h: New file.
102922         * tests/unistdio/test-u16-vasnprintf1.c: New file.
102923         * tests/unistdio/test-u16-vasnprintf2.c: New file.
102924         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
102925         * tests/unistdio/test-u16-vasnprintf3.c: New file.
102926         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
102927         * tests/unistdio/test-u16-vasprintf1.c: New file.
102928         * tests/unistdio/test-u16-vsnprintf1.c: New file.
102929         * tests/unistdio/test-u16-vsprintf1.c: New file.
102930         * tests/unistdio/test-u32-asnprintf1.c: New file.
102931         * tests/unistdio/test-u32-asnprintf1.h: New file.
102932         * tests/unistdio/test-u32-printf1.h: New file.
102933         * tests/unistdio/test-u32-vasnprintf1.c: New file.
102934         * tests/unistdio/test-u32-vasnprintf2.c: New file.
102935         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
102936         * tests/unistdio/test-u32-vasnprintf3.c: New file.
102937         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
102938         * tests/unistdio/test-u32-vasprintf1.c: New file.
102939         * tests/unistdio/test-u32-vsnprintf1.c: New file.
102940         * tests/unistdio/test-u32-vsprintf1.c: New file.
102941         * modules/unistdio/base: New file.
102942         * modules/unistdio/u-printf-args: New file.
102943         * modules/unistdio/ulc-asnprintf: New file.
102944         * modules/unistdio/ulc-asprintf: New file.
102945         * modules/unistdio/ulc-fprintf: New file.
102946         * modules/unistdio/ulc-printf-parse: New file.
102947         * modules/unistdio/ulc-snprintf: New file.
102948         * modules/unistdio/ulc-sprintf: New file.
102949         * modules/unistdio/ulc-vasnprintf: New file.
102950         * modules/unistdio/ulc-vasprintf: New file.
102951         * modules/unistdio/ulc-vfprintf: New file.
102952         * modules/unistdio/ulc-vsnprintf: New file.
102953         * modules/unistdio/ulc-vsprintf: New file.
102954         * modules/unistdio/u8-asnprintf: New file.
102955         * modules/unistdio/u8-asprintf: New file.
102956         * modules/unistdio/u8-printf-parse: New file.
102957         * modules/unistdio/u8-snprintf: New file.
102958         * modules/unistdio/u8-sprintf: New file.
102959         * modules/unistdio/u8-vasnprintf: New file.
102960         * modules/unistdio/u8-vasprintf: New file.
102961         * modules/unistdio/u8-vsnprintf: New file.
102962         * modules/unistdio/u8-vsprintf: New file.
102963         * modules/unistdio/u8-u8-asnprintf: New file.
102964         * modules/unistdio/u8-u8-asprintf: New file.
102965         * modules/unistdio/u8-u8-snprintf: New file.
102966         * modules/unistdio/u8-u8-sprintf: New file.
102967         * modules/unistdio/u8-u8-vasnprintf: New file.
102968         * modules/unistdio/u8-u8-vasprintf: New file.
102969         * modules/unistdio/u8-u8-vsnprintf: New file.
102970         * modules/unistdio/u8-u8-vsprintf: New file.
102971         * modules/unistdio/u16-asnprintf: New file.
102972         * modules/unistdio/u16-asprintf: New file.
102973         * modules/unistdio/u16-printf-parse: New file.
102974         * modules/unistdio/u16-snprintf: New file.
102975         * modules/unistdio/u16-sprintf: New file.
102976         * modules/unistdio/u16-vasnprintf: New file.
102977         * modules/unistdio/u16-vasprintf: New file.
102978         * modules/unistdio/u16-vsnprintf: New file.
102979         * modules/unistdio/u16-vsprintf: New file.
102980         * modules/unistdio/u16-u16-asnprintf: New file.
102981         * modules/unistdio/u16-u16-asprintf: New file.
102982         * modules/unistdio/u16-u16-snprintf: New file.
102983         * modules/unistdio/u16-u16-sprintf: New file.
102984         * modules/unistdio/u16-u16-vasnprintf: New file.
102985         * modules/unistdio/u16-u16-vasprintf: New file.
102986         * modules/unistdio/u16-u16-vsnprintf: New file.
102987         * modules/unistdio/u16-u16-vsprintf: New file.
102988         * modules/unistdio/u32-asnprintf: New file.
102989         * modules/unistdio/u32-asprintf: New file.
102990         * modules/unistdio/u32-printf-parse: New file.
102991         * modules/unistdio/u32-snprintf: New file.
102992         * modules/unistdio/u32-sprintf: New file.
102993         * modules/unistdio/u32-vasnprintf: New file.
102994         * modules/unistdio/u32-vasprintf: New file.
102995         * modules/unistdio/u32-vsnprintf: New file.
102996         * modules/unistdio/u32-vsprintf: New file.
102997         * modules/unistdio/u32-u32-asnprintf: New file.
102998         * modules/unistdio/u32-u32-asprintf: New file.
102999         * modules/unistdio/u32-u32-snprintf: New file.
103000         * modules/unistdio/u32-u32-sprintf: New file.
103001         * modules/unistdio/u32-u32-vasnprintf: New file.
103002         * modules/unistdio/u32-u32-vasprintf: New file.
103003         * modules/unistdio/u32-u32-vsnprintf: New file.
103004         * modules/unistdio/u32-u32-vsprintf: New file.
103005         * modules/unistdio/ulc-asnprintf-tests: New file.
103006         * modules/unistdio/ulc-vasnprintf-tests: New file.
103007         * modules/unistdio/ulc-vasprintf-tests: New file.
103008         * modules/unistdio/ulc-vsnprintf-tests: New file.
103009         * modules/unistdio/ulc-vsprintf-tests: New file.
103010         * modules/unistdio/u8-asnprintf-tests: New file.
103011         * modules/unistdio/u8-vasnprintf-tests: New file.
103012         * modules/unistdio/u8-vasprintf-tests: New file.
103013         * modules/unistdio/u8-vsnprintf-tests: New file.
103014         * modules/unistdio/u8-vsprintf-tests: New file.
103015         * modules/unistdio/u16-asnprintf-tests: New file.
103016         * modules/unistdio/u16-vasnprintf-tests: New file.
103017         * modules/unistdio/u16-vasprintf-tests: New file.
103018         * modules/unistdio/u16-vsnprintf-tests: New file.
103019         * modules/unistdio/u16-vsprintf-tests: New file.
103020         * modules/unistdio/u32-asnprintf-tests: New file.
103021         * modules/unistdio/u32-vasnprintf-tests: New file.
103022         * modules/unistdio/u32-vasprintf-tests: New file.
103023         * modules/unistdio/u32-vsnprintf-tests: New file.
103024         * modules/unistdio/u32-vsprintf-tests: New file.
103025         * MODULES.html.sh (Unicode string functions): Add the new modules.
103027 2007-07-01  Bruno Haible  <bruno@clisp.org>
103029         * lib/sprintf.c (sprintf): Limit the available length estimation,
103030         to avoid address wraparound.
103031         * lib/vsprintf.c (vsprintf): Likewise.
103032         * modules/sprintf-posix (Dependencies): Add stdint.
103033         * modules/vsprintf-posix (Dependencies): Likewise.
103035 2007-07-01  Bruno Haible  <bruno@clisp.org>
103037         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
103038         Windows PATH as well. Conservative double-quoting. Comments.
103040 2007-07-01  Bruno Haible  <bruno@clisp.org>
103041             Eric Blake  <ebb9@byu.net>
103042             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103044         * gnulib-tool (self_abspathname): Fix algorithm to cope with
103045         empty components in $PATH, denoting '.'.
103047 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103049         * gnulib-tool: Fix indentation.
103050         (func_create_megatestdir): Likewise.
103051         Report by Bruno Haible.
103053 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103055         Sync from Automake.
103056         * build-aux/gnupload: Fix shell portability issues with for loops.
103057         Report by Karl Berry.
103059 2007-06-29  Simon Josefsson  <simon@josefsson.org>
103061         * build-aux/maint.mk (POURL): Use translationproject.org.
103063 2007-06-27  Simon Josefsson  <simon@josefsson.org>
103064             Bruno Haible  <bruno@clisp.org>
103066         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
103067         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
103068         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
103069         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
103070         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
103072 2007-06-27  Bruno Haible  <bruno@clisp.org>
103074         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
103075         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
103077 2007-06-26  Karl Berry  <karl@gnu.org>
103079         * MODULES.html.sh: remove xreadlink-with-size.
103081 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103083         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
103084         method that I hope also handles the double-include problem noted
103085         by Bruno Haible in
103086         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.
103088 2007-06-23  Bruno Haible  <bruno@clisp.org>
103090         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
103091         Don't let the 'mostlyclean' target fail if the last subdirectory could
103092         not be removed.
103093         Reported by Karl Berry.
103095 2007-06-23  Bruno Haible  <bruno@clisp.org>
103097         * gnulib-tool (echo): Add a speedier workaround for ksh.
103098         * tests/test-echo.sh: Likewise.
103100 2007-06-23  Bruno Haible  <bruno@clisp.org>
103102         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
103103         * tests/test-echo.sh: Likewise.
103105 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103107         * gnulib-tool (IFS): Initialize early, so we don't set it to
103108         empty later.
103109         (self_abspathname): Rewrite algorithm to set it, reindent.
103110         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
103111         (func_create_megatestdir): Merge some sed scripts.
103113 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
103115         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
103116         exposed by Sun Studio 11 cc on Solaris 8.
103118 2007-06-22  Bruno Haible  <bruno@clisp.org>
103120         * gnulib-tool (echo): Ensure the echo primitive does not interpret
103121         backslashes.
103122         * tests/test-echo.sh: New file.
103124 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
103126         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
103127         simplify `sed_replace_build_aux' scripts, they are portable but
103128         echoing them with `echo' is not.
103129         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
103131 2007-06-21  Karl Berry  <karl@gnu.org>
103133         * config/srclist.txt: guess we can't handle the licenses via
103134         srclist at the moment.
103136 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
103138         * MODULES.html.sh: Add include_next.
103139         * modules/include_next: New file.
103141 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
103143         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
103144         INCLUDE_NEXT.
103145         (gl_CHECK_NEXT_HEADERS): New macro.
103146         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
103147         the obsolescent gl_ABSOLUTE_HEADER.
103148         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
103149         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
103150         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
103151         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
103152         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
103153         * m4/math_h.m4 (gl_MATH_H): Likewise.
103154         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
103155         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
103156         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
103157         * m4/stdint.m4 (gl_STDINT_H): Likewise.
103158         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
103159         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
103160         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
103161         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
103162         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
103163         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
103164         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
103165         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
103166         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
103167         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
103168         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
103169         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
103170         * m4/inttypes.m4 (gl_INTTYPES_H): Define
103171         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
103172         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
103173         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
103174         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
103175         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
103176         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
103177         * lib/float_.h: Likewise.
103178         * lib/inttypes_.h: Likewise.
103179         * lib/math_.h: Likewise.
103180         * lib/search_.h: Likewise.
103181         * lib/signal_.h: Likewise.
103182         * lib/stdint_.h: Likewise.
103183         * lib/stdio_.h: Likewise.
103184         * lib/stdlib_.h: Likewise.
103185         * lib/string_.h: Likewise.
103186         * lib/sys_stat_.h: Likewise.
103187         * lib/sys_time_.h: Likewise.
103188         * lib/time_.h: Likewise.
103189         * lib/unistd_.h: Likewise.
103190         * lib/wchar_.h: Likewise.
103191         * lib/wctype_.h: Likewise.
103192         * lib/dirent_.h: Likewise.
103193         * lib/iconv_.h: Likewise.
103194         * lib/locale_.h: Likewise.
103195         * lib/netinet_in_.h: Likewise.
103196         * lib/sys_select_.h: Likewise.
103197         * lib/sys_socket_.h: Likewise.
103198         * lib/sysexits_.h: Likewise.
103199         * modules/fcntl (Depends-on): Depend on include_next, not
103200         absolute_header.
103201         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
103202         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
103203         * modules/fchdir: Likewise.
103204         * modules/float: Likewise.
103205         * modules/iconv_open: Likewise.
103206         * modules/inttypes: Likewise.
103207         * modules/locale: Likewise.
103208         * modules/math: Likewise.
103209         * modules/netinet_in: Likewise.
103210         * modules/search: Likewise.
103211         * modules/signal: Likewise.
103212         * modules/stdint: Likewise.
103213         * modules/stdio: Likewise.
103214         * modules/stdlib: Likewise.
103215         * modules/string: Likewise.
103216         * modules/sys_select: Likewise.
103217         * modules/sys_socket: Likewise.
103218         * modules/sys_stat: Likewise.
103219         * modules/sys_time: Likewise.
103220         * modules/sysexits: Likewise.
103221         * modules/time: Likewise.
103222         * modules/unistd: Likewise.
103223         * modules/wchar: Likewise.
103224         * modules/wctype: Likewise.
103225         * modules/sys_stat: Change maintainer to "all".
103226         * modules/unistd: Likewise.
103228 2007-06-20  Karl Berry  <karl@gnu.org>
103230         * config/srclist.txt: track www changes in license files.
103232 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
103234         * build-aux/bootstrap: Remove stray dot.
103235         Make sure build_aux settings are honored when linking
103236         gnulib_extra_files.
103238 2007-06-19  Eric Blake  <ebb9@byu.net>
103240         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
103241         Allow compilation on cygwin.
103243 2007-06-19  Jim Meyering  <jim@meyering.net>
103245         xreadlink-with-size: Remove module.  No longer used.
103246         Ex-callers now use xreadlink or mreadlink-with-size.
103247         * modules/xreadlink-with-size: Remove module.
103248         * lib/xreadlink-with-size.c: Remove file.
103249         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
103250         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
103251         just before the function definition *is* accurate.
103253         Eliminate one way canonicalize_filename_mode could exit.
103254         * lib/canonicalize.c (canonicalize_filename_mode):
103255         Use mreadlink_with_size, not xreadlink_with_size.
103257 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
103259         Detect porting problems to FreeBSD/arm, which has time_t wider than
103260         long int.  Original problem reported for GNU diff by Xin Li in
103261         <http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
103262         * modules/getdate (Depends-on): Add intprops, verify.
103263         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
103264         is an integer type no wider than long int.
103266 2007-06-18  Jim Meyering  <jim@meyering.net>
103268         New module: mreadlink-with-size.
103269         * MODULES.html.sh: Add mreadlink-with-size.
103270         * modules/mreadlink-with-size: New module
103271         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
103272         not xreadlink-with-size.
103273         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
103275 2007-06-16  Bruno Haible  <bruno@clisp.org>
103277         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
103278         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
103279         Reported by Gary V. Vaughan <gary@gnu.org>.
103281 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
103283         Revamp lchown so that it lives in unistd.h where it belongs.
103284         * lib/lchown.h: Remove.
103285         * lib/dirchownmod.c: Don't include lib/lchown.h.
103286         * lib/fchownat.c: Likewise.
103287         * lib/openat.c: Likewise.
103288         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
103289         does not follow symlinks.
103290         (EOPNOTSUPP): Define if not defined.
103291         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
103292         is defined to 0.
103293         (lchown): New decl.
103294         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
103295         Do not check for lchown decl.
103296         Set REPLACE_LCHOWN.
103297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
103298         REPLACE_LCHOWN.
103299         * modules/chown: Make it clear it follows symlinks.
103300         * modules/lchown: Make it clear it doesn't follow symlinks.
103301         (Files): Remove lib/lchown.h
103302         (Depends-on): Add unistd.
103303         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
103304         (Include): Include <unistd.h>, not "lchown.h".
103305         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
103306         REPLACE_LCHOWN.
103308 2007-06-15  Jim Meyering  <jim@meyering.net>
103310         Change license (GPL to LGPL) of fsusage and dependents.
103311         * modules/fsusage (License): Change to LGPL.
103312         * modules/full-read (License): Likewise.
103313         * modules/full-write (License): Likewise.
103314         * modules/safe-read (License): Likewise.
103315         * modules/safe-write (License): Likewise.
103317 2007-06-14  Ben Pfaff  <blp@gnu.org>
103319         Missing part of allocsa -> malloca transition.
103320         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
103321         gl_MALLOCA.
103323 2007-06-12  Bruno Haible  <bruno@clisp.org>
103325         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
103326         to ia64, x86_64, i386.
103327         Reported by Eric Blake.
103329 2007-06-12  Bruno Haible  <bruno@clisp.org>
103331         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
103332         cross-compiling to x86_64.
103334 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
103336         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
103337         glitch reported by Ralf Wildenhues in
103338         <http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.
103340         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
103341         Vin Shelton.
103343 2007-06-11  Bruno Haible  <bruno@clisp.org>
103345         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
103346         replacement string.
103347         Reported by Eric Blake.
103349 2007-06-10  Bruno Haible  <bruno@clisp.org>
103351         Prepare vasnprintf code for use with Unicode strings.
103352         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
103353         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
103354         TYPE_U32_STRING.
103355         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
103356         a_u32_string variants.
103357         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103358         * lib/printf-args.c: Don't include config.h and the specification
103359         header if PRINTF_FETCHARGS is already defined.
103360         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
103361         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
103362         TYPE_U16_STRING, TYPE_U32_STRING.
103363         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
103364         u16_directive, u16_directives, u32_directive, u32_directives): New
103365         types.
103366         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
103367         New declarations.
103368         * lib/printf-parse.c: Don't include config.h and the specification
103369         header if PRINTF_PARSE is already defined. Eliminate the set of
103370         parameters for WIDE_CHAR_VERSION; the user of this file must provide
103371         them now. Include c-ctype.h.
103372         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
103373         directive and CHAR_T_ONLY_ASCII.
103374         * lib/vasnprintf.c: Don't include config.h and the specification header
103375         if VASNPRINTF is already defined.
103376         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
103377         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
103378         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
103379         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
103380         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
103381         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
103382         code accordingly.
103383         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
103384         pad_ourselves also in this case, with the 'c' and 's' directives, and
103385         with a different notion of "width".
103386         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
103388 2007-06-10  Bruno Haible  <bruno@clisp.org>
103390         * modules/unistr/u32-mbsnlen: New file.
103391         * lib/unistr/u32-mbsnlen.c: New file.
103393         * modules/unistr/u16-mbsnlen: New file.
103394         * lib/unistr/u16-mbsnlen.c: New file.
103396         * modules/unistr/u8-mbsnlen: New file.
103397         * lib/unistr/u8-mbsnlen.c: New file.
103399         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
103400         declarations.
103402 2007-06-10  Bruno Haible  <bruno@clisp.org>
103404         * lib/string_.h (mbsnlen): New declaration.
103405         * lib/mbsnlen.c: New file.
103406         * m4/mbsnlen.m4: New file.
103407         * modules/mbsnlen: New file.
103408         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
103409         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
103410         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
103412 2007-06-10  Bruno Haible  <bruno@clisp.org>
103414         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
103416 2007-06-10  Bruno Haible  <bruno@clisp.org>
103418         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
103419         * lib/mbuiter.h: Likewise.
103421 2007-06-10  Bruno Haible  <bruno@clisp.org>
103423         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
103424         declaration.
103426 2007-06-10  Karl Berry  <karl@gnu.org>
103428         * config/srclist.txt: remove gettext entries, Bruno prefers
103429         to update individually.
103431 2007-06-10  Bruno Haible  <bruno@clisp.org>
103433         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
103434         'maxlen'. Ensure only length + width bytes are allocated, not
103435         length + 1 + width.
103437 2007-06-09  Bruno Haible  <bruno@clisp.org>
103439         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
103440         (CHAR_T): Remove macro.
103441         (VASNPRINTF): Update.
103443 2007-06-09  Bruno Haible  <bruno@clisp.org>
103445         * MODULES.html.sh (Unicode string functions): Add the new modules.
103447         * modules/uniconv/u32-conv-to-enc: New file.
103448         * lib/uniconv/u32-conv-to-enc.c: New file.
103449         * modules/uniconv/u32-conv-to-enc-tests: New file.
103450         * tests/uniconv/test-u32-conv-to-enc.c: New file.
103452         * modules/uniconv/u16-conv-to-enc: New file.
103453         * lib/uniconv/u16-conv-to-enc.c: New file.
103454         * lib/uniconv/u-conv-to-enc.h: New file.
103455         * modules/uniconv/u16-conv-to-enc-tests: New file.
103456         * tests/uniconv/test-u16-conv-to-enc.c: New file.
103458         * modules/uniconv/u8-conv-to-enc: New file.
103459         * lib/uniconv/u8-conv-to-enc.c: New file.
103460         * modules/uniconv/u8-conv-to-enc-tests: New file.
103461         * tests/uniconv/test-u8-conv-to-enc.c: New file.
103463         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
103464         u32_conv_to_encoding): New declarations.
103466 2007-06-09  Bruno Haible  <bruno@clisp.org>
103468         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
103470 2007-06-09  Bruno Haible  <bruno@clisp.org>
103472         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
103473         * modules/malloca: Renamed from modules/allocsa, updated.
103474         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
103475         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
103476         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
103477         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
103478         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
103479         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
103480         * modules/xmalloca: Renamed from modules/xallocsa, updated.
103481         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
103482         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
103483         * modules/c-strcasestr (Depends-on): Update.
103484         * lib/c-strcasestr.c: Update.
103485         * modules/c-strstr (Depends-on): Update.
103486         * lib/c-strstr.c: Update.
103487         * modules/canonicalize-lgpl (Depends-on): Update.
103488         * lib/canonicalize-lgpl.c: Update.
103489         * modules/clean-temp (Depends-on): Update.
103490         * lib/clean-temp.c: Update.
103491         * modules/csharpcomp (Depends-on): Update.
103492         * lib/csharpcomp.c: Update.
103493         * modules/csharpexec (Depends-on): Update.
103494         * lib/csharpexec.c: Update.
103495         * modules/javacomp (Depends-on): Update.
103496         * lib/javacomp.c: Update.
103497         * modules/javaexec (Depends-on): Update.
103498         * lib/javaexec.c: Update.
103499         * modules/mbscasestr (Depends-on): Update.
103500         * lib/mbscasestr.c: Update.
103501         * modules/mbsstr (Depends-on): Update.
103502         * lib/mbsstr.c: Update.
103503         * modules/setenv (Depends-on): Update.
103504         * lib/setenv.c: Update.
103505         * modules/strcasestr (Depends-on): Update.
103506         * lib/strcasestr.c: Update.
103507         * modules/striconveha (Depends-on): Update.
103508         * lib/striconveha.c: Update.
103509         * modules/relocatable-prog-wrapper (Files): Update.
103510         * lib/relocwrapper.c: Update.
103511         * build-aux/install-reloc: Update.
103512         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
103514 2007-06-08  Bruno Haible  <bruno@clisp.org>
103516         Port to uClibc.
103517         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
103518         * lib/fpurge.c (fpurge): Likewise.
103519         * lib/freading.c (freading): Likewise.
103520         * lib/fseeko.c (rpl_fseeko): Likewise.
103521         * lib/fseterr.c (fseterr): Likewise.
103522         * lib/fwriting.c (fwriting): Likewise.
103523         * tests/test-fflush.c (main): Avoid a failure on uClibc.
103525 2007-06-08  Bruno Haible  <bruno@clisp.org>
103527         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
103528         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
103529         * modules/gettext (Files): Add m4/intlmacosx.m4.
103531 2007-06-07  Bruno Haible  <bruno@clisp.org>
103533         * modules/localename-tests: New file.
103534         * tests/test-localename.c: New file.
103536         New module 'localename'.
103537         * lib/localename.h: New file.
103538         * lib/localename.c: New file, from GNU gettext.
103539         * m4/localename.m4: New file.
103540         * modules/localename: New file.
103542 2007-06-07  Bruno Haible  <bruno@clisp.org>
103544         Work around the lack of <wchar.h> on some builds of uClibc.
103545         * doc/headers/wchar.texi: Update.
103546         * lib/wchar_.h: Include <wchar.h> only if it exists.
103547         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
103548         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
103549         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
103550         doesn't exist.
103551         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
103552         * modules/mbfile (Depends-on): Add wchar.
103553         * modules/mbiter (Depends-on): Likewise.
103554         * modules/mbuiter (Depends-on): Likewise.
103555         Reported by Simon Josefsson.
103557 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
103559         Work around problem reported by Steven M. Schweda in
103560         <http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
103561         Tru64 5.1B with the Compaq compiler environment installed declares
103562         an 'isblank' function but does not define it in the C library.
103563         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
103564         * lib/regex_internal.h (isblank): Likewise.
103565         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
103566         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
103568 2007-06-05  Bruno Haible  <bruno@clisp.org>
103570         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
103571         ia64.
103572         * modules/printf-safe: New file.
103573         * modules/fprintf-posix (Depends-on): Add printf-safe.
103574         * modules/printf-posix (Depends-on): Likewise.
103575         * modules/snprintf-posix (Depends-on): Likewise.
103576         * modules/sprintf-posix (Depends-on): Likewise.
103577         * modules/vasnprintf-posix (Depends-on): Likewise.
103578         * modules/vasprintf-posix (Depends-on): Likewise.
103579         * modules/vfprintf-posix (Depends-on): Likewise.
103580         * modules/vprintf-posix (Depends-on): Likewise.
103581         * modules/vsnprintf-posix (Depends-on): Likewise.
103582         * modules/vsprintf-posix (Depends-on): Likewise.
103583         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
103584         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
103585         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
103586         "no" on i386, x86_64, ia64.
103587         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
103588         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103589         on i386, x86_64, ia64.
103590         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
103591         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103592         on i386, x86_64, ia64.
103593         * tests/test-vasnprintf-posix.c: Include float.h.
103594         (LDBL80_WORDS): New macro.
103595         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103596         on i386, x86_64, ia64.
103597         * tests/test-vasprintf-posix.c: Include float.h.
103598         (LDBL80_WORDS): New macro.
103599         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
103600         on i386, x86_64, ia64.
103601         * tests/test-snprintf-posix.c: Include float.h.
103602         * tests/test-sprintf-posix.c: Likewise.
103603         * tests/test-vsnprintf-posix.c: Likewise.
103604         * tests/test-vsprintf-posix.c: Likewise.
103606 2007-06-05  Bruno Haible  <bruno@clisp.org>
103608         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
103609         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
103610         non-IEEE numbers on i386, x86_64, ia64.
103611         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
103612         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
103613         * tests/test-isnanl.h: Include float.h.
103614         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
103616 2007-06-05  Bruno Haible  <bruno@clisp.org>
103618         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
103619         also the %a / %A. Handle the %a / %A code before this extra handling.
103621 2007-06-05  Bruno Haible  <bruno@clisp.org>
103623         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
103624         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
103626 2007-06-05  Bruno Haible  <bruno@clisp.org>
103628         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
103629         typo in variable name.
103631 2007-06-05  Eric Blake  <ebb9@byu.net>
103633         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
103634         Reported by Simon Josefsson.
103636 2007-06-04  Bruno Haible  <bruno@clisp.org>
103638         Avoid test failures on some PowerPC platforms.
103639         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
103640         Define differently for PowerPC.
103641         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
103642         Reported by Gary V. Vaughan <gary@gnu.org>.
103644 2007-06-02  Bruno Haible  <bruno@clisp.org>
103646         Fix test-stdint failure on FreeBSD/ia64.
103647         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
103648         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
103649         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
103650         * doc/headers/stdint.texi: Update.
103652 2007-06-01  Bruno Haible  <bruno@clisp.org>
103654         * tests/test-binary-io.c (main): Pass a third argument to open().
103655         Reported by Gary V. Vaughan <gary@gnu.org>.
103657 2007-06-01  Bruno Haible  <bruno@clisp.org>
103659         * doc/functions/frexpl.texi: Update for mingw.
103661 2007-06-01  Bruno Haible  <bruno@clisp.org>
103663         * tests/test-lseek.c (main): Disable test of errno for invalid third
103664         argument.
103665         * doc/functions/lseek.texi: Update.
103666         Reported by Gary V. Vaughan <gary@gnu.org>.
103668 2007-05-28  Bruno Haible  <bruno@clisp.org>
103670         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
103672 2007-05-31  Eric Blake  <ebb9@byu.net>
103674         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
103675         cross compiling.
103677 2007-05-30  Eric Blake  <ebb9@byu.net>
103678         and Bruno Haible  <bruno@clisp.org>
103680         Work around mingw test failures exposed by m4-1.4.9b.
103681         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
103682         * tests/test-unistd.c: Disable uid_t and git_t tests for the
103683         moment.
103685 2007-05-30  Bruno Haible  <bruno@clisp.org>
103687         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
103688         assuming that they are closed. Needed on HP-UX 11.
103690 2007-05-29  Bruno Haible  <bruno@clisp.org>
103692         Fix a problem with #include_next.
103693         * lib/dirent_.h: Split the double-inclusion guard.
103694         * lib/fcntl_.h: Likewise.
103695         * lib/float_.h: Likewise.
103696         * lib/iconv_.h: Likewise.
103697         * lib/inttypes_.h: Likewise.
103698         * lib/locale_.h: Likewise.
103699         * lib/math_.h: Likewise.
103700         * lib/netinet_in_.h: Likewise.
103701         * lib/search_.h: Likewise.
103702         * lib/signal_.h: Likewise.
103703         * lib/stdint_.h: Likewise.
103704         * lib/stdio_.h: Likewise.
103705         * lib/stdlib_.h: Likewise.
103706         * lib/string_.h: Likewise.
103707         * lib/sys_select_.h: Likewise.
103708         * lib/sys_socket_.h: Likewise.
103709         * lib/sys_stat_.h: Likewise.
103710         * lib/sys_time_.h: Likewise.
103711         * lib/sysexits_.h: Likewise.
103712         * lib/time_.h: Likewise.
103713         * lib/unistd_.h: Likewise.
103714         * lib/wchar_.h: Likewise.
103715         * lib/wctype_.h: Likewise.
103717 2007-05-29  Bruno Haible  <bruno@clisp.org>
103719         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
103720         for the moment.
103722 2007-05-29  Bruno Haible  <bruno@clisp.org>
103724         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
103725         invocation.
103726         Reported by Eric Blake.
103728 2007-05-29  Bruno Haible  <bruno@clisp.org>
103730         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
103731         compiling case.
103733 2007-05-29  Eric Blake  <ebb9@byu.net>
103734             Bruno Haible  <bruno@clisp.org>
103736         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
103737         cross compiles.
103739 2007-05-28  Eric Blake  <ebb9@byu.net>
103741         * modules/closein-tests (test_closein_LDADD): Support test on
103742         cygwin with libtool.
103744 2007-05-28  Bruno Haible  <bruno@clisp.org>
103746         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
103747         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
103748         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
103749         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
103750         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
103751         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
103752         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
103753         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
103754         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
103756 2007-05-28  Eric Blake  <ebb9@byu.net>
103758         Unconditionally include <config.h> in unit tests.
103759         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
103760         * tests/test-allocsa.c, tests/test-arcfour.c,
103761         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
103762         tests/test-array_list.c, tests/test-array_oset.c,
103763         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
103764         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
103765         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
103766         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
103767         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
103768         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
103769         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
103770         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
103771         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
103772         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
103773         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
103774         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
103775         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
103776         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
103777         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
103778         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
103779         test-md5.c, test-memmem.c, test-printf-posix.c,
103780         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
103781         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
103782         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
103783         test-strcasestr.c, test-striconv.c, test-striconveh.c,
103784         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
103785         test-vasnprintf-posix2.c, test-vasnprintf.c,
103786         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
103787         test-vfprintf-posix.c, test-vprintf-posix.c,
103788         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
103789         test-xvasprintf.c: Likewise.
103791 2007-05-28  Bruno Haible  <bruno@clisp.org>
103793         * gnulib-tool (func_import): Remember the --with-tests command-line
103794         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
103795         Reported by Eric Blake.
103797 2007-05-28  Bruno Haible  <bruno@clisp.org>
103799         * modules/ftell-tests: New file.
103800         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
103801         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
103803         * lib/ftell.c: New file.
103804         * modules/ftell: New file.
103805         * m4/ftell.m4: New file.
103806         * doc/functions/ftell.texi: Update.
103807         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
103808         REPLACE_FTELL.
103809         * lib/stdio_.h (rpl_ftell): New declaration.
103810         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
103811         REPLACE_FTELL.
103813 2007-05-28  Eric Blake  <ebb9@byu.net>
103815         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
103817 2007-05-28  Bruno Haible  <bruno@clisp.org>
103819         * modules/fseek-tests: New file.
103820         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
103821         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
103823         * lib/fseek.c: New file.
103824         * modules/fseek: New file.
103825         * m4/fseek.m4: New file.
103826         * doc/functions/fseek.texi: Update.
103827         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
103828         REPLACE_FSEEK.
103829         * lib/stdio_.h (rpl_fseek): New declaration.
103830         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
103831         REPLACE_FSEEK.
103833 2007-05-28  Bruno Haible  <bruno@clisp.org>
103835         * lib/stdio_.h (fflush): More comments.
103837 2007-05-28  Bruno Haible  <bruno@clisp.org>
103839         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
103840         runtime test.
103842 2007-05-28  Eric Blake  <ebb9@byu.net>
103844         Improve lseek module.
103845         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
103846         * lib/unistd_.h (lseek): Scale back link warning message.
103847         * tests/test-lseek.c: Beef up test.
103848         * tests/test-lseek.sh: Exercise more facets of lseek.
103849         Reported by Bruno Haible.
103851 2007-05-28  Bruno Haible  <bruno@clisp.org>
103853         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
103854         to define.
103856 2007-05-27  Bruno Haible  <bruno@clisp.org>
103858         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
103860 2007-05-27  Bruno Haible  <bruno@clisp.org>
103862         * modules/openmp: New file.
103863         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
103864         Noah Misch.
103866 2007-05-26  Bruno Haible  <bruno@clisp.org>
103868         * modules/chdir-long (Depends-on): Add fchdir.
103869         * modules/chdir-safer (Depends-on): Likewise.
103870         * modules/fts (Depends-on): Likewise.
103871         * modules/fts-lgpl (Depends-on): Likewise.
103872         * modules/openat (Depends-on): Likewise.
103873         * modules/savewd (Depends-on): Likewise.
103875 2007-05-24  Eric Blake  <ebb9@byu.net>
103877         Fix lseek on mingw.
103878         * modules/lseek: New module.
103879         * m4/lseek.m4: New file.
103880         * lib/lseek.c: New file.
103881         * modules/lseek-tests: New file.
103882         * tests/test-lseek.c: New file.
103883         * tests/test-lseek.sh: New file.
103884         * MODULES.html.sh: Document lseek module.
103885         * modules/fflush (Depends-on): Add lseek, fseeko.
103886         * modules/fseeko (Depends-on): Likewise.
103887         * modules/ftello (Depends-on): Likewise.
103888         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
103889         broken.
103890         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
103891         broken.
103892         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
103893         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
103894         * lib/ftello.c (rpl_ftello): Likewise.
103895         * tests/test-fseeko.c (main): Test this.
103896         * tests/test-fseeko.sh: Likewise.
103897         * tests/test-ftello.c (main): Likewise.
103898         * tests/test-ftello.sh: Likewise.
103899         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
103900         implies replacing fseek.
103901         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
103902         HAVE_FTELLO.
103903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
103904         * modules/unistd (Makefile.am): Likewise.
103905         * lib/unistd_.h (lseek): Declare a replacement.
103906         * doc/functions/lseek.texi (lseek): Document this fix.
103907         * doc/functions/fseek.texi (fseek): Likewise.
103908         * doc/functions/ftell.texi (ftell): Likewise.
103910 2007-05-24  Bruno Haible  <bruno@clisp.org>
103912         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
103913         in the printed representation of a NaN.
103914         * tests/test-vasprintf-posix.c (test_function): Likewise.
103915         * tests/test-snprintf-posix.h (test_function): Likewise.
103916         * tests/test-sprintf-posix.h (test_function): Likewise.
103917         Reported by Eric Blake.
103919 2007-05-23  Eric Blake  <ebb9@byu.net>
103921         Fix fseeko/ftello on cygwin 1.5.24.
103922         * doc/functions/fseeko.texi (fseeko): Document the fix.
103923         * doc/functions/ftello.texi (ftello): Document the fix.
103924         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
103925         * doc/functions/stdout.text (stdout): New file.
103926         * doc/functions/stderr.text (stderr): New file.
103927         * doc/gnulib.texi (Function Substitutes): Use new files.
103928         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
103929         prior to 1.7.0.
103930         * tests/test-ftello.c (main): Likewise for ftello.
103931         * tests/test-fseeko.sh: New file.
103932         * tests/test-ftello.sh: New file.
103933         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
103934         with seekable stdin.
103935         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
103936         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
103937         (gl_REPLACE_FSEEKO): New macro.
103938         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
103939         * modules/fseeko (Files): Distribute fseeko.c.
103940         * modules/ftello (Files): Distribute ftello.c.
103941         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
103942         mode.
103943         * lib/ftello.c (rpl_ftello): New file.
103944         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
103945         fseeko, ftello.
103946         (gl_STDIN_LARGE_OFFSET): New macro.
103947         * modules/stdio (Makefile.am): Perform the replacement.
103948         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
103950 2007-05-23  Bruno Haible  <bruno@clisp.org>
103952         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
103953         GNULIB_POSIXCHECK is defined.
103955 2007-05-21  Bruno Haible  <bruno@clisp.org>
103957         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
103958         Check also the output for NaN arguments. When cross-compiling, guess
103959         no on IRIX.
103960         * lib/vasnprintf.c: Update comments.
103961         * tests/test-vasnprintf-posix.c (strisnan): New function.
103962         (test_function): Use it.
103963         * tests/test-vasprintf-posix.c (strisnan): New function.
103964         (test_function): Use it.
103965         * tests/test-snprintf-posix.h (strisnan): New function.
103966         (test_function): Use it.
103967         * tests/test-sprintf-posix.h (strisnan): New function.
103968         (test_function): Use it.
103969         Reported by Eric Blake.
103971 2007-05-20  Bruno Haible  <bruno@clisp.org>
103973         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
103974         numbers that fails on BeOS.
103975         * doc/functions/frexpl.texi: Update.
103977 2007-05-20  Jim Meyering  <jim@meyering.net>
103979         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
103980         forced upon us by glibc-2.6.
103982 2007-05-20  Bruno Haible  <bruno@clisp.org>
103984         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
103985         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
103986         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
103987         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
103988         NEED_PRINTF_INFINITE.
103989         (is_infinitel): New function.
103990         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
103991         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
103992         gl_PREREQ_VASNPRINTF_INFINITE.
103993         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
103994         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
103995         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
103996         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
103997         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
103998         gl_PREREQ_VASNPRINTF_INFINITE.
103999         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104000         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104001         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104002         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104003         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104004         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104005         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104006         * doc/functions/fprintf.texi: Update.
104007         * doc/functions/printf.texi: Update.
104008         * doc/functions/snprintf.texi: Update.
104009         * doc/functions/sprintf.texi: Update.
104010         * doc/functions/vfprintf.texi: Update.
104011         * doc/functions/vprintf.texi: Update.
104012         * doc/functions/vsnprintf.texi: Update.
104013         * doc/functions/vsprintf.texi: Update.
104015 2007-05-20  Bruno Haible  <bruno@clisp.org>
104017         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
104018         was not found in libc.
104019         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
104021 2007-05-20  Bruno Haible  <bruno@clisp.org>
104023         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104024         printed as "-nan" instead of "nan".
104025         * tests/test-vasprintf-posix.c (test_function): Likewise.
104026         * tests/test-snprintf-posix.h (test_function): Likewise.
104027         * tests/test-sprintf-posix.h (test_function): Likewise.
104028         Needed for HP-UX 11.
104030 2007-05-20  Jim Meyering  <jim@meyering.net>
104032         Fix buggy test for the fchownat-deref bug.
104033         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
104034         symlink required for the run-test.  Without it, this test would
104035         always declare that fchownat doesn't work, and client code would
104036         unnecessarily use the replacement function with fixed libc.
104037         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
104038         Reported by Greg Schafer.
104040 2007-05-19  Bruno Haible  <bruno@clisp.org>
104042         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
104043         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
104044         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
104045         Needed for IRIX 6.5 and Solaris 2.5.1.
104047 2007-05-19  Bruno Haible  <bruno@clisp.org>
104049         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
104050         (test_function): Skip tests involving -0.0 on platforms where
104051         -0.0 = 0.0.
104052         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
104053         (test_function): Skip tests involving -0.0 on platforms where
104054         -0.0 = 0.0.
104055         * tests/test-snprintf-posix.h (have_minus_zero): New function.
104056         (test_function): Skip tests involving -0.0 on platforms where
104057         -0.0 = 0.0.
104058         * tests/test-sprintf-posix.h (have_minus_zero): New function.
104059         (test_function): Skip tests involving -0.0 on platforms where
104060         -0.0 = 0.0.
104061         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
104062         tests.
104063         * tests/test-printf-posix.h (test_function): Likewise.
104064         * tests/test-printf-posix.output: Remove all -0.0 related results.
104065         Needed for IRIX 6.5.
104067 2007-05-19  Bruno Haible  <bruno@clisp.org>
104069         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
104070         printed as "nan0x7fffffff" instead of "nan".
104071         * tests/test-vasprintf-posix.c (test_function): Likewise.
104072         * tests/test-snprintf-posix.h (test_function): Likewise.
104073         * tests/test-sprintf-posix.h (test_function): Likewise.
104074         * tests/test-fprintf-posix.h (NaN): Remove macro.
104075         (test_function): Remove all NaN related tests.
104076         * tests/test-printf-posix.h (NaN): Remove macro.
104077         (test_function): Remove all NaN related tests.
104078         * tests/test-printf-posix.output: Remove all NaN related results.
104079         Needed for IRIX 6.5.
104081 2007-05-19  Bruno Haible  <bruno@clisp.org>
104083         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
104084         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
104086 2007-05-19  Bruno Haible  <bruno@clisp.org>
104088         * lib/float_.h: New file.
104089         * m4/float_h.m4: New file.
104090         * modules/float: New file.
104091         * modules/isnanl (Dependencies): Add float.
104092         * modules/isnanl-nolibm (Dependencies): Likewise.
104093         * modules/mathl (Dependencies): Likewise.
104094         * modules/printf-frexpl (Dependencies): Likewise.
104095         * modules/signbit (Dependencies): Likewise.
104096         * modules/vasnprintf (Dependencies): Likewise.
104097         * doc/headers/float.texi: Update.
104099 2007-05-19  Jim Meyering  <jim@meyering.net>
104101         * lib/utimens.c (gl_futimens): Rename from futimens,
104102         now that glibc-2.6 declares futimens.
104103         * lib/utimens.h: Likewise.
104105 2007-05-19  Bruno Haible  <bruno@clisp.org>
104107         Avoid test failures on mingw.
104108         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
104109         * tests/test-printf-posix.sh: Likewise.
104110         * tests/test-vfprintf-posix.sh: Likewise.
104111         * tests/test-vprintf-posix.sh: Likewise.
104113 2007-05-19  Bruno Haible  <bruno@clisp.org>
104115         Fix *printf result for NaN, Inf, -0.0 on mingw.
104116         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
104117         * lib/vasnprintf.c: Include math.h and isnan.h.
104118         (is_infinite_or_zero): New function.
104119         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
104120         values in the %f, %F, %e, %E, %g, %G directives.
104121         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
104122         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104123         gl_PRINTF_INFINITE and test its result. Invoke
104124         gl_PREREQ_VASNPRINTF_INFINITE.
104125         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104126         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104127         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104128         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104129         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104130         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104131         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104132         * doc/functions/fprintf.texi: Update.
104133         * doc/functions/printf.texi: Update.
104134         * doc/functions/snprintf.texi: Update.
104135         * doc/functions/sprintf.texi: Update.
104136         * doc/functions/vfprintf.texi: Update.
104137         * doc/functions/vprintf.texi: Update.
104138         * doc/functions/vsnprintf.texi: Update.
104139         * doc/functions/vsprintf.texi: Update.
104141 2007-05-19  Bruno Haible  <bruno@clisp.org>
104143         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
104144         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
104145         Instead of multiplying with 10^k, set extra_zeroes to k.
104146         (scale10_round_long_double): Remove function.
104148 2007-05-18  Bruno Haible  <bruno@clisp.org>
104150         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
104151         introduced on 2007-05-06.
104153 2007-05-18  Bruno Haible  <bruno@clisp.org>
104155         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
104156         %g directives.
104157         * tests/test-vasprintf-posix.c (test_function): Likewise.
104158         * tests/test-snprintf-posix.h (test_function): Likewise.
104159         * tests/test-sprintf-posix.h (test_function): Likewise.
104161 2007-05-18  Bruno Haible  <bruno@clisp.org>
104163         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
104164         (strmatch): New function.
104165         (test_function): Test the %f directive on numbers of various exponents.
104166         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
104167         (strmatch): New function.
104168         (test_function): Test the %f directive on numbers of various exponents.
104169         * tests/test-snprintf-posix.h (strmatch): New function.
104170         (test_function): Test the %f directive on numbers of various exponents.
104171         * tests/test-sprintf-posix.h (strmatch): New function.
104172         (test_function): Test the %f directive on numbers of various exponents.
104173         * tests/test-snprintf-posix.c (SIZEOF): New macro.
104174         * tests/test-sprintf-posix.c (SIZEOF): New macro.
104175         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
104176         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
104178 2007-05-18  Bruno Haible  <bruno@clisp.org>
104180         Add support for 'long double' number output.
104181         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
104182         * lib/vasnprintf.c: Include math.h and float+.h.
104183         (mp_limb_t): New type.
104184         (GMP_LIMB_BITS): New macro.
104185         (mp_twolimb_t): New type.
104186         (GMP_TWOLIMB_BITS): New macro.
104187         (mpn_t): New type.
104188         (multiply, divide, convert_to_decimal, decode_long_double,
104189         scale10_round_long_double, scale10_round_decimal_long_double,
104190         floorlog10l): New functions.
104191         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
104192         for the %f, %F, %e, %E, %g, %G directives.
104193         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
104194         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
104195         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
104196         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
104197         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
104198         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104199         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104200         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104201         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104202         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104203         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104204         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
104205         * modules/snprintf-posix (Depends-on): Likewise.
104206         * modules/sprintf-posix (Depends-on): Likewise.
104207         * modules/vasnprintf-posix (Depends-on): Likewise.
104208         * modules/vasprintf-posix (Depends-on): Likewise.
104209         * modules/vfprintf-posix (Depends-on): Likewise.
104210         * modules/vsnprintf-posix (Depends-on): Likewise.
104211         * modules/vsprintf-posix (Depends-on): Likewise.
104212         * modules/vasnprintf (Files): Add lib/float+.h.
104213         * doc/functions/fprintf.texi: Update.
104214         * doc/functions/printf.texi: Update.
104215         * doc/functions/snprintf.texi: Update.
104216         * doc/functions/sprintf.texi: Update.
104217         * doc/functions/vfprintf.texi: Update.
104218         * doc/functions/vprintf.texi: Update.
104219         * doc/functions/vsnprintf.texi: Update.
104220         * doc/functions/vsprintf.texi: Update.
104222 2007-05-18  Bruno Haible  <bruno@clisp.org>
104224         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
104226 2007-05-18  Bruno Haible  <bruno@clisp.org>
104228         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
104229         for printing 64-bit integers. Needed for mingw.
104231 2007-05-18  Bruno Haible  <bruno@clisp.org>
104233         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
104234         gl_FUNC_FREXPL_WORKS.
104235         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
104237 2007-05-18  Bruno Haible  <bruno@clisp.org>
104239         * modules/frexpl-nolibm-tests: New file.
104241         * modules/frexpl-nolibm: New file.
104242         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
104244 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
104246         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
104247         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104248         GCC 4.2, which otherwise issues a lot of warnings.
104249         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
104250         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
104251         Likewise.
104252         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
104253         * modules/iconv_open (iconv.h): Likewise.
104254         * modules/locale (locale.h): Likewise.
104255         * modules/netinet_in (netinet/in.h): Likewise.
104256         * modules/sys_select (sys_select.h): Likewise.
104257         * modules/sys_socket (sys/socket.h): Likewise.
104258         * modules/sys_stat (sys/stat.h): Likewise.
104259         * modules/sysexits (sysexits.h): Likewise.
104260         * modules/unistd (unistd.h): Likewise.
104262 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104264         * modules/closein-tests (Makefile.am): Distribute
104265         `test-closein.sh'.
104267 2007-05-17  Bruno Haible  <bruno@clisp.org>
104269         * tests/test-printf-posix.output: Renamed from
104270         tests/test-fprintf-posix.out.
104271         * modules/fprintf-posix-tests: Update.
104272         * modules/printf-posix-tests: Update.
104273         * modules/vfprintf-posix-tests: Update.
104274         * modules/vprintf-posix-tests: Update.
104275         * tests/test-fprintf-posix.sh: Update.
104276         * tests/test-printf-posix.sh: Update.
104277         * tests/test-vfprintf-posix.sh: Update.
104278         * tests/test-vprintf-posix.sh: Update.
104279         Reported by Ralf Wildenhues.
104281 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
104283         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
104284         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
104285         GCC 4.2, which otherwise issues a lot of warnings.
104286         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
104287         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
104288         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
104289         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
104290         it should no longer be needed.
104291         * lib/string_.h: Likewise.
104292         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
104293         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
104294         * modules/inttypes (inttypes.h): Likewise.
104295         * modules/math (math.h): Likewise.
104296         * modules/search (search.h): Likewise.
104297         * modules/signal (signal.h): Likewise.
104298         * modules/stdint (stdint.h): Likewise.
104299         * modules/stdio (stdio.h): Likewise.
104300         * modules/stdlib (stdlib.h): Likewise.
104301         * modules/string (string.h): Likewise.
104302         * modules/sys_time (sys/time.h): Likewise.
104303         * modules/time (time.h): Likewise.
104304         * modules/wchar (wchar.h): Likewise.
104305         * modules/wctype (wtype.h): Likewise.
104307 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
104309         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
104311 2007-05-13  Bruno Haible  <bruno@clisp.org>
104313         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
104314         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
104315         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
104316         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
104317         (gl_PREREQ_STRTOK_R): Don't require it here.
104319 2007-05-13  Bruno Haible  <bruno@clisp.org>
104321         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
104322         when used in C++ mode.
104324 2007-05-12  Bruno Haible  <bruno@clisp.org>
104326         * lib/linebuffer.h: Tweak doc.
104327         * lib/linebuffer.c: Likewise.
104329 2007-05-12  James Youngman  <jay@gnu.org>
104331         * lib/linebuffer.c (readlinebuffer_delim): New function,
104332         like readlinebuffer, but use a caller-specified delimiter.
104333         (readlinebuffer): Just call readlinebuffer_delim with '\n'
104334         as the delimiter.
104335         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
104337 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
104339         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
104340         * modules/openat (Files): Remove openat-die.c.
104341         (Depends-on): Add openat-die.
104342         * modules/openat-die: New module.
104344 2007-05-06  Bruno Haible  <bruno@clisp.org>
104346         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
104347         Update with info about Cygwin.
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.
104356         Reported by Eric Blake.
104358 2007-05-06  Bruno Haible  <bruno@clisp.org>
104360         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
104361         padding ourselves for the floating-point directives.
104362         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
104363         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
104364         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104365         gl_PRINTF_FLAG_ZERO and test its result. Invoke
104366         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
104367         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104368         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104369         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104370         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104371         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104372         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104373         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104374         * tests/test-snprintf-posix.h (test_function): Also check the width
104375         and some flags in the %f directive.
104376         * tests/test-sprintf-posix.h (test_function): Likewise.
104377         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104378         * tests/test-vasprintf-posix.c (test_function): Likewise.
104379         * doc/functions/fprintf.texi: Update.
104380         * doc/functions/printf.texi: Update.
104381         * doc/functions/snprintf.texi: Update.
104382         * doc/functions/sprintf.texi: Update.
104383         * doc/functions/vfprintf.texi: Update.
104384         * doc/functions/vprintf.texi: Update.
104385         * doc/functions/vsnprintf.texi: Update.
104386         * doc/functions/vsprintf.texi: Update.
104388 2007-05-06  Bruno Haible  <bruno@clisp.org>
104390         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
104391         pass the ' flag character to sprintf or snprintf.
104392         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
104393         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
104394         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104395         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
104396         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
104397         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
104398         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
104399         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
104400         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
104401         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
104402         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104403         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
104404         * tests/test-snprintf-posix.h (test_function): Also check the grouping
104405         flag.
104406         * tests/test-sprintf-posix.h (test_function): Likewise.
104407         * tests/test-vasnprintf-posix.c (test_function): Likewise.
104408         * tests/test-vasprintf-posix.c (test_function): Likewise.
104409         * doc/functions/fprintf.texi: Update.
104410         * doc/functions/printf.texi: Update.
104411         * doc/functions/snprintf.texi: Update.
104412         * doc/functions/sprintf.texi: Update.
104413         * doc/functions/vfprintf.texi: Update.
104414         * doc/functions/vprintf.texi: Update.
104415         * doc/functions/vsnprintf.texi: Update.
104416         * doc/functions/vsprintf.texi: Update.
104418 2007-05-01  Bruno Haible  <bruno@clisp.org>
104420         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
104422 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
104424         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
104425         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
104427 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
104429         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
104430         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
104431         <http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.
104433 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
104435         * lib/argp-help.c (struct hol_entry): New member `ord'.
104436         (HOL_ENTRY_PTRCMP): Use ord for comparison
104437         (hol_sort): Initialize ord.
104439 2007-05-01  Bruno Haible  <bruno@clisp.org>
104441         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
104442         Reported by Eric Blake.
104443         * doc/gnulib.texi (Function Substitutes): Update.
104445 2007-05-01  Bruno Haible  <bruno@clisp.org>
104447         * doc/functions.texi: Remove file, now redundant through
104448         doc/functions/*.texi.
104450 2007-05-01  Bruno Haible  <bruno@clisp.org>
104452         * modules/argp (Depends-on): Add sleep.
104454 2007-05-01  Bruno Haible  <bruno@clisp.org>
104456         * modules/sleep-tests: New file.
104457         * tests/test-sleep.c: New file.
104459         * modules/sleep: New file.
104460         * lib/sleep.c: New file.
104461         * m4/sleep.m4: New file.
104462         * lib/unistd_.h (sleep): New declaration.
104463         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
104464         HAVE_SLEEP.
104465         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
104466         * doc/functions/sleep.texi: Document the sleep module.
104468 2007-05-01  Bruno Haible  <bruno@clisp.org>
104470         * lib/sigprocmask.h: Remove file.
104471         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
104472         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
104473         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
104474         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
104475         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
104476         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
104477         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
104478         HAVE_SIGSET_T as a shell variable.
104479         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
104480         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
104481         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
104482         (Depends-on): Add signal. Remove verify.
104483         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
104484         (Include): Mention <signal.h> instead of sigprocmask.h.
104485         * NEWS: Mention the change.
104486         * lib/fatal-signal.c: Don't include sigprocmask.h.
104488 2007-05-01  Bruno Haible  <bruno@clisp.org>
104490         * modules/signal: New file.
104491         * lib/signal_.h: New file.
104492         * m4/signal_h.m4: New file.
104494 2007-05-01  Bruno Haible  <bruno@clisp.org>
104496         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
104497         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
104498         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
104499         HAVE_WCTYPE_CTMP_BUG into wctype.h.
104501 2007-05-01  Bruno Haible  <bruno@clisp.org>
104503         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
104504         configure time.
104505         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
104506         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
104507         * modules/sys_stat (Makefile.am): Substitute their values into
104508         sys/stat.h.
104510 2007-05-01  Bruno Haible  <bruno@clisp.org>
104512         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
104513         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
104514         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
104516 2007-05-01  Bruno Haible  <bruno@clisp.org>
104518         * doc/header/assert.texi: Undo last change: don't mention the gnulib
104519         'assert' module here.
104521 2007-05-01  Bruno Haible  <bruno@clisp.org>
104523         * doc/functions/*.texi: New files.
104524         * doc/functions/google-ranking.txt: New file.
104525         * doc/gnulib.texi (Function Substitutes): New chapter.
104526         (ctime, inet_ntoa): Remove sections.
104527         * doc/ctime.texi: Remove file.
104528         * doc/inet_ntoa.texi: Remove file.
104529         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
104530         dependencies.
104531         (%.info): New rule, specifying a --reference-limit.
104533 2007-05-01  Bruno Haible  <bruno@clisp.org>
104535         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
104537 2007-05-01  Bruno Haible  <bruno@clisp.org>
104539         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
104540         the portability of 'mkdir' to mingw systems.
104542 2007-05-01  Bruno Haible  <bruno@clisp.org>
104544         * doc/headers/google-ranking.txt: New file.
104546 2007-04-30  Eric Blake  <ebb9@byu.net>
104548         Prefer fseeko to fseek.
104549         * modules/getpass (Depends-on): Add fseeko.
104550         * lib/getpass.c (getpass): Use fseeko, not fseek.
104552 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
104554         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
104555         assumes the sorting is stable, while most qsort implementations
104556         are not.  Use argument addresses to ensure they never compare as
104557         equal.
104559         * tests/test-argp-2.sh (usage-indent test): Fix output
104560         (func_compare): Restore diff options
104561         * tests/test-argp.c: Restore #include "progname.h"
104563 2007-04-29  Bruno Haible  <bruno@clisp.org>
104565         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
104566         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
104567         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
104568         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
104569         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
104570         (configure.ac): Define CHECK_SNPRINTF_POSIX.
104571         (TESTS, check_PROGRAMS): Add test-snprintf.
104572         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
104573         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
104574         (TESTS, check_PROGRAMS): Add test-vsnprintf.
104575         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
104576         assertions that fail on HP-UX, OSF/1, or IRIX.
104577         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
104579 2007-04-29  Bruno Haible  <bruno@clisp.org>
104581         * MODULES.html.sh (posix_functions): Remove 'contents'.
104583 2007-04-29  Karl Berry  <karl@gnu.org>
104585         * config/srclist.txt (gendocs_template_min): new entry.
104587 2007-04-29  Bruno Haible  <bruno@clisp.org>
104589         Work around fpurge bug on BSD systems.
104590         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
104591         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
104592         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
104593         fpurge to rpl_fpurge if the system already has this function.
104594         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
104595         the case where the system already has this function. Correct invariants
104596         on BSD systems.
104597         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
104598         BSD systems.
104600 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
104602         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
104603         proposed by Sven Verdoolaege.
104605         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
104606         options.
104607         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
104608         (usage and help tests): Update
104610 2007-04-29  Bruno Haible  <bruno@clisp.org>
104612         * tests/test-fflush.c (main): Use a file of size 17, not 10.
104613         Print more information in case of failure. Disable a test on BeOS.
104615 2007-04-29  Bruno Haible  <bruno@clisp.org>
104617         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
104618         This helps debugging on systems on which no gdb is available.
104620 2007-04-29  Bruno Haible  <bruno@clisp.org>
104622         * lib/freading.h: Improve comments.
104623         * lib/fwriting.h: Likewise.
104624         * tests/test-freading.c (main): Don't check freading immediately after
104625         repositioning. Needed for glibc.
104627 2007-04-29  Bruno Haible  <bruno@clisp.org>
104629         * lib/freading.c (freading): Trivial simplification.
104631 2007-04-28  Bruno Haible  <bruno@clisp.org>
104633         * tests/test-fwriting.c (main): Also test the interaction between
104634         fflush and fwriting.
104635         * modules/fwriting-tests (Depends-on): Add fflush.
104637         * tests/test-freading.c (main): Also test the interaction between
104638         fflush and freading.
104639         * modules/freading-tests (Depends-on): Add fflush.
104641 2007-04-28  Bruno Haible  <bruno@clisp.org>
104643         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
104644         fseeko and ftello.
104645         Suggested by Eric Blake.
104647 2007-04-28  Jim Meyering  <jim@meyering.net>
104649         Avoid false-negative in gl_STDINT_H's C99 conformance test.
104650         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
104651         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
104653 2007-04-27  Eric Blake  <ebb9@byu.net>
104655         * doc/headers/assert.texi (assert.h): Document assert module use.
104657 2007-04-27  Bruno Haible  <bruno@clisp.org>
104659         * doc/headers/*.texi: New files.
104660         * doc/gnulib.texi (Header File Substitutes): New chapter.
104661         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
104662         dependencies.
104663         (standards.info ,standards.html, standards.dvi): Update dependencies.
104664         (mostlyclean, clean): New targets.
104666 2007-04-27  Bruno Haible  <bruno@clisp.org>
104668         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
104669         * modules/sysexits (Files, Makefile.am): Update.
104671         * lib/sys_socket_.h: Renamed from lib/socket_.h.
104672         * modules/sys_socket (Files, Makefile.am): Update.
104674         * lib/sys_stat_.h: Renamed from lib/stat_.h.
104675         * modules/sys_stat (Files, Makefile.am): Update.
104677 2007-04-27  Eric Blake  <ebb9@byu.net>
104679         * lib/freading.h: Improve comments.
104680         * lib/fwriting.h: Likewise.
104681         * lib/fflush.c: Likewise.
104683         Fix closein for mingw.
104684         * modules/closein-tests: Add tests for closein.
104685         * tests/test-closein.c: New file.
104686         * tests/test-closein.sh: Likewise.
104687         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
104688         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
104690 2007-04-27  Bruno Haible  <bruno@clisp.org>
104692         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
104693         version is < 6.
104694         * lib/math_.h [__DECC]: Likewise.
104695         * lib/stdio_.h [__DECC]: Likewise.
104696         * lib/stdlib_.h [__DECC]: Likewise.
104697         * lib/string_.h [__DECC]: Likewise.
104698         * lib/time_.h [__DECC]: Likewise.
104699         * lib/wchar_.h [__DECC]: Likewise.
104700         * lib/wctype_.h [__DECC]: Likewise.
104702 2007-04-27  Bruno Haible  <bruno@clisp.org>
104704         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
104706 2007-04-27  Bruno Haible  <bruno@clisp.org>
104708         * lib/fflush.c: Add comments.
104709         * modules/fpurge-tests (Depends-on): Add fflush.
104710         * modules/freadable-tests (Depends-on): Likewise.
104711         * modules/fwritable-tests (Depends-on): Likewise.
104713 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
104715         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
104716         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
104717         Report by Bruno Haible <bruno@clisp.org>.
104719 2007-04-26  Eric Blake  <ebb9@byu.net>
104721         Fix fflush on mingw.
104722         * modules/fflush (Depends-on): Add freading.
104723         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
104724         but unread data.
104726 2007-04-26  Eric Blake  <ebb9@byu.net>
104727         and Bruno Haible  <bruno@clisp.org>
104729         Implement freading and fwriting.
104730         * lib/freading.c: New file.
104731         * lib/freading.h: Likewise.
104732         * m4/freading.m4: Likewise.
104733         * modules/freading: Likewise.
104734         * modules/freading-tests: Likewise.
104735         * tests/test-freading.c: Likewise.
104736         * lib/fwriting.c: New file.
104737         * lib/fwriting.h: Likewise.
104738         * m4/fwriting.m4: Likewise.
104739         * modules/fwriting: Likewise.
104740         * modules/fwriting-tests: Likewise.
104741         * tests/test-fwriting.c: Likewise.
104742         * MODULES.html.sh (File stream based Input/Output): Mention them.
104744 2007-04-26  Bruno Haible  <bruno@clisp.org>
104746         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
104747         'long' when we assume it.
104748         Suggested by Eric Blake.
104750 2007-04-26  Bruno Haible  <bruno@clisp.org>
104752         Ensure fseeko, ftello are declared on glibc systems.
104753         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
104754         * modules/fseeko (configure.ac-early): Likewise.
104755         * modules/ftello (configure.ac-early): Likewise.
104756         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
104757         AC_FUNC_FSEEKO for this.
104758         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
104759         (gl_CHECK_FSEEKO): Remove macro.
104761 2007-04-26  Bruno Haible  <bruno@clisp.org>
104763         * tests/test-fflush.c (main): Also check the ftell result after
104764         fflush and fseek/fseeko.
104765         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
104766         file descriptor position cache in the stream.
104767         * lib/fseeko.c (rpl_fseeko): Likewise.
104769 2007-04-26  Bruno Haible  <bruno@clisp.org>
104771         * modules/fflush-tests (Depends-on): Add fseeko.
104773 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
104774             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
104776         * lib/argz_.h: ensure error_t definition is obtained in same
104777         mechanism system argz.h would have.
104778         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
104779         argz facilities are known bad.  Err on the side of caution if
104780         cross-compiling.
104782 2007-04-25  Eric Blake  <ebb9@byu.net>
104784         * lib/fpurge.c (includes): Use stdlib.h for free.
104785         * tests/test-fflush.c (main): Also test fflush-fseeko.
104787 2007-04-25  Bruno Haible  <bruno@clisp.org>
104789         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
104790         * lib/fseeko.c: New file.
104791         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
104792         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
104793         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
104794         gl_FUNC_FSEEKO.
104795         (gl_FUNC_FSEEKO): Invoke it.
104796         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
104797         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
104798         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
104800 2007-04-25  Bruno Haible  <bruno@clisp.org>
104802         * modules/fflush (Depends-on): Add ftello.
104804 2007-04-25  Bruno Haible  <bruno@clisp.org>
104806         * modules/ftello-tests: New file.
104807         * tests/test-ftello.c: New file.
104809         * modules/ftello: New file.
104810         * m4/ftello.m4: New file.
104811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
104812         HAVE_FTELLO.
104813         * lib/stdio_.h (ftello): New declaration.
104814         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
104815         HAVE_FTELLO.
104817 2007-04-25  Bruno Haible  <bruno@clisp.org>
104819         * modules/fseeko-tests: New file.
104820         * tests/test-fseeko.c: New file.
104822         * modules/fseeko: New file.
104823         * m4/fseeko.m4: New file.
104824         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
104825         HAVE_FSEEKO.
104826         * lib/stdio_.h (fseeko): New declaration.
104827         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
104828         HAVE_FSEEKO.
104830 2007-04-25  Bruno Haible  <bruno@clisp.org>
104832         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
104834 2007-04-25  Bruno Haible  <bruno@clisp.org>
104836         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
104837         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
104838         * tests/test-unistd.c: Likewise.
104839         * tests/test-fcntl.c: Likewise.
104841 2007-04-23  Eric Blake  <ebb9@byu.net>
104843         * lib/fflush.c: Fix missing include.
104844         Reported by Bruno Haible.
104846 2007-04-23  Bruno Haible  <bruno@clisp.org>
104848         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
104849         Reported by Eric Blake.
104851 2007-04-23  Bruno Haible  <bruno@clisp.org>
104853         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
104855 2007-04-23  Bruno Haible  <bruno@clisp.org>
104857         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
104859 2007-04-23  Bruno Haible  <bruno@clisp.org>
104861         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
104862         Needed on HP-UX 11.
104864 2007-04-16  Eric Blake  <ebb9@byu.net>
104866         Make fflush rely on fpurge.
104867         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
104868         open coding all variants.
104869         * modules/fflush (Depends-on): Add fpurge and unistd.
104870         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
104871         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
104873         Fix --with-tests compilation on cygwin.
104874         * modules/argmatch-tests (Makefile.am): List gnulib library first
104875         in LDADD.
104876         * modules/argp-tests (Makefile.am): Likewise.
104877         * modules/array-list-tests (Makefile.am): Likewise.
104878         * modules/array-oset-tests (Makefile.am): Likewise.
104879         * modules/avltree-list-tests (Makefile.am): Likewise.
104880         * modules/avltree-oset-tests (Makefile.am): Likewise.
104881         * modules/avltreehash-list-tests (Makefile.am): Likewise.
104882         * modules/carray-list-tests (Makefile.am): Likewise.
104883         * modules/dirname-tests (Makefile.am): Likewise.
104884         * modules/frexp-tests (Makefile.am): Likewise.
104885         * modules/isnanl-tests (Makefile.am): Likewise.
104886         * modules/linked-list-tests (Makefile.am): Likewise.
104887         * modules/linkedhash-list-tests (Makefile.am): Likewise.
104888         * modules/lock-tests (Makefile.am): Likewise.
104889         * modules/rbtree-list-tests (Makefile.am): Likewise.
104890         * modules/rbtree-oset-tests (Makefile.am): Likewise.
104891         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
104892         * modules/tls-tests (Makefile.am): Likewise.
104893         * modules/tsearch-tests (Makefile.am): Likewise.
104894         * modules/xvasprintf-tests (Makefile.am): Likewise.
104896         Fix fpurge for cygwin.
104897         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
104898         value.
104899         * modules/fpurge-tests (Depends-on): Clean up trash.
104901 2007-04-16  Simon Josefsson  <simon@josefsson.org>
104903         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
104905         * m4/autobuild.m4: Re-indent.
104907 2007-04-13  Bruno Haible  <bruno@clisp.org>
104909         * modules/fpurge-tests: New file.
104910         * tests/test-fpurge.c: New file.
104912         * modules/fpurge: New file.
104913         * lib/fpurge.h: New file.
104914         * lib/fpurge.c: New file.
104915         * m4/fpurge.m4: New file.
104917 2007-04-13  Bruno Haible  <bruno@clisp.org>
104919         * modules/fbufmode-tests: New file.
104920         * tests/test-fbufmode.c: New file.
104922         * modules/fbufmode: New file.
104923         * lib/fbufmode.h: New file.
104924         * lib/fbufmode.c: New file.
104925         * m4/fbufmode.m4: New file.
104927 2007-04-13  Bruno Haible  <bruno@clisp.org>
104929         * modules/fwritable-tests: New file.
104930         * tests/test-fwritable.c: New file.
104932         * modules/fwritable: New file.
104933         * lib/fwritable.h: New file.
104934         * lib/fwritable.c: New file.
104935         * m4/fwritable.m4: New file.
104937 2007-04-13  Bruno Haible  <bruno@clisp.org>
104939         * modules/freadable-tests: New file.
104940         * tests/test-freadable.c: New file.
104942         * modules/freadable: New file.
104943         * lib/freadable.h: New file.
104944         * lib/freadable.c: New file.
104945         * m4/freadable.m4: New file.
104947 2007-04-13  Bruno Haible  <bruno@clisp.org>
104949         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
104950         MOSTLYCLEANFILES.
104952 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
104954         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
104955         gzip bootstrap.conf to avoid dragging in i18n machinery.
104956         (gnulib_tool_option): Use it.
104958 2007-04-13  Bruno Haible  <bruno@clisp.org>
104960         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
104961         %F directives.
104962         * tests/test-vasprintf-posix.c (test_function): Likewise.
104963         * tests/test-snprintf-posix.h (test_function): Likewise.
104964         * tests/test-sprintf-posix.h (test_function): Likewise.
104965         * tests/test-fprintf-posix.h (test_function): Likewise.
104966         * tests/test-printf-posix.h (test_function): Likewise.
104967         * tests/test-fprintf-posix.out: Likewise.
104969 2007-04-13  Bruno Haible  <bruno@clisp.org>
104971         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
104972         * modules/tls-tests (configure.ac): Likewise.
104973         Reported by Arto C. Nirkko <anirkko@insel.ch>.
104975 2007-04-13  Bruno Haible  <bruno@clisp.org>
104977         * lib/tls.c (glthread_tls_get): Fix return type.
104978         Patch by Arto C. Nirkko <anirkko@insel.ch>.
104980 2007-04-12  Eric Blake  <ebb9@byu.net>
104982         * modules/gettime (Depends-on): Remove gettime.
104983         Reported by Dmitry V. Levin.
104985 2007-04-12  Bruno Haible  <bruno@clisp.org>
104987         * modules/fflush (Include): Mention <stdio.h>.
104988         * modules/strtoimax (Include): Mention <inttypes.h>.
104989         * modules/strtoumax (Include): Likewise.
104991 2007-04-12  Eric Blake  <ebb9@byu.net>
104993         * .cvsignore: New file.
104994         * .gitignore: Likewise.
104996 2007-04-12  Bruno Haible  <bruno@clisp.org>
104998         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
104999         not before, since $(LDADD) often contains libgnu.a.
105000         * modules/striconv-tests (test_striconv_LDADD): Likewise.
105001         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
105002         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
105003         Needed on Cygwin.
105005 2007-04-12  Eric Blake  <ebb9@byu.net>
105007         Work around glibc's failure to flush stdin on fclose.
105008         * lib/closein.c (close_stdin): Flush stdin before closing.
105010         Work around glibc's failure to reset seekable stdin on exit.
105011         * modules/closein: New module.
105012         * lib/closein.c: New file.
105013         * lib/closein.h: Likewise.
105014         * m4/closein.m4: Likewise.
105015         * MODULES.html.sh (File stream based Input/Output): Document it.
105017 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105019         * gnulib-tool: Rename generated 'autobuild' script to
105020         'do-autobuild' in --create-megatestdir output.
105022         * doc/gnulib.texi (Build robot for gnulib): Fix.
105024 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105026         * modules/sysexits (Depends-on): Add absolute-header.
105028 2007-04-12  Eric Blake  <ebb9@byu.net>
105030         No need to preserve errno on success.
105031         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
105032         Reported by Bruno Haible.
105034 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105036         * MODULES.html.sh (Support for maintaining and releasing
105037         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
105039 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105041         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
105043 2007-04-12  Simon Josefsson  <simon@josefsson.org>
105045         * modules/autobuild: New module.
105047         * m4/autobuild.m4: New file.
105049 2007-04-11  Bruno Haible  <bruno@clisp.org>
105051         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
105052         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
105053         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
105054         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
105055         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
105056         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105057         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105058         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
105059         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105060         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105061         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
105062         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105063         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105064         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
105065         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105066         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105067         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
105068         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105069         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105070         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
105071         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105072         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105073         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
105074         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105075         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105076         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
105077         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
105078         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
105079         Reported by Eric Blake.
105081 2007-04-11  Bruno Haible  <bruno@clisp.org>
105083         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
105085 2007-04-10  Bruno Haible  <bruno@clisp.org>
105087         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
105088         for NaN and Infinity. Needed on FreeBSD 6.1.
105089         * tests/test-vasnprintf-posix.c (test_function): Undo last change
105090         regarding results for "%010a" of Infinity and NaN.
105091         * tests/test-vasprintf-posix.c (test_function): Likewise.
105092         * tests/test-snprintf-posix.h (test_function): Likewise.
105093         * tests/test-sprintf-posix.h (test_function): Likewise.
105094         * tests/test-fprintf-posix.h (test_function): Likewise.
105095         * tests/test-printf-posix.h (test_function): Likewise.
105096         * tests/test-fprintf-posix.out: Likewise.
105098 2007-04-10  Bruno Haible  <bruno@clisp.org>
105100         * modules/locale-tests: New file.
105101         * tests/test-locale.c: New file.
105103         * modules/locale: New file.
105104         * lib/locale_.h: New file.
105105         * m4/locale_h.m4: New file.
105107 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
105108             Bruno Haible  <bruno@clisp.org>
105110         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
105111         be determined, test for availability of the copysignf, copysign,
105112         copysignl functions.
105113         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
105114         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
105115         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
105117 2007-04-09  Eric Blake  <ebb9@byu.net>
105119         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
105120         * modules/stdio (Makefile.am): Support fflush.
105121         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
105122         * modules/fflush: New file.
105123         * lib/fflush.c: Likewise.
105124         * m4/fflush.m4: Likewise.
105125         * modules/fflush-tests: New test.
105126         * tests/test-fflush.c: Likewise.
105127         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
105129 2007-04-06  Bruno Haible  <bruno@clisp.org>
105131         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
105132         (VASNPRINTF): Use signbit for faster determination whether to print a
105133         minus sign.
105134         * modules/vasnprintf (Files): Remove lib/float+.h.
105135         * modules/fprintf-posix (Depends-on): Add signbit.
105136         * modules/snprintf-posix (Depends-on): Likewise.
105137         * modules/sprintf-posix (Depends-on): Likewise.
105138         * modules/vasnprintf-posix (Depends-on): Likewise.
105139         * modules/vasprintf-posix (Depends-on): Likewise.
105140         * modules/vfprintf-posix (Depends-on): Likewise.
105141         * modules/vsnprintf-posix (Depends-on): Likewise.
105142         * modules/vsprintf-posix (Depends-on): Likewise.
105144 2007-04-06  Bruno Haible  <bruno@clisp.org>
105146         * tests/test-frexp.c (main): Test also the sign bit of zero results.
105147         * tests/test-frexpl.c (main): Likewise.
105148         * tests/test-ldexpl.c (main): Likewise.
105149         * modules/frexp-tests (Depends-on): Add signbit.
105150         * modules/frexpl-tests (Depdends-on): Likewise.
105151         * modules/ldexpl-tests (Depdends-on): Likewise.
105153 2007-04-06  Bruno Haible  <bruno@clisp.org>
105155         * modules/signbit-tests: New file.
105156         * tests/test-signbit.c: New file.
105158         * modules/signbit: New file.
105159         * lib/signbitf.c: New file.
105160         * lib/signbitd.c: New file.
105161         * lib/signbitl.c: New file.
105162         * m4/signbit.m4: New file.
105163         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
105164         (signbit): New macro.
105165         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
105166         REPLACE_SIGNBIT.
105167         * modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
105168         REPLACE_FREXPL into math.h.
105170 2007-04-06  Bruno Haible  <bruno@clisp.org>
105172         * modules/isnanf-nolibm-tests: New file.
105173         * tests/test-isnanf.c: New file.
105175         * modules/isnanf-nolibm: New file.
105176         * lib/isnanf.h: New file.
105177         * lib/isnanf.c: New file.
105178         * lib/isnan.c: Consider the USE_FLOAT macro.
105179         * m4/isnanf.m4: New file.
105181 2007-04-06  Bruno Haible  <bruno@clisp.org>
105183         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
105184         (Link): New section.
105186         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
105188 2007-04-06  Bruno Haible  <bruno@clisp.org>
105190         Assume the 'long double' type.
105191         * m4/longdouble.m4: Remove file.
105192         * config/srclist.txt: Don't mention longdouble.m4.
105193         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
105194         * lib/float+.h: Likewise.
105195         * lib/frexp.c: Likewise.
105196         * lib/printf-args.h: Likewise.
105197         * lib/printf-args.c: Likewise.
105198         * lib/printf-frexp.c: Likewise.
105199         * lib/printf-parse.c: Likewise.
105200         * lib/vasnprintf.c: Likewise.
105201         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
105202         * m4/intl.m4: Likewise.
105203         * m4/isnanl.m4: Likewise.
105204         * m4/printf.m4: Likewise.
105205         * m4/printf-frexpl.m4: Likewise.
105206         * m4/vasnprintf.m4: Likewise.
105207         * modules/allocsa (Files): Remove m4/longdouble.m4.
105208         * modules/gettext (Files): Likewise.
105209         * modules/relocatable-prog-wrapper (Files): Likewise.
105210         * modules/vasnprintf (Files): Likewise.
105211         * modules/isnanl (Files): Likewise.
105212         (Include): Simplify.
105213         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
105214         (Include): Simplify.
105215         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
105216         (Include): Simplify.
105217         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
105218         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105219         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
105220         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105221         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105222         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105223         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
105224         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105225         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
105226         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105227         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
105228         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
105229         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
105230         * tests/test-isnanl.c: Likewise.
105231         * tests/test-snprintf-posix.h: Likewise.
105232         * tests/test-sprintf-posix.h: Likewise.
105233         * tests/test-vasnprintf-posix.c: Likewise.
105234         * tests/test-vasnprintf-posix2.c: Likewise.
105235         * tests/test-vasprintf-posix.c: Likewise.
105237 2007-04-06  Bruno Haible  <bruno@clisp.org>
105239         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
105240         * lib/math_.h [__DECC]: Include the overridden include file through
105241         #include_next, outside the double-inclusion guard.
105242         * lib/stdio_.h [__DECC]: Likewise.
105243         * lib/stdlib_.h [__DECC]: Likewise.
105244         * lib/string_.h [__DECC]: Likewise.
105245         * lib/time_.h [__DECC]: Likewise.
105246         * lib/wchar_.h [__DECC]: Likewise.
105247         * lib/wctype_.h [__DECC]: Likewise.
105248         * lib/inttypes_.h [__DECC]: Likewise.
105249         Reported by Albert Chin <china@thewrittenword.com> in
105250         <http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.
105252 2007-04-04  Eric Blake  <ebb9@byu.net>
105254         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
105255         1.5.x.
105257 2007-04-04  Bruno Haible  <bruno@clisp.org>
105259         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
105260         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
105262 2007-04-04  Bruno Haible  <bruno@clisp.org>
105264         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
105265         results for "%010a" of Infinity and NaN.
105266         * tests/test-vasprintf-posix.c (test_function): Likewise.
105267         * tests/test-snprintf-posix.h (test_function): Likewise.
105268         * tests/test-sprintf-posix.h (test_function): Likewise.
105269         * tests/test-fprintf-posix.h (test_function): Remove these tests.
105270         * tests/test-printf-posix.h (test_function): Likewise.
105271         * tests/test-fprintf-posix.out: Update.
105272         Needed for FreeBSD 6.1.
105274 2007-04-04  Bruno Haible  <bruno@clisp.org>
105276         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
105277         directly used by the gnulib modules nor by gnulib-tool.
105279 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
105281         * DEPENDENCIES: Give overall description of version dependency
105282         desirability.  Use more-typical names for apps.
105283         Add shell, coreutils, diffutils, grep, tar, gzip.
105285 2007-04-04  Simon Josefsson  <simon@josefsson.org>
105287         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
105289 2007-04-04  Karl Berry  <karl@gnu.org>
105291         * MODULES.html.sh (func_module): missing '.
105293 2007-04-03  Bruno Haible  <bruno@clisp.org>
105295         * modules/argmatch-tests (Makefile.am): New variable
105296         test_argmatch_LDADD.
105297         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
105298         * modules/array-list-tests (Makefile.am): New variable
105299         test_array_list_LDADD.
105300         * modules/array-oset-tests (Makefile.am): New variable
105301         test_array_oset_LDADD.
105302         * modules/avltree-list-tests (Makefile.am): New variable
105303         test_avltree_list_LDADD.
105304         * modules/avltree-oset-tests (Makefile.am): New variable
105305         test_avltree_oset_LDADD.
105306         * modules/avltreehash-list-tests (Makefile.am): New variable
105307         test_avltreehash_list_LDADD.
105308         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
105309         test_canonicalize_lgpl_LDADD.
105310         * modules/carray-list-tests (Makefile.am): New variable
105311         test_carray_list_LDADD.
105312         * modules/dirname-tests (Makefile.am): New variable
105313         test_dirname_LDADD.
105314         * modules/linked-list-tests (Makefile.am): New variable
105315         test_linked_list_LDADD.
105316         * modules/linkedhash-list-tests (Makefile.am): New variable
105317         test_linkedhash_list_LDADD.
105318         * modules/rbtree-list-tests (Makefile.am): New variable
105319         test_rbtree_list_LDADD.
105320         * modules/rbtree-oset-tests (Makefile.am): New variable
105321         test_rbtree_oset_LDADD.
105322         * modules/rbtreehash-list-tests (Makefile.am): New variable
105323         test_rbtreehash_list_LDADD.
105324         * modules/xvasprintf-tests (Makefile.am): New variable
105325         test_xvasprintf_LDADD.
105326         Reported by Eric Blake.
105328 2007-04-03  Eric Blake  <ebb9@byu.net>
105330         * DEPENDENCIES: Weaken m4 requirements.
105332 2007-04-03  Bruno Haible  <bruno@clisp.org>
105334         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
105335         * modules/isnanl-tests (configure.ac): Likewise.
105337 2007-04-03  Ben Pfaff  <blp@gnu.org>
105339         * modules/iconv_open: Add $(srcdir)/ to source directory
105340         references in Makefile fragments that call gperf, to fix VPATH
105341         builds.
105343 2007-04-03  Bruno Haible  <bruno@clisp.org>
105345         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
105346         * lib/ldexpl.c: Undo last change.
105348 2007-04-03  Bruno Haible  <bruno@clisp.org>
105350         * modules/printf-frexpl (Depends-on): Undo last change.
105351         (Files): Add m4/ldexpl.m4.
105353 2007-04-03  Bruno Haible  <bruno@clisp.org>
105355         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
105356         * modules/isnanl (Link): New section.
105358         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
105359         * modules/frexp (Link): New section.
105361         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
105362         * modules/frexpl (Link): New section.
105364         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
105365         * modules/ldexpl (Link): New section.
105367 2007-04-03  Bruno Haible  <bruno@clisp.org>
105369         * modules/TEMPLATE-EXTENDED: New file.
105370         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
105372 2007-04-03  Bruno Haible  <bruno@clisp.org>
105374         * DEPENDENCIES: New file.
105375         Suggested by Simon Josefsson.
105377 2007-04-03  Bruno Haible  <bruno@clisp.org>
105379         * doc/gnulib.texi: Escape @.
105381 2007-04-03  James Youngman  <jay@gnu.org>
105382         and Paul Eggert  <eggert@cs.ucla.edu>
105384         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
105385         birthtime on all systems that have birthtime, not just those which
105386         use st_birthtimensec rather than st_birthtim.  Putting zero in
105387         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
105388         that the birth time is not available for files on an NFS mount.
105390 2007-04-03  Simon Josefsson  <simon@josefsson.org>
105392         * modules/memxor: Move back from crypto/, suggested by Bruno.
105393         * modules/crypto/hmac-sha1: Fix memxor dependency.
105395         * modules/crypto/gc: Moved from ../.
105397 2007-04-02  Eric Blake  <ebb9@byu.net>
105399         * lib/ldexpl.c (includes): Avoid libm.
105401         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
105403 2007-04-02  Bruno Haible  <bruno@clisp.org>
105405         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
105406         on IRIX.
105408 2007-04-02  Bruno Haible  <bruno@clisp.org>
105410         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
105411         x86 or x86_64 platforms running MacOS X.
105412         Reported by Ryan Schmidt <@ryandesign.com>.
105414 2007-04-02  Bruno Haible  <bruno@clisp.org>
105416         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
105417         i386.
105419 2007-04-01  Simon Josefsson  <simon@josefsson.org>
105421         * modules/crypto/arcfour: Moved from ../.
105422         * modules/crypto/arcfour-tests: Moved from ../.
105423         * modules/crypto/arctwo: Moved from ../.
105424         * modules/crypto/arctwo-tests: Moved from ../.
105425         * modules/crypto/des: Moved from ../.
105426         * modules/crypto/des-tests: Moved from ../.
105427         * modules/crypto/gc-arcfour: Moved from ../.
105428         * modules/crypto/gc-arcfour-tests: Moved from ../.
105429         * modules/crypto/gc-arctwo: Moved from ../.
105430         * modules/crypto/gc-arctwo-tests: Moved from ../.
105431         * modules/crypto/gc-des: Moved from ../.
105432         * modules/crypto/gc-des-tests: Moved from ../.
105433         * modules/crypto/gc-hmac-md5: Moved from ../.
105434         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
105435         * modules/crypto/gc-hmac-sha1: Moved from ../.
105436         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
105437         * modules/crypto/gc-md2: Moved from ../.
105438         * modules/crypto/gc-md2-tests: Moved from ../.
105439         * modules/crypto/gc-md4: Moved from ../.
105440         * modules/crypto/gc-md4-tests: Moved from ../.
105441         * modules/crypto/gc-md5: Moved from ../.
105442         * modules/crypto/gc-md5-tests: Moved from ../.
105443         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
105444         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
105445         * modules/crypto/gc-random: Moved from ../.
105446         * modules/crypto/gc-rijndael: Moved from ../.
105447         * modules/crypto/gc-rijndael-tests: Moved from ../.
105448         * modules/crypto/gc-sha1: Moved from ../.
105449         * modules/crypto/gc-sha1-tests: Moved from ../.
105450         * modules/crypto/gc-tests: Moved from ../.
105451         * modules/crypto/hmac-md5: Moved from ../.
105452         * modules/crypto/hmac-md5-tests: Moved from ../.
105453         * modules/crypto/hmac-sha1: Moved from ../.
105454         * modules/crypto/hmac-sha1-tests: Moved from ../.
105455         * modules/crypto/md2: Moved from ../.
105456         * modules/crypto/md2-tests: Moved from ../.
105457         * modules/crypto/md4: Moved from ../.
105458         * modules/crypto/md4-tests: Moved from ../.
105459         * modules/crypto/md5: Moved from ../.
105460         * modules/crypto/md5-tests: Moved from ../.
105461         * modules/crypto/memxor: Moved from ../.
105462         * modules/crypto/rijndael: Moved from ../.
105463         * modules/crypto/rijndael-tests: Moved from ../.
105464         * modules/crypto/sha1: Moved from ../.
105466 2007-03-30  James Youngman  <jay@gnu.org>
105468         * tests/test-stat-time.c (prepare_test): use chmod() rather than
105469         rename() to change the ctime of a file (because ctime is unaffected
105470         by rename on jfs2 on AIX 5.1).
105471         (main): Start by doing cleanup, in case a previous run failed leaving
105472         test files behind.
105474 2007-03-31  Bruno Haible  <bruno@clisp.org>
105476         Support old proprietary implementations of iconv.
105477         * modules/iconv_open: New file.
105478         * lib/iconv_.h: New file.
105479         * m4/iconv_h.m4: New file.
105480         * lib/iconv_open.c: New file.
105481         * lib/iconv_open-aix.gperf: New file.
105482         * lib/iconv_open-hpux.gperf: New file.
105483         * lib/iconv_open-irix.gperf: New file.
105484         * lib/iconv_open-osf.gperf: New file.
105485         * m4/iconv_open.m4: New file.
105486         * modules/linebreak (Depends-on): Add iconv_open.
105487         * modules/striconv (Depends-on): Likewise.
105488         * modules/striconveh (Depends-on): Likewise.
105489         * modules/unicodeio (Depends-on): Likewise.
105490         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
105491         (iconv_t)(-1).
105492         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
105493         conversion if cd is (iconv_t)(-1).
105494         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
105495         is not possible.
105497 2007-03-31  Bruno Haible  <bruno@clisp.org>
105499         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105500         work on Solaris either. Protect also second use of "autodetect_jp".
105502 2007-03-31  Bruno Haible  <bruno@clisp.org>
105504         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
105505         the function is not present.
105507 2007-03-31  Bruno Haible  <bruno@clisp.org>
105509         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
105510         the function is not present.
105512 2007-03-31  Bruno Haible  <bruno@clisp.org>
105514         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
105515         a bug in HP-UX iconv_open().
105517 2007-03-31  Bruno Haible  <bruno@clisp.org>
105519         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
105520         (Mathematics <math.h>): New section, add fpieee.
105521         (Input/output <stdio.h>): Add fseterr.
105522         (Mathematics <math.h>): New section, add printf-frexp.
105523         (Container data structures): Add sublist.
105524         (Core language properties): Add fpucw, inline.
105525         (Functions for greatest-width integer types <inttypes.h>): Add
105526         imaxabs, imaxdiv, inttypes.
105527         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
105528         isnanl-nolibm, ldexp.
105529         (Mathematics <math.h>): New section, add printf-frexpl.
105530         (Support for systems lacking POSIX:2001): Add fprintf-posix,
105531         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
105532         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
105533         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
105534         (Unicode string functions): Add unistr/u*-mbtoucr.
105535         (Java): Add javacomp-script, javaexec-script.
105536         (C#): Add csharpcomp-script, csharpexec-script.
105537         (Support for building libraries and executables): Add havelib,
105538         relocatable-*.
105539         (Support for maintaining and releasing projects): Renamed from
105540         'Support for maintaining and release projects'. Add announce-gen.
105542 2007-03-31  Bruno Haible  <bruno@clisp.org>
105544         * README: Talk primarily about git.
105545         (git and CVS): Renamed from CVS.
105546         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
105547         gnulib is available through git.
105548         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
105550 2007-03-30  Bruno Haible  <bruno@clisp.org>
105552         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
105553         * lib/poll_.h: Likewise.
105554         * lib/stat_.h: Likewise.
105555         * lib/sys_time_.h: Likewise.
105556         * lib/sysexit_.h: Likewise.
105557         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
105558         * lib/stdbool_.h: Likewise.
105559         * lib/byteswap_.h: Add double-inclusion guard.
105561 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
105563         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
105565 2007-03-30  Karl Berry  <karl@gnu.org>
105567         * config/srclist-update: double space after USA in the license
105568         substitution, since that's how it's usually (?) written.
105570 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
105572         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
105573         reported by Bruno Haible.
105575 2007-03-29  Bruno Haible  <bruno@clisp.org>
105577         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
105578         a bug in AIX iconv().
105580 2007-03-29  Bruno Haible  <bruno@clisp.org>
105582         * modules/ldexpl-tests: New file.
105583         * tests/test-ldexpl.c: New file.
105585 2007-03-29  Bruno Haible  <bruno@clisp.org>
105587         * lib/ldexpl.c: Include fpucw.h.
105588         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
105589         multiplication.
105590         * modules/ldexpl (Depends-on): Add fpucw.
105592 2007-03-29  Bruno Haible  <bruno@clisp.org>
105594         * modules/ldexpl: New file.
105595         * m4/ldexpl.m4: New file.
105596         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
105597         set.
105598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
105599         REPLACE_LDEXPL.
105600         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
105601         REPLACE_LDEXPL.
105602         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
105603         gl_FUNC_LDEXPL_WORKS.
105604         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
105605         * modules/mathl (Files): Remove lib/ldexpl.c.
105606         (Depends-on): Add ldexpl.
105608 2007-03-29  Bruno Haible  <bruno@clisp.org>
105610         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
105612 2007-03-29  Bruno Haible  <bruno@clisp.org>
105614         * tests/test-striconveh.c (main): Don't assume that a direct conversion
105615         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
105616         and possibly also HP-UX.
105617         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
105618         work on AIX, IRIX, HP-UX, OSF/1.
105619         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
105620         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
105621         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
105622         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
105623         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
105624         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
105626 2007-03-29  Bruno Haible  <bruno@clisp.org>
105628         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
105630 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105632         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
105633         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
105635 2007-03-29  Eric Blake  <ebb9@byu.net>
105637         * lib/acl-internal.h: Remove redundant include.
105638         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
105639         Cygwin when a file is locked.
105641 2007-03-29  Bruno Haible  <bruno@clisp.org>
105643         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
105644         file.
105645         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
105647 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
105649         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
105650         try to remove a parent directory if the child couldn't be removed
105651         (except for the first rmdir, which could fail because the child
105652         doesn't exist).  Problem reported by Jeff Blaine in
105653         <http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.
105655 2007-03-28  Bruno Haible  <bruno@clisp.org>
105657         * lib/striconveh.c (utf8conv_carefully): New function.
105658         (mem_cd_iconveh_internal): Invoke it.
105660 2007-03-28  Bruno Haible  <bruno@clisp.org>
105662         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
105663         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
105664         input.
105665         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
105666         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
105667         unistr/u8-uctomb.
105669 2007-03-28  Bruno Haible  <bruno@clisp.org>
105671         * modules/unistr/u8-mbtoucr: New file.
105672         * lib/unistr/u8-mbtoucr.c: New file.
105673         * modules/unistr/u16-mbtoucr: New file.
105674         * lib/unistr/u16-mbtoucr.c: New file.
105675         * modules/unistr/u16-mbtoucr: New file.
105676         * lib/unistr/u16-mbtoucr.c: New file.
105677         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
105679 2007-03-27  Simon Josefsson  <simon@josefsson.org>
105680             Bruno Haible  <bruno@clisp.org>
105682         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
105683         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
105684         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
105686         * m4/stdio_h.m4: Add stubs for vasprintf too.
105688         * modules/stdio: Support vasprintf in sed command.
105690         * modules/vasprintf: Depend on stdio for prototypes.  Remove
105691         vasprintf.h.  Add stdio module indicator.
105693         * lib/stdio_.h: Declare asprintf and vasprintf, based on
105694         vasprintf.h.
105696         * lib/vasprintf.h: File removed.
105698         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
105699         * lib/vasprintf.c: Ditto.
105700         * lib/xvasprintf.c: Ditto.
105701         * tests/test-vasprintf-posix.c: Ditto.
105702         * tests/test-vasprintf.c: Ditto.
105704 2007-03-27  Bruno Haible  <bruno@clisp.org>
105706         Make vasnprintf multithread-safe.
105707         * lib/vasnprintf.c (decimal_point_char): New function.
105708         (VASNPRINTF): Use it.
105709         Suggested by Simon Josefsson.
105711 2007-03-27  Eric Blake  <ebb9@byu.net>
105713         Support sub-second birthtime on cygwin.
105714         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
105715         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
105716         (get_stat_birthtime): Also work with st_birthtim.
105718 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
105720         * lib/stat-time.h (USE_BIRTHTIME): Remove.
105721         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
105722         (get_stat_birthtime_ns): Do not try to use "spare" fields.
105723         (get_stat_birthtime_ns): Simplify compile-time tests.
105724         (get_stat_birthtime): Change the API to look like
105725         get_stat_mtime etc., except return a negative tv_nsec on error.
105726         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
105727         Don't check for "spare" fields.
105728         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
105729         or for struct stat.st_birthtime, as these tests aren't used.
105730         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
105732 2007-03-27  Bruno Haible  <bruno@clisp.org>
105734         * lib/stat-time.h: Include <sys/stat.h>.
105736 2007-03-27  James Youngman  <jay@gnu.org>
105738         * lib/stat-time.h (get_stat_birthtime): New function for
105739           retrieving st_birthtime as provided by UFS2 (hence *BSD).
105740         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
105741           and its variants.
105742         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
105743         * modules/stat-time-test: New file.
105744         * tests/test-stat-time.c: New test, devised by Bruno Haible.
105746 2007-03-26  Bruno Haible  <bruno@clisp.org>
105748         Better support of signalling NaNs.
105749         * lib/atanl.c: Include isnanl.h.
105750         (atanl): Perform test for NaN at the beginning of the function and
105751         through a call to isnanl.
105752         * lib/cosl.c: Include isnanl.h.
105753         (cosl): Perform test for NaN at the beginning of the function and
105754         through a call to isnanl.
105755         * lib/ldexpl.c: Include isnanl.h.
105756         (ldexpl): Perform test for NaN through a call to isnanl.
105757         * lib/logl.c: Include isnanl.h.
105758         (logl): Perform test for NaN at the beginning of the function and
105759         through a call to isnanl.
105760         * lib/sinl.c: Include isnanl.h.
105761         (sinl): Perform test for NaN at the beginning of the function and
105762         through a call to isnanl.
105763         * lib/sqrtl.c: Include isnanl.h.
105764         (sqrtl): Perform test for NaN at the beginning of the function and
105765         through a call to isnanl.
105766         * lib/tanl.c: Include isnanl.h.
105767         (tanl): Perform test for NaN at the beginning of the function and
105768         through a call to isnanl.
105769         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
105770         * modules/mathl (Depends-on): Add isnanl.
105772 2007-03-26  Eric Blake  <ebb9@byu.net>
105774         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
105775         regression in logic sense of previous patch.
105777 2007-03-26  Bruno Haible  <bruno@clisp.org>
105779         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
105780         unportable shell command "if ! ...".
105781         Reported by Ralf Wildenhues.
105783 2007-03-25  Bruno Haible  <bruno@clisp.org>
105785         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
105786         <sysexits.h> file, and only add EX_CONFIG.
105787         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
105788         absolute file name and whether it is sufficient. Substitute also
105789         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
105790         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
105791         ABSOLUTE_SYSEXITS_H into sysexits.h.
105793 2007-03-25  Bruno Haible  <bruno@clisp.org>
105795         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
105796         hints is NULL.
105798 2007-03-25  Bruno Haible  <bruno@clisp.org>
105800         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
105801         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
105803 2007-03-25  Bruno Haible  <bruno@clisp.org>
105805         * lib/vasnprintf.c: Include langinfo.h.
105806         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
105807         multithread-safe.
105808         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
105809         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
105810         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
105811         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
105812         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
105813         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
105814         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
105815         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
105816         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
105817         Reported by Simon Josefsson.
105819 2007-03-25  Bruno Haible  <bruno@clisp.org>
105821         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
105822         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
105823         * modules/vasnprintf (Depends-on): Add stdint.
105825 2007-03-25  Bruno Haible  <bruno@clisp.org>
105827         * modules/fpieee: New file.
105828         * m4/fpieee.m4: New file.
105829         * modules/isnan-nolibm (Depends-on): Add fpieee.
105830         * modules/isnanl-nolibm (Depends-on): Add fpieee.
105831         * modules/isnanl (Depends-on): Add fpieee.
105833 2007-03-25  Bruno Haible  <bruno@clisp.org>
105835         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
105837 2007-03-25  Bruno Haible  <bruno@clisp.org>
105839         Avoid test failures on IRIX 6.5.
105840         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
105841         (main): Use it.
105842         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
105843         macros.
105844         (main): Use them.
105846 2007-03-25  Bruno Haible  <bruno@clisp.org>
105848         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
105849         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
105850         exists but doesn't work.
105851         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
105852         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
105853         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
105854         * modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
105855         math.h.
105857 2007-03-25  Bruno Haible  <bruno@clisp.org>
105859         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
105860         returns inf. Needed on IRIX 6.5.
105862 2007-03-25  Bruno Haible  <bruno@clisp.org>
105864         * tests/test-frexpl.c: Include isnanl-nolibm.h.
105865         (main): Use isnanl instead of x != x idiom.
105866         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
105868         * tests/test-frexp.c: Include isnan.h.
105869         (main): Use isnan instead of x != x idiom.
105870         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
105872 2007-03-25  Bruno Haible  <bruno@clisp.org>
105874         * tests/test-frexp.c (NaN): New function/macro.
105875         (main): Use it instead of 0.0 / 0.0.
105876         * tests/test-isnan.c (NaN): New function/macro.
105877         (main): Use it instead of 0.0 / 0.0.
105878         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
105879         (test_function): Use it instead of 0.0 / 0.0.
105880         * tests/test-vasprintf-posix.c (NaN): New function/macro.
105881         (test_function): Use it instead of 0.0 / 0.0.
105882         * tests/test-snprintf-posix.h (NaN): New function/macro.
105883         (test_function): Use it instead of 0.0 / 0.0.
105884         * tests/test-sprintf-posix.h (NaN): New function/macro.
105885         (test_function): Use it instead of 0.0 / 0.0.
105886         * tests/test-fprintf-posix.h (NaN): New function/macro.
105887         (test_function): Use it instead of 0.0 / 0.0.
105888         * tests/test-printf-posix.h (NaN): New function/macro.
105889         (test_function): Use it instead of 0.0 / 0.0.
105891         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
105893 2007-03-25  Bruno Haible  <bruno@clisp.org>
105895         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
105897 2007-03-25  Bruno Haible  <bruno@clisp.org>
105899         * lib/regexec.c (merge_state_with_log): Make static.
105901 2007-03-25  Bruno Haible  <bruno@clisp.org>
105903         * lib/trigl.c (kernel_rem_pio2): Make static.
105905 2007-03-25  Bruno Haible  <bruno@clisp.org>
105907         * lib/sincosl.c (sincosl_table): Make static.
105909 2007-03-25  Bruno Haible  <bruno@clisp.org>
105911         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
105912         if the compiler does not support C99.
105914 2007-03-25  Bruno Haible  <bruno@clisp.org>
105916         * modules/time (Makefile.am): Ensure all rule action lines start with a
105917         tab.
105919 2007-03-24  Bruno Haible  <bruno@clisp.org>
105921         * modules/tsearch-tests: New file.
105922         * tests/test-tsearch.sh: New file.
105923         * tests/test-tsearch.c: New file, mostly copied from glibc.
105925         * modules/search-tests: New file.
105926         * tests/test-search.c: New file.
105928         * modules/search: New file.
105929         * lib/search_.h: New file, incorporating lib/tsearch.h.
105930         * m4/search_h.m4: New file.
105931         * lib/tsearch.h: Remove file.
105932         * lib/tsearch.c: Include search.h instead of tsearch.h.
105933         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
105934         HAVE_TSEARCH.
105935         * modules/tsearch (Files): Remove lib/tsearch.h.
105936         (Depends-on): Add search.
105937         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
105938         (Include): Change tsearch.h into search.h.
105940 2007-03-24  Bruno Haible  <bruno@clisp.org>
105942         * modules/fpucw: New file.
105943         * lib/fpucw.h: New file.
105944         * lib/frexp.c: Include fpucw.h.
105945         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105946         (FUNC): Use them.
105947         * lib/printf-frexp.c: Include fpucw.h.
105948         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
105949         (FUNC): Use them.
105950         * lib/vasnprintf.c: Include fpucw.h.
105951         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
105952         'long double' calculations.
105953         * tests/test-frexpl.c: Include fpucw.h.
105954         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105955         * tests/test-printf-frexpl.c: Include fpucw.h.
105956         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
105957         * modules/frexpl (Depends-on): Add fpucw.
105958         * modules/printf-frexpl (Depends-on): Likewise.
105959         * modules/fprintf-posix (Depends-on): Likewise.
105960         * modules/snprintf-posix (Depends-on): Likewise.
105961         * modules/sprintf-posix (Depends-on): Likewise.
105962         * modules/vasnprintf-posix (Depends-on): Likewise.
105963         * modules/vasprintf-posix (Depends-on): Likewise.
105964         * modules/vfprintf-posix (Depends-on): Likewise.
105965         * modules/vsnprintf-posix (Depends-on): Likewise.
105966         * modules/vsprintf-posix (Depends-on): Likewise.
105967         * modules/frexpl-tests (Depends-on): Likewise.
105968         * modules/printf-frexpl-tests (Depends-on): Likewise.
105970 2007-03-24  Bruno Haible  <bruno@clisp.org>
105972         * lib/float+.h: New file.
105973         * lib/isnan.c: Include float+.h.
105974         (SIZE): New macro.
105975         (FUNC): Compare only SIZE bytes of the value.
105976         * lib/vasnprintf.c: Include float+.h.
105977         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
105978         SIZEOF_LDBL or SIZEOF_DBL bytes.
105979         * modules/isnan-nolibm (Files): Add lib/float+.h.
105980         * modules/isnanl-nolibm (Files): Add lib/float+.h.
105981         * modules/isnanl (Files): Add lib/float+.h.
105982         * modules/vasnprintf (Files): Add lib/float+.h.
105984 2007-03-24  Bruno Haible  <bruno@clisp.org>
105986         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
105987         include isnanl-nolibm.h.
105989 2007-03-24  Bruno Haible  <bruno@clisp.org>
105991         * tests/test-read-file.c (main): Don't produce spurious output for
105992         expected situations. Make the test fail if it encountered unexpected
105993         results.
105995 2007-03-24  Bruno Haible  <bruno@clisp.org>
105997         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
105998         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
106000 2007-03-24  Bruno Haible  <bruno@clisp.org>
106002         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
106004 2007-03-24  Bruno Haible  <bruno@clisp.org>
106006         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
106007         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
106009         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
106010         * modules/utf8-ucs4: Turn into a symbolic link to module
106011         unistr/u8-mbtouc.
106013         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
106014         utf8-ucs4-unsafe.
106015         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
106016         unistr/u8-mbtouc-unsafe.
106018         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
106019         * modules/utf16-ucs4: Turn into a symbolic link to module
106020         unistr/u16-mbtouc.
106022         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
106023         utf16-ucs4-unsafe.
106024         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
106025         unistr/u16-mbtouc-unsafe.
106027         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
106028         * modules/ucs4-utf8: Turn into a symbolic link to module
106029         unistr/u8-ubtomb.
106031         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
106032         * modules/ucs4-utf16: Turn into a symbolic link to module
106033         unistr/u16-ubtomb.
106035 2007-03-24  Bruno Haible  <bruno@clisp.org>
106037         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
106038         Enable the function only if HAVE_INLINE.
106039         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
106040         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106041         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
106042         Enable the function only if HAVE_INLINE.
106043         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
106044         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
106045         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
106046         Enable the function only if HAVE_INLINE.
106047         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
106048         Enable the function only if HAVE_INLINE.
106049         * modules/utf8-ucs4: Update.
106050         * modules/utf8-ucs4-unsafe: Update.
106051         * modules/utf16-ucs4: Update.
106052         * modules/utf16-ucs4-unsafe: Update.
106053         * modules/ucs4-utf8: Update.
106054         * modules/ucs4-utf16: Update.
106056 2007-03-24  Bruno Haible  <bruno@clisp.org>
106058         * lib/utf8-ucs4.h: Remove file.
106059         * lib/utf8-ucs4-unsafe.h: Remove file.
106060         * lib/utf16-ucs4.h: Remove file.
106061         * lib/utf16-ucs4-unsafe.h: Remove file.
106062         * lib/ucs4-utf8.h: Remove file.
106063         * lib/ucs4-utf16.h: Remove file.
106064         * lib/unistr.h: Include their previous contents.
106065         * m4/utf-ucs4.m4: Remove file.
106066         * m4/ucs4-utf.m4: Remove file.
106067         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
106068         (Depends-on): Add unistr/base.
106069         (configure.ac): Remove gl_UTF_UCS4.
106070         (Makefile.am): Update.
106071         (Include): Change to unistr.h.
106072         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
106073         (Depends-on): Add unistr/base.
106074         (configure.ac): Remove gl_UTF_UCS4.
106075         (Makefile.am): Update.
106076         (Include): Change to unistr.h.
106077         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
106078         (Depends-on): Add unistr/base.
106079         (configure.ac): Remove gl_UTF_UCS4.
106080         (Makefile.am): Update.
106081         (Include): Change to unistr.h.
106082         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
106083         (Depends-on): Add unistr/base.
106084         (configure.ac): Remove gl_UTF_UCS4.
106085         (Makefile.am): Update.
106086         (Include): Change to unistr.h.
106087         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
106088         (Depends-on): Add unistr/base.
106089         (configure.ac): Remove gl_UCS4_UTF.
106090         (Makefile.am): Update.
106091         (Include): Change to unistr.h.
106092         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
106093         (Depends-on): Add unistr/base.
106094         (configure.ac): Remove gl_UCS4_UTF.
106095         (Makefile.am): Update.
106096         (Include): Change to unistr.h.
106097         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
106098         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
106099         utf8-ucs4-unsafe.h.
106100         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
106101         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
106102         utf16-ucs4-unsafe.h.
106103         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
106104         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
106105         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
106106         * lib/unistr/u8-strchr.c: Likewise.
106107         * lib/unistr/u8-strrchr.c: Likewise.
106108         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
106109         * lib/unistr/u16-strchr.c: Likewise.
106110         * lib/unistr/u16-strrchr.c: Likewise.
106111         * lib/striconveh.c: Update.
106112         * lib/linebreak.c: Update.
106114 2007-03-24  Bruno Haible  <bruno@clisp.org>
106116         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
106117         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
106119 2007-03-22  Bruno Haible  <bruno@clisp.org>
106121         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
106123 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
106125         * MODULES.html.sh (File system functions): New module write-any-file.
106126         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
106127         * m4/write-any-file.m4: New files.
106129 2007-03-23  Eric Blake  <ebb9@byu.net>
106131         * gnulib-tool: Rearrange space-tab sequences, since some editors
106132         like to eat them.
106134 2007-03-23  Eric Blake  <ebb9@byu.net>
106136         * lib/version-etc.c (version_etc_va): Update license wording to
106137         be more concise.  Recommended by Richard Stallman.
106139 2007-03-22  Bruno Haible  <bruno@clisp.org>
106141         * lib/poll.c (MSG_PEEK): New fallback definition.
106143 2007-03-22  Bruno Haible  <bruno@clisp.org>
106145         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
106146         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
106147         (main): Update.
106148         Fixes a compilation error on BeOS.
106150 2007-03-22  Bruno Haible  <bruno@clisp.org>
106152         * modules/frexpl-tests: New file.
106153         * tests/test-frexpl.c: New file.
106155         * modules/frexpl: New file.
106156         * m4/frexpl.m4: New file.
106157         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
106158         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
106159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
106160         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
106161         (Depends-on): Add frexpl. Remove isnanl-nolibm.
106162         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
106164 2007-03-22  Bruno Haible  <bruno@clisp.org>
106166         * lib/frexpl.c: Share code with lib/frexp.c.
106167         * modules/mathl (Files): Add lib/frexp.c.
106168         (Depends-on): Add isnanl-nolibm.
106170 2007-03-22  Bruno Haible  <bruno@clisp.org>
106172         * modules/printf-frexp (Files): Add m4/frexp.m4.
106173         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
106174         only if the found frexp function actually works.
106176 2007-03-22  Bruno Haible  <bruno@clisp.org>
106178         * lib/frexp.c: Remove older implementation that uses divisions.
106180 2007-03-21  Bruno Haible  <bruno@clisp.org>
106182         * modules/frexp-tests: New file.
106183         * tests/test-frexp.c: New file.
106185         * modules/frexp: New file.
106186         * lib/frexp.c: New file.
106187         * m4/frexp.m4: New file.
106188         * lib/math_.h (frexp): New declaration.
106189         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
106190         REPLACE_FREXP.
106191         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
106193 2007-03-21  Bruno Haible  <bruno@clisp.org>
106195         * modules/isnanl-tests: New file.
106196         * tests/test-isnanl.c: New file.
106198         * modules/isnanl: New file.
106199         * lib/isnanl.h: New file.
106200         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
106201         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
106202         gl_FUNC_ISNANL_WORKS.
106203         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
106204         New macros.
106206 2007-03-21  Bruno Haible  <bruno@clisp.org>
106208         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
106209         lib/isnanl.h.
106210         (Include): Update.
106211         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
106212         * lib/vasnprintf.c: Update.
106213         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
106214         tests/test-isnanl.h, remove tests/test-isnanl.c.
106215         (Makefile.am): Update.
106216         * tests/test-isnanl-nolibm.c: New file.
106217         * tests/test-isnanl.h: New file.
106218         * tests/test-isnanl.c: Remove file.
106220 2007-03-21  Jim Meyering  <jim@meyering.net>
106222         When trying to open ".", treat ESTALE like EACCES.
106223         * lib/savewd.c (savewd_save): Resort to forking not just upon
106224         failure with EACCES, but also when errno is ESTALE.
106226 2007-03-20  Bruno Haible  <bruno@clisp.org>
106228         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
106229         Needed on AIX 5.1. Reported by Matthew Woehlke.
106231 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106233         Suggestions by Bruno Haible:
106234         * lib/acl-internal.h: Include "gettext.h" rather than rolling
106235         our own.
106236         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
106237         * modules/acl (Depends-on): Add gettext.
106239 2007-03-19  Bruno Haible  <bruno@clisp.org>
106241         * modules/iconvme: Remove file.
106242         * lib/iconvme.h: Remove file.
106243         * lib/iconvme.c: Remove file.
106244         * m4/iconvme.m4: Remove file.
106246 2007-03-19  Bruno Haible  <bruno@clisp.org>
106248         * doc/relocatable-maint.texi: Break long shell script line.
106249         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106251 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106253         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
106254         handle file_has_acl.
106255         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
106256         * lib/acl.c: Move header inclusions and related macro defns into
106257         lib/acl-internal.h.
106258         (S_ISLNK): Remove defn, since that's now done for us.
106259         (file_has_acl): Move to lib/file-has-acl.c.
106260         Call acl_trivial if available.  This is the crucial part of the fix.
106261         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
106262         shared within the library.  Rewrite a bit, partly to make it compatible
106263         with the GNU coding style.
106264         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
106265         Remove unnecessary double-quotes.
106266         Don't test for acl_to_text; the build will catch that.
106267         Replace acl_entries if it doesn't exist and it is needed.
106268         Check for -lsec and acl_trivial (as used on Solaris 10).
106269         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
106270         lib/file-has-acl.c.
106271         (Depends-on): Add sys_stat, for S_ISLNK.
106273 2007-03-19  Ben Pfaff  <blp@gnu.org>
106275         * doc/gnulib.texi: Fix typos.
106276         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
106278 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
106280         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
106281         If size is zero here, buf must be zero.
106283 2007-03-19  Simon Josefsson  <simon@josefsson.org>
106285         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
106286         <bruno@clisp.org>.
106288 2007-03-18  Bruno Haible  <bruno@clisp.org>
106290         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
106291         Suggested by Eric Blake.
106293 2007-03-18  Ben Pfaff  <blp@gnu.org>
106295         * doc/relocatable.texi: Recommend using as prefix a directory
106296         that does not exist and will never be created.  Based on
106297         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
106298         and others.
106300 2007-03-17  Bruno Haible  <bruno@clisp.org>
106302         * lib/fchownat.c: Include lchown.h.
106304 2007-03-17  Bruno Haible  <bruno@clisp.org>
106306         Fix endless loop when the given allocated size was > INT_MAX.
106307         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
106308         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
106309         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
106310         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
106311         * lib/sprintf.c (sprintf): Likewise.
106313 2007-03-17  Bruno Haible  <bruno@clisp.org>
106315         * tests/test-argp-2.sh (func_compare): Output a context diff.
106317 2007-03-17  Bruno Haible  <bruno@clisp.org>
106319         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
106320         locale's decimal-point character.
106322 2007-03-17  Bruno Haible  <bruno@clisp.org>
106324         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
106325         before comparing it. Needed because on some platforms (e.g. x86) a
106326         'long double' occupies less bytes than sizeof (long double).
106328 2007-03-17  Bruno Haible  <bruno@clisp.org>
106330         * tests/test-crc.c (main): Make printf statements 64-bit clean.
106331         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
106332         * tests/test-getaddrinfo.c (simple): Likewise.
106333         * tests/test-read-file.c (main): Likewise.
106335 2007-03-17  Bruno Haible  <bruno@clisp.org>
106337         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
106339 2007-03-17  Bruno Haible  <bruno@clisp.org>
106341         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
106342         unused variable.
106344 2007-03-17  Bruno Haible  <bruno@clisp.org>
106346         * tests/test-c-strcasecmp.c: Include c-strcase.h.
106347         * tests/test-c-strncasecmp.c: Likewise.
106349 2007-03-17  Bruno Haible  <bruno@clisp.org>
106351         * modules/stdlib (Depends-on): Add unistd.
106352         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
106353         Needed for MacOS X 10.3.
106355 2007-03-17  Bruno Haible  <bruno@clisp.org>
106357         * lib/unistr/u-strdup.h: Include <stdlib.h>.
106359 2007-03-17  Bruno Haible  <bruno@clisp.org>
106361         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
106363 2007-03-17  Bruno Haible  <bruno@clisp.org>
106365         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
106366         to reflect files copied from gnulib (with or without modifications).
106367         Suggested by Jim Meyering.
106369 2007-03-17  Eric Blake  <ebb9@byu.net>
106371         * NEWS: Document stdlib change from 2007-02-18.
106373 2007-03-17  Jim Meyering  <jim@meyering.net>
106375         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
106376         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
106377         someone uses a name containing shell meta-characters.
106378         Reported by Alfred M. Szmidt.
106380         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
106382 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106384         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
106385         and copy gettext configuration files only if configure.ac contains
106386         a use of AM_GNU_GETTEXT_VERSION.
106388 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
106390         * build-aux/bootstrap (gnulib_name): New variable.
106391         (gnulib_tool_options): Use it.
106393 2007-03-13  Simon Josefsson  <simon@josefsson.org>
106395         * tests/test-des.c: Use new namespace.
106397 2007-03-15  Bruno Haible  <bruno@clisp.org>
106399         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
106400         Reported by James Youngman <jay@gnu.org>.
106402 2007-03-15  Bruno Haible  <bruno@clisp.org>
106404         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
106405         declared prototype. Needed with cc on OSF/1 5.1.
106407 2007-03-15  Bruno Haible  <bruno@clisp.org>
106409         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
106410         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
106411         (struct gl_list_implementation): Add dispose_fn argument to the
106412         'create_empty', 'create' methods.
106413         (struct gl_list_impl_base): Add field 'dispose_fn'.
106414         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
106415         argument.
106416         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
106417         dispose_fn argument.
106418         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
106419         dispose_fn on the dropped values.
106420         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
106421         dispose_fn argument.
106422         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
106423         dropped values.
106424         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
106425         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106426         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
106427         (gl_tree_remove_node): Call dispose_fn on the dropped value.
106428         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
106429         argument.
106430         (gl_tree_list_free): Call dispose_fn on the dropped values.
106431         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
106432         the dropped values.
106433         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
106434         Add dispose_fn argument.
106435         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
106436         Call dispose_fn on the dropped values.
106437         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
106438         Add dispose_fn argument.
106439         (gl_sublist_create): Initialize the 'dispose_fn' field.
106440         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
106441         * tests/test-array_list.c (main): Update.
106442         * tests/test-carray_list.c (main): Update.
106443         * tests/test-avltree_list.c (main): Update.
106444         * tests/test-rbtree_list.c (main): Update.
106445         * tests/test-avltreehash_list.c (main): Update.
106446         * tests/test-rbtreehash_list.c (main): Update.
106447         * tests/test-linked_list.c (main): Update.
106448         * tests/test-linkedhash_list.c (main): Update.
106449         * tests/test-array_oset.c (main): Update.
106451 2007-03-15  Bruno Haible  <bruno@clisp.org>
106453         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
106454         (gl_oset_create_empty): Add dispose_fn argument.
106455         (struct gl_oset_implementation): Add dispose_fn argument to
106456         'create_empty' method.
106457         (struct gl_oset_impl_base): Add dispose_fn field.
106458         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
106459         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
106460         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
106461         values.
106462         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
106463         (gl_tree_oset_free): Call dispose_fn on the dropped values.
106464         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106465         dropped value.
106466         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
106467         dropped value.
106468         * tests/test-array_oset.c (main): Update.
106469         * tests/test-avltree_oset.c (main): Update.
106470         * tests/test-rbtree_oset.c (main): Update.
106471         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
106473 2007-03-13  Bruno Haible  <bruno@clisp.org>
106475         * tests/test-stdbool.c (i): Update after last patch.
106477 2007-03-12  Bruno Haible  <bruno@clisp.org>
106479         * lib/quotearg.c: Include <wctype.h> early, before the definition of
106480         the iswprint macro. Needed on Solaris 2.5.1.
106482 2007-03-12  Bruno Haible  <bruno@clisp.org>
106484         * tests/test-printf-frexp.c (main): Declare x as volatile.
106486 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106488         * doc/gnulib.texi (Build robot for gnulib): New section.
106490 2007-03-12  Jim Meyering  <jim@meyering.net>
106492         * build-aux/bootstrap: New file.
106493         * build-aux/bootstrap.conf: New file, from coreutils.
106495 2007-03-11  Bruno Haible  <bruno@clisp.org>
106497         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
106499 2007-03-12  Simon Josefsson  <simon@josefsson.org>
106501         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
106502         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
106503         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
106505 2007-03-11  Bruno Haible  <bruno@clisp.org>
106507         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
106508         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
106510 2007-03-11  Bruno Haible  <bruno@clisp.org>
106512         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
106513         formula. Needed for SunPRO C 5.0.
106515 2007-03-11  Bruno Haible  <bruno@clisp.org>
106517         * modules/long-options (Depends-on): Add getopt.
106519 2007-03-11  Bruno Haible  <bruno@clisp.org>
106521         * modules/modechange (Depends-on): Add stdbool.
106523 2007-03-11  Bruno Haible  <bruno@clisp.org>
106525         * modules/i-ring (Depends-on): Add stdbool.
106527 2007-03-11  Bruno Haible  <bruno@clisp.org>
106529         * modules/gc-des (Depends-on): Add stdbool.
106531 2007-03-11  Bruno Haible  <bruno@clisp.org>
106533         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
106535 2007-03-11  Bruno Haible  <bruno@clisp.org>
106537         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
106539 2007-03-11  Bruno Haible  <bruno@clisp.org>
106541         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
106543 2007-03-11  Bruno Haible  <bruno@clisp.org>
106545         * lib/vasnprintf.c (sprintf): Undefine.
106547 2007-03-11  Bruno Haible  <bruno@clisp.org>
106549         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
106550         initializers in SunPRO C and Compaq C compilers.
106552 2007-03-11  Bruno Haible  <bruno@clisp.org>
106554         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
106555         decrementing code ANSI C compliant.
106557 2007-03-11  Bruno Haible  <bruno@clisp.org>
106559         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
106560         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
106562 2007-03-11  Bruno Haible  <bruno@clisp.org>
106564         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
106565         <stdbool.h> substitute doesn't pass.
106567 2007-03-11  Bruno Haible  <bruno@clisp.org>
106569         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
106571 2007-03-11  Bruno Haible  <bruno@clisp.org>
106573         * gnulib-tool (func_create_megatestdir): Create also an autobuild
106574         script, for submission to autobuild.josefsson.org.
106576 2007-03-10  Bruno Haible  <bruno@clisp.org>
106578         * modules/canonicalize-lgpl-tests: New file.
106579         * tests/test-canonicalize-lgpl.sh: New file.
106580         * tests/test-canonicalize-lgpl.c: New file.
106582         * modules/c-strcase-tests: New file.
106583         * tests/test-c-strcase.sh: New file.
106584         * tests/test-c-strcasecmp.c: New file.
106585         * tests/test-c-strncasecmp.c: New file.
106587         * modules/atexit-tests: New file.
106588         * tests/test-atexit.sh: New file.
106589         * tests/test-atexit.c: New file.
106591 2007-03-10  Bruno Haible  <bruno@clisp.org>
106593         * tests/test-binary-io.sh: Use temporary filenames that are not so
106594         likely to clash with those of other tests (in a parallel make).
106595         * tests/test-binary-io.c: Likewise.
106597 2007-03-10  Bruno Haible  <bruno@clisp.org>
106599         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
106600         fallback; use #error instead.
106601         Suggested by Simon Josefsson.
106603 2007-03-10  Bruno Haible  <bruno@clisp.org>
106605         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
106606         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
106607         first and the last.
106609 2007-03-10  Bruno Haible  <bruno@clisp.org>
106611         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
106613 2007-03-10  Bruno Haible  <bruno@clisp.org>
106615         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
106616         "make distcheck".
106617         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
106618         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
106619         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
106621 2007-03-10  Bruno Haible  <bruno@clisp.org>
106623         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
106624         variable.
106625         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
106626         variable.
106628 2007-03-09  Eric Blake  <ebb9@byu.net>
106629         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
106631         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
106632         types are not being provided by gnulib.
106633         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
106634         types are supported.
106636 2007-03-10  Bruno Haible  <bruno@clisp.org>
106638         * lib/stdio_.h (__attribute__): New macro.
106639         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
106640         vsprintf): Specify __attribute__ __format__ for GCC.
106641         Suggested by Eric Blake.
106643 2007-03-09  Bruno Haible  <bruno@clisp.org>
106645         * modules/printf-posix-tests: New file.
106646         * tests/test-printf-posix.sh: New file.
106647         * tests/test-printf-posix.c: New file.
106649         * modules/printf-posix: New file.
106650         * lib/printf.c: New file.
106651         * m4/printf-posix-rpl.m4: New file.
106652         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
106653         REPLACE_PRINTF.
106654         * lib/stdio_.h (printf): New declaration.
106655         (format, __format__, ____printf____, ____scanf____, ____strftime____,
106656         ____strfmon____): New macros.
106657         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
106658         REPLACE_PRINTF.
106660 2007-03-09  Bruno Haible  <bruno@clisp.org>
106662         * tests/test-vasnprintf-posix2.sh: New file.
106663         * tests/test-vasnprintf-posix2.c: New file.
106664         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
106665         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
106666         (Makefile.am): Activate test-vasnprintf-posix2.sh.
106668         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
106669         a locale dependent decimal point, rather than always '.'.
106671 2007-03-09  Eric Blake  <ebb9@byu.net>
106673         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
106674         spite of platforms like Tandem/NSK that define it to -1.
106676 2007-03-08  Bruno Haible  <bruno@clisp.org>
106678         * modules/vprintf-posix-tests: New file.
106679         * tests/test-vprintf-posix.sh: New file.
106680         * tests/test-vprintf-posix.c: New file.
106681         * tests/test-printf-posix.h: New file.
106683         * modules/vprintf-posix: New file.
106684         * lib/vprintf.c: New file.
106685         * m4/vprintf-posix.m4: New file.
106686         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
106687         REPLACE_VPRINTF.
106688         * lib/stdio_.h (vprintf): New declaration.
106689         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
106690         REPLACE_VPRINTF.
106692 2007-03-08  Bruno Haible  <bruno@clisp.org>
106694         * modules/fprintf-posix-tests: New file.
106695         * tests/test-fprintf-posix.sh: New file.
106696         * tests/test-fprintf-posix.c: New file.
106698         * modules/fprintf-posix: New file.
106699         * lib/fprintf.c: New file.
106700         * m4/fprintf-posix.m4: New file.
106701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
106702         REPLACE_FPRINTF.
106703         * lib/stdio_.h (fprintf): New declaration.
106704         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
106705         REPLACE_FPRINTF.
106707 2007-03-08  Bruno Haible  <bruno@clisp.org>
106709         * modules/vfprintf-posix-tests: New file.
106710         * tests/test-vfprintf-posix.sh: New file.
106711         * tests/test-vfprintf-posix.c: New file.
106712         * tests/test-fprintf-posix.h: New file.
106713         * tests/test-fprintf-posix.out: New file.
106715         * modules/vfprintf-posix: New file.
106716         * lib/vfprintf.c: New file.
106717         * m4/vfprintf-posix.m4: New file.
106718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
106719         REPLACE_VFPRINTF.
106720         * lib/stdio_.h (vfprintf): New declaration.
106721         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
106722         REPLACE_VFPRINTF.
106724 2007-03-08  Bruno Haible  <bruno@clisp.org>
106726         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
106728 2007-03-08  Bruno Haible  <bruno@clisp.org>
106730         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
106731         instead of 'expr' invocations.
106732         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
106733         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
106734         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
106735         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
106736         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
106737         Suggested by Paul Eggert.
106739 2007-03-08  Bruno Haible  <bruno@clisp.org>
106741         * modules/fseterr-tests: New file.
106742         * tests/test-fseterr.c: New file.
106744         * modules/fseterr: New file.
106745         * lib/fseterr.h: New file.
106746         * lib/fseterr.c: New file.
106748 2007-03-08  Bruno Haible  <bruno@clisp.org>
106750         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
106751         * lib/getopt_.h: Likewise.
106752         * lib/mbswidth.h: Likewise.
106753         * lib/setenv.h: Likewise.
106754         * lib/vasnprintf.h: Likewise.
106755         * lib/vasprintf.h: Likewise.
106756         * lib/verror.h: Likewise.
106757         * lib/xsetenv.h: Likewise.
106758         * lib/xvasprintf.h: Likewise.
106760 2007-03-08  Jim Meyering  <jim@meyering.net>
106762         * users.txt: Add parted.
106764         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
106766 2007-03-07  Bruno Haible  <bruno@clisp.org>
106768         * m4/printf.m4: Make the shell script snippets copy&pastable.
106770 2007-03-02  Bruno Haible  <bruno@clisp.org>
106772         * lib/netinet_in_.h: New file.
106773         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
106774         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
106775         * modules/netinet_in (Files): Add lib/netinet_in_.h.
106776         (Depends-on): Add absolute-header.
106777         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
106778         into netinet/in.h.
106780 2007-03-03  Bruno Haible  <bruno@clisp.org>
106782         * lib/sys_select_.h: New file.
106783         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
106784         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
106785         * modules/sys_select (Files): Add lib/sys_select_.h.
106786         (Depends-on): Add absolute-header.
106787         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
106788         into sys/select.h.
106790 2007-03-02  Bruno Haible  <bruno@clisp.org>
106792         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
106793         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
106794         values.
106795         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
106796         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
106797         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
106798         * modules/sys_socket (Depends-on): Add absolute-header.
106799         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
106800         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
106801         (Include): Remove requirement of inclusion of <sys/types.h>.
106803 2007-03-02  Bruno Haible  <bruno@clisp.org>
106805         * lib/byteswap_.h (bswap_32): Fix formula.
106807 2007-03-06  Bruno Haible  <bruno@clisp.org>
106809         * modules/sprintf-posix-tests: New file.
106810         * tests/test-sprintf-posix.c: New file.
106812         * modules/sprintf-posix: New file.
106813         * lib/sprintf.c: New file.
106814         * m4/sprintf-posix.m4: New file.
106815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
106816         REPLACE_SPRINTF.
106817         * lib/stdio_.h (sprintf): New declaration.
106818         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
106819         REPLACE_SPRINTF.
106821 2007-03-06  Bruno Haible  <bruno@clisp.org>
106823         * modules/vsprintf-posix-tests: New file.
106824         * tests/test-vsprintf-posix.c: New file.
106825         * tests/test-sprintf-posix.h: New file.
106827         * modules/vsprintf-posix: New file.
106828         * lib/vsprintf.c: New file.
106829         * m4/vsprintf-posix.m4: New file.
106830         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
106831         REPLACE_VSPRINTF.
106832         * lib/stdio_.h (vsprintf): New declaration.
106833         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
106834         REPLACE_VSPRINTF.
106836 2007-03-06  Bruno Haible  <bruno@clisp.org>
106838         * modules/vsnprintf (Depend-on): Remove minmax.
106840 2007-03-06  Bruno Haible  <bruno@clisp.org>
106842         * modules/snprintf-posix-tests: New file.
106843         * tests/test-snprintf-posix.c: New file.
106845         * modules/snprintf-posix: New file.
106846         * m4/snprintf-posix.m4: New file.
106847         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
106848         gl_FUNC_SNPRINTF.
106849         (gl_FUNC_SNPRINTF): Invoke it.
106850         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
106851         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
106852         is set.
106853         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
106855 2007-03-06  Bruno Haible  <bruno@clisp.org>
106857         * modules/vsnprintf-posix-tests: New file.
106858         * tests/test-vsnprintf-posix.c: New file.
106859         * tests/test-snprintf-posix.h: New file.
106861         * modules/vsnprintf-posix: New file.
106862         * m4/vsnprintf-posix.m4: New file.
106863         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
106864         gl_FUNC_VSNPRINTF.
106865         (gl_FUNC_VSNPRINTF): Invoke it.
106866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
106867         * lib/stdio_.h (vsnprintf): Define as a replacement if
106868         REPLACE_VSNPRINTF is set.
106869         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
106871 2007-03-06  Bruno Haible  <bruno@clisp.org>
106873         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
106874         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
106876 2007-03-06  Bruno Haible  <bruno@clisp.org>
106878         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
106879         (asinl): Declare also if HAVE_DECL_ASINL is set.
106880         (atanl): Declare also if HAVE_DECL_ATANL is set.
106881         (ceill): Declare also if HAVE_DECL_CEILL is set.
106882         (cosl): Declare also if HAVE_DECL_COSL is set.
106883         (expl): Declare also if HAVE_DECL_EXPL is set.
106884         (floorl): Declare also if HAVE_DECL_FLOORL is set.
106885         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
106886         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
106887         (logl): Declare also if HAVE_DECL_LOGL is set.
106888         (sinl): Declare also if HAVE_DECL_SINL is set.
106889         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
106890         (tanl): Declare also if HAVE_DECL_TANL is set.
106891         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
106892         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
106893         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
106894         declaration of frexpl, ldexpl.
106895         * modules/printf-frexpl (Depends-on): Add math.
106896         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
106898 2007-03-05  Bruno Haible  <bruno@clisp.org>
106900         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
106901         frexpl and ldexpl are declared.
106902         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
106904 2007-03-05  Bruno Haible  <bruno@clisp.org>
106906         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
106907         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
106909 2007-03-05  Bruno Haible  <bruno@clisp.org>
106911         * lib/stdio_.h: Include <stddef.h>.
106913 2007-03-05  Bruno Haible  <bruno@clisp.org>
106915         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
106917 2007-03-05  Bruno Haible  <bruno@clisp.org>
106919         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
106920         NetBSD 4, from Ralf Wildenhues.
106922 2007-03-04  Bruno Haible  <bruno@clisp.org>
106924         * lib/vasprintf.h: Update #if logic for the case when the functions
106925         exist but are overridden.
106927 2007-03-04  Bruno Haible  <bruno@clisp.org>
106929         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
106930         implementations: glibc-2.4 and MacOS X 10.3.
106931         * tests/test-vasnprintf-posix.c (test_function): Test also the case
106932         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
106933         * tests/test-vasprintf-posix.c (test_function): Likewise.
106935 2007-03-04  Bruno Haible  <bruno@clisp.org>
106937         * modules/vasprintf-posix-tests: New file.
106938         * tests/test-vasprintf-posix.c: New file.
106940         * modules/vasprintf-posix: New file.
106941         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
106942         defined.
106943         * m4/vasprintf-posix.m4: New file.
106944         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
106945         gl_FUNC_VASPRINTF.
106946         (gl_FUNC_VASPRINTF): Invoke it.
106947         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
106948         here.
106949         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
106951 2007-03-04  Bruno Haible  <bruno@clisp.org>
106953         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
106954         REPLACE_GETTIMEOFDAY.
106955         * modules/sys_time (Makefile.am): Likewise.
106956         * m4/sys_time_h.m4: Likewise.
106957         * m4/gettimeofday.m4: Likewise.
106959 2007-03-04  Bruno Haible  <bruno@clisp.org>
106961         * modules/vasnprintf-posix-tests: New file.
106962         * tests/test-vasnprintf-posix.c: New file.
106964         * modules/vasnprintf-posix: New file.
106965         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
106966         printf-frexpl.h.
106967         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
106968         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
106969         REPLACE_VASNPRINTF is defined.
106970         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
106971         gl_FUNC_VASNPRINTF.
106972         (gl_FUNC_VASNPRINTF): Invoke it.
106973         * m4/vasnprintf-posix.m4: New file.
106974         * m4/printf.m4: New file.
106976 2007-03-04  Bruno Haible  <bruno@clisp.org>
106978         Compile progreloc.c only if --enable-relocatable is specified.
106979         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
106980         if --enable-relocatable was specified.
106981         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
106982         lib_SOURCES.
106984 2007-03-04  Jim Meyering  <jim@meyering.net>
106986         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
106987         Use it consistently, rather than enumerating errno constants.
106989 2007-03-04  Bruno Haible  <bruno@clisp.org>
106991         * modules/xvasprintf-tests: New file.
106992         * tests/test-xvasprintf.c: New file.
106994         * modules/vasprintf-tests: New file.
106995         * tests/test-vasprintf.c: New file.
106997         * modules/vasnprintf-tests: New file.
106998         * tests/test-vasnprintf.c: New file.
107000         * modules/vsnprintf-tests: New file.
107001         * tests/test-vsnprintf.c: New file.
107003         * modules/snprintf-tests: New file.
107004         * tests/test-snprintf.c: New file.
107006 2007-03-04  Bruno Haible  <bruno@clisp.org>
107008         Compile relocatable.c only if --enable-relocatable is specified.
107009         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
107010         gl_RELOCATABLE_LIBRARY.
107011         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
107012         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
107013         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
107014         gl_RELOCATABLE_LIBRARY.
107015         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
107016         (Makefile.am): Remove lib_SOURCES.
107017         * modules/relocatable-lib-lgpl (configure.ac): Invoke
107018         gl_RELOCATABLE_LIBRARY.
107019         (Makefile.am): Remove lib_SOURCES.
107020         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
107021         always.
107022         * modules/relocatable-prog-wrapper (configure.ac): Invoke
107023         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
107025 2007-03-04  Bruno Haible  <bruno@clisp.org>
107027         * modules/argmatch-tests: New file.
107028         * tests/test-argmatch.c: New file.
107030         * tests/test-allocsa.c (main): Halve the number of loop runs.
107032         * modules/alloca-opt-tests: New file.
107033         * tests/test-alloca-opt.c: New file.
107035 2007-03-04  Jim Meyering  <jim@meyering.net>
107037         Work around difference between Linux ACLs and Solaris 10 ZFS.
107038         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
107039         for EINVAL.
107041 2007-03-03  Bruno Haible  <bruno@clisp.org>
107043         * modules/relocatable-prog (Depends-on): Add back progreloc's
107044         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
107046 2007-03-03  Bruno Haible  <bruno@clisp.org>
107048         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
107049         * modules/relocatable-lib: New file.
107051 2007-03-03  Bruno Haible  <bruno@clisp.org>
107053         * modules/relocatable-prog: Renamed from modules/relocatable.
107054         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
107056 2007-03-03  Bruno Haible  <bruno@clisp.org>
107058         * modules/relocatable-script (Files): Add doc/relocatable.texi,
107059         m4/relocatable-lib.m4.
107060         (Depends-on): Remove 'relocatable'.
107061         (configure.ac): Add gl_RELOCATABLE_NOP.
107063 2007-03-03  Bruno Haible  <bruno@clisp.org>
107065         * modules/relocatable-prog-wrapper: New file.
107066         * modules/relocatable (Depends-on): Add it. Remove all other
107067         dependencies except progname.
107068         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
107070         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
107071         (gl_FUNC_STRERROR): Nop.
107072         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
107074         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
107075         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
107077         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
107078         (gl_FUNC_READLINK): Update.
107080         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
107082 2007-03-03  Bruno Haible  <bruno@clisp.org>
107084         * lib/xreadlink.c: Include <unistd.h> unconditionally.
107085         * modules/xreadlink (Depends-on): Add unistd.
107086         * modules/xreadlink-with-size (Depends-on): Likewise.
107088 2007-03-03  Bruno Haible  <bruno@clisp.org>
107090         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
107091         extracted from gt_FUNC_SETENV.
107092         (gt_FUNC_SETENV): Remove macro.
107093         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
107094         remove gt_FUNC_SETENV.
107096 2007-03-03  Bruno Haible  <bruno@clisp.org>
107098         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
107099         ENABLE_RELOCATABLE here.
107100         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
107102 2007-03-03  Bruno Haible  <bruno@clisp.org>
107104         * modules/rbtreehash-list-tests (Depends-on): Add progname.
107105         * tests/test-rbtreehash_list.c: Include progname.h.
107106         (main): Call set_program_name.
107108         * modules/rbtree-oset-tests (Depends-on): Add progname.
107109         * tests/test-rbtree_oset.c: Include progname.h.
107110         (main): Call set_program_name.
107112         * modules/rbtree-list-tests (Depends-on): Add progname.
107113         * tests/test-rbtree_list.c: Include progname.h.
107114         (main): Call set_program_name.
107116         * modules/linked-list-tests (Depends-on): Add progname.
107117         * tests/test-linked_list.c: Include progname.h.
107118         (main): Call set_program_name.
107120 2007-03-03  Bruno Haible  <bruno@clisp.org>
107122         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
107123         All uses of __restrict changed to _Restrict_.
107124         * lib/glob_.h (__restrict): Remove macro.
107126 2007-03-02  Bruno Haible  <bruno@clisp.org>
107128         * modules/gettext (configure.ac): Require gettext infrastructure
107129         from version 0.16.1.
107131 2007-03-02  Bruno Haible  <bruno@clisp.org>
107133         * modules/linkedhash-list-tests (Depends-on): Add progname.
107134         * tests/test-linkedhash_list.c: Include progname.h.
107135         (main): Call set_program_name.
107137         * modules/carray-list-tests (Depends-on): Add progname.
107138         * tests/test-carray_list.c: Include progname.h.
107139         (main): Call set_program_name.
107141         * modules/avltreehash-list-tests (Depends-on): Add progname.
107142         * tests/test-avltreehash_list.c: Include progname.h.
107143         (main): Call set_program_name.
107145         * modules/avltree-oset-tests (Depends-on): Add progname.
107146         * tests/test-avltree_oset.c: Include progname.h.
107147         (main): Call set_program_name.
107149         * modules/avltree-list-tests (Depends-on): Add progname.
107150         * tests/test-avltree_list.c: Include progname.h.
107151         (main): Call set_program_name.
107153         * modules/array-oset-tests (Depends-on): Add progname.
107154         * tests/test-array_oset.c: Include progname.h.
107155         (main): Call set_program_name.
107157         * modules/array-list-tests (Depends-on): Add progname.
107158         * tests/test-array_list.c: Include progname.h.
107159         (main): Call set_program_name.
107161         * modules/argp-tests (Depends-on): Add progname.
107162         * tests/test-argp.c: Include argp.h first. Include progname.h.
107163         (main): Call set_program_name.
107165 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
107167         * doc/gnulib-tool.texi (Initial import): Reword description of
107168         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
107169         limited effect even if defined after the first system include.
107171 2007-03-01  Bruno Haible  <bruno@clisp.org>
107173         * build-aux/config.libpath: Update to libtool-1.5.22.
107174         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
107176 2007-03-01  Bruno Haible  <bruno@clisp.org>
107178         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
107179         foo_CFLAGS.
107180         Reported by Ralf Wildenhues.
107182 2007-03-01  Bruno Haible  <bruno@clisp.org>
107184         * build-aux/install-reloc: Remove object files left over by some
107185         compilers.
107186         Reported by Ralf Wildenhues.
107188 2007-03-01  Bruno Haible  <bruno@clisp.org>
107190         * build-aux/install-reloc: Break long lines.
107192 2007-03-01  Bruno Haible  <bruno@clisp.org>
107194         * doc/relocatable.texi: Document that it may not work on OpenBSD.
107195         Reported by Ralf Wildenhues.
107197 2007-03-01  Bruno Haible  <bruno@clisp.org>
107199         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
107200         include ordering constraints.
107202 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
107204         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
107205         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
107206         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
107207         as another example.
107208         * lib/time_.h: Fix misspelling.
107209         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
107210         Require gl_HEADER_TIME_H_DEFAULTS.
107211         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
107212         * m4/time_r.m4 (gl_TIME_R): Likewise.
107213         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
107215 2007-03-01  Bruno Haible  <bruno@clisp.org>
107217         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
107218         * m4/utimens.m4 (gl_UTIMENS): Likewise.
107220 2007-03-01  Jim Meyering  <jim@meyering.net>
107222         * modules/xreadlink (Maintainer): Add my name.
107223         * modules/xreadlink-with-size (Depends-on): Alphabetize.
107225 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
107226             Bruno Haible  <bruno@clisp.org>
107228         * build-aux/install-reloc: Compile also c-ctype.c.
107229         * build-aux/relocatable.sh.in: New file.
107230         * doc/relocatable.texi: New file.
107231         * doc/relocatable-maint.texi: New file.
107232         * doc/gnulib.texi: Include relocatable-maint.texi.
107233         * lib/progreloc.c: Include unistd.h unconditionally.
107234         * lib/relocwrapper.c: Include unistd.h unconditionally.
107235         Include c-ctype.h.
107236         (add_dotbin): Use c_tolower.
107237         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
107238         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
107239         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
107240         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
107241         to m4/relocatable-lib.m4.
107242         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
107243         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
107244         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
107245         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
107246         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
107247         * modules/relocatable: New file.
107248         * modules/relocatable-lib: New file.
107249         * modules/relocatable-script: New file.
107251 2007-02-28  Bruno Haible  <bruno@clisp.org>
107253         Import --enable-relocatable infrastructure.
107254         * build-aux/config.libpath: New file, from GNU gettext.
107255         * build-aux/install-reloc: New file, from GNU gettext.
107256         * build-aux/reloc-ldflags: New file, from GNU gettext.
107257         * lib/relocatable.h: New file, from GNU gettext.
107258         * lib/relocatable.c: New file, from GNU gettext.
107259         * lib/relocwrapper.c: New file, from GNU gettext.
107260         * m4/relocatable.m4: New file, from GNU gettext.
107262 2007-02-28  Bruno Haible  <bruno@clisp.org>
107264         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
107266         * modules/xreadlink: New file, from GNU gettext with modifications.
107267         * lib/xreadlink.c: New file, from GNU gettext.
107268         * lib/xreadlink.h: Add comments.
107269         (xreadlink): New declaration.
107271         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
107272         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
107273         lib/xreadlink-with-size.c.
107274         (configure.ac): Remove gl_XREADLINK invocation.
107275         (Makefile.am): Augment lib_SOURCES.
107276         * m4/xreadlink.m4: Remove file.
107277         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
107278         (xreadlink_with_size): Renamed from xreadink.
107279         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
107280         * modules/canonicalize (Depends-on): Replace xreadlink with
107281         xreadlink-with-size.
107282         * lib/canonicalize.c (canonicalize_filename_mode): Update.
107284 2007-02-25  Jim Meyering  <jim@meyering.net>
107286         * build-aux/announce-gen: When complaining about excess arguments,
107287         list them.
107289 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
107291         * README: Document signed integer overflow situation more
107292         accurately.
107294 2007-02-25  Bruno Haible  <bruno@clisp.org>
107296         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
107297         'a' or 'A' conversion.
107299 2007-02-25  Bruno Haible  <bruno@clisp.org>
107301         * modules/filename: Renamed from modules/pathname.
107302         (Files): Replace lib/pathname.h with lib/filename.h. Replace
107303         lib/concatpath.c with lib/concat-filename.c.
107304         (Makefile.am): Update.
107305         (Include): Replace pathname.h with filename.h.
107306         * lib/filename.h: Renamed from lib/pathname.h.
107307         (concatenated_filename): Renamed from concatenated_pathname.
107308         * lib/concat-filename.c: Renamed from lib/concatpath.c.
107309         (concatenated_filename): Renamed from concatenated_pathname.
107310         * lib/findprog.c: Include filename.h instead of pathname.h.
107311         (find_in_path): Update.
107312         * lib/javacomp.c: Include filename.h instead of pathname.h.
107313         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
107314         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
107315         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
107316         is_oldgcj_14_13_usable, is_javac_usable): Update.
107317         * lib/javaexec.c: Include filename.h instead of pathname.h.
107318         (execute_java_class): Update.
107319         * modules/findprog: Update.
107320         * modules/javacomp: Update.
107321         * modules/javaexec: Update.
107322         * MODULES.html.sh (File system functions): Add 'filename', remove
107323         'pathname'.
107325 2007-02-25  Bruno Haible  <bruno@clisp.org>
107327         * modules/printf-frexpl-tests: New file.
107328         * tests/test-printf-frexpl.c: New file.
107330         * modules/printf-frexpl: New file.
107331         * lib/printf-frexpl.h: New file.
107332         * lib/printf-frexpl.c: New file.
107333         * m4/printf-frexpl.m4: New file.
107335 2007-02-25  Bruno Haible  <bruno@clisp.org>
107337         * modules/printf-frexp-tests: New file.
107338         * tests/test-printf-frexp.c: New file.
107340         * modules/printf-frexp: New file.
107341         * lib/printf-frexp.h: New file.
107342         * lib/printf-frexp.c: New file.
107343         * m4/printf-frexp.m4: New file.
107345 2007-02-25  Bruno Haible  <bruno@clisp.org>
107347         Assume automake >= 1.10 for the tests.
107348         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
107349         * modules/arctwo-tests: Likewise.
107350         * modules/argp-tests: Likewise.
107351         * modules/avltree-list-tests: Likewise.
107352         * modules/avltree-oset-tests: Likewise.
107353         * modules/avltreehash-list-tests: Likewise.
107354         * modules/carray-list-tests: Likewise.
107355         * modules/crc-tests: Likewise.
107356         * modules/des-tests: Likewise.
107357         * modules/gc-arcfour-tests: Likewise.
107358         * modules/gc-arctwo-tests: Likewise.
107359         * modules/gc-des-tests: Likewise.
107360         * modules/gc-hmac-md5-tests: Likewise.
107361         * modules/gc-hmac-sha1-tests: Likewise.
107362         * modules/gc-md2-tests: Likewise.
107363         * modules/gc-md4-tests: Likewise.
107364         * modules/gc-md5-tests: Likewise.
107365         * modules/gc-pbkdf2-sha1-tests: Likewise.
107366         * modules/gc-rijndael-tests: Likewise.
107367         * modules/gc-sha1-tests: Likewise.
107368         * modules/gc-tests: Likewise.
107369         * modules/getaddrinfo-tests: Likewise.
107370         * modules/hmac-md5-tests: Likewise.
107371         * modules/hmac-sha1-tests: Likewise.
107372         * modules/linked-list-tests: Likewise.
107373         * modules/linkedhash-list-tests: Likewise.
107374         * modules/lock-tests: Likewise.
107375         * modules/md2-tests: Likewise.
107376         * modules/md4-tests: Likewise.
107377         * modules/md5-tests: Likewise.
107378         * modules/rbtree-list-tests: Likewise.
107379         * modules/rbtree-oset-tests: Likewise.
107380         * modules/rbtreehash-list-tests: Likewise.
107381         * modules/read-file-tests: Likewise.
107382         * modules/rijndael-tests: Likewise.
107383         * modules/stdint-tests: Likewise.
107384         * modules/tls-tests: Likewise.
107386 2007-02-24  Bruno Haible  <bruno@clisp.org>
107388         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
107389         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
107390         function; instead check whether isnan with a double argument links.
107391         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
107392         function; instead check whether isnan with a 'long double' argument
107393         links.
107394         Reported by Eric Blake <ebb9@byu.net>.
107396 2007-02-24  Bruno Haible  <bruno@clisp.org>
107398         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
107399         defined.
107400         * lib/isnanl.c: Remove all code. Just include isnan.c.
107401         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
107403 2007-02-25  Jim Meyering  <jim@meyering.net>
107405         Avoid conflicting types for 'unsetenv' on FreeBSD.
107406         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
107407         conflicting with FreeBSD's (5.0 and 6.1) function declaration
107408         in stdlib.h.
107410 2007-02-24  Bruno Haible  <bruno@clisp.org>
107412         * modules/isnanl-nolibm-tests: New file.
107413         * tests/test-isnanl.c: New file.
107415         * modules/isnanl-nolibm: New file.
107416         * lib/isnanl.h: New file.
107417         * lib/isnanl.c: New file.
107418         * m4/isnanl.m4: New file.
107420 2007-02-24  Bruno Haible  <bruno@clisp.org>
107422         * modules/isnan-nolibm-tests: New file.
107423         * tests/test-isnan.c: New file.
107425         * modules/isnan-nolibm: New file.
107426         * lib/isnan.h: New file.
107427         * lib/isnan.c: New file.
107428         * m4/isnan.m4: New file.
107430 2007-02-24  Bruno Haible  <bruno@clisp.org>
107432         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
107433         assume that an exponent fits in 20 bits.
107435 2007-02-24  Jim Meyering  <jim@meyering.net>
107437         * m4/regex.m4: Update the description of the configure-time option,
107438         --without-included-regex, to state accurately what the defaults are,
107439         and perhaps to give people an idea why using this option is risky.
107441 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
107443         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
107444         loops on small arguments.  This attempts to avoid the problem
107445         Bruno Haible reported for AIX 4.3.2 in
107446         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.
107448 2007-02-23  Bruno Haible  <bruno@clisp.org>
107450         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
107451         Needed for help2man.
107453 2007-02-23  Karl Berry  <karl@gnu.org>
107455         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
107456         exists, foo.h should be cvs-ignored, not committed.
107458 2007-02-23  Eric Blake  <ebb9@byu.net>
107460         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
107461         * lib/stat-time.h (includes): Likewise.
107462         * lib/utimecmp.c (includes): Likewise.
107463         * lib/utimens.h (includes): Likewise.
107464         * lib/getdate.y (includes): Also include "timespec.h" for use
107465         internal to the module.
107466         * modules/utimens (Depends-on): Revert yesterday's patch.
107467         * modules/nanosleep (Depends-on): Add missing dependency.
107469 2007-02-22  Bruno Haible  <bruno@clisp.org>
107471         * lib/glob.c: Don't include getlogin_r.h.
107473 2007-02-22  Jim Meyering  <jim@meyering.net>
107475         * modules/utimens (Depends-on): Add timespec, required for
107476         utimens.h's inclusion of timespec.h.
107478 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
107480         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
107481         long unreadable paths in GNU/Linux.  Problem reported by Andreas
107482         Schwab in
107483         <http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
107484         I'll try to think of a better way to fix the Solaris problem.
107486         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
107487         like glibc; on Solaris 10, it fails with errno == EINVAL.
107488         POSIX says the behavior is unspecified if the first argument is NULL,
107489         so play it safe and never pass NULL to the system getcwd.
107491 2007-02-21  Jim Meyering  <jim@meyering.net>
107493         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
107494         of gettimeofday.  It would conflict with the one now always
107495         provided via sys_time_.h.  Reported by Matthew Woehlke, as
107496         an IRIX 6.5 build failure.
107498 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
107500         Minor fixups to port to Solaris 10 with Sun C 5.8.
107501         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
107502         * modules/getcwd (Depends-on): Add dirfd.
107503         * lib/putenv.c (putenv): #undef it.
107504         (rpl_putenv): New decl.
107505         (malloc, free): Include <stdlib.h> rather than prototyping separately.
107507 2007-02-20  Bruno Haible  <bruno@clisp.org>
107509         * modules/stdio-tests: New file.
107510         * tests/test-stdio.c: New file.
107512         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
107513         (Depends-on): Add stdio.
107514         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107515         (Include): Use <stdio.h> instead of vsnprintf.h.
107516         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107517         HAVE_DECL_VSNPRINTF.
107518         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
107520         * modules/snprintf (Files): Remove lib/snprintf.h.
107521         (Depends-on): Add stdio.
107522         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
107523         (Include): Use <stdio.h> instead of snprintf.h.
107524         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
107525         HAVE_DECL_SNPRINTF.
107526         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
107527         * lib/getaddrinfo.c: Likewise.
107529         * modules/stdio: New file.
107530         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
107531         * lib/snprintf.h: Remove file.
107532         * lib/vsnprintf.h: Remove file.
107533         * lib/.cppi-disable: Remove snprintf.h.
107534         * m4/stdio_h.m4: New file.
107535         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
107537 2007-02-20  Jim Meyering  <jim@meyering.net>
107539         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
107540         used by e.g., mingw.  From Bruno Haible.
107542 2007-02-19  Bruno Haible  <bruno@clisp.org>
107544         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
107545         warnings.
107546         Reported by Ben Pfaff <blp@cs.stanford.edu>.
107548 2007-02-19  Bruno Haible  <bruno@clisp.org>
107550         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
107551         from mingw users.
107553 2007-02-19  Bruno Haible  <bruno@clisp.org>
107555         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
107556         warnings.
107557         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
107559 2007-02-19  Jim Meyering  <jim@meyering.net>
107561         Don't use FD after a successful "fdopendir (fd)".
107562         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
107563         Reset it by calling dirfd on the just-obtained DIR*.
107565         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
107566         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
107568 2007-02-18  Bruno Haible  <bruno@clisp.org>
107570         * lib/readlink.c: Include <unistd.h>.
107571         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
107572         HAVE_READLINK.
107573         * modules/readlink (Depends-on): Add unistd.
107574         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107575         (Include): Add <unistd.h>.
107577         * lib/getlogin_r.h: Remove file.
107578         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
107579         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
107580         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
107581         HAVE_DECL_GETLOGIN_R.
107582         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
107583         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107584         (Include): Use <unistd.h> instead of getlogin_r.h.
107586         * lib/getcwd.h: Remove file.
107587         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
107588         * lib/xgetcwd.c: Likewise.
107589         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
107590         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
107591         * modules/getcwd (Files): Remove lib/getcwd.h.
107592         (Depends-on): Add unistd.
107593         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107594         (Include): Use <unistd.h> instad of getcwd.h.
107596         * lib/ftruncate.c: Include <unistd.h> first.
107597         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
107598         Set HAVE_FTRUNCATE.
107599         * modules/ftruncate (Depends-on): Add unistd.
107600         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107602         * lib/fchdir.c: Include <unistd.h> first.
107603         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
107604         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
107605         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
107606         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107607         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
107609         * lib/dup2.c: Include <unistd.h> first.
107610         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
107611         HAVE_DUP2.
107612         * modules/dup2 (Depends-on): Add unistd.
107613         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107615         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
107616         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
107617         REPLACE_CHOWN. Don't define chown as a macro here.
107618         * modules/chown (Depends-on): Add unistd.
107619         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
107621         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
107622         Add definition for GL_LINK_WARNING.
107623         (chown, dup2): New declarations.
107624         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
107625         link warning.
107626         (ftruncate): New declaration.
107627         (getcwd): New declaration, taken from old getcwd.h.
107628         (getlogin_r): New declaration, taken from old getlogin_r.h.
107629         (readlink): New declaration.
107630         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
107631         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
107632         (gl_PREREQ_UNISTD): Remove macro.
107633         (gl_UNISTD_MODULE_INDICATOR): New macro.
107634         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
107635         many new variables. Don't set UNISTD_H.
107636         * modules/unistd (Description): Change.
107637         (Depends-on): Add link-warning.
107638         (configure.ac): Update.
107639         (Makefile.am): Create unistd.h always. Substitute many new variables
107640         into it.
107642 2007-02-18  Bruno Haible  <bruno@clisp.org>
107644         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
107645         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
107646         HAVE_GETSUBOPT.
107647         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
107648         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
107649         * lib/getsubopt.h: Remove file.
107650         * modules/getsubopt (Files): Remove lib/getsubopt.h.
107651         (Depends-on): Add stdlib.
107652         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107653         (Includes): Use <stdlib.h> instead of getsubopt.h.
107654         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
107655         Set HAVE_GETSUBOPT.
107656         * lib/getsubopt.c: Don't include getsubopt.h.
107658 2007-02-18  Bruno Haible  <bruno@clisp.org>
107660         * modules/fchdir (Depends-on): Add dup2.
107662 2007-02-18  Bruno Haible  <bruno@clisp.org>
107664         * lib/stdlib_.h: Handle glibc's special invocation convention
107665         specially.
107667 2007-02-18  Bruno Haible  <bruno@clisp.org>
107669         * modules/stdlib-tests: New file.
107670         * tests/test-stdlib.c: New file.
107672         * modules/mkstemp (Files): Remove lib/mkstemp.h.
107673         (Depends-on): Add stdlib.
107674         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107675         (Includes): Use <stdlib.h> instead of mkstemp.h.
107676         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107677         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
107678         * lib/mkstemp.c: Don't include mkstemp.h.
107679         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
107680         * lib/stdlib--.h: Don't include mkstemp.h.
107682         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
107683         (Depends-on): Add stdlib.
107684         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
107685         (Includes): Use <stdlib.h> instead of mkdtemp.h.
107686         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
107687         HAVE_MKDTEMP.
107688         * lib/mkdtemp.c: Don't include mkdtemp.h.
107689         * lib/clean-temp.c: Don't include mkdtemp.h.
107691         * modules/exit (Files): Remove lib/exit.h.
107692         (Depends-on): Add stdlib.
107693         (Makefile.am): Remove lib_SOURCES.
107694         (Include): Use <stdlib.h> instead of exit.h.
107695         * lib/argmatch.c: Don't include exit.h.
107696         * lib/execute.c: Likewise.
107697         * lib/pagealign_alloc.c: Likewise.
107698         * lib/pipe.c: Likewise.
107699         * lib/wait-process.c: Likewise.
107700         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
107701         * lib/exitfail.c: Likewise.
107702         * lib/savewd.c: Likewise.
107703         * lib/xsetenv.c: Likewise.
107705         * modules/stdlib: New file.
107706         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
107707         and extra comments about mkstemp().
107708         * lib/exit.h: Remove file.
107709         * lib/mkdtemp.h: Remove file.
107710         * lib/mkstemp.h: Remove file.
107711         * m4/stdlib_h.m4: New file.
107712         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
107714 2007-02-18  Bruno Haible  <bruno@clisp.org>
107716         * modules/math-tests: New file.
107717         * tests/test-math.c: New file.
107719         * modules/math: New file.
107720         * modules/mathl (Files): Remove lib/mathl.h.
107721         (Depends-on): Add math.
107722         (Makefile.am): Don't mention mathl.h.
107723         (Include): Use <math.h> instead of mathl.h.
107724         * lib/math_.h: New file.
107725         * lib/mathl.h: Remove file.
107726         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
107727         mathl.h.
107728         * lib/asinl.c: Likewise.
107729         * lib/atanl.c: Likewise.
107730         * lib/ceill.c: Likewise.
107731         * lib/cosl.c: Likewise.
107732         * lib/expl.c: Likewise.
107733         * lib/floorl.c: Likewise.
107734         * lib/frexpl.c: Likewise.
107735         * lib/ldexpl.c: Likewise.
107736         * lib/logl.c: Likewise.
107737         * lib/sincosl.c: Likewise.
107738         * lib/sinl.c: Likewise.
107739         * lib/sqrtl.c: Likewise.
107740         * lib/tanl.c: Likewise.
107741         * lib/trigl.c: Likewise.
107742         * m4/math_h.m4: New file.
107743         * MODULES.html.sh (Mathematics): Add math.
107745 2007-02-17  Bruno Haible  <bruno@clisp.org>
107747         * modules/wctype-tests: New file.
107748         * tests/test-wctype.c: New file.
107750         * modules/wchar-tests: New file.
107751         * tests/test-wchar.c: New file.
107753         * modules/unistd-tests: New file.
107754         * tests/test-unistd.c: New file.
107756         * modules/time-tests: New file.
107757         * tests/test-time.c: New file.
107759         * modules/sysexits-tests: New file.
107760         * tests/test-sysexits.c: New file.
107762         * modules/sys_time-tests: New file.
107763         * tests/test-sys_time.c: New file.
107765         * modules/sys_stat-tests: New file.
107766         * tests/test-sys_stat.c: New file.
107768         * modules/sys_socket-tests: New file.
107769         * tests/test-sys_socket.c: New file.
107771         * modules/sys_select-tests: New file.
107772         * tests/test-sys_select.c: New file.
107774         * modules/string-tests: New file.
107775         * tests/test-string.c: New file.
107777         * modules/stdbool-tests: New file.
107778         * tests/test-stdbool.c: New file.
107780         * modules/netinet_in-tests: New file.
107781         * tests/test-netinet_in.c: New file.
107783         * modules/inttypes-tests: New file.
107784         * tests/test-inttypes.c: New file.
107786         * modules/fcntl-tests: New file.
107787         * tests/test-fcntl.c: New file.
107789         * modules/byteswap-tests: New file.
107790         * tests/test-byteswap.c: New file.
107792         * modules/arpa_inet-tests: New file.
107793         * tests/test-arpa_inet.c: New file.
107795 2007-02-17  Bruno Haible  <bruno@clisp.org>
107797         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
107798         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
107799         if the corresponding module is not enabled. Emit link warnings if
107800         the function is used nevertheless.
107801         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
107802         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
107803         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
107804         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
107805         * modules/inttypes (Depends-on): Add link-warning.
107806         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107807         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
107808         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
107809         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
107810         * modules/imaxdiv (configure.ac): Likewise.
107811         * modules/strtoimax (configure.ac): Likewise.
107812         * modules/strtoumax (configure.ac): Likewise.
107814 2007-02-17  Bruno Haible  <bruno@clisp.org>
107816         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
107817         gl_STRING_MODULE_INDICATOR_DEFAULTS.
107818         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
107819         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
107821 2007-02-17  Bruno Haible  <bruno@clisp.org>
107823         * modules/link-warning: New file.
107824         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
107825         * lib/string_.h (GL_LINK_WARNING): Remove definition.
107826         * modules/string (Depends-on): Add link-warning.
107827         (Makefile.am): Copy the contents of build-aux/link-warning.h into
107828         string.h.
107829         * MODULES.html.sh (Support for building libraries and executables): Add
107830         link-warning.
107832 2007-02-17  Bruno Haible  <bruno@clisp.org>
107834         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
107835         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
107836         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
107837         long lines.
107839 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
107840             Bruno Haible  <bruno@clisp.org>
107842         * modules/tmpfile: New file.
107843         * lib/tmpfile.c: New file.
107844         * m4/tmpfile.m4: New file.
107845         * MODULES.html.sh (func_all_modules): New section "Input/output".
107847 2007-02-15  Bruno Haible  <bruno@clisp.org>
107849         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
107850         (supports_delete_on_close): New function.
107851         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
107853 2007-02-14  Bruno Haible  <bruno@clisp.org>
107855         * modules/mbspcasecmp-tests: New file.
107856         * tests/test-mbspcasecmp.sh: New file.
107857         * tests/test-mbspcasecmp.c: New file.
107859         New module mbspcasecmp.
107860         * modules/mbspcasecmp: New file.
107861         * lib/mbspcasecmp.c: New file.
107862         * lib/string_.h (strncasecmp): Change warning message.
107863         (mbspcasecmp): New declaration.
107864         * m4/mbspcasecmp.m4: New file.
107865         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107866         GNULIB_MBSPCASECMP.
107867         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
107868         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
107870 2007-02-14  Bruno Haible  <bruno@clisp.org>
107872         * modules/mbsncasecmp-tests: New file.
107873         * tests/test-mbsncasecmp.sh: New file.
107874         * tests/test-mbsncasecmp.c: New file.
107876         New module mbsncasecmp.
107877         * modules/mbsncasecmp: New file.
107878         * lib/mbsncasecmp.c: New file.
107879         * lib/string_.h (mbsncasecmp): New declaration.
107880         * m4/mbsncasecmp.m4: New file.
107881         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
107882         GNULIB_MBSNCASECMP.
107883         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
107884         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
107886 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
107888         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
107889         Verify that it doesn't overlap with our flags.
107890         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
107891         do not have the desired effect in multibyte locales; instead, use
107892         mbscasecmp.
107893         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
107894         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
107895         we don't require GNU fnmatch ourselves (if our users require it, they
107896         should do so explicitly).
107898         Fix regex code so it doesn't rely on strcasecmp.
107899         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
107900         Otherwise, include gnulib's langinfo.h.
107901         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
107902         undesirable behavior in non-C locales.  Instead, rely on localecharset.
107903         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
107904         * modules/regex (FILES): Remove m4/codeset.m4.
107905         (Depends-on): Add localcharset.  Remove strcase.
107907 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
107909         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
107910         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
107912 2007-02-13  Bruno Haible  <bruno@clisp.org>
107914         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
107915         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107917 2007-02-12  Bruno Haible  <bruno@clisp.org>
107919         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
107920         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
107921         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
107922         time warning rather than a link error.
107924 2007-02-12  Bruno Haible  <bruno@clisp.org>
107926         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
107927         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
107928         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
107930 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107932         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
107933         args, not 2.
107935 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
107937         New module 'time', so that apps can include <time.h> as per
107938         POSIX and GNU instead of separate include files like time_r.h
107939         and timegm.h.  This implementation tries out a simpler approach
107940         for replacing decls in standard include files (as compared to
107941         the string module), somewhat as an experiment.
107943         * config/srclist.txt: Comment out mktime.c for now.
107944         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
107945         since it doesn't apply any more.  Use generic wording instead.
107946         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
107947         'time'.
107948         * lib/time_.h, m4/time_h.m4, modules/time: New files.
107949         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
107950         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
107951         Don't include <sys/types.h>; no longer needed since we assume C89.
107952         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
107953         * lib/strftime.c: Likewise.
107954         * lib/time_r.c: Likewise.
107955         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
107956         * lib/nanosleep.c: Include <time.h> first, to check interface.
107957         * lib/strptime.c: Likewise.
107958         * lib/time_r.c: Likewise.
107959         * lib/timegm.c: Likewise.
107960         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
107961         needed.
107962         * lib/timegm.c: Don't include timegm.h; no longer needed.
107963         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
107964         time.h now handles any problems in that area.
107965         (struct timespec, nanosleep): Remove; time.h now arranges for these.
107966         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
107967         that time.h defines struct timespec.
107968         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
107969         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
107970         handles that.
107971         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
107972         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
107973         needed.  Set REPLACE_LOCALTIME.
107974         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
107975         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
107976         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
107977         nanosleep; time_h.m4 now does that.  Don't require
107978         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
107979         module handles this now.
107980         * modules/getdate (Depends-on): Remove timespec.  Add time.
107981         * modules/nanosleep (Depends-on): Likewise.
107982         * modules/stat-time (Depends-on): Likewise.
107983         * modules/nanosleep (Include): Include time.h, not timespec.h.
107984         * modules/strptime (Files): Remove lib/strptime.h.
107985         (Depends-on): Add extensions, time.
107986         (Include): Include time.h, not strptime.h.
107987         * modules/time_r (Files): Remove lib/time_r.h.
107988         (Depends-on): Add time.
107989         (Include): Include time.h, not time_r.h.
107990         * modules/timegm: Likewise.
107991         * modules/timespec (Description): Now does timespec-related decls
107992         of our own, instead of struct timespec itself.
107993         (Depends-on): Add time; remove extensions.
107994         (Maintainer): Add self.
107995         * modules/utimecmp (Depends-on): Add time; remove timespec.
107996         * modules/utimens (Depends-on): Likewise.
107997         * modules/xnanosleep (Depends-on): Likewise.
107999 2007-02-11  Bruno Haible  <bruno@clisp.org>
108001         * lib/c-strstr.c: Include allocsa.h.
108002         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108003         * lib/c-strcasestr.c: Include allocsa.h.
108004         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108005         * lib/strcasestr.c: Include allocsa.h.
108006         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
108007         * lib/mbsstr.c: Include allocsa.h.
108008         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108009         allocsa/freesa instead of malloc/free.
108010         * lib/mbscasestr.c: Include allocsa.h.
108011         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
108012         allocsa/freesa instead of malloc/free.
108013         * modules/c-strstr (Depends-on): Add allocsa.
108014         * modules/c-strcasestr (Depends-on): Likewise.
108015         * modules/strcasestr (Depends-on): Likewise.
108016         * modules/mbsstr (Depends-on): Likewise.
108017         * modules/mbscasestr (Depends-on): Likewise.
108019 2007-02-11  Bruno Haible  <bruno@clisp.org>
108021         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
108023         * modules/mbsspn-tests: New file.
108024         * tests/test-mbsspn.sh: New file.
108025         * tests/test-mbsspn.c: New file.
108027 2007-02-11  Bruno Haible  <bruno@clisp.org>
108029         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
108031         * modules/mbspbrk-tests: New file.
108032         * tests/test-mbspbrk.sh: New file.
108033         * tests/test-mbspbrk.c: New file.
108035 2007-02-11  Bruno Haible  <bruno@clisp.org>
108037         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
108038         unneeded cast.
108040         * modules/mbscspn-tests: New file.
108041         * tests/test-mbscspn.sh: New file.
108042         * tests/test-mbscspn.c: New file.
108044 2007-02-11  Bruno Haible  <bruno@clisp.org>
108046         * modules/mbscasecmp-tests: New file.
108047         * tests/test-mbscasecmp.sh: New file.
108048         * tests/test-mbscasecmp.c: New file.
108050 2007-02-11  Bruno Haible  <bruno@clisp.org>
108052         Ensure O(n) worst-case complexity of mbscasestr.
108053         * lib/mbscasestr.c: Include stdbool.h.
108054         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108055         functions.
108056         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
108057         the bookkeeping indicates that it's worth it.
108058         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
108060         * modules/mbscasestr-tests: New file.
108061         * tests/test-mbscasestr1.c: New file.
108062         * tests/test-mbscasestr2.sh: New file.
108063         * tests/test-mbscasestr2.c: New file.
108064         * tests/test-mbscasestr3.sh: New file.
108065         * tests/test-mbscasestr3.c: New file.
108066         * tests/test-mbscasestr4.sh: New file.
108067         * tests/test-mbscasestr4.c: New file.
108068         * m4/locale-tr.m4: New file.
108070 2007-02-11  Bruno Haible  <bruno@clisp.org>
108072         Ensure O(n) worst-case complexity of mbsstr.
108073         * lib/mbsstr.c: Include stdbool.h.
108074         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
108075         functions.
108076         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
108077         bookkeeping indicates that it's worth it.
108078         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
108080         * modules/mbsstr-tests: New file.
108081         * tests/test-mbsstr1.c: New file.
108082         * tests/test-mbsstr2.sh: New file.
108083         * tests/test-mbsstr2.c: New file.
108084         * tests/test-mbsstr3.sh: New file.
108085         * tests/test-mbsstr3.c: New file.
108086         * m4/locale-fr.m4: New file.
108088 2007-02-11  Bruno Haible  <bruno@clisp.org>
108090         * lib/mbsrchr.c (mbsrchr): Fix bug.
108092         * modules/mbsrchr-tests: New file.
108093         * tests/test-mbsrchr.sh: New file.
108094         * tests/test-mbsrchr.c: New file.
108096 2007-02-11  Bruno Haible  <bruno@clisp.org>
108098         * lib/mbschr.c (mbschr): Fix bug.
108100         * modules/mbschr-tests: New file.
108101         * tests/test-mbschr.sh: New file.
108102         * tests/test-mbschr.c: New file.
108103         * m4/locale-zh.m4: New file.
108105 2007-02-11  Bruno Haible  <bruno@clisp.org>
108107         Support for copying multibyte string iterators.
108108         * lib/mbiter.h: Include <string.h>.
108109         (mbiter_multi_copy): New function.
108110         (mbi_copy): New macro.
108111         * lib/mbuiter.h: Include <string.h>.
108112         (mbuiter_multi_copy): New function.
108113         (mbui_copy): New macro.
108115 2007-02-11  Bruno Haible  <bruno@clisp.org>
108117         New module mbslen.
108118         * modules/mbslen: New file.
108119         * lib/mbslen.c: New file.
108120         * lib/string_.h (mbslen): New declaration.
108121         * m4/mbslen.m4: New file.
108122         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108123         GNULIB_MBSLEN.
108124         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
108125         * MODULES.html.sh (Internationalization functions): Add mbslen.
108127 2007-02-11  Bruno Haible  <bruno@clisp.org>
108129         Ensure O(n) worst-case complexity of strcasestr substitute.
108130         * lib/strcasestr.c: Include stdbool.h.
108131         (knuth_morris_pratt): New function.
108132         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108133         bookkeeping indicates that it's worth it.
108134         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
108136         * modules/strcasestr-tests: New file.
108137         * tests/test-strcasestr.c: New file.
108139 2007-02-11  Bruno Haible  <bruno@clisp.org>
108141         Ensure O(n) worst-case complexity of c_strcasestr.
108142         * lib/c-strcasestr.c: Include stdbool.h, string.h.
108143         (knuth_morris_pratt): New function.
108144         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
108145         the bookkeeping indicates that it's worth it.
108146         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
108148         * modules/c-strcasestr-tests: New file.
108149         * tests/test-c-strcasestr.c: New file.
108151 2007-02-11  Bruno Haible  <bruno@clisp.org>
108153         Ensure O(n) worst-case complexity of c_strstr.
108154         * lib/c-strstr.c: Include stdbool.h, string.h.
108155         (knuth_morris_pratt): New function.
108156         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
108157         bookkeeping indicates that it's worth it.
108158         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
108160         * lib/c-strstr.c: Complete rewrite for maintainability.
108162         * modules/c-strstr-tests: New file.
108163         * tests/test-c-strstr.c: New file.
108165 2007-02-11  Bruno Haible  <bruno@clisp.org>
108167         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
108168         5.2.1 and earlier, whereby \055 was treated just like the range
108169         delimiter '-'.
108170         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
108172 2007-02-08  Bruno Haible  <bruno@clisp.org>
108174         * modules/regex (Depends-on): Add stdbool.
108175         Reported by Dalibor Topic <robilad@kaffe.org>.
108177 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
108179         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
108180         Prefer returning from main to exiting from it.
108181         Remove unnecessary parens after sizeof.
108183 2007-02-05  Bruno Haible  <bruno@clisp.org>
108185         New module mbssep.
108186         * modules/mbssep: New file.
108187         * lib/mbssep.c: New file.
108188         * lib/string_.h (strsep): Add a conditional link warning.
108189         (mbssep): New declaration.
108190         * m4/mbssep.m4: New file.
108191         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108192         GNULIB_MBSSEP.
108193         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
108194         * MODULES.html.sh (Internationalization functions): Add mbssep.
108196 2007-02-05  Bruno Haible  <bruno@clisp.org>
108198         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
108199         Optimize search in case of 1 delimiter.
108201 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108203         * lib/acl.h: Include sys/types.h before sys/acl.h.
108205 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
108207         Merge upstream fix for glibc bugzilla #3957:
108209         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
108211         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
108212         bit for RE_HAT_LISTS_NOT_NEWLINE.
108213         (build_charclass_op): Remove bogus comment.
108215 2007-02-05  Simon Josefsson  <simon@josefsson.org>
108217         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
108219 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108221         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
108222         * lib/memmem.c [!defined _LIBC]: Include config.h.
108224 2007-02-04  Bruno Haible  <bruno@clisp.org>
108226         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
108227         warning message.
108229 2007-02-04  Bruno Haible  <bruno@clisp.org>
108231         New module mbstok_r.
108232         * modules/mbstok_r: New file.
108233         * lib/mbstok_r.c: New file.
108234         * lib/string_.h (strtok_r): Change argument names to match the
108235         comments. Add a conditional link warning.
108236         (mbstok_r): New declaration.
108237         * m4/mbstok_r.m4: New file.
108238         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108239         GNULIB_MBSTOK_R.
108240         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
108241         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
108243 2007-02-04  Bruno Haible  <bruno@clisp.org>
108245         New module mbsspn.
108246         * modules/mbsspn: New file.
108247         * lib/mbsspn.c: New file.
108248         * lib/string_.h (strspn): Add a conditional link warning.
108249         (mbsspn): New declaration.
108250         * m4/mbsspn.m4: New file.
108251         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108252         GNULIB_MBSSPN.
108253         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
108254         * MODULES.html.sh (Internationalization functions): Add mbsspn.
108256 2007-02-04  Bruno Haible  <bruno@clisp.org>
108258         New module mbspbrk.
108259         * modules/mbspbrk: New file.
108260         * lib/mbspbrk.c: New file.
108261         * lib/string_.h (strpbrk): Add a conditional link warning.
108262         (mbspbrk): New declaration.
108263         * m4/mbspbrk.m4: New file.
108264         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108265         GNULIB_MBSPBRK.
108266         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
108267         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
108269 2007-02-04  Bruno Haible  <bruno@clisp.org>
108271         New module mbscspn.
108272         * modules/mbscspn: New file.
108273         * lib/mbscspn.c: New file.
108274         * lib/string_.h (strcspn): Add a conditional link warning.
108275         (mbscspn): New declaration.
108276         * m4/mbscspn.m4: New file.
108277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108278         GNULIB_MBSCSPN.
108279         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
108280         * MODULES.html.sh (Internationalization functions): Add mbscspn.
108282 2007-02-04  Bruno Haible  <bruno@clisp.org>
108284         New module mbscasestr, reduced goal of strcasestr.
108285         * modules/mbscasestr: New file.
108286         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
108287         (mbscasestr): Renamed from strcasestr.
108288         * lib/strcasestr.c: Don't include mbuiter.h.
108289         (strcasestr): Remove support for multibyte locales.
108290         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
108291         Change the conditional link warning.
108292         (mbscasestr): New declaration.
108293         * m4/mbscasestr.m4: New file.
108294         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
108295         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
108296         REPLACE_STRCASESTR.
108297         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
108298         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108299         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108300         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
108301         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
108302         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
108303         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
108304         (Depends-on): Remove mbuiter.
108305         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
108307 2007-02-04  Bruno Haible  <bruno@clisp.org>
108309         Simplify handling of strncasecmp.
108310         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
108311         the conditional link warning.
108312         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
108313         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
108314         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
108315         * modules/strcase (configure.ac): Don't invoke
108316         gl_STRING_MODULE_INDICATOR.
108317         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
108319 2007-02-04  Bruno Haible  <bruno@clisp.org>
108321         New module mbscasecmp, reduced goal of strcasecmp.
108322         * modules/mbscasecmp: New file.
108323         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
108324         (mbscasecmp): Renamed from strcasecmp.
108325         * lib/strcasecmp.c: Don't include mbuiter.h.
108326         (strcasecmp): Remove support for multibyte locales.
108327         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
108328         Change the conditional link warning.
108329         (mbscasecmp): New declaration.
108330         * m4/mbscasecmp.m4: New file.
108331         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
108332         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
108333         REPLACE_STRCASECMP.
108334         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
108335         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108336         GNULIB_MBSCASECMP.
108337         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
108338         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
108339         * modules/strcase (Files): Remove m4/mbrtowc.m4.
108340         (Depends-on): Remove mbuiter.
108341         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
108343 2007-02-04  Bruno Haible  <bruno@clisp.org>
108345         New module mbsstr. Remove module strstr.
108346         * modules/mbsstr: New file.
108347         * modules/strstr: Remove file.
108348         * lib/mbsstr.c: Renamed from lib/strstr.c.
108349         (mbsstr): Renamed from strstr.
108350         * lib/string_.h (strstr): Remove declaration. Change the conditional
108351         link warning.
108352         (mbsstr): New declaration.
108353         * m4/mbsstr.m4: New file.
108354         * m4/strstr.m4: Remove file.
108355         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
108356         REPLACE_STRSTR.
108357         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
108358         Don't initialize GNULIB_STRSTR.
108359         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
108360         substitute GNULIB_STRSTR and REPLACE_STRSTR.
108361         * MODULES.html.sh (Internationalization functions): Add mbsstr.
108362         (Support for systems lacking ANSI C 89): Remove strstr.
108364 2007-02-04  Bruno Haible  <bruno@clisp.org>
108366         New module mbsrchr.
108367         * modules/mbsrchr: New file.
108368         * lib/mbsrchr.c: New file.
108369         * lib/string_.h (strrchr): Add a conditional link warning.
108370         (mbsrchr): New declaration.
108371         * m4/mbsrchr.m4: New file.
108372         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108373         GNULIB_MBSRCHR.
108374         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
108375         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
108377 2007-02-04  Bruno Haible  <bruno@clisp.org>
108379         New module mbschr.
108380         * modules/mbschr: New file.
108381         * lib/mbschr.c: New file.
108382         * lib/string_.h (strchr): Add a conditional link warning.
108383         (mbschr): New declaration.
108384         * m4/mbschr.m4: New file.
108385         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
108386         GNULIB_MBSCHR.
108387         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
108388         * MODULES.html.sh (Internationalization functions): Add mbschr.
108390 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
108392         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
108394         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
108396 2007-02-04  Bruno Haible  <bruno@clisp.org>
108398         New module description section 'configure.ac-early'.
108399         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
108400         (func_get_autoconf_early_snippet): New function.
108401         (func_import, func_create_testdir): Use it. Remove special cases for
108402         modules 'extensions' and 'lock'.
108403         * modules/extensions (configure.ac-early): Require
108404         gl_USE_SYSTEM_EXTENSIONS.
108405         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
108407 2007-02-04  Bruno Haible  <bruno@clisp.org>
108409         Make use of gcj-4.3's -fsource and -ftarget option.
108410         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
108411         and if so try the options -fsource and -ftarget.
108412         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
108413         source_version, ftarget_option, target_version arguments.
108414         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
108415         (is_envjavac_oldgcj_14_14_usable): Renamed from
108416         is_envjavac_gcj_14_14_usable.
108417         (is_envjavac_oldgcj_14_13_usable): Renamed from
108418         is_envjavac_gcj_14_13_usable.
108419         (is_gcj_present): Update.
108420         (is_gcj_43, is_gcj43_usable): New functions.
108421         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
108422         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
108423         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
108424         try the options -fsource and -ftarget.
108426 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
108428         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
108429         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
108430         larger value.
108432 2007-02-03  Jim Meyering  <jim@meyering.net>
108434         Give tools a better chance to allocate space for very large buffers.
108435         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
108437         Make pwd and readlink work also when run with an unreadable parent dir
108438         on systems with openat support.
108439         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
108440         provided getcwd function, even when we have openat support.
108441         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
108443 2007-02-02  Bruno Haible  <bruno@clisp.org>
108445         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
108446         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
108447         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
108448         portability problems if one of these functions is only used on specific
108449         platforms.
108450         Reported by Paul Eggert.
108452 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
108454         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
108455         is causing more trouble than it's curing.
108456         * lib/regex_internal.h (__mempcpy): Remove.
108457         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
108458         (and make the code a tad smaller to boot).
108459         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
108461 2007-02-02  Jim Meyering  <jim@meyering.net>
108463         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
108464         section, not in the Makefile.am: one.
108466 2007-02-02  Eric Blake  <ebb9@byu.net>
108468         * lib/strchrnul.c: Always include config.h first.
108470         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
108471         gnulib strstr is not necessary here.
108473 2007-02-02  Simon Josefsson  <simon@josefsson.org>
108475         * m4/socklen.m4: Fix typo.
108477 2007-02-02  Eric Blake  <ebb9@byu.net>
108479         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
108480         * modules/netinet_in (Makefile.am): Likewise.
108482 2007-02-01  Bruno Haible  <bruno@clisp.org>
108484         * lib/string_.h (GL_LINK_WARNING): New macro.
108485         (strcasecmp, strstr, strcasestr): If provided by the system,
108486         conditionally define as a macro that leads to a warning instead of to
108487         an error.
108488         (strncasecmp): Conditionally define as a macro that leads to a warning.
108490 2007-02-01  Karl Berry  <karl@gnu.org>
108492         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
108494 2007-02-01  Bruno Haible  <bruno@clisp.org>
108496         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
108497         renamings.
108499 2007-02-01  Eric Blake  <ebb9@byu.net>
108501         * modules/regex (Depends-on): Revert dependence on mempcpy.
108502         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
108503         module's definition of mempcpy.
108504         Reported by Paul Eggert.
108506 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
108508         * lib/string_.h: If the gnulib module XYZ is not present, undefine
108509         the symbol XYZ before redefining it.  This fixes a problem with
108510         programs that don't use XYZ, when compiled on systems that define
108511         XYZ to something else.
108513 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
108515         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
108516         occurs when "mkdir -m foo" creates a setgid directory that is (1)
108517         writeable to group or other and (2) is intended to have a special
108518         mode bit that is set or cleared.  In such a case, the directory
108519         should be neither group- nor other-writeable until the special
108520         mode bits are right.
108522 2007-01-31  Eric Blake  <ebb9@byu.net>
108524         * modules/mountlist (Depends-on): Add strstr.
108526         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
108527         bug.
108528         * modules/string (Makefile.am): Remove redundant replacement.
108529         * modules/regex (Depends-on): Add mempcpy.
108531 2007-01-31  Bruno Haible  <bruno@clisp.org>
108533         New module description field 'Link'.
108534         * gnulib-tool (func_usage): Document --extract-link-directive.
108535         (sed_extract_prog): Recognize 'Link' directive.
108536         (func_get_link_directive): New function.
108537         (func_import): Show summary of link directives.
108538         Handle --extract-link-directive option.
108539         * modules/acl (Link): New section.
108540         * modules/clock-time (Link): New section.
108541         * modules/euidaccess (Link): New section.
108542         * modules/gettext (Link): New section.
108543         * modules/iconv (Link): New section.
108544         * modules/lock (Link): New section.
108545         * modules/nanosleep (Link): New section.
108546         * modules/readline (Link): New section.
108548 2007-01-27  Bruno Haible  <bruno@clisp.org>
108550         Enforce the use of gnulib modules for unportable <string.h> functions.
108551         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
108552         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
108553         (gl_HEADER_STRING_H_BODY): Require it.
108554         * lib/string_.h: If the gnulib module XYZ is not present, redefine
108555         the symbol XYZ to one that gives a link error.
108556         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
108557         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
108558         * modules/mempcpy (configure.ac): Likewise.
108559         * modules/memrchr (configure.ac): Likewise.
108560         * modules/stpcpy (configure.ac): Likewise.
108561         * modules/stpncpy (configure.ac): Likewise.
108562         * modules/strcase (configure.ac): Likewise.
108563         * modules/strcasestr (configure.ac): Likewise.
108564         * modules/strchrnul (configure.ac): Likewise.
108565         * modules/strdup (configure.ac): Likewise.
108566         * modules/strndup (configure.ac): Likewise.
108567         * modules/strnlen (configure.ac): Likewise.
108568         * modules/strpbrk (configure.ac): Likewise.
108569         * modules/strsep (configure.ac): Likewise.
108570         * modules/strstr (configure.ac): Likewise.
108571         * modules/strtok_r (configure.ac): Likewise.
108573 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
108575         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
108577 2007-01-30  Jim Meyering  <jim@meyering.net>
108579         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
108581 2007-01-29  Bruno Haible  <bruno@clisp.org>
108583         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
108584         * lib/execute.c: Likewise.
108585         * lib/pipe.c: Likewise.
108586         * lib/printf-args.h: Likewise.
108587         * lib/printf-args.c: Likewise.
108588         * lib/printf-parse.c: Likewise.
108589         * lib/vasnprintf.c: Likewise.
108591 2007-01-29  Eric Blake  <ebb9@byu.net>
108593         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
108594         declaration.
108596 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
108598         * lib/strptime.h (strptime): Use 'restrict' for args where
108599         POSIX requires this.
108600         * lib/strptime.c (strptime): Likewise.
108601         Change license notice from LGPL to GPL, since gnulib-tool will
108602         change this as needed.
108603         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
108604         defined.
108605         Include "strptime.h" first, to check interface.
108606         Do not #undef _LIBC and _NL_CURRENT.
108607         Do not include <stdlib.h>; no longer needed.
108608         Include "time_r.h" and declare ptime_locale_status
108609         only if _LIBC is not defined.
108610         (__P): Remove unused macro.
108611         (match_string): Bring back glibc version, but use it only if _LIBC
108612         is defined.
108613         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
108614         Remove unnecessary assertion and abort() call.
108615         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
108616         * m4/strptime.m4: Fix serial number comment.
108617         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
108618         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
108619         (Depends-on): Add time_r.
108621 2007-01-29  Bruno Haible  <bruno@clisp.org>
108623         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
108624         strptime.
108625         * modules/strptime (Depends-on): Add stdbool.
108626         * lib/strptime.h: Include <time.h> always. Add comments.
108628 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
108630         * modules/strptime: New file.
108631         * lib/strptime.h: New file.
108632         * lib/strptime.c: New file.
108633         * m4/strptime.m4: New file.
108635 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
108637         * MODULES.html.sh: New module mpsort.
108638         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
108640         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
108641         a circularity problem with HP-UX ia64 reported by Bob Proulx in
108642         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
108643         All uses changed.
108644         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
108645         All uses changed.
108646         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
108647         to _Restrict_.
108648         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
108649         the parameter matches the prototype.
108651 2007-01-28  Jim Meyering  <jim@meyering.net>
108653         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
108654         sys/time.h here, reverting that part of the previous patch:
108655         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
108657 2007-01-28  Bruno Haible  <bruno@clisp.org>
108659         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
108660         value of $(SYS_TIME_H).
108661         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
108662         remove it conditionally, too. [added by Jim Meyering]
108663         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
108664         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
108665         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
108666         GETTIMEOFDAY_REPLACEMENT to 1.
108668 2007-01-28  Bruno Haible  <bruno@clisp.org>
108670         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
108671         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
108672         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
108673         Set UNISTD_H instead of UNISTD_H2.
108674         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
108676 2007-01-28  Bruno Haible  <bruno@clisp.org>
108678         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
108679         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
108681 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108683         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
108684         (func_create_testdir): Ensure C locale for `grep' and `tr'
108685         character ranges.
108686         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
108687         ACLOCAL_AMFLAGS parsing state machine.
108689 2007-01-27  Bruno Haible  <bruno@clisp.org>
108691         * modules/unistr/base: Update.
108693 2007-01-27  Bruno Haible  <bruno@clisp.org>
108695         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
108696         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
108697         * modules/unistr/u32-mbtouc-unsafe: Renamed from
108698         modules/unistr/u32-mbtouc.
108699         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
108700         * lib/unistr.h: Update.
108701         * lib/linebreak.c: Update.
108702         * modules/unistr/u32-mbtouc: Renamed from
108703         modules/unistr/u32-mbtouc-safe.
108704         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
108705         * lib/unistr.h: Update.
108706         * lib/unistr/u32-to-u8.c: Update.
108707         * lib/unistr/u32-to-u16.c: Update.
108709 2007-01-27  Bruno Haible  <bruno@clisp.org>
108711         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
108712         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
108713         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
108714         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
108715         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
108716         * modules/unistr/u16-mbtouc-unsafe: Renamed from
108717         modules/unistr/u16-mbtouc.
108718         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
108719         * lib/unistr.h: Update.
108720         * lib/linebreak.c: Update.
108721         * modules/linebreak: Update.
108722         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
108723         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
108724         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
108725         * modules/unistr/u16-mbtouc: Renamed from
108726         modules/unistr/u16-mbtouc-safe.
108727         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
108728         * lib/unistr.h: Update.
108729         * lib/unistr/u16-to-u8.c: Update.
108730         * modules/unistr/u16-to-u8: Update.
108731         * lib/unistr/u16-to-u32.c: Update.
108732         * modules/unistr/u16-to-u32: Update.
108734 2007-01-27  Bruno Haible  <bruno@clisp.org>
108736         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
108737         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
108738         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
108739         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
108740         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
108741         * modules/unistr/u8-mbtouc-unsafe: Renamed from
108742         modules/unistr/u8-mbtouc.
108743         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
108744         * lib/unistr.h: Update.
108745         * lib/striconveh.c: Update.
108746         * modules/striconveh: Update.
108747         * lib/linebreak.c: Update.
108748         * modules/linebreak: Update.
108749         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
108750         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
108751         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
108752         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
108753         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
108754         * lib/unistr.h: Update.
108755         * lib/striconveh.c: Update.
108756         * modules/striconveh: Update.
108757         * lib/unistr/u8-to-u16.c: Update.
108758         * modules/unistr/u8-to-u16: Update.
108759         * lib/unistr/u8-to-u32.c: Update.
108760         * modules/unistr/u8-to-u32: Update.
108762 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
108764         Sync from Libtool.
108765         * lib/argz.c: Do not include strings.h nor memory.h, include
108766         string.h unconditionally.  Patch by Simon Josefsson.
108768 2007-01-27  Bruno Haible  <bruno@clisp.org>
108770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
108771         from gl_HEADER_STRING_H_BODY.
108772         (gl_HEADER_STRING_H_BODY): Require it.
108773         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
108774         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
108775         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
108776         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
108777         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
108778         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
108779         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
108780         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
108781         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
108782         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
108783         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
108784         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
108785         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
108786         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
108787         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
108789 2007-01-27  Bruno Haible  <bruno@clisp.org>
108791         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
108792         check_PROGRAMS into noinst_PROGRAMS.
108793         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
108794         check_PROGRAMS in this case.
108795         (func_import): Set for_test to false.
108796         (func_create_testdir): Set for_test to true.
108798 2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
108799             Bruno Haible  <bruno@clisp.org>
108801         * modules/strcasestr (Files): Remove lib/strcasestr.h.
108802         (Depends-on): Add string.
108803         (Includes): Use <string.h> instead of strcasestr.h.
108804         * modules/string (Makefile.am): Also substitute the value of
108805         REPLACE_STRCASESTR.
108806         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
108807         assume strcasestr is declared in <string.h> not <strings.h>. Also
108808         set REPLACE_STRCASESTR.
108809         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
108810         REPLACE_STRCASESTR.
108811         * lib/strcasestr.h: Remove file.
108812         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
108813         * lib/string_.h (strcasestr): New declaration.
108815 2007-01-27  Bruno Haible  <bruno@clisp.org>
108817         * lib/string_.h: Use 'extern'.
108819 2007-01-27  Jim Meyering  <jim@meyering.net>
108821         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
108822         of set-but-not-used local, "q".
108824         * lib/mempcpy.c: Include <config.h> before <string.h>.
108825         This fixes a compilation error on HP-UX, due to the system's
108826         "restrict"-using mempcpy prototype.
108828 2007-01-26  Bruno Haible  <bruno@clisp.org>
108830         Small optimization.
108831         * lib/javacomp.c: Include c-strstr.h.
108832          (is_envjavac_gcj): Use c_strstr instead of strstr.
108833         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
108835 2007-01-26  Bruno Haible  <bruno@clisp.org>
108837         * MODULES.html.sh (Unicode string functions): Add the new modules.
108839         * modules/uniconv/u32-strconv-to-locale: New file.
108840         * lib/uniconv/u32-strconv-to-locale.c: New file.
108842         * modules/uniconv/u16-strconv-to-locale: New file.
108843         * lib/uniconv/u16-strconv-to-locale.c: New file.
108845         * modules/uniconv/u8-strconv-to-locale: New file.
108846         * lib/uniconv/u8-strconv-to-locale.c: New file.
108848         * modules/uniconv/u32-strconv-from-locale: New file.
108849         * lib/uniconv/u32-strconv-from-locale.c: New file.
108851         * modules/uniconv/u16-strconv-from-locale: New file.
108852         * lib/uniconv/u16-strconv-from-locale.c: New file.
108854         * modules/uniconv/u8-strconv-from-locale: New file.
108855         * lib/uniconv/u8-strconv-from-locale.c: New file.
108857         * modules/uniconv/u32-strconv-to-enc: New file.
108858         * lib/uniconv/u32-strconv-to-enc.c: New file.
108859         * modules/uniconv/u32-strconv-to-enc-tests: New file.
108860         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
108862         * modules/uniconv/u16-strconv-to-enc: New file.
108863         * lib/uniconv/u16-strconv-to-enc.c: New file.
108864         * lib/uniconv/u-strconv-to-enc.h: New file.
108865         * modules/uniconv/u16-strconv-to-enc-tests: New file.
108866         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
108868         * modules/uniconv/u8-strconv-to-enc: New file.
108869         * lib/uniconv/u8-strconv-to-enc.c: New file.
108870         * modules/uniconv/u8-strconv-to-enc-tests: New file.
108871         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
108873         * modules/uniconv/u32-strconv-from-enc: New file.
108874         * lib/uniconv/u32-strconv-from-enc.c: New file.
108875         * modules/uniconv/u32-strconv-from-enc-tests: New file.
108876         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
108878         * modules/uniconv/u16-strconv-from-enc: New file.
108879         * lib/uniconv/u16-strconv-from-enc.c: New file.
108880         * modules/uniconv/u16-strconv-from-enc-tests: New file.
108881         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
108883         * modules/uniconv/u8-strconv-from-enc: New file.
108884         * lib/uniconv/u8-strconv-from-enc.c: New file.
108885         * lib/uniconv/u-strconv-from-enc.h: New file.
108886         * modules/uniconv/u8-strconv-from-enc-tests: New file.
108887         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
108889         * modules/uniconv/u32-conv-from-enc: New file.
108890         * lib/uniconv/u32-conv-from-enc.c: New file.
108891         * modules/uniconv/u32-conv-from-enc-tests: New file.
108892         * tests/uniconv/test-u32-conv-from-enc.c: New file.
108894         * modules/uniconv/u16-conv-from-enc: New file.
108895         * lib/uniconv/u16-conv-from-enc.c: New file.
108896         * lib/uniconv/u-conv-from-enc.h: New file.
108897         * modules/uniconv/u16-conv-from-enc-tests: New file.
108898         * tests/uniconv/test-u16-conv-from-enc.c: New file.
108900         * modules/uniconv/u8-conv-from-enc: New file.
108901         * lib/uniconv/u8-conv-from-enc.c: New file.
108902         * modules/uniconv/u8-conv-from-enc-tests: New file.
108903         * tests/uniconv/test-u8-conv-from-enc.c: New file.
108905         * modules/uniconv/base: New file.
108906         * lib/uniconv.h: New file.
108908 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
108910         * doc/gnulib-tool.texi (Initial import): Update to match current
108911         behavior with strdup module.
108912         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
108913         * lib/memmem.h: Remove; all uses removed.  This is now done
108914         by <string.h>.
108915         * lib/mempcpy.h: Likewise.
108916         * lib/memrchr.h: Likewise.
108917         * lib/stpcpy.h: Likewise.
108918         * lib/stpncpy.h: Likewise.
108919         * lib/strcase.h: Likewise.
108920         * lib/strchrnul.h: Likewise.
108921         * lib/strdup.h: Likewise.
108922         * lib/strndup.h: Likewise.
108923         * lib/strnlen.h: Likewise.
108924         * lib/strpbrk.h: Likewise.
108925         * lib/strsep.h: Likewise.
108926         * lib/strstr.h: Likewise.
108927         * lib/strtok_r.h: Likewise.
108928         * lib/string_.h: New file.
108929         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
108930         Rely on <string.h> instead.
108931         * lib/canon-host.c: Likewise.
108932         * lib/chdir-long.c: Likewise.
108933         * lib/concatpath.c: Likewise.
108934         * lib/exclude.c: Likewise.
108935         * lib/fchdir.c: Likewise.
108936         * lib/getaddrinfo.c: Likewise.
108937         * lib/getcwd.c: Likewise.
108938         * lib/getsubopt.c: Likewise.
108939         * lib/glob.c: Likewise.
108940         * lib/hard-locale.c: Likewise.
108941         * lib/iconvme.c: Likewise.
108942         * lib/javacomp.c: Likewise.
108943         * lib/mempcpy.c: Likewise.
108944         * lib/memrchr.c: Likewise.
108945         * lib/regex_internal.h: Likewise.
108946         * lib/stpncpy.c: Likewise.
108947         * lib/strcasecmp.c: Likewise.
108948         * lib/strchrnul.c: Likewise.
108949         * lib/strdup.c: Likewise.
108950         * lib/striconv.c: Likewise.
108951         * lib/striconveh.c: Likewise.
108952         * lib/striconveha.c: Likewise.
108953         * lib/strncasecmp.c: Likewise.
108954         * lib/strndup.c: Likewise.
108955         * lib/strnlen.c: Likewise.
108956         * lib/strsep.c: Likewise.
108957         * lib/strstr.c: Likewise.
108958         * lib/strtok_r.c: Likewise.
108959         * lib/userspec.c: Likewise.
108960         * lib/w32spawn.h: Likewise.
108961         * lib/xstrndup.c: Likewise.
108962         * lib/mountlist.c (strstr): Remove decl.
108963         * m4/string_h.m4: New file.
108964         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
108965         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
108966         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
108967         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
108968         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
108969         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
108970         Set REPLACE_STRCASECMP if necessary.
108971         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
108972         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
108973         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
108974         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
108975         HAVE_DECL_STRDUP if necessary.
108976         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
108977         since gl_FUNC_STRNDUP does that now.
108978         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
108979         Check for decl here...
108980         (gl_PREREQ_STRNLEN): ... not here.
108981         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
108982         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
108983         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
108984         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
108985         necessary.
108986         * modules/string: New file.
108987         * modules/memmem (Files): Remove special-purpose include file.
108988         (Depends-on): Add string.
108989         (Include): Include <string.h>, not the removed file.
108990         * modules/mempcpy: Likewise.
108991         * modules/memrchr: Likewise.
108992         * modules/stpcpy: Likewise.
108993         * modules/stpncpy: Likewise.
108994         * modules/strcase: Likewise.
108995         * modules/strchrnul: Likewise.
108996         * modules/strdup: Likewise.
108997         * modules/strndup: Likewise.
108998         * modules/strnlen: Likewise.
108999         * modules/strpbrk: Likewise.
109000         * modules/strsep: Likewise.
109001         * modules/strstr: Likewise.
109002         * modules/strtok_r: Likewise.
109003         * tests/test-dirname.c: Don't include "strdup.h", since
109004         <string.h> now suffices.
109005         * tests/test-memmem.c: Don't include "memmem.h", since
109006         <string.h> now suffices.
109008 2007-01-25  Bruno Haible  <bruno@clisp.org>
109010         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
109011         *resultp is 0.
109013         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
109014         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
109015         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
109016         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
109018         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
109019         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
109020         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
109021         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
109022         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
109023         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
109025 2007-01-24  Bruno Haible  <bruno@clisp.org>
109027         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
109028         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
109029         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
109030         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
109031         gl_FUNC_FTS_CORE.
109032         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
109033         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
109034         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
109035         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
109036         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
109037         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
109038         gl_FUNC_FCHOWNAT.
109039         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
109040         gl_FUNC_STRFTIME.
109041         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
109042         Reported by Ralf Wildenhues.
109044 2007-01-24  Bruno Haible  <bruno@clisp.org>
109046         Drop AC_REQUIRE calls that are redundant with the module dependencies.
109047         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
109048         gl_GETADDRINFO.
109049         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
109050         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
109051         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
109053 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
109055         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
109056         Don't use 'exit'; just return from 'main'.
109057         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
109059         * lib/fnmatch_.h: Readjust white space and comments to match
109060         glibc, to avoid spurious diffs.
109062 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109064         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
109065         2004-12-01 change by Jakub Jelinek, since this code won't compile
109066         if !LIBC.  Problem reported by Bob Proulx.
109068 2007-01-23  Bruno Haible  <bruno@clisp.org>
109070         * lib/striconveh.c: Include c-strcaseeq.h.
109071         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
109072         * modules/striconveh (Depends-on): Add c-strcaseeq.
109074 2007-01-23  Bruno Haible  <bruno@clisp.org>
109076         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
109078         * modules/c-strcaseeq: New file.
109079         * lib/c-strcaseeq.h: New file.
109081         * modules/streq: New file.
109082         * lib/streq.h: New file.
109084 2007-01-23  Bruno Haible  <bruno@clisp.org>
109086         * modules/striconveha-tests: New file.
109087         * tests/test-striconveha.c: New file.
109089         * lib/striconveha.h: Include <stdbool.h>.
109090         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
109091         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
109092         (mem_iconveha_notranslit): Renamed from mem_iconveha.
109093         (mem_iconveha): New function.
109094         (str_iconveha_notranslit): Renamed from str_iconveha.
109095         (str_iconveha): New function.
109096         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
109097         c-strcase.
109099 2007-01-23  Bruno Haible  <bruno@clisp.org>
109101         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
109102         encodings without forgiving before trying any encoding with handler.
109103         (str_iconveha): Try all encodings without forgiving before trying any
109104         encoding with handler.
109106 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
109108         Import the following changes from libc.
109110         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
109112         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
109114         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
109116         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
109117         normal_bracket label.
109119         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
109121         [BZ #361]
109122         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
109123         to normal_bracket after fetching the next character.
109125 2007-01-22  Bruno Haible  <bruno@clisp.org>
109127         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
109128         argument.
109129         * lib/striconveh.c (iconv_carefully_1): New function.
109130         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
109131         argument.
109132         (str_cd_iconveh): Update.
109133         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
109134         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
109135         * tests/test-striconveh.c (MAGIC): New macro.
109136         (new_offsets): New function.
109137         (main): Test call with and without offsets.
109139 2007-01-22  Bruno Haible  <bruno@clisp.org>
109141         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
109142         * modules/sys_select (Makefile.am): Likewise.
109143         * modules/sys_socket (Makefile.am): Likewise.
109144         * modules/sys_time (Makefile.am): Likewise.
109146 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
109148         * modules/gettimeofday (License): Change from GPL to LGPL, since
109149         gettimeofday is a library function.
109151 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109153         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
109155 2007-01-21  Bruno Haible  <bruno@clisp.org>
109157         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
109159 2007-01-21  Bruno Haible  <bruno@clisp.org>
109161         * modules/striconveha: New file.
109162         * lib/striconveha.h: New file.
109163         * lib/striconveha.c: New file.
109164         * MODULES.html.sh (Internationalization functions): Add striconveha.
109165         * lib/striconv.c (str_iconv): Optimize the case of an empty input
109166         string.
109167         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
109169 2007-01-21  Bruno Haible  <bruno@clisp.org>
109171         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
109172         * lib/striconveh.c (str_iconveh): Likewise.
109174 2007-01-21  Bruno Haible  <bruno@clisp.org>
109176         * lib/striconveh.h (mem_iconveh): New declaration.
109177         * lib/striconveh.c (mem_iconveh): New function.
109178         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
109180 2007-01-21  Bruno Haible  <bruno@clisp.org>
109182         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
109184         * lib/striconveh.h (mem_cd_iconveh): Change specification.
109185         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
109186         original result buffer.
109187         (str_cd_iconveh): Update.
109188         * tests/test-striconveh.c (main): Update.
109190         * lib/striconv.h (mem_cd_iconv): Change specification.
109191         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
109192         result buffer.
109193         (str_cd_iconv): Update.
109194         * tests/test-striconv.c (main): Update.
109196 2007-01-21  Bruno Haible  <bruno@clisp.org>
109198         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
109200 2007-01-20  Jim Meyering  <jim@meyering.net>
109202         * lib/userspec.c (parse_with_separator): If a user or group string
109203         starts with "+", skip the corresponding name-to-ID look-up, since
109204         such a look-up must fail: user and group names may not include "+".
109206 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
109208         * lib/poll.c: Include sys/time.h and time.h unconditionally,
109209         since we now assume the sys_time module.
109210         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
109211         check for sys/time.h; no longer needed.
109212         * modules/poll (Depends-on): Depend on sys_time.
109214 2007-01-18  Bruno Haible  <bruno@clisp.org>
109216         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
109217         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109219         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
109220         gettimeofday.
109222         * tests/test-gettimeofday.c: Include <time.h>.
109223         (dummy): Remove variable.
109225         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
109226         gl_HEADER_SYS_TIME_H.
109227         (gl_HEADER_SYS_TIME_H): New macro.
109229         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
109230         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109231         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
109232         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
109233         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109234         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
109235         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
109236         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109237         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
109238         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
109239         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109241         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
109242         last change; it caused a compilation error when cross-compiling to
109243         Cygwin.
109245 2007-01-18  Jim Meyering  <jim@meyering.net>
109247         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
109248         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
109249         than the race-prone "test -d sys || mkdir sys".
109250         (configure.ac): Use AC_PROG_MKDIR_P.
109251         * modules/sys_select: Likewise.
109252         * modules/sys_socket: Likewise.
109253         * modules/sys_time: Likewise.
109255 2007-01-18  Eric Blake  <ebb9@byu.net>
109257         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
109258         replace gettimeofday.
109259         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
109260         name, to avoid infinite recursion.
109262 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
109264         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
109265         module sys_time.
109266         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
109267         assume timespec.h defines struct timeval.
109268         * lib/settime.c: Likewise.
109269         * lib/utimens.c: Likewise.
109270         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
109271         since we now assume the gettimeofday module.
109272         * lib/tempname.c (__gen_tempname): Likewise.
109273         * lib/gettimeofday.h: Remove.
109274         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
109275         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
109276         Include <time.h>, for 'time()'.
109277         (localtime_buffer_addr): Also use this workaround if
109278         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
109279         to simplify the uses.  All uses changed.
109280         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
109281         that #undef is inside {}, and 'const' follows type name consistently.
109282         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
109283         (gettimeofday): Do not use the maximum possible value for
109284         tv->tv_usec, since that might break usages other than ls.c.
109285         Instead, we'll leave ls.c alone.  This undoes today's patch
109286         by Bruno.  Add a compile-time warning for 1s-clock resolution;
109287         we've never observed the problem but might as well keep the
109288         canary.
109289         * lib/nanosleep.c: Include timespec.h first, for interface check.
109290         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
109291         now assume the sys_time module.
109292         * lib/tempname.c: Likewise.
109293         * lib/timespec.h: Likewise.
109294         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
109295         needed.
109296         * lib/strftime.c: Likewise.
109297         * lib/timespec.h: Likewise.
109298         * lib/posixtm.c: Include posixtm.h first, for interface check.
109299         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
109300         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
109301         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
109302         * lib/sys_time_.h: New file.
109303         * lib/timespec.h (struct timespec): Use long int, not long.
109304         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
109305         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
109306         Remove obsolescent call to AC_HEADER_TIME.
109307         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
109308         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
109309         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
109310         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
109311         Likewise.
109312         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
109313         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
109314         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
109315         into the sys_time module.  Check for gettimeofday just once.
109316         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
109317         for gettimeofday signature to just check the signature.  Merely
109318         compile it, since linking doesn't test signature.  Improve test for
109319         whether gettimeofday.o is actually needed.
109320         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
109321         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
109322         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
109323         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109324         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
109325         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
109326         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
109327         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
109328         than worrying about sys/time.h.
109329         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
109330         Don't bother worrying about TIME_WITH_SYS_TIME.
109331         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
109332         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
109333         * m4/sys_time_h.m4: New file.
109334         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
109335         Don't include sys/time.h.  Return from main rather than exiting.
109336         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
109337         all uses changed.
109338         * modules/gethrxtime (Depends-on): Add sys_time.
109339         * modules/gettime (Depends-on): Likewise.
109340         * modules/gettimeofday (Depends-on): Likewise.
109341         * modules/nanosleep (Depends-on): Likewise.
109342         * modules/settime (Depends-on): Likewise.
109343         * modules/tempname (Depends-on): Likewise.
109344         * modules/utimens (Depends-on): Likewise.
109345         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
109346         (Include): Change back to <sys/time.h>.
109347         (Maintainer): Add self.
109348         * modules/sys_time: New file.
109349         * modules/tempname (Depends-on): Add gettimeofday.
109350         * tests/test-gettimeofday.c: Include <sys/time.h>
109351         rather than gettimeofday.h.
109353 2007-01-17  Bruno Haible  <bruno@clisp.org>
109355         * gnulib-tool (func_get_license): Revert last patch. Instead, let
109356         the license default to GPL.
109357         (func_create_testdir): Don't complain if a module is LGPL and its
109358         tests module depends on GPLed modules.
109360 2007-01-17  Bruno Haible  <bruno@clisp.org>
109362         * lib/gettimeofday.c (gettimeofday): Add code for the case
109363         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
109364         maximum possible value for tv->tv_usec, rather than the minimum one.
109366 2005-10-08  Martin Lambers  <marlam@marlam.de>
109367 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
109368 2007-01-16  Bruno Haible  <bruno@clisp.org>
109370         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
109371         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
109372         gl_FUNC_GETTIMEOFDAY.
109373         (Include): Add gettimeofday.h.
109374         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
109375         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
109376         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
109377         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
109378         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
109379         * lib/gettimeofday.h: New file.
109380         * lib/gettimeofday.c: Include <sys/timeb.h>.
109381         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
109382         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
109383         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
109384         fall back on time().
109386         * tests/test-gettimeofday.c: New file.
109387         * modules/gettimeofday-tests: New file.
109389 2007-01-16  Eric Blake  <ebb9@byu.net>
109391         * modules/fnmatch (Depends-on): Depend on wchar.
109392         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
109393         * m4/fnmatch.m4: Likewise.
109394         * modules/mbchar (Makefile.am): Assume <wchar.h>.
109395         * m4/mbchar.m4: Likewise.
109396         * modules/mbswidth (Depends-on): Depend on wchar.
109397         * lib/mbswidth.c: Assume <wchar.h>.
109398         * m4/mbswidth.m4: Likewise.
109399         * modules/quotearg (Depends-on): Depend on wchar.
109400         * lib/quotearg.c: Assume <wchar.h>.
109401         * m4/quotearg.m4: Likewise.
109402         * modules/regex (Depends-on): Depend on wchar.
109403         * lib/regex_internal.h: Assume <wchar.h>.
109404         * m4/regex.m4: Likewise.
109405         * modules/stdint (Depends-on): Depend on wchar.
109406         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
109407         * m4/stdint.m4: Likewise.
109408         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
109409         * modules/strftime (Depends-on): Depend on wchar.
109410         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
109411         * modules/strtol (Depends-on): Depend on wchar.
109412         * lib/strtol.c: Assume <wchar.h>.
109413         * modules/wcwidth (Depends-on): Depend on wchar.
109414         * lib/wcwidth.h: Assume <wchar.h>.
109415         * m4/wcwidth.m4: Likewise.
109417 2007-01-16  Bruno Haible  <bruno@clisp.org>
109419         * modules/csharpexec-script: New, created from...
109420         * modules/csharpexec: ... this.
109422 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
109424         * modules/javaexec-script: New, created from...
109425         * modules/javaexec: ... this.
109427 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
109429         * modules/poll (Dependencies): Add sys_select.
109431 2007-01-15  Jim Meyering  <jim@meyering.net>
109433         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
109434         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
109435         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
109436         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
109438 2007-01-15  Bruno Haible  <bruno@clisp.org>
109440         * modules/striconveh: New file.
109441         * lib/striconveh.h: New file.
109442         * lib/striconveh.c: New file.
109443         * MODULES.html.sh (Internationalization functions): Add striconveh.
109445         * modules/striconveh-tests: New file.
109446         * tests/test-striconveh.c: New file.
109448 2007-01-15  Bruno Haible  <bruno@clisp.org>
109450         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
109451         not from GNU libiconv or GNU libc.
109453 2007-01-15  Bruno Haible  <bruno@clisp.org>
109455         * doc/gnulib-intro.texi (Copyright): Explain the different license
109456         terms for module descriptions, autoconf macros, tests, documentation.
109458 2007-01-14  Bruno Haible  <bruno@clisp.org>
109460         * modules/striconv-tests: New file.
109461         * tests/test-striconv.c: New file.
109463 2007-01-14  Bruno Haible  <bruno@clisp.org>
109465         * modules/iconv-tests: New file.
109466         * tests/test-iconv.c: New file.
109468 2007-01-14  Bruno Haible  <bruno@clisp.org>
109470         * gnulib-tool (func_get_license): For test modules, use the license of
109471         the main module.
109473 2007-01-14  Bruno Haible  <bruno@clisp.org>
109475         * modules/iconv (Include): Clarify that <iconv.h> can only be included
109476         if iconv is found to exist.
109478 2007-01-14  Bruno Haible  <bruno@clisp.org>
109480         * modules/c-ctype-tests: New file.
109481         * tests/test-c-ctype.c: New file.
109483 2007-01-14  Bruno Haible  <bruno@clisp.org>
109485         * modules/binary-io-tests: New file.
109486         * tests/test-binary-io.sh: New file.
109487         * tests/test-binary-io.c: New file.
109489 2007-01-14  Bruno Haible  <bruno@clisp.org>
109491         * modules/array-oset-tests: New file.
109492         * tests/test-array_oset.c: New file.
109494 2007-01-14  Bruno Haible  <bruno@clisp.org>
109496         * modules/array-list-tests: New file.
109497         * tests/test-array_list.c: New file.
109499 2007-01-14  Bruno Haible  <bruno@clisp.org>
109501         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
109502         and make.
109503         Reported by Simon Josefsson in
109504         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>
109506 2007-01-14  Bruno Haible  <bruno@clisp.org>
109508         * modules/allocsa-tests: New file.
109509         * tests/test-allocsa.c: New file.
109511 2007-01-14  Bruno Haible  <bruno@clisp.org>
109513         * modules/fchdir (Depends-on): Add absolute-header.
109514         * modules/unistd (Depends-on): Likewise.
109516 2006-12-30  Bruno Haible  <bruno@clisp.org>
109518         * modules/fchdir: New file.
109519         * modules/unistd (Files): Add lib/unistd_.h.
109520         (Makefile.am): Generate unistd.h from unistd_.h.
109521         * lib/fchdir.c: New file.
109522         * lib/dirent_.h: New file.
109523         * lib/unistd_.h: New file.
109524         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
109525         * m4/fchdir.m4: New file.
109526         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
109527         (gl_HEADER_UNISTD): Invoke it.
109528         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
109529         function.
109530         * lib/backupfile.c (opendir, closedir): Undefine.
109531         * lib/chown.c (open, close): Undefine.
109532         * lib/clean-temp.c (open, close): Undefine.
109533         * lib/copy-file.c (open, close): Undefine.
109534         * lib/execute.c (open, close): Undefine.
109535         * lib/fsusage.c (open, close): Undefine.
109536         * lib/gc-gnulib.c (open, close): Undefine.
109537         * lib/getcwd.c (opendir, closedir): Undefine.
109538         * lib/glob.c (opendir, closedir): Undefine.
109539         * lib/javacomp.c (open, close): Undefine.
109540         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
109541         * lib/openat-proc.c (open, close): Undefine.
109542         * lib/pagealign_alloc.c (open, close): Undefine.
109543         * lib/pipe.c (open, close): Undefine.
109544         * lib/progreloc.c (open, close): Undefine.
109545         * lib/savedir.c (opendir, closedir): Undefine.
109546         * lib/utime.c (open, close): Undefine.
109547         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
109549 2007-01-10  Bruno Haible  <bruno@clisp.org>
109551         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
109553 2007-01-12  Eric Blake  <ebb9@byu.net>
109555         Provide a robust <wchar.h>.  Further simplifications are now
109556         possible in other modules, but not included here.
109557         * modules/wchar: New module.
109558         * m4/wchar.m4: New file.
109559         * lib/wchar_.h: Likewise.
109560         * modules/mbchar (Depends-on): Depend on wchar, as the first use
109561         of the new module.
109562         * MODULES.html.sh (Extended multibyte and wide character utilities):
109563         New section.
109565 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
109567         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
109568         to a reasonable default for memory allocation.
109569         (xreadlink): Don't allocate a huge buffer, to work around a buggy
109570         file system that reports garbage st_size values for symlinks.
109571         Problem reported by Liyang Hu.
109573 2007-01-11  Simon Josefsson  <simon@josefsson.org>
109575         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
109576         Emacs .#* auto-save files).
109578 2007-01-11  Bruno Haible  <bruno@clisp.org>
109580         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
109581         directory.
109583 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
109585         Use @...@ consistently in lib/wctype_.h.
109586         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
109587         on it being set to 1 or 0.
109588         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
109589         go back to AC_SUBSTing it.
109590         * modules/wctype (Makefile.am): Undo previous change.
109592 2007-01-10  Eric Blake  <ebb9@byu.net>
109594         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
109595         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
109596         * modules/wctype (Makefile.am): Likewise.
109597         Reported by Chris McGuire.
109599 2007-01-10  Jim Meyering  <jim@meyering.net>
109601         fts.c: a small readability/maintainability improvement
109602         * lib/fts.c (fts_read): Make this code slightly more readable and
109603         maintainable by hoisting the "sp->fts_cur = p" assignments to
109604         immediately follow the statements that set P.  Derived from
109605         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
109607 2007-01-10  Eric Blake  <ebb9@byu.net>
109609         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
109610         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
109611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
109612         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
109613         Reported by Chris McGuire.
109615 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
109617         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
109618         in sed script.
109620 2007-01-09  Bruno Haible  <bruno@clisp.org>
109622         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
109623         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
109624         variables.
109625         (func_module): Use them.
109627 2007-01-09  Bruno Haible  <bruno@clisp.org>
109629         * modules/unistr/base: New file.
109630         * lib/unistr.h: New file.
109632         * modules/unistr/u8-to-u16: New file.
109633         * lib/unistr/u8-to-u16.c: New file.
109635         * modules/unistr/u8-to-u32: New file.
109636         * lib/unistr/u8-to-u32.c: New file.
109638         * modules/unistr/u16-to-u8: New file.
109639         * lib/unistr/u16-to-u8.c: New file.
109641         * modules/unistr/u16-to-u32: New file.
109642         * lib/unistr/u16-to-u32.c: New file.
109644         * modules/unistr/u32-to-u8: New file.
109645         * lib/unistr/u32-to-u8.c: New file.
109647         * modules/unistr/u32-to-u16: New file.
109648         * lib/unistr/u32-to-u16.c: New file.
109650         * modules/unistr/u8-check: New file.
109651         * modules/unistr/u16-check: New file.
109652         * modules/unistr/u32-check: New file.
109653         * lib/unistr/u8-check.c: New file.
109654         * lib/unistr/u16-check.c: New file.
109655         * lib/unistr/u32-check.c: New file.
109657         * modules/unistr/u8-chr: New file.
109658         * modules/unistr/u16-chr: New file.
109659         * modules/unistr/u32-chr: New file.
109660         * lib/unistr/u8-chr.c: New file.
109661         * lib/unistr/u16-chr.c: New file.
109662         * lib/unistr/u32-chr.c: New file.
109664         * modules/unistr/u8-cmp: New file.
109665         * modules/unistr/u16-cmp: New file.
109666         * modules/unistr/u32-cmp: New file.
109667         * lib/unistr/u8-cmp.c: New file.
109668         * lib/unistr/u16-cmp.c: New file.
109669         * lib/unistr/u32-cmp.c: New file.
109671         * modules/unistr/u8-cpy: New file.
109672         * modules/unistr/u16-cpy: New file.
109673         * modules/unistr/u32-cpy: New file.
109674         * lib/unistr/u8-cpy.c: New file.
109675         * lib/unistr/u16-cpy.c: New file.
109676         * lib/unistr/u32-cpy.c: New file.
109677         * lib/unistr/u-cpy.h: New file.
109679         * modules/unistr/u8-cpy-alloc: New file.
109680         * modules/unistr/u16-cpy-alloc: New file.
109681         * modules/unistr/u32-cpy-alloc: New file.
109682         * lib/unistr/u8-cpy-alloc.c: New file.
109683         * lib/unistr/u16-cpy-alloc.c: New file.
109684         * lib/unistr/u32-cpy-alloc.c: New file.
109685         * lib/unistr/u-cpy-alloc.h: New file.
109687         * modules/unistr/u8-endswith: New file.
109688         * modules/unistr/u16-endswith: New file.
109689         * modules/unistr/u32-endswith: New file.
109690         * lib/unistr/u8-endswith.c: New file.
109691         * lib/unistr/u16-endswith.c: New file.
109692         * lib/unistr/u32-endswith.c: New file.
109693         * lib/unistr/u-endswith.h: New file.
109695         * modules/unistr/u8-mblen: New file.
109696         * modules/unistr/u16-mblen: New file.
109697         * modules/unistr/u32-mblen: New file.
109698         * lib/unistr/u8-mblen.c: New file.
109699         * lib/unistr/u16-mblen.c: New file.
109700         * lib/unistr/u32-mblen.c: New file.
109702         * modules/unistr/u8-mbtouc: New file.
109703         * modules/unistr/u16-mbtouc: New file.
109704         * modules/unistr/u32-mbtouc: New file.
109705         * lib/unistr/u8-mbtouc.c: New file.
109706         * lib/unistr/u16-mbtouc.c: New file.
109707         * lib/unistr/u32-mbtouc.c: New file.
109709         * modules/unistr/u8-mbtouc-safe: New file.
109710         * modules/unistr/u16-mbtouc-safe: New file.
109711         * modules/unistr/u32-mbtouc-safe: New file.
109712         * lib/unistr/u8-mbtouc-safe.c: New file.
109713         * lib/unistr/u16-mbtouc-safe.c: New file.
109714         * lib/unistr/u32-mbtouc-safe.c: New file.
109716         * modules/unistr/u8-move: New file.
109717         * modules/unistr/u16-move: New file.
109718         * modules/unistr/u32-move: New file.
109719         * lib/unistr/u8-move.c: New file.
109720         * lib/unistr/u16-move.c: New file.
109721         * lib/unistr/u32-move.c: New file.
109722         * lib/unistr/u-move.h: New file.
109724         * modules/unistr/u8-next: New file.
109725         * modules/unistr/u16-next: New file.
109726         * modules/unistr/u32-next: New file.
109727         * lib/unistr/u8-next.c: New file.
109728         * lib/unistr/u16-next.c: New file.
109729         * lib/unistr/u32-next.c: New file.
109731         * modules/unistr/u8-prev: New file.
109732         * modules/unistr/u16-prev: New file.
109733         * modules/unistr/u32-prev: New file.
109734         * lib/unistr/u8-prev.c: New file.
109735         * lib/unistr/u16-prev.c: New file.
109736         * lib/unistr/u32-prev.c: New file.
109738         * modules/unistr/u8-set: New file.
109739         * modules/unistr/u16-set: New file.
109740         * modules/unistr/u32-set: New file.
109741         * lib/unistr/u8-set.c: New file.
109742         * lib/unistr/u16-set.c: New file.
109743         * lib/unistr/u32-set.c: New file.
109744         * lib/unistr/u-set.h: New file.
109746         * modules/unistr/u8-startswith: New file.
109747         * modules/unistr/u16-startswith: New file.
109748         * modules/unistr/u32-startswith: New file.
109749         * lib/unistr/u8-startswith.c: New file.
109750         * lib/unistr/u16-startswith.c: New file.
109751         * lib/unistr/u32-startswith.c: New file.
109752         * lib/unistr/u-startswith.h: New file.
109754         * modules/unistr/u8-stpcpy: New file.
109755         * modules/unistr/u16-stpcpy: New file.
109756         * modules/unistr/u32-stpcpy: New file.
109757         * lib/unistr/u8-stpcpy.c: New file.
109758         * lib/unistr/u16-stpcpy.c: New file.
109759         * lib/unistr/u32-stpcpy.c: New file.
109760         * lib/unistr/u-stpcpy.h: New file.
109762         * modules/unistr/u8-stpncpy: New file.
109763         * modules/unistr/u16-stpncpy: New file.
109764         * modules/unistr/u32-stpncpy: New file.
109765         * lib/unistr/u8-stpncpy.c: New file.
109766         * lib/unistr/u16-stpncpy.c: New file.
109767         * lib/unistr/u32-stpncpy.c: New file.
109768         * lib/unistr/u-stpncpy.h: New file.
109770         * modules/unistr/u8-strcat: New file.
109771         * modules/unistr/u16-strcat: New file.
109772         * modules/unistr/u32-strcat: New file.
109773         * lib/unistr/u8-strcat.c: New file.
109774         * lib/unistr/u16-strcat.c: New file.
109775         * lib/unistr/u32-strcat.c: New file.
109776         * lib/unistr/u-strcat.h: New file.
109778         * modules/unistr/u8-strchr: New file.
109779         * modules/unistr/u16-strchr: New file.
109780         * modules/unistr/u32-strchr: New file.
109781         * lib/unistr/u8-strchr.c: New file.
109782         * lib/unistr/u16-strchr.c: New file.
109783         * lib/unistr/u32-strchr.c: New file.
109785         * modules/unistr/u8-strcmp: New file.
109786         * modules/unistr/u16-strcmp: New file.
109787         * modules/unistr/u32-strcmp: New file.
109788         * lib/unistr/u8-strcmp.c: New file.
109789         * lib/unistr/u16-strcmp.c: New file.
109790         * lib/unistr/u32-strcmp.c: New file.
109792         * modules/unistr/u8-strcpy: New file.
109793         * modules/unistr/u16-strcpy: New file.
109794         * modules/unistr/u32-strcpy: New file.
109795         * lib/unistr/u8-strcpy.c: New file.
109796         * lib/unistr/u16-strcpy.c: New file.
109797         * lib/unistr/u32-strcpy.c: New file.
109798         * lib/unistr/u-strcpy.h: New file.
109800         * modules/unistr/u8-strcspn: New file.
109801         * modules/unistr/u16-strcspn: New file.
109802         * modules/unistr/u32-strcspn: New file.
109803         * lib/unistr/u8-strcspn.c: New file.
109804         * lib/unistr/u16-strcspn.c: New file.
109805         * lib/unistr/u32-strcspn.c: New file.
109806         * lib/unistr/u-strcspn.h: New file.
109808         * modules/unistr/u8-strdup: New file.
109809         * modules/unistr/u16-strdup: New file.
109810         * modules/unistr/u32-strdup: New file.
109811         * lib/unistr/u8-strdup.c: New file.
109812         * lib/unistr/u16-strdup.c: New file.
109813         * lib/unistr/u32-strdup.c: New file.
109814         * lib/unistr/u-strdup.h: New file.
109816         * modules/unistr/u8-strlen: New file.
109817         * modules/unistr/u16-strlen: New file.
109818         * modules/unistr/u32-strlen: New file.
109819         * lib/unistr/u8-strlen.c: New file.
109820         * lib/unistr/u16-strlen.c: New file.
109821         * lib/unistr/u32-strlen.c: New file.
109822         * lib/unistr/u-strlen.h: New file.
109824         * modules/unistr/u8-strmblen: New file.
109825         * modules/unistr/u16-strmblen: New file.
109826         * modules/unistr/u32-strmblen: New file.
109827         * lib/unistr/u8-strmblen.c: New file.
109828         * lib/unistr/u16-strmblen.c: New file.
109829         * lib/unistr/u32-strmblen.c: New file.
109831         * modules/unistr/u8-strmbtouc: New file.
109832         * modules/unistr/u16-strmbtouc: New file.
109833         * modules/unistr/u32-strmbtouc: New file.
109834         * lib/unistr/u8-strmbtouc.c: New file.
109835         * lib/unistr/u16-strmbtouc.c: New file.
109836         * lib/unistr/u32-strmbtouc.c: New file.
109838         * modules/unistr/u8-strncat: New file.
109839         * modules/unistr/u16-strncat: New file.
109840         * modules/unistr/u32-strncat: New file.
109841         * lib/unistr/u8-strncat.c: New file.
109842         * lib/unistr/u16-strncat.c: New file.
109843         * lib/unistr/u32-strncat.c: New file.
109844         * lib/unistr/u-strncat.h: New file.
109846         * modules/unistr/u8-strncmp: New file.
109847         * modules/unistr/u16-strncmp: New file.
109848         * modules/unistr/u32-strncmp: New file.
109849         * lib/unistr/u8-strncmp.c: New file.
109850         * lib/unistr/u16-strncmp.c: New file.
109851         * lib/unistr/u32-strncmp.c: New file.
109853         * modules/unistr/u8-strncpy: New file.
109854         * modules/unistr/u16-strncpy: New file.
109855         * modules/unistr/u32-strncpy: New file.
109856         * lib/unistr/u8-strncpy.c: New file.
109857         * lib/unistr/u16-strncpy.c: New file.
109858         * lib/unistr/u32-strncpy.c: New file.
109859         * lib/unistr/u-strncpy.h: New file.
109861         * modules/unistr/u8-strnlen: New file.
109862         * modules/unistr/u16-strnlen: New file.
109863         * modules/unistr/u32-strnlen: New file.
109864         * lib/unistr/u8-strnlen.c: New file.
109865         * lib/unistr/u16-strnlen.c: New file.
109866         * lib/unistr/u32-strnlen.c: New file.
109867         * lib/unistr/u-strnlen.h: New file.
109869         * modules/unistr/u8-strpbrk: New file.
109870         * modules/unistr/u16-strpbrk: New file.
109871         * modules/unistr/u32-strpbrk: New file.
109872         * lib/unistr/u8-strpbrk.c: New file.
109873         * lib/unistr/u16-strpbrk.c: New file.
109874         * lib/unistr/u32-strpbrk.c: New file.
109875         * lib/unistr/u-strpbrk.h: New file.
109877         * modules/unistr/u8-strrchr: New file.
109878         * modules/unistr/u16-strrchr: New file.
109879         * modules/unistr/u32-strrchr: New file.
109880         * lib/unistr/u8-strrchr.c: New file.
109881         * lib/unistr/u16-strrchr.c: New file.
109882         * lib/unistr/u32-strrchr.c: New file.
109884         * modules/unistr/u8-strspn: New file.
109885         * modules/unistr/u16-strspn: New file.
109886         * modules/unistr/u32-strspn: New file.
109887         * lib/unistr/u8-strspn.c: New file.
109888         * lib/unistr/u16-strspn.c: New file.
109889         * lib/unistr/u32-strspn.c: New file.
109890         * lib/unistr/u-strspn.h: New file.
109892         * modules/unistr/u8-strstr: New file.
109893         * modules/unistr/u16-strstr: New file.
109894         * modules/unistr/u32-strstr: New file.
109895         * lib/unistr/u8-strstr.c: New file.
109896         * lib/unistr/u16-strstr.c: New file.
109897         * lib/unistr/u32-strstr.c: New file.
109898         * lib/unistr/u-strstr.h: New file.
109900         * modules/unistr/u8-strtok: New file.
109901         * modules/unistr/u16-strtok: New file.
109902         * modules/unistr/u32-strtok: New file.
109903         * lib/unistr/u8-strtok.c: New file.
109904         * lib/unistr/u16-strtok.c: New file.
109905         * lib/unistr/u32-strtok.c: New file.
109906         * lib/unistr/u-strtok.h: New file.
109908         * modules/unistr/u8-uctomb: New file.
109909         * modules/unistr/u16-uctomb: New file.
109910         * modules/unistr/u32-uctomb: New file.
109911         * lib/unistr/u8-uctomb.c: New file.
109912         * lib/unistr/u16-uctomb.c: New file.
109913         * lib/unistr/u32-uctomb.c: New file.
109915         * MODULES.html.sh (Unicode string functions): Add the new modules.
109917 2007-01-08  Bruno Haible  <bruno@clisp.org>
109919         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
109920         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
109921         subdirectories.
109923 2007-01-08  Karl Berry  <karl@gnu.org>
109925         * doc/error.texi: mention that main() fns must set program_name
109926         when progname is used.
109928 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
109930         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
109931         WCTYPE_H is empty, for the benefit of builds from non-distclean
109932         directories.  Problem reported by Eric Blake in
109933         <http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.
109935 2007-01-08  Bruno Haible  <bruno@clisp.org>
109937         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
109938         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
109939         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
109940         PROVIDE_CANONICALIZE_FILENAME_MODE.
109941         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
109943 2007-01-08  Bruno Haible  <bruno@clisp.org>
109945         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
109946         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
109947         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
109948         * lib/fts.c: Likewise.
109949         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
109951 2006-12-25  Bruno Haible  <bruno@clisp.org>
109953         * modules/utf8-ucs4-safe: New file.
109954         * lib/utf8-ucs4-safe.h: New file.
109955         * lib/unistr/utf8-ucs4-safe.c: New file.
109957         * modules/utf16-ucs4-safe: New file.
109958         * lib/utf16-ucs4-safe.h: New file.
109959         * lib/unistr/utf16-ucs4-safe.c: New file.
109961         * MODULES.html.sh (Unicode string functions): Add the new modules.
109963 2007-01-08  Bruno Haible  <bruno@clisp.org>
109965         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
109966         (Depends-on): Add unitypes.
109967         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109968         (u8_mbtouc_aux): Move out to separate file.
109969         (u8_mbtouc): Use ucs4_t, uint8_t types.
109970         * lib/unistr/utf8-ucs4.c: New file.
109972         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
109973         (Depends-on): Add unitypes.
109974         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
109975         (u16_mbtouc_aux): Move out to separate file.
109976         (u16_mbtouc): Use ucs4_t, uint16_t types.
109977         * lib/unistr/utf16-ucs4.c: New file.
109979         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
109980         (Depends-on): Add unitypes.
109981         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
109982         (u8_uctomb_aux): Move out to separate file.
109983         (u8_uctomb): Use ucs4_t, uint8_t types.
109984         * lib/unistr/ucs4-utf8.c: New file.
109986         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
109987         (Depends-on): Add unitypes.
109988         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
109989         (u16_uctomb_aux): Move out to separate file.
109990         (u16_uctomb): Use ucs4_t, uint16_t types.
109991         * lib/unistr/ucs4-utf16.c: New file.
109993 2006-12-25  Bruno Haible  <bruno@clisp.org>
109995         * modules/unitypes: New file.
109996         * lib/unitypes.h: New file.
109997         * MODULES.html.sh (func_all_modules): New section "Unicode string
109998         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
109999         this section. Add unitypes.
110001 2007-01-08  Bruno Haible  <bruno@clisp.org>
110003         Avoid variable names that conflict with those from libtool.
110004         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
110005         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
110006         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
110007         library_names_spec to acl_library_names_spec, hardcode_* to
110008         acl_hardcode_*.
110009         Reported by Ralf Wildenhues.
110011 2007-01-08  Bruno Haible  <bruno@clisp.org>
110013         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
110014         definition.
110015         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
110016         definition.
110017         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
110018         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
110019         definition.
110020         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
110021         definition.
110022         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
110023         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
110024         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
110025         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
110026         definition.
110027         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
110028         definition.
110029         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
110030         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
110031         GC_USE_<algorithm>.
110032         * lib/gc-libgcrypt.c: Likewise.
110033         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
110034         * modules/gc-arctwo (configure.ac): Likewise.
110035         * modules/gc-des (configure.ac): Likewise.
110036         * modules/gc-hmac-md5 (configure.ac): Likewise.
110037         * modules/gc-hmac-sha1 (configure.ac): Likewise.
110038         * modules/gc-md2 (configure.ac): Likewise.
110039         * modules/gc-md4 (configure.ac): Likewise.
110040         * modules/gc-md5 (configure.ac): Likewise.
110041         * modules/gc-random (configure.ac): Likewise.
110042         * modules/gc-rijndael (configure.ac): Likewise.
110043         * modules/gc-sha1 (configure.ac): Likewise.
110045 2007-01-08  Bruno Haible  <bruno@clisp.org>
110047         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
110048         macro definition.
110049         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
110050         definition.
110051         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
110052         definition.
110053         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
110054         * modules/fcntl-safer (configure.ac): Likewise.
110055         * modules/fopen-safer (configure.ac): Likewise.
110056         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
110057         GNULIB_FWRITEERROR macro definition.
110059 2007-01-08  Bruno Haible  <bruno@clisp.org>
110061         * m4/gnulib-common.m4: New file.
110062         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
110063         (func_get_filelist): Add m4/gnulib-common.m4.
110065 2007-01-08  Bruno Haible  <bruno@clisp.org>
110067         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
110068         command.
110070 2007-01-08  Jim Meyering  <jim@meyering.net>
110072         Use a more robust test for a "can't happen" condition.
110073         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
110074         narrowed the st_size value.  Presuming the "can't happen" condition
110075         is true, that narrowing could conceivably convert an invalid st_size
110076         value into a valid one.  Instead, use a change based on Matthew
110077         Woehlke's original patch.
110079         Slight readability improvement: use an assert-like macro
110080         in place of literal "abort ()" uses.
110081         * lib/fts.c (fts_assert): Define.
110082         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
110083         Use this macro instead of a bare 'abort'.
110085 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
110087         Don't worry about using IRIX 5.3's wctype.h broken definitions;
110088         simply work around them.
110089         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
110090         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
110091         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
110092         declaring.
110093         Don't bother to define as macros, since the standard doesn't require it.
110094         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
110095         longer worry about IRIX 5.3.
110096         (HAVE_WCTYPE_CTMP_BUG): Remove.
110098 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
110100         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
110101         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
110102         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
110103         Problems reported by Georg Schwarz for IRIX 5.3.
110105         * gnulib-tool (autoconf_minversion): Take the maximum version number
110106         found, not the minimum.  Problem reported by James Youngman.
110108 2007-01-03  Karl Berry  <karl@gnu.org>
110110         * doc/error.texi: new file, explaining interaction with progname.
110111         * doc/gnulib.texi: include it.  Update copyright.
110113 2007-01-03  Simon Josefsson  <simon@josefsson.org>
110115         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
110116         AC_CANONICAL_HOST, to improve autobuild outputs.
110118 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
110119             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
110121         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
110122         sockets, server sockets, and other file descriptors.  Count errors
110123         to compute the return value.  Reorder the code a bit to be easier
110124         to follow.  Don't set event bits that were not requested (except
110125         POLLERR and POLLHUP).
110127 2007-01-01  Bruno Haible  <bruno@clisp.org>
110129         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
110131 2007-01-03  Jim Meyering  <jim@meyering.net>
110133         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
110135 2007-01-02  Bruno Haible  <bruno@clisp.org>
110137         * modules/settime (Include): Require timespec.h.
110138         * modules/nanosleep (Include): Likewise.
110140 2007-01-01  Bruno Haible  <bruno@clisp.org>
110142         * gnulib-tool (func_emit_copyright_notice): Bump year.
110143         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
110145 2007-01-01  Bruno Haible  <bruno@clisp.org>
110147         Improve support for OpenBSD.
110148         * build-aux/config.rpath (libname_spec): Export.
110149         (library_names_spec): New variable. Export.
110150         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
110151         library_names_spec from the config.rpath output. Locate shared library
110152         through the name pattern in library_names_spec.
110154 2007-01-01  Eric Blake  <ebb9@byu.net>
110156         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
110158 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
110160         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
110161         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
110162         assume the C locale, and avoid an "eval" that could cause trouble.
110163         Problem with SORT reported by Bob Proulx.
110165         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
110166         Define.  Trivial patch from Henning Nielsen Lund, originally
110167         sent to bug-grep@gnu.org today.
110169 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
110171         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
110172         struct stat.  Problem reported by Henning Nielsen Lund.
110173         * lib/acl.c: Include acl.h first, to check interface.  Don't
110174         bother to include sys/types.h and sys/stat.h again.
110176 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
110178         Import the following change from libc; problem reported by
110179         Sven Verdoolaege.
110181         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
110183         [BZ #1373]
110184         * lib/argp.h: Remove __NTH for __argp_usage inline function.
110186 2006-12-28  Jim Meyering  <jim@meyering.net>
110188         * build-aux/announce-gen: Do not assume that the package
110189         builds any of tar.gz, tar.bz2, and .xdelta files.
110190         Suggestion from Simon Josefsson.
110192 2006-12-28  Simon Josefsson  <simon@josefsson.org>
110194         * modules/announce-gen: New file.
110196 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
110198         * lib/mbchar.h: Just include <wctype.h>; the wctype module
110199         handles its gotchas now.
110200         * lib/mbswidth.c: Likewise.
110201         * lib/wcwidth.h: Likewise.
110202         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
110203         and iswcntrl; the wctype module does this stuff now.
110204         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
110205         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
110206         * modules/mbchar (Depends-on): Add wctype.
110207         * modules/mbswidth (Depends-on): Likewise.
110208         * modules/wcwidth (Depends-on): Likewise.
110210 2006-12-27  Eric Blake  <ebb9@byu.net>
110212         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
110213         module uses more than what <wctype.h> is required to provide.
110215 2006-12-26  Eric Blake  <ebb9@byu.net>
110217         * gnulib-tool (sed_extract_prog): Avoid space-tab.
110219 2006-12-26  Eric Blake  <ebb9@byu.net>
110221         * modules/absolute-header: New module.
110222         * modules/fcntl (Depends-on): Depend on it.
110223         * modules/inttypes (Depends-on): Likewise.
110224         * modules/stdint (Depends-on): Likewise.
110225         * modules/sys_stat (Depends-on): Likewise.
110226         * modules/wctype (Depends-on): Likewise.
110227         * MODULES.html.sh (Support for building libraries and
110228         executables): Document it.
110230 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
110232         * gnulib-tool (SED): Remove, undoing previous change.
110233         The problem was that it broke coreutils on Solaris, because
110234         "sed --posix" leaked into a makefile.
110235         (sed): New alias, if 'alias' and GNU sed.
110237 2006-12-24  Jim Meyering  <jim@meyering.net>
110239         Work around an fchownat bug in glibc-2.4:
110240         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
110241         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
110242         in spite of the -P option.
110243         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
110244         New macros.
110245         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
110246         * modules/openat (Files): Add lib/fchownat.c.
110247         * lib/openat.c (fchownat): Don't define here.  Move to...
110248         * lib/fchownat.c: ...this new file.
110250 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
110252         Fix bug reported by Bruno Haible in
110253         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
110254         where quotearg.c didn't compile on Mac OS X 10.2 because it
110255         lacks <wchar.h> and wint_t.
110256         * lib/wctype_.h (__wctype_wint_t): New type.
110257         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
110258         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
110259         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
110260         Arg is now of type __wctype_wint_t, not wint_t.
110261         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
110262         substitute HAVE_WINT_T.
110263         * modules/wctype (Files): Add m4/wint_t.m4.
110264         (wctype.h): Substitute HAVE_WINT_T.
110266 2006-12-23  Bruno Haible  <bruno@clisp.org>
110268         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
110270 2006-12-23  Bruno Haible  <bruno@clisp.org>
110272         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
110273         S_ISLNK.
110274         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
110275         mingw.
110277 2006-12-22  Bruno Haible  <bruno@clisp.org>
110279         * lib/copy-file.c: Include acl.h.
110280         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
110281         Close the file descriptors only after being done with copy_acl.
110282         * modules/copy-file (Depends-on): Add acl.
110284 2006-12-22  Bruno Haible  <bruno@clisp.org>
110286         * gnulib-tool (SED): New variable.
110287         Use $SED instead of sed everywhere.
110289 2006-12-22  Bruno Haible  <bruno@clisp.org>
110291         * modules/no-c++: New file.
110292         * m4/no-c++.m4: New file.
110293         * MODULES.html.sh (Support for building libraries and executables):
110294         Add no-c++.
110296 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
110298         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
110299         Include <limits.h>, and use its INT_MAX to rewrite the
110300         j loop so that it does not overflow 'int'.  Problem reported by
110301         Ralf Wildenhues in
110302         <http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
110303         Play it safe by shifting left by 1 rather than multiplying by 2,
110304         as GCC is less likely to optimize this away when the value
110305         is signed (when it assumes overflow leads to undefined behavior).
110306         Also, don't assume time_t uses two's complement.
110308 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
110310         * MODULES.html.sh: New module wctype.
110311         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
110312         * lib/fnmatch.c: Don't bother to include <wchar.h> before
110313         <wctype.h>, since the new wctype module should fix this.
110314         * lib/quotearg.c: Include <wctype.h> unconditionally, since
110315         the wctype module should arrange for it.
110316         * lib/regex_internal.h: Likewise.
110317         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
110318         since the wctype module should handle this now.
110319         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
110320         * modules/fnmatch (Depends-on): Add wctype.
110321         * modules/quotearg (Depends-on): Likewise.
110322         * modules/regex (Depends-on): Likewise.
110324 2006-12-19  Bruno Haible  <bruno@clisp.org>
110326         * lib/strdup.h [C++]: Wrap definitions in extern "C".
110327         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
110329 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110331         * modules/savewd (Depends-on): Fix dependency on fcntl.
110333 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110335         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
110336         conforms to C99, rather than relying on the user's environment
110337         setting of STDINT_H.
110339 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
110340         and Eric Blake  <ebb9@byu.net>
110342         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
110343         This is more consistent with the other defines here.
110344         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
110345         Port to z/OS.  Problem reported by Paul Gilmartin.
110346         Change local vars to use gl_ prefix rather than ac_.
110347         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
110348         with other defines.
110349         * modules/double-slash-root: New module.
110350         * modules/dirname (Files): Remove m4/double-slash-root.m4.
110351         (Depends-on): Add double-slash-root.
110352         * MODULES.html.sh (File system functions): Mention new module.
110354 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
110356         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
110357         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
110358         This is for the benefit of gzip, which doesn't do i18n.
110360 2006-12-12  Jim Meyering  <jim@meyering.net>
110362         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
110363         Reported by Andreas Schwab <schwab@suse.de>.
110365 2006-12-12  Bruno Haible  <bruno@clisp.org>
110367         Merge these changes.
110368         2006-09-05  Bruno Haible  <bruno@clisp.org>
110369         * lib/iconvme.c (iconv_string): No need to save and restore errno when
110370         iconv_alloc succeeded.
110371         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
110372         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
110373         test for " && dest " at the end - dest is always != NULL there. Call
110374         iconv with 4xNULL arguments initially, to reset the state. Call iconv
110375         with 2xNULL arguments, also to flush the state storage. Handle the
110376         IRIX iconv behaviour. Realloc the final result, to throw away unused
110377         memory.
110379 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
110381         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
110382         and fchmodat unconditionally, since glibc 2.4 has them.
110383         Problem reported by Arkadiusz Miskiewicz.
110385 2006-12-10  Bruno Haible  <bruno@clisp.org>
110387         * gnulib-tool (func_import): Show the include files only for those
110388         modules that are copied and specified.
110389         Reported by Karl Berry.
110391 2006-12-08  Jim Meyering  <jim@meyering.net>
110393         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
110394         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
110396         * build-aux/announce-gen: Add two new options, both optional:
110397         --bootstrap-tools=TOOL_LIST
110398               a comma-separated list of tools, e.g.,
110399               autoconf,automake,bison,gnulib
110400         --gnulib-snapshot-date=DATE
110401               if gnulib is in the bootstrap tool list,
110402               then report this as the snapshot date.
110403               If not specified, use the current date/time.
110404               If you specify a date here, be sure it's UTC.
110406 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110408         * tests/test-argp-2.sh: Fix test to match actual output.
110409         (func_compare): Fix sed script to be portable.
110411 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
110413         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
110414         workaround for this case.  It is not autoconfigured now; offhand
110415         it's hard to see how to autoconfigure it.
110417 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
110419         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
110420         a directory that is about to be chowned.  Such a directory's
110421         initial file permissions should permit the owner only and this
110422         should not be changed until after the chown, since the group and
110423         other bits would be incorrect if they granted permission before
110424         the chown.
110426         Fix porting problem for iswctype reported by Georg Schwarz in:
110427         http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
110428         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
110429         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
110430         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
110431         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
110433 2006-12-03  Jim Meyering  <jim@meyering.net>
110435         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
110436         p->fts_statp may not yet be defined.
110437         (fts_read): Instead, set it in the caller, once p->fts_statp is
110438         sure to be defined, and corresponds to a top-level directory.
110439         This bug made du -x fail.  Here's the coreutils test case:
110440         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
110441         Reported by Mike Frysinger.
110443 2006-12-01  Jim Meyering  <jim@meyering.net>
110445         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
110446         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
110447         Reported by Simon Josefsson.
110449 2006-11-30  Jim Meyering  <jim@meyering.net>
110451         * m4/warning.m4: Use the all-permissive copyright notice
110452         recommended by RMS (rather than LGPL).
110453         * m4/vararrays.m4: Likewise.
110454         * m4/flexmember.m4: Likewise.
110456 2006-11-29  Bruno Haible  <bruno@clisp.org>
110458         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110459         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
110460         using +=.
110461         Reported by Simon Josefsson <simon@josefsson.org>.
110463 2006-11-28  James Youngman  <jay@gnu.org>
110465         * README: Advise users that they might find the bug-gnulib@gnu.org
110466         and autotools-announce@gnu.org mailing lists useful.
110468 2006-11-28  Bruno Haible  <bruno@clisp.org>
110470         * m4/ptrdiff_max.m4: Remove file.
110472 2006-11-21  Bruno Haible  <bruno@clisp.org>
110474         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
110475         _AC_COMPUTE_INT.
110476         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110477         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
110478         _AC_COMPUTE_INT.
110479         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110480         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
110481         _AC_COMPUTE_INT.
110482         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110484 2006-11-28  Jim Meyering  <jim@meyering.net>
110486         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
110487         warning from "gcc -Wshadow" about shadowing the builtin.
110489 2006-11-27  Bruno Haible  <bruno@clisp.org>
110491         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
110492         _AC_COMPUTE_INT.
110493         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
110495 2006-11-27  Bruno Haible  <bruno@clisp.org>
110496             Paul Eggert  <eggert@cs.ucla.edu>
110498         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
110500 2006-11-26  Bruno Haible  <bruno@clisp.org>
110502         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
110503         noinst_LTLIBRARIES.
110505 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
110506             Bruno Haible  <bruno@clisp.org>
110508         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
110509         if compiling with "gcc -ansi".
110511 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
110513         Fix some incompatibilities with gcc -ansi -pedantic.
110514         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
110515         if compiling pedantically with GCC, unless it's C99 or later.
110516         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
110517         it mishandles gcc -ansi -pedantic as well.
110518         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
110519         if gcc -pedantic.
110520         * lib/regexec.c (check_node_accept_bytes): Don't use auto
110521         initializers for struct if -pedantic, unless it's C99 or later.
110523 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
110525         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
110526         Don't close an fd more than once. Identical atimes indicate
110527         success, not failure.
110529 2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)
110531         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
110533 2006-11-23  Jim Meyering  <jim@meyering.net>
110535         * build-aux/announce-gen: New file.  From coreutils.
110537 2006-11-22  Jim Meyering  <jim@meyering.net>
110539         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
110540         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
110541         (fts_read): Use a temporary to narrow the overused st_size member
110542         before using it in a switch statement.  Reported by Matthew Woehlke.
110544         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
110545         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
110547 2006-11-20  Bruno Haible  <bruno@clisp.org>
110549         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
110550         changequote instead of pairs of brackets.
110551         Reported by Andreas Schwab <schwab@suse.de>.
110553 2006-11-21  Jim Meyering  <jim@meyering.net>
110555         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
110556         so as to remain compatible with older compilers.
110557         Patch from Michael Deutschmann.
110559 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110561         * MODULES.html.sh (File system functions): Add openat.
110563         * lib/openat.h (rpl_fstatat): New macro, if
110564         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
110565         (fstatat): Define to rpl_fstatat under the same conditions,
110566         unless COMPILING_FSTATAT.
110567         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
110568         seems to have the bug.
110569         * lib/fstatat.c: New file.
110570         * modules/openat (Files): Add it.
110572 2006-11-20  Bruno Haible  <bruno@clisp.org>
110574         * Makefile: New file.
110576 2006-11-20  Jim Meyering  <jim@meyering.net>
110578         The beginnings of syntax-related checks for gnulib.
110579         * lib/Makefile: New file.
110580         * lib/t-idcache: New script.  Ensure that the two halves of
110581         idcache.c stay in sync.
110583         * lib/idcache.c: Adjust comments in user- and group- portions to
110584         be more accurate, and to be consistent with one another.
110586 2006-11-20  Jim Meyering  <jim@meyering.net>
110588         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
110589         continue using the flexible array member (thus, this module performs
110590         half as many malloc calls), with the addition that...
110591         (getgroup, getuser): Consistently record a non-match via an empty
110592         "name" string, and map an empty string match to a NULL return value.
110593         * modules/idcache (Depends-on): Re-add flexmember.
110595         * lib/idcache.c (getuser): Remove all uses of the register keyword.
110596         (getuidbyname, getgroup, getgidbyname): Likewise.
110598         Use cleaner syntax: NULL rather than 0.
110599         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
110601 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
110603         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
110604         It mishandled the case where the group was missing.
110605         Problem reported by Greg Schafer.
110606         * modules/idcache: Likewise.
110608 2006-11-18  Jim Meyering  <jim@meyering.net>
110610         * check-module (%exempt_header): Add exception for some
110611         conditionally-included headers.
110613         * modules/i-ring (Depends-on): Add verify.
110614         (License): Change to LGPL.
110616 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
110618         * modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
110619         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
110620         and inttostr.h.  Use snprintf rather than uinttostr, so that
110621         LGPLed code doesn't depend on GPLed.
110623 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
110625         * modules/inline (License): Change from GPL to LGPL.
110627 2006-11-17  Jim Meyering  <jim@meyering.net>
110629         * modules/d-type (License): Switch to LGPL.
110631 2006-11-15  Bruno Haible  <bruno@clisp.org>
110633         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
110635 2006-11-15  Eric Blake  <ebb9@byu.net>
110637         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
110638         the module dependency.
110640 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
110641             Bruno Haible  <bruno@clisp.org>
110643         * gnulib-tool (func_create_testdir): Add license consistency check.
110645 2006-11-15  Eric Blake  <ebb9@byu.net>
110647         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
110648         random "(cached)" in configure output.
110650 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110652         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
110653         test for conforming inttypes.h is both announced and cached.
110655         * MODULES.html.sh (seen_modules, seen_files): New variables.
110656         (func_module): Rewrite to use a few less gnulib-tool and sed
110657         invocations.  Avoid a couple of quadratic algorithms for ...
110658         (missed_modules, missed_files): ... these, with ...
110659         (func_append, func_tmpdir): ... these new functions, from
110660         gnulib-tool.  Analogously, install traps for cleanup.
110662         * tests/test-gc.c (main): Remove unused variables.
110663         * tests/test-read-file.c: Include stdlib.h, for 'free'.
110665 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
110667         * modules/inttostr (License): Change to LGPL.
110669 2006-11-14  Eric Blake  <ebb9@byu.net>
110671         * modules/tempname (License): Change to LGPL.
110673 2006-11-14  Eric Blake  <ebb9@byu.net>
110675         * doc/functions.texi (Function Portability): *printf functions on
110676         Cygwin now understand all POSIX size specifiers.
110678 2006-11-14  Bruno Haible  <bruno@clisp.org>
110680         * modules/c-ctype (License): Change to LGPL.
110682 2006-11-12  Bruno Haible  <bruno@clisp.org>
110684         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
110685         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
110686         for GNOME libraries, for which the include files are installed in
110687         subdirectories of $prefix/include.
110689 2006-11-12  Bruno Haible  <bruno@clisp.org>
110691         * m4/lib-link.m4: Require at least autoconf-2.54.
110692         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
110693         name to underscores for the --with option.
110695 2006-11-13  Bruno Haible  <bruno@clisp.org>
110697         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
110698         the tests directory.
110699         Reported by Ralf Wildenhues.
110701 2006-11-13  Bruno Haible  <bruno@clisp.org>
110703         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
110704         (func_emit_initmacro_end): Undo the override here.
110705         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
110706         Works around the famous automake error in coreutils.
110708 2006-11-13  Eric Blake  <ebb9@byu.net>
110710         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
110711         element, not its node.
110713 2006-11-12  Bruno Haible  <bruno@clisp.org>
110715         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
110716         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
110718 2006-11-12  Bruno Haible  <bruno@clisp.org>
110720         * gnulib-tool: New option --local-symlink.
110721         (func_usage): Document it.
110722         (lsymbolic): New variable.
110723         (func_import, func_create_testdir): If --symlink was not specified,
110724         test whether --local-symlink was specified and the file comes from
110725         the local_gnulib_dir.
110727 2006-11-12  Bruno Haible  <bruno@clisp.org>
110729         * gnulib-tool (func_ln): New function.
110730         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
110732 2006-11-12  Bruno Haible  <bruno@clisp.org>
110734         Finish support for source files in subdirectories.
110735         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
110736         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
110737         AUTOMAKE_OPTIONS.
110738         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
110740 2006-11-12  Bruno Haible  <bruno@clisp.org>
110742         * gnulib-tool (func_get_automake_snippet): Synthesize also an
110743         EXTRA_lib_SOURCES augmentation.
110744         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
110746 2006-11-12  Jim Meyering  <jim@meyering.net>
110748         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
110749         file descriptors.  This also averts a failure on systems with
110750         native openat support when a traversed directory lacks "x" access.
110751         * lib/fts_.h: Include "i-ring.h"
110752         (struct FTS) [fts_fd_ring]: New member.
110753         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
110754         (FCHDIR): Add parentheses.
110755         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
110756         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
110757         When descending, rather than simply closing the previous
110758         fts_cwd_fd value, push that file descriptor onto the ring.
110759         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
110760         (fts_open): Initialize the new fd_ring member.
110761         (fts_close): Clear the ring.
110762         (fts_safe_changedir): When possible, use our new fd_ring to skip
110763         the diropen and fstat and dev/ino comparison that would normally
110764         accompany a virtual `chdir ("..")'.
110766         * modules/fts (Depends-on): Add i-ring.
110767         * modules/i-ring: New module.
110768         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
110769         * m4/i-ring.m4: New file.
110771 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110773         * gnulib-tool (func_create_testdir): Fix replacement of
110774         `build-aux' in configure.ac.  Run autotools in gltests
110775         subdirectory.
110776         (func_create_testdir, func_create_megatestdir, test): There is
110777         no need for '--force' in most autotool invocations in a new
110778         tree.  Actually fail the whole test if any of the tools, or the
110779         configure or make stages fail.
110781         Sync from Automake.
110782         * build-aux/gnupload: Revert last change.  Add pointer to upload
110783         instructions of the GNU Maintenance Instructions.
110784         Suggestion by Karl Berry.
110786 2006-11-10  Jim Meyering  <jim@meyering.net>
110788         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
110790 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110792         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
110793         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
110794         (bind_textdomain_codeset) [! ENABLE_NLS]:
110795         Evaluate all the arguments.  That way, callers get compatible behavior
110796         if the arguments have side effects.  Also, it avoids some GCC
110797         diagnostics in some cases; Joel E. Denny reported problems when Bison
110798         was configured with --enable-gcc-warnigs.
110800 2006-11-10  Jim Meyering  <jim@meyering.net>
110802         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
110803         relevant options in CFLAGS (like -O, -fno-inline) are taken into
110804         account.
110806 2006-11-10  Jim Meyering  <jim@meyering.net>
110808         * modules/inline: New file/module.
110809         * modules/xalloc (Files): Remove m4/inline.m4.
110810         (Depends-on): Add inline, instead.
110811         * modules/oset: Likewise.
110812         * modules/list: Likewise.
110814 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
110816         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
110817         Problem reported by Matthew Woehlke.
110819 2006-11-09  Bruno Haible  <bruno@clisp.org>
110821         * lib/tempname.c (gen_tempname): Remove variant that invokes
110822         __gen_tempname.
110823         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
110824         __gen_tempname.
110826 2006-11-08  Bruno Haible  <bruno@clisp.org>
110828         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
110829         to 'yes' instead of 'cross-compiling'.
110831 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
110833         * lib/quotearg.h (quotearg_free): New decl.
110834         * lib/quotearg.c (quotearg_free): New function.
110835         (slot0, nslots, slotvec0, slotvec):
110836         Now file-scope so that quotearg_free can get at them.
110838 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110840         Sync from Automake.
110841         * build-aux/gnupload: Add missing 'gnu' to example URL.
110842         Report by Karl Berry.
110844 2006-11-08  Bruno Haible  <bruno@clisp.org>
110846         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
110847         Suggested by Paul Eggert.
110849 2006-11-08  Jim Meyering  <jim@meyering.net>
110851         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
110852         It's already included if !_LIBC.
110853         (fts_safe_changedir): Add a comment.
110855 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110857         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
110858         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
110859         Matthew Woehlke.
110861         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
110862         definitions up, to avoid colliding with change below.
110863         (static_inline) [HAVE_INLINE]: New macro.
110864         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
110865         Provide extern decls when !HAVE_INLINE.  Do not define unless
110866         static_inline is defined, either by us or by xmalloc.c.  Use
110867         static_inline rather than static inline.
110868         (XCALLOC): Optimize sizeof(T) = 1 case.
110869         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
110871 2006-11-07  Bruno Haible  <bruno@clisp.org>
110873         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
110874         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
110875         AC_C_INLINE.
110876         * modules/xalloc (Files): Add m4/inline.m4.
110878 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110880         * README: Fix typo.
110881         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
110882         (Miscellanous Notes): ...from this.
110884 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
110886         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
110887         Mention that offsetof should be used instead of sizeof.
110888         From Bruno Haible.
110890 2006-11-07  Bruno Haible  <bruno@clisp.org>
110892         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
110894 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110896         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110897         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
110898         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110899         (gl_tree_add_before, gl_tree_add_after):
110900         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
110901         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
110902         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
110903         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
110904         (gl_linked_add_after, gl_linked_add_at): Likewise.
110905         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
110906         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
110907         (gl_tree_add_before, gl_tree_add_after): Likewise.
110908         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
110909         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
110910         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
110912 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
110914         * lib/gl_oset.h: Use C comment style, not C++ comment style.
110916 2006-11-06  Bruno Haible  <bruno@clisp.org>
110918         * m4/inline.m4: New file.
110919         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
110920         * modules/list (Files): Add m4/inline.m4.
110921         * modules/oset (Files): Likewise.
110923 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
110925         * lib/idcache.c: Include <stddef.h>, for offsetof.
110926         (struct userid.name): Change from char * to a flexible array member.
110927         All uses changed.
110928         * modules/idcache (Depends-on): Add flexmember.
110930         * MODULES.html.sh (Core language properties): New module flexmember.
110931         * modules/flexmember, m4/flexmember.m4: New files.
110933         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
110934         inline functions that are identical with the old xnmalloc_inline,
110935         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
110936         that we can avoid some unnecessary integer multiplications and
110937         divisions in the common case where the element size is known at
110938         compile time.
110939         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
110940         needed.
110941         (xnboundedmalloc): Remove.
110942         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
110943         arguments, for consistency with rest of this header.
110944         (xcharalloc): Rewrite using XNMALLOC.
110945         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
110946         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
110947         versions have been moved to lib/xalloc.h and renamed to be the
110948         non-*_inline versions.
110949         (xmalloc, xrealloc): Implement without reference to the xnmalloc
110950         and xnrealloc functions, since those functions are now inline and
110951         now call us.
110952         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
110953         renaming described above.
110954         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
110955         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
110956         captures the dependency in AC_C_INLINE.
110958         New module canonicalize-lgpl, proposed by Charles Wilson in
110959         <http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
110960         with a few small changes afterwards.
110961         * MODULES.html.sh (File system functions): New module
110962         canonicalize-lgpl.
110963         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
110964         and canonicalize_file_name.
110965         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
110966         * modules/canonicalize-lgpl: New files.
110968 2006-11-05  Bruno Haible  <bruno@clisp.org>
110970         * gnulib-tool (func_import, func_create_testdir): Create directories
110971         also for files in subdirectories of lib/.
110973 2006-11-05  Bruno Haible  <bruno@clisp.org>
110975         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
110976         ANSI C compliant.
110978 2006-11-03  Bruno Haible  <bruno@clisp.org>
110980         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
110981         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
110982         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
110983         (xnboundedmalloc): New inline function.
110984         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
110985         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
110986         xmalloc.
110987         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
110988         xmalloc.
110989         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
110990         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
110991         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
110992         xmalloc.
110993         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
110994         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
110995         xmalloc.
110996         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
110997         gl_tree_add_after): Use XMALLOC instead of xmalloc.
110998         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
110999         xmalloc.
111000         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
111001         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
111002         gl_tree_add_after): Use XMALLOC instead of xmalloc.
111003         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
111004         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
111005         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
111006         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
111008 2006-11-03  Bruno Haible  <bruno@clisp.org>
111010         * lib/c-ctype.h [C++]: Define functions without name mangling.
111011         * lib/fwriteerror.h [C++]: Likewise.
111012         * lib/gcd.h [C++]: Likewise.
111013         * lib/linebreak.h [C++]: Likewise.
111015 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
111017         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
111018         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
111019         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
111020         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
111021         Check for functions and headers just once.
111022         Check for declaration of canonicalize_file_name.
111023         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
111025 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111027         * gnulib-tool (func_import): Fix typo in actioncmd.
111029 2006-11-02  Bruno Haible  <bruno@clisp.org>
111031         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
111032         newline sequence in the Makefile.am snippet as a space, like "make"
111033         does.
111034         Reported by Roger Persson <perrog@gmail.com>.
111036 2006-11-01  Bruno Haible  <bruno@clisp.org>
111038         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
111039         already declared in <string.h>.
111040         * lib/strcase.h (strncasecmp): Don't declare it if yes.
111042 2006-11-01  Bruno Haible  <bruno@clisp.org>
111044         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
111045         * lib/strcase.h: Include <string.h>.
111046         (strcasecmp): Define to rpl_strcasecmp here.
111048 2006-11-01  Bruno Haible  <bruno@clisp.org>
111050         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
111052 2006-11-01  Eric Blake  <ebb9@byu.net>
111054         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
111056         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
111058 2006-10-29  Bruno Haible  <bruno@clisp.org>
111060         Make it compile in C++ mode.
111061         * lib/full-write.c (full_rw): Add a cast.
111063 2006-11-01  Bruno Haible  <bruno@clisp.org>
111065         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
111066         be POSIX compliant.
111067         Reported by Roger Persson <perrog@gmail.com>.
111069 2006-11-01  Eric Blake  <ebb9@byu.net>
111071         * lib/getopt_.h: Fix comments.
111073 2006-10-31  Eric Blake  <ebb9@byu.net>
111075         * modules/tmpdir (Depends-on): Add sys_stat.
111076         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
111077         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
111078         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
111079         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
111080         tempname.
111082 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
111084         Avoid some C++ diagnostics reported by Bruno Haible.
111085         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
111086         xmalloc.
111087         (quotearg_alloc): Use xcharalloc rather than xmalloc.
111088         (struct slotvec): Move to top level.
111089         (quotearg_n_options): Rewrite to avoid xmalloc.
111090         * lib/xalloc.h (xcharalloc): New function.
111091         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
111092         [defined __cplusplus]: Add function template that provides result
111093         type propagation.  This part of the change is from Bruno Haible.
111095 2006-10-29  Bruno Haible  <bruno@clisp.org>
111097         Make it compile in C++ mode.
111098         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
111099         * lib/strnlen1.c (strnlen1): Cast memchr result.
111100         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
111101         * lib/clean-temp.c (string_equals, string_hash): Add casts.
111102         (create_temp_dir): Rename local variable 'template'.
111103         (compile_csharp_using_sscli): Add cast.
111104         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
111105         * lib/findprog.c (find_in_path): Likewise.
111106         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
111107         * lib/wait-process.c (register_slave_subprocess): Likewise.
111109 2006-10-22  Bruno Haible  <bruno@clisp.org>
111111         * modules/tsearch: New file.
111112         * lib/tsearch.h: New file.
111113         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
111114         * m4/tsearch.m4: New file.
111115         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
111117 2006-10-29  Eric Blake  <ebb9@byu.net>
111119         * lib/arcfour.c: Assume config.h.
111120         * lib/arctwo.c: Likewise.
111121         * lib/base64.c: Likewise.
111122         * lib/check-version.c: Likewise.
111123         * lib/crc.c: Likewise.
111124         * lib/des.c: Likewise.
111125         * lib/gc-gnulib.c: Likewise.
111126         * lib/gc-libgcrypt.c: Likewise.
111127         * lib/gc-pbkdf2-sha1.c: Likewise.
111128         * lib/getaddrinfo.c: Likewise.
111129         * lib/getdelim.c: Likewise.
111130         * lib/getline.c: Likewise.
111131         * lib/hmac-md5.c: Likewise.
111132         * lib/hmac-sha1.c: Likewise.
111133         * lib/iconvme.c: Likewise.
111134         * lib/md2.c: Likewise.
111135         * lib/md4.c: Likewise.
111136         * lib/memxor.c: Likewise.
111137         * lib/read-file.c: Likewise.
111138         * lib/readline.c: Likewise.
111139         * lib/rijndael-alg-fst.c: Likewise.
111140         * lib/rijndael-api-fst.c: Likewise.
111141         * lib/xgetdomainname.c: Likewise.
111143 2006-10-28  Eric Blake  <ebb9@byu.net>
111145         * lib/xstrndup.c: Assume config.h.
111147 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
111149         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
111150         stat-macros.h is now for our own macros, whereas stat_h is for
111151         macros in the <sys/stat.h> name space.
111152         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
111153         (STAT_MACROS_H): Remove.
111154         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
111155         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
111156         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
111157         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
111158         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
111159         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
111160         Move these macros to ...
111161         * lib/stat_.h: here.  Don't include stat-macros.h.
111162         * lib/canonicalize.c: Don't include stat-macros.h.
111163         * lib/chown.c: Likewise.
111164         * lib/euidaccess.c: Likewise.
111165         * lib/file-type.c: Likewise.
111166         * lib/filemode.c: Likewise.
111167         * lib/glob.c: Likewise.
111168         * lib/isapipe.c: Likewise.
111169         * lib/lchown.c: Likewise.
111170         * lib/lstat.c: Likewise.
111171         * lib/mkdir-p.c: Likewise.
111172         * lib/rmdir.c: Likewise.
111173         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
111174         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
111175         unless mkdir isn't declared, to speed up 'configure'.
111176         Always create sys/stat.h, since it's unlikely any real sys/stat.h
111177         would define all the S_* symbols.
111178         * modules/canonicalize (Depends-on):
111179         Depend on sys_stat, not stat-macros.
111180         * modules/chown: Likewise.
111181         * modules/euidaccess: Likewise.
111182         * modules/filemode: Likewise.
111183         * modules/file-type: Likewise.
111184         * modules/glob: Likewise.
111185         * modules/isapipe: Likewise.
111186         * modules/lchown: Likewise.
111187         * modules/lstat: Likewise.
111188         * modules/mkancesdirs: Likewise.
111189         * modules/rmdir: Likewise.
111190         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
111191         * modules/modechange: Likewise.
111192         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
111193         (configure.ac): Remove gl_STAT_MACROS.
111194         * modules/sys_stat (Depends-on): Remove stat-macros.
111196 2006-10-27  Bruno Haible  <bruno@clisp.org>
111198         * m4/signed.m4: Remove file.
111199         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
111200         invocation.
111201         * modules/vasnprintf (Files): Remove m4/signed.m4.
111203 2006-10-27  Bruno Haible  <bruno@clisp.org>
111205         Update to GNU gettext 0.16.
111206         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
111207         m4/inttypes-h.m4, m4/signed.m4.
111208         * m4/gettext.m4: Update to GNU gettext 0.16.
111209         * m4/intl.m4: New file, from GNU gettext.
111210         * m4/intldir.m4: New file, from GNU gettext.
111211         * config/srclist.txt: Update
111213 2006-10-27  Eric Blake  <ebb9@byu.net>
111215         * MODULES.html.sh: Document tempname.
111216         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
111217         dependencies.
111218         (Files): Move lib/tempname.c...
111219         * modules/tempname: ...to this new module.
111220         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
111221         (gl_PREREQ_TEMPNAME): Move...
111222         * m4/tempname.m4: ...to this new file.
111223         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
111224         * modules/sys_stat (Depends-on): Add stat-macros.
111225         * lib/stat_.h (includes): Pick up stat macros.
111226         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
111227         if stat macros are broken.
111228         * lib/tempname.c (includes): No need to include "stat-macros.h".
111229         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
111230         (direxists, __path_search) [!_LIBC]: Don't compile these in
111231         gnulib; the tmpdir module covers that.
111232         * lib/tempname.h: New file.
111234 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
111236         * COPYING: Explain how gnulib-tool converts licence headers.
111237         Almost all wording by Eric Blake.
111239 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
111241         * lib/mbchar.h (is_basic_table): Make read-only.
111242         * lib/mbchar.c (is_basic_table): Likewise.
111243         Reported by John Darrington.
111245 2006-10-25  Bruno Haible  <bruno@clisp.org>
111247         * lib/progname.h (set_program_name): Undefine before defining.
111249 2006-10-25  Bruno Haible  <bruno@clisp.org>
111251         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
111252         false for non-gcc C++ compilers.
111253         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
111255 2006-10-24  Bruno Haible  <bruno@clisp.org>
111257         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
111258         iconv implementations like Irix iconv.
111260 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111262         * modules/vararrays: New file.
111263         * m4/vararrays.m4: New file, taken from diffutils.
111264         * MODULES.html.sh: New module vararrays.
111266 2006-10-24  Karl Berry  <karl@gnu.org>
111268         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
111269         Don't call GNU Unix.
111271 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111273         * users.txt: Add Libtool.
111275         Sync from Libtool:
111277         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111279         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
111280         to gnulib's policy of including config.h unconditionally.
111282 2006-10-24  Bruno Haible  <bruno@clisp.org>
111284         * modules/wcwidth (Files): Add m4/wint_t.m4.
111285         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
111286         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
111288 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
111290         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
111291         to pacify GCC with some -W flags enabled.  Problem reported by
111292         Bruno Haible.
111294 2006-10-24  Jim Meyering  <jim@meyering.net>
111296         * MODULES.html.sh: Remove uinttostr.  It's not a module.
111297         Reported by Karl Berry.
111299 2006-10-23  Bruno Haible  <bruno@clisp.org>
111301         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
111303 2006-10-24  Bruno Haible  <bruno@clisp.org>
111305         * lib/gl_list.h: Use C comment style, not C++ comment style.
111307 2006-10-23  Eric Blake  <ebb9@byu.net>
111309         * lib/getaddrinfo.c (includes): Add missing include.
111311 2006-10-23  Bruno Haible  <bruno@clisp.org>
111312             Paul Eggert  <eggert@cs.ucla.edu>
111314         Ability to rename obstack_free.
111315         * lib/obstack.h (__obstack_free): New macro. Declare instead of
111316         obstack_free.
111317         (obstack_free): Invoke the __obstack_free macro.
111318         * lib/obstack.c (obstack_free): Use __obstack_free macro.
111320 2006-10-23  Bruno Haible  <bruno@clisp.org>
111321             Paul Eggert  <eggert@cs.ucla.edu>
111323         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
111324         __argc, __argv from the declaration. (They are defined as macros on
111325         mingw.)
111327 2006-10-22  Bruno Haible  <bruno@clisp.org>
111329         * doc/gnulib-intro.texi: New file.
111330         * doc/gnulib.texi: Include it.
111332 2006-10-21  Bruno Haible  <bruno@clisp.org>
111334         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
111335         "Introduction", "Miscellanous Notes", "Particular Modules".
111337 2006-10-21  Bruno Haible  <bruno@clisp.org>
111339         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
111340         Change mostlyclean-local rule to avoid sh syntax error from bash
111341         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
111343 2006-10-23  Jim Meyering  <jim@meyering.net>
111345         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
111346         in place of snprintf.
111348         * modules/inttostr (Files): Add lib/uinttostr.c.
111349         * lib/uinttostr.c (inttostr): New file/function.
111350         * lib/inttostr.h (uinttostr): Declare.
111351         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
111352         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
111353         Add uinttostr.
111354         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
111356 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111358         * lib/canonicalize.c (ELOOP): Define if not already defined.
111359         Problem reported by Bruno Haible in
111360         <http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.
111362 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
111364         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
111365         Problem reported by Perry Smith and Ville Laurikari.
111367         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
111368         uses.
111370 2006-10-19  Bruno Haible  <bruno@clisp.org>
111372         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
111373         for mingw.
111375 2006-10-19  Bruno Haible  <bruno@clisp.org>
111377         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
111378         Needed for mingw.
111380 2006-10-19  Bruno Haible  <bruno@clisp.org>
111382         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
111384 2006-10-19  Bruno Haible  <bruno@clisp.org>
111386         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
111387         it.
111389 2006-10-19  Bruno Haible  <bruno@clisp.org>
111391         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
111392         invocation.
111394 2006-10-19  Bruno Haible  <bruno@clisp.org>
111396         * gnulib-tool (func_create_testdir): Don't include ftruncate and
111397         mountlist by default.
111399 2006-10-16  Bruno Haible  <bruno@clisp.org>
111401         * lib/c-strstr.c: Include c-strstr.h.
111403 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
111405         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
111406         in a slash.
111408 2006-10-18  Bruno Haible  <bruno@clisp.org>
111410         * lib/lock.h [C++]: Wrap definitions in extern "C".
111412 2006-10-18  Bruno Haible  <bruno@clisp.org>
111414         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
111415         gl_LIBOBJS list.
111417 2006-10-18  Bruno Haible  <bruno@clisp.org>
111419         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
111421 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
111423         * lib/xstrtol.h: Include gettext.h.
111424         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
111425         Problem reported by Eric Blake.
111426         * modules/xstrtol (Depends-on): Add gettext-h.
111428 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
111430         * lib/strftime.c (advance): New macro.
111431         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
111432         incomplete type, so you can't add 0 to it.  Problem and patch
111433         reported by Eelco Dolstra for dietlibc.
111435 2006-10-18  Jim Meyering  <jim@meyering.net>
111437         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
111438         type for a local, and rename it: s/up/user_proc/.
111440 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
111442         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
111443         READ_UTMP_USER_PROCESS.
111444         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
111446 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
111448         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
111449         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
111451 2006-10-17  Eric Blake  <ebb9@byu.net>
111453         * lib/sigprocmask.c (sigprocmask): Fix typo.
111455         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
111457         * modules/clean-temp (Makefile.am): Don't add to make output...
111458         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
111459         config.h.
111461 2006-10-17  Bruno Haible  <bruno@clisp.org>
111463         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
111464         differently if DEFAULT_TEXT_DOMAIN is set.
111466 2006-10-16  Bruno Haible  <bruno@clisp.org>
111468         * lib/clean-temp.c: Include fwriteerror.h.
111470 2006-10-16  Bruno Haible  <bruno@clisp.org>
111472         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
111474 2006-10-16  Bruno Haible  <bruno@clisp.org>
111476         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
111477         * lib/sigprocmask.h: Include <sys/types.h>.
111478         (sigset_t): Use the system's definition if present.
111480 2006-10-17  Eric Blake  <ebb9@byu.net>
111482         * lib/xvasprintf.c (includes): Assume config.h.
111483         * lib/xasprintf.c (includes): Likewise.
111485 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
111487         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
111488         at least as wide as intmax_t.
111490 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
111492         (Imported from Automake.)
111493         * build-aux/gnupload: Update to version 1.1 of directive file.
111495 2006-10-16  Eric Blake  <ebb9@byu.net>
111497         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
111498         match Automake 1.10a.
111500 2006-10-14  Bruno Haible  <bruno@clisp.org>
111502         * modules/sigprocmask: New file.
111503         * lib/sigprocmask.h: New file.
111504         * lib/sigprocmask.c: New file.
111505         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
111506         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
111507         request sigprocmask.o.
111508         (gl_PREREQ_SIGPROCMASK): New macro.
111509         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
111510         (Depends-on): Add sigprocmask.
111511         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
111512         gt_SIGNALBLOCKING. Test for 'raise' only once.
111513         * lib/fatal-signal.c: Include sigprocmask.h.
111514         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
111515         unblock_fatal_signals): Define always.
111516         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
111517         sigprocmask.
111519 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
111521         Sync from Automake.
111522         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
111523         which incorrectly sets the mode of an existing destination
111524         directory.  In some cases the unpatched install-sh could do the
111525         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
111526         system.  We hope this is rare in practice, but it's clearly worth
111527         fixing.  Problem reported by Alex Unleashed in
111528         <http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
111529         Also, don't bother to check for -m bugs unless we're using -m;
111530         suggested by Stepan Kasal.
111532 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
111534         Sync from Automake.
111535         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
111536         `-c' flag, so they appear at the same position as in %FASTDEP%
111537         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
111538         which ignores unknown options only after the first non-option.
111539         Bug report against M4 by Nelson H. F. Beebe.
111541 2006-10-13  Jim Meyering  <jim@meyering.net>
111543         Fix a bug in yesterday's change.
111544         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
111545         p->fts_statp->st_dev would be used uninitialized.
111546         Ensures that we always call fts_stat on the very first entry.
111547         Miklos Szeredi reported that find -xdev stopped working.
111549 2006-10-12  Bruno Haible  <bruno@clisp.org>
111551         * gnulib-tool (func_get_automake_snippet): Append an automatically
111552         computed EXTRA_DIST augmentation.
111553         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
111554         * modules/alloca-opt (Makefile.am): Likewise.
111555         * modules/allocsa (Makefile.am): Likewise.
111556         * modules/arcfour (Makefile.am): Likewise.
111557         * modules/arctwo (Makefile.am): Likewise.
111558         * modules/argmatch (Makefile.am): Likewise.
111559         * modules/argz (Makefile.am): Likewise.
111560         * modules/atexit (Makefile.am): Likewise.
111561         * modules/backupfile (Makefile.am): Likewise.
111562         * modules/byteswap (Makefile.am): Likewise.
111563         * modules/c-strtod (Makefile.am): Likewise.
111564         * modules/c-strtold (Makefile.am): Likewise.
111565         * modules/calloc (Makefile.am): Likewise.
111566         * modules/canon-host (Makefile.am): Likewise.
111567         * modules/canonicalize (Makefile.am): Likewise.
111568         * modules/chdir-long (Makefile.am): Likewise.
111569         * modules/chdir-safer (Makefile.am): Likewise.
111570         * modules/check-version (Makefile.am): Likewise.
111571         * modules/chown (Makefile.am): Likewise.
111572         * modules/cloexec (Makefile.am): Likewise.
111573         * modules/close-stream (Makefile.am): Likewise.
111574         * modules/closeout (Makefile.am): Likewise.
111575         * modules/crc (Makefile.am): Likewise.
111576         * modules/csharpexec (Makefile.am): Likewise.
111577         * modules/cycle-check (Makefile.am): Likewise.
111578         * modules/des (Makefile.am): Likewise.
111579         * modules/dev-ino (Makefile.am): Likewise.
111580         * modules/dirfd (Makefile.am): Likewise.
111581         * modules/dirname (Makefile.am): Likewise.
111582         * modules/dup2 (Makefile.am): Likewise.
111583         * modules/eealloc (Makefile.am): Likewise.
111584         * modules/error (Makefile.am): Likewise.
111585         * modules/euidaccess (Makefile.am): Likewise.
111586         * modules/exclude (Makefile.am): Likewise.
111587         * modules/exitfail (Makefile.am): Likewise.
111588         * modules/fcntl-safer (Makefile.am): Likewise.
111589         * modules/fcntl (Makefile.am): Likewise.
111590         * modules/file-type (Makefile.am): Likewise.
111591         * modules/fileblocks (Makefile.am): Likewise.
111592         * modules/filemode (Makefile.am): Likewise.
111593         * modules/filenamecat (Makefile.am): Likewise.
111594         * modules/fnmatch (Makefile.am): Likewise.
111595         * modules/fopen-safer (Makefile.am): Likewise.
111596         * modules/fpending (Makefile.am): Likewise.
111597         * modules/fprintftime (Makefile.am): Likewise.
111598         * modules/free (Makefile.am): Likewise.
111599         * modules/fsusage (Makefile.am): Likewise.
111600         * modules/ftruncate (Makefile.am): Likewise.
111601         * modules/fts (Makefile.am): Likewise.
111602         * modules/gc-arcfour (Makefile.am): Likewise.
111603         * modules/gc-des (Makefile.am): Likewise.
111604         * modules/gc-hmac-md5 (Makefile.am): Likewise.
111605         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
111606         * modules/gc-md4 (Makefile.am): Likewise.
111607         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111608         * modules/gc-sha1 (Makefile.am): Likewise.
111609         * modules/gc (Makefile.am): Likewise.
111610         * modules/getaddrinfo (Makefile.am): Likewise.
111611         * modules/getcwd (Makefile.am): Likewise.
111612         * modules/getdelim (Makefile.am): Likewise.
111613         * modules/getdomainname (Makefile.am): Likewise.
111614         * modules/getgroups (Makefile.am): Likewise.
111615         * modules/gethostname (Makefile.am): Likewise.
111616         * modules/gethrxtime (Makefile.am): Likewise.
111617         * modules/getline (Makefile.am): Likewise.
111618         * modules/getloadavg (Makefile.am): Likewise.
111619         * modules/getlogin_r (Makefile.am): Likewise.
111620         * modules/getndelim2 (Makefile.am): Likewise.
111621         * modules/getopt (Makefile.am): Likewise.
111622         * modules/getpagesize (Makefile.am): Likewise.
111623         * modules/getpass-gnu (Makefile.am): Likewise.
111624         * modules/getpass (Makefile.am): Likewise.
111625         * modules/getsubopt (Makefile.am): Likewise.
111626         * modules/gettime (Makefile.am): Likewise.
111627         * modules/gettimeofday (Makefile.am): Likewise.
111628         * modules/getugroups (Makefile.am): Likewise.
111629         * modules/getusershell (Makefile.am): Likewise.
111630         * modules/glob (Makefile.am): Likewise.
111631         * modules/group-member (Makefile.am): Likewise.
111632         * modules/hard-locale (Makefile.am): Likewise.
111633         * modules/hash (Makefile.am): Likewise.
111634         * modules/hmac-md5 (Makefile.am): Likewise.
111635         * modules/hmac-sha1 (Makefile.am): Likewise.
111636         * modules/human (Makefile.am): Likewise.
111637         * modules/idcache (Makefile.am): Likewise.
111638         * modules/imaxabs (Makefile.am): Likewise.
111639         * modules/imaxdiv (Makefile.am): Likewise.
111640         * modules/inet_ntop (Makefile.am): Likewise.
111641         * modules/inet_pton (Makefile.am): Likewise.
111642         * modules/intprops (Makefile.am): Likewise.
111643         * modules/inttostr (Makefile.am): Likewise.
111644         * modules/inttypes (Makefile.am): Likewise.
111645         * modules/isapipe (Makefile.am): Likewise.
111646         * modules/javaversion (Makefile.am): Likewise.
111647         * modules/lchmod (Makefile.am): Likewise.
111648         * modules/lchown (Makefile.am): Likewise.
111649         * modules/localcharset (Makefile.am): Likewise.
111650         * modules/long-options (Makefile.am): Likewise.
111651         * modules/lstat (Makefile.am): Likewise.
111652         * modules/malloc (Makefile.am): Likewise.
111653         * modules/mathl (Makefile.am): Likewise.
111654         * modules/mbchar (Makefile.am): Likewise.
111655         * modules/md2 (Makefile.am): Likewise.
111656         * modules/md4 (Makefile.am): Likewise.
111657         * modules/md5 (Makefile.am): Likewise.
111658         * modules/memcasecmp (Makefile.am): Likewise.
111659         * modules/memchr (Makefile.am): Likewise.
111660         * modules/memcmp (Makefile.am): Likewise.
111661         * modules/memcoll (Makefile.am): Likewise.
111662         * modules/memcpy (Makefile.am): Likewise.
111663         * modules/memmem (Makefile.am): Likewise.
111664         * modules/memmove (Makefile.am): Likewise.
111665         * modules/mempcpy (Makefile.am): Likewise.
111666         * modules/memrchr (Makefile.am): Likewise.
111667         * modules/memset (Makefile.am): Likewise.
111668         * modules/memxor (Makefile.am): Likewise.
111669         * modules/mkancesdirs (Makefile.am): Likewise.
111670         * modules/mkdir-p (Makefile.am): Likewise.
111671         * modules/mkdir (Makefile.am): Likewise.
111672         * modules/mkdtemp (Makefile.am): Likewise.
111673         * modules/mkstemp (Makefile.am): Likewise.
111674         * modules/mktime (Makefile.am): Likewise.
111675         * modules/modechange (Makefile.am): Likewise.
111676         * modules/mountlist (Makefile.am): Likewise.
111677         * modules/nanosleep (Makefile.am): Likewise.
111678         * modules/obstack (Makefile.am): Likewise.
111679         * modules/openat (Makefile.am): Likewise.
111680         * modules/pagealign_alloc (Makefile.am): Likewise.
111681         * modules/pathmax (Makefile.am): Likewise.
111682         * modules/physmem (Makefile.am): Likewise.
111683         * modules/poll (Makefile.am): Likewise.
111684         * modules/posixtm (Makefile.am): Likewise.
111685         * modules/posixver (Makefile.am): Likewise.
111686         * modules/putenv (Makefile.am): Likewise.
111687         * modules/quote (Makefile.am): Likewise.
111688         * modules/quotearg (Makefile.am): Likewise.
111689         * modules/raise (Makefile.am): Likewise.
111690         * modules/read-file (Makefile.am): Likewise.
111691         * modules/readline (Makefile.am): Likewise.
111692         * modules/readlink (Makefile.am): Likewise.
111693         * modules/readtokens (Makefile.am): Likewise.
111694         * modules/readutmp (Makefile.am): Likewise.
111695         * modules/realloc (Makefile.am): Likewise.
111696         * modules/regex (Makefile.am): Likewise.
111697         * modules/rename-dest-slash (Makefile.am): Likewise.
111698         * modules/rename (Makefile.am): Likewise.
111699         * modules/rijndael (Makefile.am): Likewise.
111700         * modules/rmdir (Makefile.am): Likewise.
111701         * modules/rpmatch (Makefile.am): Likewise.
111702         * modules/safe-read (Makefile.am): Likewise.
111703         * modules/safe-write (Makefile.am): Likewise.
111704         * modules/same-inode (Makefile.am): Likewise.
111705         * modules/same (Makefile.am): Likewise.
111706         * modules/save-cwd (Makefile.am): Likewise.
111707         * modules/savedir (Makefile.am): Likewise.
111708         * modules/setenv (Makefile.am): Likewise.
111709         * modules/settime (Makefile.am): Likewise.
111710         * modules/sha1 (Makefile.am): Likewise.
111711         * modules/sig2str (Makefile.am): Likewise.
111712         * modules/snprintf (Makefile.am): Likewise.
111713         * modules/stat-macros (Makefile.am): Likewise.
111714         * modules/stat-time (Makefile.am): Likewise.
111715         * modules/stdbool (Makefile.am): Likewise.
111716         * modules/stdint (Makefile.am): Likewise.
111717         * modules/stdlib-safer (Makefile.am): Likewise.
111718         * modules/stpcpy (Makefile.am): Likewise.
111719         * modules/stpncpy (Makefile.am): Likewise.
111720         * modules/strcase (Makefile.am): Likewise.
111721         * modules/strcasestr (Makefile.am): Likewise.
111722         * modules/strchrnul (Makefile.am): Likewise.
111723         * modules/strcspn (Makefile.am): Likewise.
111724         * modules/strdup (Makefile.am): Likewise.
111725         * modules/strerror (Makefile.am): Likewise.
111726         * modules/strftime (Makefile.am): Likewise.
111727         * modules/strndup (Makefile.am): Likewise.
111728         * modules/strnlen (Makefile.am): Likewise.
111729         * modules/strpbrk (Makefile.am): Likewise.
111730         * modules/strsep (Makefile.am): Likewise.
111731         * modules/strstr (Makefile.am): Likewise.
111732         * modules/strtod (Makefile.am): Likewise.
111733         * modules/strtoimax (Makefile.am): Likewise.
111734         * modules/strtok_r (Makefile.am): Likewise.
111735         * modules/strtol (Makefile.am): Likewise.
111736         * modules/strtoll (Makefile.am): Likewise.
111737         * modules/strtoul (Makefile.am): Likewise.
111738         * modules/strtoull (Makefile.am): Likewise.
111739         * modules/strtoumax (Makefile.am): Likewise.
111740         * modules/strverscmp (Makefile.am): Likewise.
111741         * modules/sys_socket (Makefile.am): Likewise.
111742         * modules/sys_stat (Makefile.am): Likewise.
111743         * modules/sysexits (Makefile.am): Likewise.
111744         * modules/time_r (Makefile.am): Likewise.
111745         * modules/timegm (Makefile.am): Likewise.
111746         * modules/timespec (Makefile.am): Likewise.
111747         * modules/tmpfile-safer (Makefile.am): Likewise.
111748         * modules/trim (Makefile.am): Likewise.
111749         * modules/unistd-safer (Makefile.am): Likewise.
111750         * modules/unlinkdir (Makefile.am): Likewise.
111751         * modules/unlocked-io (Makefile.am): Likewise.
111752         * modules/userspec (Makefile.am): Likewise.
111753         * modules/utime (Makefile.am): Likewise.
111754         * modules/utimecmp (Makefile.am): Likewise.
111755         * modules/utimens (Makefile.am): Likewise.
111756         * modules/vasnprintf (Makefile.am): Likewise.
111757         * modules/vasprintf (Makefile.am): Likewise.
111758         * modules/vsnprintf (Makefile.am): Likewise.
111759         * modules/xalloc (Makefile.am): Likewise.
111760         * modules/xgetcwd (Makefile.am): Likewise.
111761         * modules/xnanosleep (Makefile.am): Likewise.
111762         * modules/xreadlink (Makefile.am): Likewise.
111763         * modules/xstrtod (Makefile.am): Likewise.
111764         * modules/xstrtol (Makefile.am): Likewise.
111765         * modules/xstrtold (Makefile.am): Likewise.
111766         * modules/yesno (Makefile.am): Likewise.
111767         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
111769 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
111771         * modules/error (Makefile.am): Distribute files through
111772         EXTRA_DIST, not lib_SOURCES.
111774 2006-10-12  Eric Blake  <ebb9@byu.net>
111776         * modules/error (Makefile.am): Distribute files in /lib.
111777         * modules/obstack (Makefile.am): Likewise.
111779 2006-10-12  Bruno Haible  <bruno@clisp.org>
111781         * modules/acl (Makefile.am): Distribute all files in lib/ through
111782         EXTRA_DIST.
111783         * modules/arcfour (Makefile.am): Likewise.
111784         * modules/arctwo (Makefile.am): Likewise.
111785         * modules/argmatch (Makefile.am): Likewise.
111786         * modules/argz (Makefile.am): Likewise.
111787         * modules/atexit (Makefile.am): Likewise.
111788         * modules/backupfile (Makefile.am): Likewise.
111789         * modules/c-strtod (Makefile.am): Likewise.
111790         * modules/c-strtold (Makefile.am): Likewise.
111791         * modules/calloc (Makefile.am): Likewise.
111792         * modules/canon-host (Makefile.am): Likewise.
111793         * modules/canonicalize (Makefile.am): Likewise.
111794         * modules/chdir-long (Makefile.am): Likewise.
111795         * modules/chdir-safer (Makefile.am): Likewise.
111796         * modules/check-version (Makefile.am): Likewise.
111797         * modules/chown (Makefile.am): Likewise.
111798         * modules/cloexec (Makefile.am): Likewise.
111799         * modules/close-stream (Makefile.am): Likewise.
111800         * modules/closeout (Makefile.am): Likewise.
111801         * modules/crc (Makefile.am): Likewise.
111802         * modules/cycle-check (Makefile.am): Likewise.
111803         * modules/des (Makefile.am): Likewise.
111804         * modules/dirfd (Makefile.am): Likewise.
111805         * modules/dirname (Makefile.am): Likewise.
111806         * modules/dup2 (Makefile.am): Likewise.
111807         * modules/euidaccess (Makefile.am): Likewise.
111808         * modules/exclude (Makefile.am): Likewise.
111809         * modules/exitfail (Makefile.am): Likewise.
111810         * modules/fcntl-safer (Makefile.am): Likewise.
111811         * modules/file-type (Makefile.am): Likewise.
111812         * modules/fileblocks (Makefile.am): Likewise.
111813         * modules/filemode (Makefile.am): Likewise.
111814         * modules/filenamecat (Makefile.am): Likewise.
111815         * modules/fnmatch (Makefile.am): Likewise.
111816         * modules/fopen-safer (Makefile.am): Likewise.
111817         * modules/fpending (Makefile.am): Likewise.
111818         * modules/fprintftime (Makefile.am): Likewise.
111819         * modules/free (Makefile.am): Likewise.
111820         * modules/fsusage (Makefile.am): Likewise.
111821         * modules/ftruncate (Makefile.am): Likewise.
111822         * modules/fts (Makefile.am): Likewise.
111823         * modules/gc (Makefile.am): Likewise.
111824         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
111825         * modules/getaddrinfo (Makefile.am): Likewise.
111826         * modules/getcwd (Makefile.am): Likewise.
111827         * modules/getdelim (Makefile.am): Likewise.
111828         * modules/getdomainname (Makefile.am): Likewise.
111829         * modules/getgroups (Makefile.am): Likewise.
111830         * modules/gethostname (Makefile.am): Likewise.
111831         * modules/gethrxtime (Makefile.am): Likewise.
111832         * modules/getline (Makefile.am): Likewise.
111833         * modules/getloadavg (Makefile.am): Likewise.
111834         * modules/getlogin_r (Makefile.am): Likewise.
111835         * modules/getopt (Makefile.am): Likewise.
111836         * modules/getpass (Makefile.am): Likewise.
111837         * modules/getpass-gnu (Makefile.am): Likewise.
111838         * modules/getsubopt (Makefile.am): Likewise.
111839         * modules/gettime (Makefile.am): Likewise.
111840         * modules/gettimeofday (Makefile.am): Likewise.
111841         * modules/getugroups (Makefile.am): Likewise.
111842         * modules/getusershell (Makefile.am): Likewise.
111843         * modules/glob (Makefile.am): Likewise.
111844         * modules/group-member (Makefile.am): Likewise.
111845         * modules/hard-locale (Makefile.am): Likewise.
111846         * modules/hash (Makefile.am): Likewise.
111847         * modules/hmac-md5 (Makefile.am): Likewise.
111848         * modules/hmac-sha1 (Makefile.am): Likewise.
111849         * modules/human (Makefile.am): Likewise.
111850         * modules/idcache (Makefile.am): Likewise.
111851         * modules/imaxabs (Makefile.am): Likewise.
111852         * modules/imaxdiv (Makefile.am): Likewise.
111853         * modules/inet_ntop (Makefile.am): Likewise.
111854         * modules/inet_pton (Makefile.am): Likewise.
111855         * modules/inttostr (Makefile.am): Likewise.
111856         * modules/isapipe (Makefile.am): Likewise.
111857         * modules/lchown (Makefile.am): Likewise.
111858         * modules/long-options (Makefile.am): Likewise.
111859         * modules/lstat (Makefile.am): Likewise.
111860         * modules/malloc (Makefile.am): Likewise.
111861         * modules/mathl (Makefile.am): Likewise.
111862         * modules/mbchar (Makefile.am): Likewise.
111863         * modules/md2 (Makefile.am): Likewise.
111864         * modules/md4 (Makefile.am): Likewise.
111865         * modules/md5 (Makefile.am): Likewise.
111866         * modules/memcasecmp (Makefile.am): Likewise.
111867         * modules/memchr (Makefile.am): Likewise.
111868         * modules/memcmp (Makefile.am): Likewise.
111869         * modules/memcoll (Makefile.am): Likewise.
111870         * modules/memcpy (Makefile.am): Likewise.
111871         * modules/memmem (Makefile.am): Likewise.
111872         * modules/memmove (Makefile.am): Likewise.
111873         * modules/mempcpy (Makefile.am): Likewise.
111874         * modules/memrchr (Makefile.am): Likewise.
111875         * modules/memset (Makefile.am): Likewise.
111876         * modules/memxor (Makefile.am): Likewise.
111877         * modules/mkancesdirs (Makefile.am): Likewise.
111878         * modules/mkdir (Makefile.am): Likewise.
111879         * modules/mkdir-p (Makefile.am): Likewise.
111880         * modules/mkdtemp (Makefile.am): Likewise.
111881         * modules/mkstemp (Makefile.am): Likewise.
111882         * modules/mktime (Makefile.am): Likewise.
111883         * modules/modechange (Makefile.am): Likewise.
111884         * modules/mountlist (Makefile.am): Likewise.
111885         * modules/nanosleep (Makefile.am): Likewise.
111886         * modules/openat (Makefile.am): Likewise.
111887         * modules/pagealign_alloc (Makefile.am): Likewise.
111888         * modules/physmem (Makefile.am): Likewise.
111889         * modules/poll (Makefile.am): Likewise.
111890         * modules/posixtm (Makefile.am): Likewise.
111891         * modules/posixver (Makefile.am): Likewise.
111892         * modules/putenv (Makefile.am): Likewise.
111893         * modules/quote (Makefile.am): Likewise.
111894         * modules/quotearg (Makefile.am): Likewise.
111895         * modules/raise (Makefile.am): Likewise.
111896         * modules/read-file (Makefile.am): Likewise.
111897         * modules/readline (Makefile.am): Likewise.
111898         * modules/readlink (Makefile.am): Likewise.
111899         * modules/readtokens (Makefile.am): Likewise.
111900         * modules/readutmp (Makefile.am): Likewise.
111901         * modules/realloc (Makefile.am): Likewise.
111902         * modules/regex (Makefile.am): Likewise.
111903         * modules/rename (Makefile.am): Likewise.
111904         * modules/rename-dest-slash (Makefile.am): Likewise.
111905         * modules/rijndael (Makefile.am): Likewise.
111906         * modules/rmdir (Makefile.am): Likewise.
111907         * modules/rpmatch (Makefile.am): Likewise.
111908         * modules/safe-read (Makefile.am): Likewise.
111909         * modules/safe-write (Makefile.am): Likewise.
111910         * modules/same (Makefile.am): Likewise.
111911         * modules/save-cwd (Makefile.am): Likewise.
111912         * modules/savedir (Makefile.am): Likewise.
111913         * modules/setenv (Makefile.am): Likewise.
111914         * modules/settime (Makefile.am): Likewise.
111915         * modules/sha1 (Makefile.am): Likewise.
111916         * modules/sig2str (Makefile.am): Likewise.
111917         * modules/snprintf (Makefile.am): Likewise.
111918         * modules/stdlib-safer (Makefile.am): Likewise.
111919         * modules/stpcpy (Makefile.am): Likewise.
111920         * modules/stpncpy (Makefile.am): Likewise.
111921         * modules/strcase (Makefile.am): Likewise.
111922         * modules/strcasestr (Makefile.am): Likewise.
111923         * modules/strchrnul (Makefile.am): Likewise.
111924         * modules/strcspn (Makefile.am): Likewise.
111925         * modules/strdup (Makefile.am): Likewise.
111926         * modules/strerror (Makefile.am): Likewise.
111927         * modules/strftime (Makefile.am): Likewise.
111928         * modules/strndup (Makefile.am): Likewise.
111929         * modules/strnlen (Makefile.am): Likewise.
111930         * modules/strpbrk (Makefile.am): Likewise.
111931         * modules/strsep (Makefile.am): Likewise.
111932         * modules/strstr (Makefile.am): Likewise.
111933         * modules/strtod (Makefile.am): Likewise.
111934         * modules/strtoimax (Makefile.am): Likewise.
111935         * modules/strtok_r (Makefile.am): Likewise.
111936         * modules/strtol (Makefile.am): Likewise.
111937         * modules/strtoll (Makefile.am): Likewise.
111938         * modules/strtoul (Makefile.am): Likewise.
111939         * modules/strtoull (Makefile.am): Likewise.
111940         * modules/strtoumax (Makefile.am): Likewise.
111941         * modules/strverscmp (Makefile.am): Likewise.
111942         * modules/time_r (Makefile.am): Likewise.
111943         * modules/timegm (Makefile.am): Likewise.
111944         * modules/tmpfile-safer (Makefile.am): Likewise.
111945         * modules/unistd-safer (Makefile.am): Likewise.
111946         * modules/unlinkdir (Makefile.am): Likewise.
111947         * modules/userspec (Makefile.am): Likewise.
111948         * modules/utime (Makefile.am): Likewise.
111949         * modules/utimecmp (Makefile.am): Likewise.
111950         * modules/utimens (Makefile.am): Likewise.
111951         * modules/vasnprintf (Makefile.am): Likewise.
111952         * modules/vasprintf (Makefile.am): Likewise.
111953         * modules/vsnprintf (Makefile.am): Likewise.
111954         * modules/xalloc (Makefile.am): Likewise.
111955         * modules/xgetcwd (Makefile.am): Likewise.
111956         * modules/xnanosleep (Makefile.am): Likewise.
111957         * modules/xreadlink (Makefile.am): Likewise.
111958         * modules/xstrtod (Makefile.am): Likewise.
111959         * modules/xstrtol (Makefile.am): Likewise.
111960         * modules/xstrtold (Makefile.am): Likewise.
111961         * modules/yesno (Makefile.am): Likewise.
111963 2006-10-12  Jim Meyering  <jim@meyering.net>
111965         * m4/getloadavg.m4: Revert the change below.
111967         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
111968         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
111969         fail with a symlink, which is what coreutils' ./bootstrap now
111970         creates by default.
111972 2006-10-12  Bruno Haible  <bruno@clisp.org>
111974         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
111975         mingw.
111976         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
111977         MSVC and mingw explicitly.
111979 2006-10-11  Simon Josefsson  <jas@extundo.com>
111980             Bruno Haible  <bruno@clisp.org>
111982         Add support for multiple gnulib-tool invocations in the scope of a
111983         single configure.ac file.
111984         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
111985         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
111986         with the same contents as the _LIBADD variable.
111987         (func_emit_initmacro_start, func_emit_initmacro_end,
111988         func_emit_initmacro_done): New functions.
111989         (func_import, func_create_testdir): Invoke them. Allow the identifiers
111990         gl_LIBOBJS and gl_LTLIBOBJS.
111992 2006-10-11  Bruno Haible  <bruno@clisp.org>
111994         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
111995         (func_create_testdir): Don't create po/Makefile.am, don't invoke
111996         autoreconf. Instead, invoke autopoint explicitly but move back the
111997         *.m4 files from gnulib.
111999 2006-10-11  Bruno Haible  <bruno@clisp.org>
112001         * gnulib-tool (func_usage): Make module names after --create-testdir
112002         optional.
112003         (func_create_testdir): If no module was specified, use nearly all
112004         modules.
112006 2006-10-12  Jim Meyering  <jim@meyering.net>
112008         Big performance improvement for fts-based tools that use FTS_NOSTAT.
112009         Avoid spurious inode-mismatch problems on non-POSIX file systems.
112010         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
112011         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
112012         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
112013         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
112014         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
112015         (fts_set_stat_required): New function.
112016         (fts_open): Defer the calls to fts_stat, if possible or requested.
112017         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
112018         into fts_stat itself.
112019         (fts_read): Perform any required (deferred) fts_stat call.
112020         (fts_build): Likewise, for the directory we're about to open and read.
112021         In the readdir loop, carefully decide whether each entry will require
112022         an eventual call to fts_stat, using dirent.d_type info if available.
112023         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
112024         a command line argument into this function.  Update all callers.
112025         Map a return value of FTS_DOT to FTS_D for a command line argument.
112026         * modules/fts (Depends-on): Add d-type.  Alphabetize.
112027         Thanks to Miklos Szeredi for his tenacity and for the initial
112028         bug report about "find" failing on a FUSE-based file system.
112030         * lib/fts.c (fts_open): Use consistent indentation.
112032 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
112034         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
112035         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
112036         reported by Jim Meyering.  All uses of cache variables renamed
112037         to match Autoconf's.
112038         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
112039         the other one.
112041         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
112042         Fix misspelling in diagnostic.
112044 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112046         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
112047         defined.  Problem reported by Matthew Woehlke.
112049         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
112050         Add support for Tandem NonStop R series.
112051         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
112052         Use new macro.
112054         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
112055         (has_trailing_slash): Omit size arg; all callers changed.
112056         Omit 'inline', since it doesn't help performance and we'd
112057         need to configure it.
112058         Don't count //, ///, etc. as having a trailing slash.
112059         As a side effect, this removes a C99ism reported by Matthew Woehlke.
112060         (rpl_rename_dest_slash): On failure, use rename's errno rather
112061         than (in some cases) an incorrect or junk errno.
112062         Simplify code by removing need to compute length; this does
112063         cause it to make two passes instead of one over the file name,
112064         but it's worth it.
112066         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
112067         change, since Autoconf's version may no longer be appropriate now
112068         that we are using CVS Autoconf's version.  Add support for Tandem.
112070 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
112071             Bruno Haible  <bruno@clisp.org>
112073         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
112074         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
112075         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
112076         gl_AC_TYPE_LONG_LONG.
112078         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
112079         instead of HAVE_LONG_LONG.
112080         * lib/printf-args.c (printf_fetchargs): Likewise.
112081         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
112082         * lib/vasnprintf.c (VASNPRINTF): Likewise.
112083         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
112084         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
112085         gl_AC_TYPE_LONG_LONG.
112087 2006-10-11  Bruno Haible  <bruno@clisp.org>
112089         * m4/longlong.m4: Add comments.
112090         * m4/ulonglong.m4: Likewise.
112092 2006-10-10  Bruno Haible  <bruno@clisp.org>
112094         Make it possible to #define stpcpy, strdup to aliases.
112095         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
112096         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
112098 2006-10-10  Bruno Haible  <bruno@clisp.org>
112100         Make it possible to #define gcd to an alias.
112101         * lib/gcd.c: Include config.h.
112103 2006-10-10  Bruno Haible  <bruno@clisp.org>
112105         Make it possible to #define c_isascii to an alias.
112106         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
112107         defined. Undefine the macros before defining them, to avoid gcc
112108         warnings.
112109         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
112110         define NO_C_CTYPE_MACROS early.
112112 2006-10-10  Bruno Haible  <bruno@clisp.org>
112114         Make it possible to #define set_program_name to an alias.
112115         * lib/progname.c: Don't undefine set_program_name; instead, undefine
112116         ENABLE_RELOCATABLE early.
112118 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
112120         Port to Tandem NSK OSS, which has 64-bit signed int but at most
112121         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
112122         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
112123         More generally, don't assume that 64-bit signed int is available
112124         if unsigned int is, and vice versa.
112125         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
112126         unsigned symbols, not on their signed counterparts.
112127         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
112128         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
112129         (UINT64_C, UINTMAX_C):
112130         Likewise.
112131         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
112132         unsigned counterparts.
112133         (Have_long_long, Unsigned): New macros.
112134         (Int): Renamed from INT.
112135         (strtoimax): Use the new macros.
112136         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
112137         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
112138         * modules/inttypes (inttypes.h): Substitute
112139         HAVE_UNSIGNED_LONG_LONG_INT.
112140         * modules/stdint (stdint.h): Likewise.
112141         (Files): Add m4/ulonglong.m4.
112143 2006-10-10  Bruno Haible  <bruno@clisp.org>
112145         Fix a gcc -Wshadow warning.
112146         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
112147         to 'bucket'.
112148         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
112149         gl_linked_indexof_from_to): Likewise.
112150         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
112151         Likewise.
112152         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
112153         Likewise.
112154         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
112155         Reported by Eric Blake.
112157 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
112159         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
112160         for NetBSD.  Problem reported by Bruno Haible.
112162 2006-10-09  Jim Meyering  <jim@meyering.net>
112164         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
112165         Patch from Bruno Haible.
112167 2006-10-09  Jim Meyering  <jim@meyering.net>
112169         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
112170         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
112171         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
112173 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
112175         Don't include <config.h> twice; this doesn't work in some cases,
112176         e.g., when config.h has "#define intmax_t long long int" and
112177         we include <config.h>, <inttypes.h>, <config.h> in that order.
112178         Problem reported by Matthew Woehlke in:
112179         http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
112180         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
112181         * lib/fts-cycle.c: Don't include config.h.
112182         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
112183         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
112184         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
112185         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
112186         inttypes.h.
112187         * lib/xstrtoumax.c: Likewise.
112188         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
112189         __strtol and the like, so that this module is more like its siblings.
112190         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
112191         Remove; no longer needed now that we assume gnulib inttypes.h.
112193 2006-10-08  Bruno Haible  <bruno@clisp.org>
112195         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
112196         option.
112198 2006-10-07  Jim Meyering  <jim@meyering.net>
112200         * modules/inttypes (inttypes.h): Revert what seems to have been
112201         an inadvertent part of today's change: use "|", not "/" in the
112202         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
112204 2006-10-07  Bruno Haible  <bruno@clisp.org>
112206         * modules/sublist: New file.
112208 2006-10-07  Bruno Haible  <bruno@clisp.org>
112210         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
112211         * modules/argz (argz.h): Likewise.
112212         * modules/arpa_inet (arpa/inet.h): Likewise.
112213         * modules/byteswap (byteswap.h): Likewise.
112214         * modules/configmake (configmake.h): Likewise.
112215         * modules/fcntl (fcntl.h): Likewise.
112216         * modules/fnmatch (fnmatch.h): Likewise.
112217         * modules/getopt (getopt.h): Likewise.
112218         * modules/glob (glob.h): Likewise.
112219         * modules/inttypes (inttypes.h): Likewise.
112220         * modules/netinet_in (netinet/in.h): Likewise.
112221         * modules/poll (poll.h): Likewise.
112222         * modules/stdbool (stdbool.h): Likewise.
112223         * modules/stdint (stdint.h): Likewise.
112224         * modules/sys_select (sys/select.h): Likewise.
112225         * modules/sys_socket (sys/socket.h): Likewise.
112226         * modules/sys_stat (sys/stat.h): Likewise.
112227         * modules/sysexits (sysexits.h): Likewise.
112228         * modules/unistd (unistd.h): Likewise.
112229         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
112230         Add a "DO NOT EDIT" comment to the generated file.
112231         (func_import): Likewise for gnulib-comp.m4.
112233 2006-10-07  Bruno Haible  <bruno@clisp.org>
112235         * lib/gl_sublist.h: New file.
112236         * lib/gl_sublist.c: New file.
112238 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
112240         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
112241         name (relative to the original working directory) and the file
112242         name component (relative to the temporary working directory).  All
112243         callers changed.
112244         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
112245         * lib/mkdir-p.c (make_dir_parents): Likewise.
112246         * lib/mkdir-p.h (make_dir_parents): Likewise.
112248 2006-10-06  Eric Blake  <ebb9@byu.net>
112250         Define several macros for use by the clean-temp module.
112251         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
112252         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
112253         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
112255         * lib/clean-temp.h (close_stream_temp): New declaration.
112256         * lib/clean-temp.c (includes): Pull in headers according to what
112257         other modules are in use.
112258         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
112260 2006-10-06  Bruno Haible  <bruno@clisp.org>
112262         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
112263         instead of fopen, fwriteerror.
112265 2006-10-06  Bruno Haible  <bruno@clisp.org>
112267         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
112268         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
112269         int.
112270         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
112271         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
112272         Return an error indicator.
112273         Suggested by Eric Blake.
112275 2006-10-06  Bruno Haible  <bruno@clisp.org>
112277         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
112278         Reported by Eric Blake.
112280 2006-10-06  Bruno Haible  <bruno@clisp.org>
112282         * modules/closeout (Description): Mention stderr too.
112284 2006-10-06  Bruno Haible  <bruno@clisp.org>
112285         and Paul Eggert  <eggert@cs.ucla.edu>
112287         * lib/closeout.c (close_stdout): Also close stderr.
112288         * lib/closeout.h: Update comment.
112290 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
112292         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
112293         <http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
112294         * lib/dirchownmod.c: Include lchown.h.
112295         * lib/lchown.c: Don't include files that lchown.h now includes.
112296         Don't declare chown, since lchown.h now does that.
112297         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
112298         (lchown): Define to rpl_chown if lchown is declared but
112299         does not exist.  Declare using a prototype if lchown is not
112300         declared.  Add a copyright notice.
112301         * lib/mkstemp.h: Include <unistd.h>.
112302         * lib/openat.c: Include lchown.h.
112304         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
112305         we now test for that separately.
112306         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
112307         rather than O_NOFOLLOW, when testing whether it's possible to
112308         avoid a race condition reliably.
112309         * lib/savewd.c (savewd_chdir): Likewise.
112311         Remove macros that are no longer needed now that stdint.h is
112312         reliable.
112313         * lib/fsusage.c (UINTMAX_MAX): Remove.
112314         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
112315         * lib/utimecmp.c (SIZE_MAX): Remove.
112317         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
112319         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
112320         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
112321         O_NOATIME works.
112323 2006-10-05  Bruno Haible  <bruno@clisp.org>
112325         * lib/gl_list.h (gl_sortedlist_search_from_to,
112326         gl_sortedlist_indexof_from_to): New declarations.
112327         (gl_list_implementation): New fields sortedlist_search_from_to,
112328         sortedlist_indexof_from_to.
112329         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
112330         inline functions.
112331         * lib/gl_list.c (gl_sortedlist_search_from_to,
112332         gl_sortedlist_indexof_from_to): New functions.
112333         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
112334         function.
112335         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
112336         (gl_array_sortedlist_search_from_to): New function.
112337         (gl_array_list_implementation): Update.
112338         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
112339         function.
112340         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
112341         (gl_carray_sortedlist_search_from_to): New function.
112342         (gl_carray_list_implementation): Update.
112343         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
112344         gl_linked_sortedlist_indexof_from_to): New functions.
112345         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112346         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112347         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
112348         gl_tree_sortedlist_indexof_from_to): New functions.
112349         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112350         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112351         Update.
112352         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112353         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
112354         Update.
112356 2006-10-05  Bruno Haible  <bruno@clisp.org>
112358         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
112359         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
112360         (struct gl_list_implementation): Add fields search_from_to,
112361         indexof_from_to. Remove fields search, indexof.
112362         (gl_list_search): Use the search_from_to method.
112363         (gl_list_search_from, gl_list_search_from_to): New functions.
112364         (gl_list_indexof): Use the indexof_from_to method.
112365         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112366         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
112367         (gl_list_search_from, gl_list_search_from_to): New functions.
112368         (gl_list_indexof): Use the indexof_from_to method.
112369         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
112370         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
112371         gl_array_indexof. Add start_index, end_index arguments.
112372         (gl_array_search_from_to): Renamed from gl_array_search. Add
112373         start_index, end_index arguments.
112374         (gl_array_remove, gl_array_list_implementation): Update.
112375         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
112376         gl_carray_indexof. Add start_index, end_index arguments.
112377         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
112378         start_index, end_index arguments.
112379         (gl_carray_remove, gl_carray_list_implementation): Update.
112380         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
112381         gl_linked_search. Add start_index, end_index arguments.
112382         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
112383         start_index, end_index arguments.
112384         (gl_linked_remove): Update.
112385         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
112386         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
112387         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
112388         field to 'size_t'.
112389         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
112390         gl_tree_search. Add start_index, end_index arguments.
112391         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112392         start_index, end_index arguments.
112393         (gl_tree_remove): Update.
112394         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
112395         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
112396         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
112397         function.
112398         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
112399         gl_tree_search. Add start_index, end_index arguments.
112400         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
112401         start_index, end_index arguments.
112402         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
112403         Update.
112404         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
112406 2006-10-05  Bruno Haible  <bruno@clisp.org>
112408         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
112410         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
112411         fwriteerror_temp): New declarations.
112412         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
112413         (descriptors): New variable.
112414         (cleanup): First, close the descriptors.
112415         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
112416         fclose_temp, fwriteerror_temp): New functions.
112418 2006-10-04  Jim Meyering  <jim@meyering.net>
112420         * lib/fts.c (fts_open): Tiny comment change.
112422 2006-10-04  Bruno Haible  <bruno@clisp.org>
112424         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
112425         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
112426         gl_LOCK_BODY.
112427         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
112428         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
112429         gl_LOCK_EARLY_BODY.
112430         (gl_LOCK): Require gl_LOCK_BODY.
112432 2006-10-04  Bruno Haible  <bruno@clisp.org>
112434         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
112435         (gl_oset_search_atleast): New declaration.
112436         (struct gl_oset_implementation): Add field 'search_atleast'.
112437         (gl_oset_search_atleast): New inline function.
112438         * lib/gl_oset.c (gl_oset_search_atleast): New function.
112439         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
112440         (gl_array_oset_implementation): Update.
112441         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
112442         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
112443         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
112445 2006-10-04  Bruno Haible  <bruno@clisp.org>
112447         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
112449 2006-10-03  Bruno Haible  <bruno@clisp.org>
112451         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
112452         from gl_avltreehash_list_implementation.
112454 2006-10-03  Bruno Haible  <bruno@clisp.org>
112456         * lib/gl_oset.c (gl_oset_add): Fix return type.
112458 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
112460         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
112462 2006-10-02  Eric Blake  <ebb9@byu.net>
112464         * modules/strnlen (Depends-on): Add extensions.
112466 2006-10-02  Eric Blake  <ebb9@byu.net>
112468         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
112469         definition in 2.60+.
112471 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
112473         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
112474         checks.
112476 2006-10-02  Bruno Haible  <bruno@clisp.org>
112478         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
112479         to the AUTOMAKE_OPTIONS.
112480         Reported by Jim Meyering.
112482 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
112484         Work around bug in Solaris 10 /proc file system:
112485         /proc/self/fd/NNN/.. isn't the parent directory of
112486         the directory whose file descriptor is NNN.  This needs to
112487         be worked around at run time, not compile time, since a
112488         program might be built on Solaris 8, where things work, and
112489         run on Solaris 10.
112490         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
112491         to use the following interface instead:
112492         (OPENAT_BUFFER_SIZE): New macro.
112493         (openat_proc_name): New function.
112494         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
112495         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
112496         Likewise.
112497         * lib/openat-proc.c: New file.
112498         * modules/openat (Files): Add lib/openat-proc.c.
112499         (Depends-on): Add same-inode, stdbool.
112500         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
112502 2006-09-29  Bruno Haible  <bruno@clisp.org>
112504         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
112505         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
112506         argument. Set stdout_closed before testing for ferror, not after.
112507         (fwriteerror, fwriteerror_no_ebadf): New functions.
112509 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112511         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
112513 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
112515         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
112516         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
112518 2006-09-28  Jim Meyering  <jim@meyering.net>
112520         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
112521         Include <unistd.h>.
112523 2006-09-28  Bruno Haible  <bruno@clisp.org>
112525         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
112526         * modules/linkedhash-list (Depends-on): Likewise.
112527         * modules/rbtreehash-list (Depends-on): Likewise.
112529 2006-09-28  Bruno Haible  <bruno@clisp.org>
112531         * lib/strndup.h: Simplify the redefinition of strndup.
112532         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
112533         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
112535 2006-09-28  Bruno Haible  <bruno@clisp.org>
112537         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
112538         * lib/gl_linkedhash_list.c: Likewise.
112539         * lib/gl_rbtreehash_list.c: Likewise.
112541 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
112543         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
112544         getaddrinfo.
112546         * lib/__fpending.h: Don't include <stdio_ext.h> unless
112547         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
112548         it causes <stdio_ext.h> to cause a compile-time error.
112549         Problem reported by Nelson H. F. Beebe.
112550         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
112551         of HAVE_DECL___PENDING.
112553         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
112554         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
112555         declaration.
112557 2006-09-27  Jim Meyering  <jim@meyering.net>
112559         This file could end up with a definition for a function
112560         named __strndup, rather than rpl_strndup on a system with
112561         incomplete weak_alias support.
112562         * lib/strndup.c (strndup): Rename from __strndup.
112563         Remove #defines that used to map __strndup to strndup.
112564         Don't use K&R prototypes.
112565         Remove LIBC-related code, since this file is not sync'd with glibc.
112566         * lib/strndup.h: Revamp, accordingly.
112567         * m4/strndup.m4: Modernize.
112569 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
112571         * modules/savewd (Depends-on): Add 'raise'.
112572         * lib/savewd.c: Include <signal.h>, for 'raise'.
112574 2006-09-26  Jim Meyering  <jim@meyering.net>
112576         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
112577         when we detect Darwin 8.7.0's acl_get_file bug.
112578         Rearrange to perform the new (below) run-test while $LIBS
112579         contains any acl-related library.  Set USE_ACL at the end.
112580         (gl_ACL_GET_FILE): New function.
112582 2006-09-26  Eric Blake  <ebb9@byu.net>
112584         * lib/verror.c: Include <config.h> unconditionally.
112586 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
112588         * modules/clock-time (Maintainer): Add self.
112589         * modules/getlogin_r (Depends-on): Add extensions.
112591 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112593         * modules/clock-time: New module.
112594         * modules/nanosleep (Depends-on): Add clock-time.
112595         * modules/gethrxtime (Depends-on): Likewise.
112596         * modules/gettime (Depends-on): Likewise.
112597         * modules/settime (Depends-on): Likewise.
112599         * modules/fts-lgpl: Depend on openat.
112600         * modules/mkancesdirs: Depend on savewd.
112601         * modules/mkdir-p: Likewise.
112603 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112605         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
112607         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
112608         `gl_have_arbitrary_file_name_length_limit' to
112609         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
112610         actually works between configure runs.
112612 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112613             Bruno Haible  <bruno@clisp.org>
112615         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
112617 2006-09-25  Jim Meyering  <jim@meyering.net>
112619         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
112620         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
112622 2006-09-25  Eric Blake  <ebb9@byu.net>
112624         * gnulib-tool (func_import, func_create_testdir): Fix typos in
112625         exec's in 2006-09-18 patch when shuffling fds.
112627 2006-09-25  Bruno Haible  <bruno@clisp.org>
112629         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
112630         Reported by Jim Meyering.
112632 2006-09-24  Jim Meyering  <jim@meyering.net>
112634         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
112635         compare a pointer against a literal "0".  That caused failures with
112636         at least HP-UX's hpcc.
112638 2006-09-22  Simon Josefsson  <jas@extundo.com>
112640         * modules/gc-sha1:
112641         * modules/gc-md4:
112642         * modules/gc-hmac-sha1:
112643         * modules/gc-hmac-md5:
112644         * modules/gc-des:
112645         * modules/gc-arcfour: Distribute more files.
112647 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112649         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
112650         (gl_linked_iterator_from_to): Initialize struct completely.
112651         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
112652         (gl_tree_iterator_from_to): Likewise
112653         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
112654         * lib/gl_array_list.c [lint] (gl_array_iterator)
112655         (gl_array_iterator_from_to): Likewise.
112656         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
112657         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
112658         (gl_carray_iterator_from_to): Likewise.
112660         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
112661         * lib/md4.c (md4_process_block): Remove unused variable.
112662         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
112663         parentheses for clarity.
112665 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112667         * modules/bison-i18n (Depends-on): Add gettext.
112669 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112671         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
112672         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
112673         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
112674         also add missing comma that caused broken test.
112675         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
112676         stdlib.h, for `abort'.
112677         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
112678         variables.
112679         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
112680         include unistd.h if present, for `rmdir'.
112681         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
112682         variables.
112683         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
112684         in the process include standard headers for prototypes.
112685         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
112686         gets declared on GNU/Linux.
112687         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
112688         unistd.h, for `rmdir'.
112689         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
112691         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
112692         always true.
112693         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
112695         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
112697 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112699         * gnulib-tool (func_version): Create output all at once.  This
112700         may help avoid triggering unnecessary SIGPIPEs, and at any
112701         rate it doesn't hurt.
112703 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112704             Bruno Haible  <bruno@clisp.org>
112706         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
112707         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
112708         * m4/signed.m4 (bh_C_SIGNED): Likewise.
112710         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
112711         (gl_FUNC_VASPRINTF): Invoke it.
112713 2006-09-22  Bruno Haible  <bruno@clisp.org>
112715         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
112716         getloadavg.c as first argument.
112718 2006-09-22  Bruno Haible  <bruno@clisp.org>
112720         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
112721         at the beginning of the gl_INIT macro.
112722         * modules/getloadavg (configure.ac): Pass $gl_source_base to
112723         gl_GETLOADAVG.
112725 2006-09-22  Bruno Haible  <bruno@clisp.org>
112727         * gnulib-tool (func_create_megatestdir): Don't include the config-h
112728         module.
112729         Suggested by Ralf Wildenhues.
112731 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
112733         Import this patch from libc:
112735         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
112737         * lib/regex_internal.c (re_string_reconstruct): Handle
112738         offset < pstr->valid_raw_len && pstr->offsets_needed case.
112739         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
112740         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
112741         re_string_context_at.
112743         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
112744         now requires it.
112745         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
112746         gl_REGEX now does it for us.
112747         (gl_REGEX): Add test taken from
112748         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
112750         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
112751         Check that large offsets work.  Modernize Autoconf usages.
112752         Prefer "yes" to mean a good thing rather than a bad.
112753         Don't put "#define mkstemp" in config.h, as this might interfere
112754         with standard system headers that "#define mkstemp mkstemp64".
112756         * modules/mkstemp (Depends-on): Add extensions, so that
112757         mkstemp is visible on some platforms.
112758         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
112759         (Include): Change to "mkstemp.h" from <stdlib.h>.
112760         (Files): Add mkstemp.h.
112762         * lib/mkstemp.h: New file, since some standard headers
112763         #define mkstemp.
112764         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
112765         Include "mkstemp.h".
112766         Make the _LIBC code resemble glibc original more,
112767         e.g., use K&R style.
112768         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
112769         (mkstemp): Remove, since mkstemp.h does this for us.
112770         * lib/stdlib--.h: Include mkstemp.h.
112772         Import this patch from libc:
112774         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112776         * lib/tempname.c (__gen_tempname): Change attempts_min
112777         into a macro.  Use preprocessor to decide how to initialize
112778         attempts [Coverity CID 67].
112780 2006-09-20  Bruno Haible  <bruno@clisp.org>
112782         * lib/mkdtemp.c: Import from libc.
112783         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
112784                 * sysdeps/posix/tempname.c (__gen_tempname): Change
112785                 attempts_min into a macro.  Use preprocessor to decide how to
112786                 initialize attempts [Coverity CID 67].
112787         2001-11-27  Paul Eggert  <eggert@twinsun.com>
112788                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
112789                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
112791 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112793         * gnulib-tool (func_exit): New function, to allow to pass the
112794         exit status portably through the trap.  Use everywhere.
112795         (--help, --version): Signal a write error.
112796         (trap): catch SIGPIPE, for write errors.
112797         Exit at the end of the trap, with the correct exit status.
112799 2006-09-19  Karl Berry  <karl@gnu.org>
112801         * doc/gnulib.texi: note about the license texinfo files.
112803 2006-09-19  Eric Blake  <ebb9@byu.net>
112805         * gnulib-tool: Avoid space-tab.
112807 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112809         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
112810         that prevented coreutils 6.1 from building.  Problem reported
112811         by Petter Reinholdtsen.
112813 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
112815         * gnulib-tool (avoidlist): Fix typo that broke options like
112816         --avoid=lock that are used by coreutils bootstrap.
112818 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
112820         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
112821         more systematically.
112823 2006-09-18  Jim Meyering  <jim@meyering.net>
112825         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
112827 2006-09-18  Bruno Haible  <bruno@clisp.org>
112829         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
112831 2006-09-18  Bruno Haible  <bruno@clisp.org>
112833         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
112834         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
112835         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
112836         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
112837         * m4/gettext.m4: Require autoconf >= 2.52.
112838         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
112839         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
112840         of gl_cv_header_inttypes_h.
112842 2006-09-18  Bruno Haible  <bruno@clisp.org>
112844         * lib/javaversion.c: Include configmake.h.
112846 2006-09-18  Bruno Haible  <bruno@clisp.org>
112848         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
112849         avoid that the while loops be executed in a subshell.
112851 2006-09-18  Bruno Haible  <bruno@clisp.org>
112853         * MODULES.html.sh (func_module): Break long lines.
112854         Suggested by Bruce Korb <bkorb@gnu.org>.
112856 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112858         Speed up by a factor of 1.12.
112859         * gnulib-tool (nl): New variable.
112860         (func_import): Rewrite include directive extraction to only read each
112861         directive once.
112863 2006-09-17  Bruno Haible  <bruno@clisp.org>
112865         * modules/javaversion (Makefile.am): Remove DEFS setting.
112866         (Depends-on): Add configmake, for PKGDATADIR definition.
112868 2006-09-17  Bruno Haible  <bruno@clisp.org>
112870         * gnulib-tool (func_create_testdir): Rewrite all files at once.
112872 2006-09-17  Bruno Haible  <bruno@clisp.org>
112874         * gnulib-tool (func_append): New function, stolen from libtool.m4.
112875         (func_modules_transitive_closure, func_modules_add_dummy,
112876         func_modules_to_filelist, func_import, func_create_testdir,
112877         func_create_megatestdir, ...): Use it wherever possible.
112878         Suggested by Ralf Wildenhues.
112880 2006-09-16  Karl Berry  <karl@gnu.org>
112882         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
112883         to avoid sectioning errors.
112884         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
112885         [ifinfo]: blank line after @center-ed titles.
112886         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
112887         Spell FSF address consistently with others.
112888         (These changes approved by rms.)
112890 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112892         Speed up by a factor of 1.61.
112893         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
112894         already checked module names again.
112896 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112898         Speed up by a factor of 1.13.
112899         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
112900         for new_files, and the input to func_add_or_update.
112902 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
112904         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
112905         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
112907 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112909         * modules/mkancesdirs (Depends-on): Add fcntl.
112910         * modules/savewd: New file.
112911         * MODULES.html.sh (File system functions): Add savewd.
112913         * modules/configmake (Makefile.am): Add support for the
112914         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
112916 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112918         * m4/savewd.m4: New file.
112920 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
112922         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
112923         (dirchownmod): New arg FD.  All callers changed.
112924         Use FD rather than opening the directory ourself, as opening is
112925         now the caller's responsibility.
112926         * lib/dirchownmod.h: Likewise.
112927         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
112928         hosts that require <sys/types.h> before <sys/stat.h>.  Include
112929         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
112930         (test_dir): Remove.
112931         (mkancesdirs): Return length of prefix of FILE that has already
112932         been made, or -2 if there is a child doing the work.  Redo
112933         algorithm so that it is O(N) rather than O(N**2).  Optimize away
112934         ".", and treat ".." specially since it might stray back into
112935         already-created areas.  Use a subprocess if necessary.  New arg
112936         WD; all users changed.  MAKE_DIR function should now return 1
112937         if it creates a directory that is not readable.  Return -2 if
112938         a child process is spun off.
112939         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
112940         Adjust signature to match code.
112941         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
112942         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
112943         all users changed.
112944         * lib/savewd.c, lib/savewd.h: New files.
112946 2006-09-15  Jim Meyering  <jim@meyering.net>
112948         * modules/rename-dest-slash: New module.
112949         * MODULES.html.sh (posix_compat): Add it here.
112951         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
112953 2006-09-15  Jim Meyering  <jim@meyering.net>
112955         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
112956         file.
112958         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
112960 2006-09-15  Jim Meyering  <jim@meyering.net>
112962         * lib/rename-dest-slash.c (has_trailing_slash): Use
112963         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
112964         (rpl_rename_dest_slash): Perform the cheaper trailing slash
112965         test before testing whether SRC is a directory.
112966         Suggestions from Bruno Haible.
112968         Avoid a warning about an unused variable.
112969         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
112970         into the #ifdef block where it's used.
112972         * lib/rename-dest-slash.c: New file.
112974 2006-09-14  Bruno Haible  <bruno@clisp.org>
112976         * lib/allocsa.c: Include <config.h> unconditionally.
112977         * lib/asnprintf.c: Likewise.
112978         * lib/asprintf.c: Likewise.
112979         * lib/c-strcasecmp.c: Likewise.
112980         * lib/c-strcasestr.c: Likewise.
112981         * lib/c-strncasecmp.c: Likewise.
112982         * lib/c-strstr.c: Likewise.
112983         * lib/classpath.c: Likewise.
112984         * lib/clean-temp.c: Likewise.
112985         * lib/concatpath.c: Likewise.
112986         * lib/copy-file.c: Likewise.
112987         * lib/csharpcomp.c: Likewise.
112988         * lib/csharpexec.c: Likewise.
112989         * lib/execute.c: Likewise.
112990         * lib/fatal-signal.c: Likewise.
112991         * lib/findprog.c: Likewise.
112992         * lib/fwriteerror.c: Likewise.
112993         * lib/gl_array_list.c: Likewise.
112994         * lib/gl_array_oset.c: Likewise.
112995         * lib/gl_avltree_list.c: Likewise.
112996         * lib/gl_avltree_oset.c: Likewise.
112997         * lib/gl_avltreehash_list.c: Likewise.
112998         * lib/gl_carray_list.c: Likewise.
112999         * lib/gl_linked_list.c: Likewise.
113000         * lib/gl_linkedhash_list.c: Likewise.
113001         * lib/gl_list.c: Likewise.
113002         * lib/gl_oset.c: Likewise.
113003         * lib/gl_rbtree_list.c: Likewise.
113004         * lib/gl_rbtree_oset.c: Likewise.
113005         * lib/gl_rbtreehash_list.c: Likewise.
113006         * lib/imaxabs.c: Likewise.
113007         * lib/imaxdiv.c: Likewise.
113008         * lib/javacomp.c: Likewise.
113009         * lib/javaexec.c: Likewise.
113010         * lib/javaversion.c: Likewise.
113011         * lib/linebreak.c: Likewise.
113012         * lib/localcharset.c: Likewise.
113013         * lib/lock.c: Likewise.
113014         * lib/mbchar.c: Likewise.
113015         * lib/mbswidth.c: Likewise.
113016         * lib/mkdtemp.c: Likewise.
113017         * lib/pipe.c: Likewise.
113018         * lib/printf-args.c: Likewise.
113019         * lib/printf-parse.c: Likewise.
113020         * lib/progname.c: Likewise.
113021         * lib/progreloc.c: Likewise.
113022         * lib/readlink.c: Likewise.
113023         * lib/sh-quote.c: Likewise.
113024         * lib/stpcpy.c: Likewise.
113025         * lib/stpncpy.c: Likewise.
113026         * lib/strcasecmp.c: Likewise.
113027         * lib/strcasestr.c: Likewise.
113028         * lib/strcspn.c: Likewise.
113029         * lib/striconv.c: Likewise.
113030         * lib/strncasecmp.c: Likewise.
113031         * lib/strnlen1.c: Likewise.
113032         * lib/strstr.c: Likewise.
113033         * lib/strtok_r.c: Likewise.
113034         * lib/tls.c: Likewise.
113035         * lib/tmpdir.c: Likewise.
113036         * lib/unicodeio.c: Likewise.
113037         * lib/unsetenv.c: Likewise.
113038         * lib/vasnprintf.c: Likewise.
113039         * lib/vasprintf.c: Likewise.
113040         * lib/wait-process.c: Likewise.
113041         * lib/xallocsa.c: Likewise.
113042         * lib/xsetenv.c: Likewise.
113043         * lib/xstriconv.c: Likewise.
113045 2006-09-13  Simon Josefsson  <jas@extundo.com>
113047         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
113048         that internally, suggested by Ralf Wildenhues
113049         <Ralf.Wildenhues@gmx.de>.
113051 2006-09-13  Simon Josefsson  <jas@extundo.com>
113053         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
113054         @LIBOBJS@.
113055         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
113057 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
113059         * lib/_fpending.c: Include <config.h> unconditionally, since we no
113060         longer worry about uses that don't define HAVE_CONFIG_H.
113061         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
113062         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
113063         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
113064         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
113065         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
113066         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
113067         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
113068         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
113069         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
113070         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
113071         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
113072         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
113073         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
113074         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
113075         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
113076         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
113077         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
113078         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
113079         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
113080         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
113081         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
113082         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
113083         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
113084         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
113085         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
113086         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
113087         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
113088         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
113089         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
113090         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
113091         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
113092         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
113093         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
113094         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
113095         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
113096         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
113097         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
113098         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
113099         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
113100         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
113101         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
113102         Likewise.
113104 2006-09-13  Eric Blake  <ebb9@byu.net>
113106         * lib/getopt.c: Fix typo in last commit.
113108 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
113110         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
113111         dgettext.
113113 2006-09-12  Jim Meyering  <jim@meyering.net>
113115         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
113116         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
113117         Reported by Nelson H. F. Beebe.
113119 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
113121         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
113122         program_invocation_name and program_invocation_short_name are
113123         initialized.
113124         * lib/argp-namefrob.h: Move declarations of program_invocation_name
113125         and program_invocation_short_name to argp.h, so they are visible
113126         to user programs.
113127         * lib/argp.h: Likewise
113129 2006-09-10  Bruno Haible  <bruno@clisp.org>
113131         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
113132         m4/inttypes_h.m4, m4/uintmax_t.m4.
113134 2006-09-10  Bruno Haible  <bruno@clisp.org>
113136         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
113137         gl_AC_TYPE_UINTMAX_T.
113139 2006-09-10  Bruno Haible  <bruno@clisp.org>
113141         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
113143 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
113145         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
113146         convention.  Text proposed by Bruno Haible.
113147         (struct argp_option): Document the use of N_() wrappers.
113149         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
113150         '\v', and translate the two parts separately, instead of feeding
113151         the whole string to gettext.  This allows to exclude
113152         '\v' from the strings visible to the translator by writing doc
113153         strings as N_("..") "\v" N_("..").
113155 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
113157         * config/srclist.txt: Undo latest change; the bug was fixed.
113159 2006-09-09  Bruno Haible  <bruno@clisp.org>
113161         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
113162         assignments if building a library without libtool.
113163         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
113164         in func_emit_lib_Makefile_am.
113165         (func_import): When building a static library libfoo.a, arrange to
113166         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
113167         (func_create_testdir): Likewise.
113168         * modules/gc (configure.ac, Makefile.am): If building statically,
113169         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
113170         * modules/iconvme (configure.ac, Makefile.am): Likewise.
113171         * modules/striconv (configure.ac, Makefile.am): Likewise.
113172         Based on a suggestion by Ralf Wildenhues.
113174 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113176         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
113177         Check for unistd.h too, since Autoconf doesn't assume POSIX.
113178         Also:
113180         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113181         Add year_2050_test to catch glibc bug 2821
113182         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113184         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
113185         Prefer #ifdef to #if.
113187         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
113188         Return from 'main' instead of calling 'exit'.
113190 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113192         * lib/mktime.c (guess_time_tm): Fix bug where mktime
113193         returned the maximum time_t value rather than (time_t) -1.
113194         Problem originally reported by William Bardwell
113195         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
113197         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113198         Moved to here ...
113199         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
113200         ... from here.
113202 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
113204         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
113205         2821 is fixed.
113207 2006-09-08  Jim Meyering  <jim@meyering.net>
113209         Don't make generated files read-only.  That would bother too many
113210         people.  However, do retain the ability to work when targets are
113211         read-only: remove the destination and temporary files before writing
113212         them (when generated via sed or echo), or by using the -f option for
113213         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
113214         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113215         * modules/byteswap, modules/configmake, modules/fcntl:
113216         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113217         * modules/localcharset, modules/netinet_in, modules/poll:
113218         * modules/stdbool, modules/stdint, modules/sys_select:
113219         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113221 2006-09-08  Jim Meyering  <jim@meyering.net>
113223         Avoid new build failure on FreeBSD 6.0.
113224         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
113225         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
113226         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
113228 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113230         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
113232 2006-09-07  Jim Meyering  <jim@meyering.net>
113234         Fix global typo in last change: use chmod u-w, not chmod u-x.
113235         Spotted by Paul Eggert and Bruce Korb.
113236         * modules/alloca-opt, modules/argz, modules/arpa_inet:
113237         * modules/byteswap, modules/configmake, modules/fcntl:
113238         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
113239         * modules/localcharset, modules/netinet_in, modules/poll:
113240         * modules/stdbool, modules/stdint, modules/sys_select:
113241         * modules/sys_socket, modules/sys_stat, modules/sysexits:
113243 2006-09-06  Jim Meyering  <jim@meyering.net>
113245         Make generated files be read-only.
113246         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
113247         Ensure that each generated file is now read-only.
113248         * modules/argz: Likewise.
113249         * modules/arpa_inet: Likewise.
113250         * modules/byteswap: Likewise.
113251         * modules/configmake: Likewise.
113252         * modules/fcntl: Likewise.
113253         * modules/fnmatch: Likewise.
113254         * modules/getopt: Likewise.
113255         * modules/glob: Likewise.
113256         * modules/inttypes: Likewise.
113257         * modules/netinet_in: Likewise.
113258         * modules/poll: Likewise.
113259         * modules/stdbool: Likewise.
113260         * modules/stdint: Likewise.
113261         * modules/sys_select: Likewise.
113262         * modules/sys_socket: Likewise.
113263         * modules/sys_stat: Likewise.
113264         * modules/sysexits: Likewise.
113265         * modules/localcharset: Same as above, but continue using temporary
113266         file named "t-$@" (why different?) rather than the "$@-t" used
113267         everywhere else.
113269         * modules/sysexits (Makefile.am): Replace literal occurrences
113270         of "sysexit.h" more readable, and more consistent, "$@".
113272 2006-09-06  Bruno Haible  <bruno@clisp.org>
113274         * modules/striconv: New file.
113275         * modules/xstriconv: New file.
113276         * MODULES.html.sh (Internationalization functions): Add striconv,
113277         xstriconv.
113279 2006-09-06  Bruno Haible  <bruno@clisp.org>
113281         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
113282         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
113283         not using libtool correctly.
113285 2006-09-06  Bruno Haible  <bruno@clisp.org>
113287         * lib/striconv.h: New file.
113288         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
113289         iconvstring.c.
113290         * lib/xstriconv.h: New file.
113291         * lib/xstriconv.c: New file.
113293 2006-09-06  Bruno Haible  <bruno@clisp.org>
113295         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
113296         lib_..._LDFLAGS.
113298 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113300         * lib/argz_.h: Sync from Libtool.
113302         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
113303                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
113305         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
113307 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113309         * modules/trim: New file.
113311 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
113313         * lib/trim.h: New file.
113314         * lib/trim.c: New file.
113316 2006-09-05  Bruno Haible  <bruno@clisp.org>
113318         * MODULES.html.sh (String handling): Add trim.
113320 2006-09-04  Karl Berry  <karl@gnu.org>
113322         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
113323         until next release.
113325 2006-09-03  Bruno Haible  <bruno@clisp.org>
113327         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
113328         correctly.
113330 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113332         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
113333         not gl_GETLOADAVG.  Omit unneeded semicolons.
113334         Problems reported by Ralf Wildenhues in
113335         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113336         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
113337         at the end, which is the usual gnulib style.
113339         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
113340         of doing all the work ourselves.
113341         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
113342         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
113344 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113346         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
113347         Problem reported by Ralf Wildenhues in
113348         <http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
113350         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
113351         HAVE_STRUCT_STATFS_F_FSTYPENAME.
113353 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
113355         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
113356         yesterday's patch by changing test -n to test -z.
113358 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113360         * modules/getloadavg (Files): Add m4/getloadavg.m4.
113361         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
113362         the former is now obsolescent.
113364         * modules/chdir-long (Depends-on): Add fcntl.
113366 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113368         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
113369         obsolescent, and programs should use gnulib instead.
113370         * m4/getloadavg.m4: New file, with contents taken from Autoconf
113371         but with prefixes changed.
113373 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
113375         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
113376         or stdbool.h, because they might not exist while configuring.
113378         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
113379         Don't include unistd.h or limits.h; not needed, since chdir-long.h
113380         does that for us.
113381         (O_DIRECTORY): Remove.
113383 2006-08-31  Eric Blake  <ebb9@byu.net>
113385         * gnulib-tool: Don't let emacs change spaces to TAB.
113387 2006-08-31  Bruno Haible  <bruno@clisp.org>
113389         * gnulib-tool: When calling func_import more than once, do it in a
113390         subshell.
113391         Reported by Eric Blake <ebb9@byu.net>.
113393 2006-08-31  Bruno Haible  <bruno@clisp.org>
113395         * gnulib-tool (nl): Remove variable.
113396         (sed_transform_lib_file): Use more robust test for config-h module.
113397         (func_import): Fix typo in 2006-08-25 patch.
113399 2006-08-31  Bruno Haible  <bruno@clisp.org>
113401         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
113402         specified, augment Makefile.am variables instead of assigning them.
113404 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113406         Work around a bug in both the Linux and SunOS 64-bit kernels:
113407         nanosleep mishandles sleeps for longer than 2**31 seconds.
113408         Problem reported by Frank v Waveren in
113409         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113410         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
113411         Check for nanosleep bug.
113412         (LIB_NANOSLEEP): Append clock_gettime library if needed.
113414 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113416         Work around a bug in both the Linux and SunOS 64-bit kernels:
113417         nanosleep mishandles sleeps for longer than 2**31 seconds.
113418         Problem reported by Frank v Waveren in
113419         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
113420         * lib/nanosleep.c (BILLION): New constant.
113421         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
113422         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
113423         implementation.
113425 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113427         * modules/nanosleep (Depends-on): Add gettime.
113429 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
113430         and Simon Josefsson  <jas@extundo.com>
113431         and Oskar Liljeblad  <oskar@osk.mine.nu>
113433         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
113434         * gnulib-tool (func_import): New license type 'unmodifiable license
113435         text'.
113436         * modules/fdl: Use it.  Longer description.
113437         * module/gpl, module/lgpl: New files.
113439 2006-08-30  Jim Meyering  <jim@meyering.net>
113441         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
113442         shadowing the parameter.
113444 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113446         Sync from Libtool:
113448         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
113450         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
113451         sharing with gnulib.  Report by Eric Blake.
113453 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113455         * modules/isapipe: New file.
113456         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
113458 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113460         * modules/configmake (Makefile.am): Add a comment, and omit
113461         the CONFIGMAKE_ prefix from generated macro names.  Suggested
113462         by Bruno Haible.
113464 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113466         * m4/isapipe.m4: New file.
113468 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
113470         * lib/isapipe.c, lib/isapipe.h: New files.
113472 2006-08-29  Jim Meyering  <jim@meyering.net>
113474         * modules/configmake (Makefile.am): Make configmake.h depend on
113475         Makefile.  Otherwise, a stale configmake.h could hang around.
113477 2006-08-29  Eric Blake  <ebb9@byu.net>
113479         * lib/error.c (error_at_line, print_errno_message): Match libc, after
113480         resolution of upstream bug 3044.
113482 2006-08-29  Bruno Haible  <bruno@clisp.org>
113484         * modules/localcharset (Depends-on): Add configmake.
113485         (Makefile.am): Remove setting of LIBDIR through DEFS.
113487 2006-08-29  Bruno Haible  <bruno@clisp.org>
113489         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
113490         defined.
113492 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113494         * modules/fcntl: New file.
113495         * modules/chdir-safer (Depends-on): Add fcntl.
113496         * modules/fts: Likewise.
113497         * modules/mkdir-p: Likewise.
113499         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
113500         This undoes the most recent change, since we're now addressing the
113501         problem in a different way.
113503         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
113504         into output, since the output might be called Makefile.am even
113505         if $makefile_name is something different.
113506         (func_import): Use $makefile_am rather than
113507         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
113508         empty.
113510         * modules/inttypes (Files): Add m4/inttypes-h.m4.
113512 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113514         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
113515         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
113516         recent change to stdint.m4, since we're now addressing the problem in a
113517         different way.
113519 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113521         * m4/fcntl_h.m4: New file.
113523 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
113525         * lib/fcntl_.h: New file.
113526         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
113527         the fcntl module.
113528         * lib/dirchownmod.c: Likewise.
113529         * lib/fts.c: Likewise.
113531         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
113532         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
113533         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
113534         just before including <inttypes.h>, to avoid circular inclusion.
113536 2006-08-28  Jim Meyering  <jim@meyering.net>
113538         * doc/visibility.texi: Actually read and correct the grammar of the
113539         sentence affected by yesterday's change.
113541 2006-08-28  Eric Blake  <ebb9@byu.net>
113543         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
113544         needs wrapper.
113546 2006-08-28  Eric Blake  <ebb9@byu.net>
113548         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
113550 2006-08-28  Eric Blake  <ebb9@byu.net>
113552         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
113554 2006-08-28  Bruno Haible  <bruno@clisp.org>
113556         * modules/c-strstr: New file, from GNU gettext.
113557         * MODULES.html.sh (String handling): Add c-strstr.
113559 2006-08-28  Bruno Haible  <bruno@clisp.org>
113561         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
113562         macros.
113563         Reported by Eric Blake.
113565 2006-08-28  Bruno Haible  <bruno@clisp.org>
113567         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
113568         (VASNPRINTF): Return a string of length > INT_MAX without failing.
113569         * lib/vasprintf.c: Include errno.h, limits.h.
113570         (EOVERFLOW): New fallback definition.
113571         (vasprintf): Test here whether the string length is > INT_MAX.
113572         * lib/vsnprintf.c: Include errno.h, limits.h.
113573         (EOVERFLOW): New fallback definition.
113574         (vsnprintf): Fix bug when generated string was too long for the buffer.
113575         Test here whether the string length is > INT_MAX.
113577 2006-08-28  Bruno Haible  <bruno@clisp.org>
113579         * lib/inttypes_.h (SCNX*): Remove definitions.
113580         Reported by Eric Blake.
113582 2006-08-28  Bruno Haible  <bruno@clisp.org>
113584         * lib/c-strstr.h: New file, from GNU gettext.
113585         * lib/c-strstr.c: New file, from GNU gettext.
113587 2006-08-28  Bruno Haible  <bruno@clisp.org>
113589         * gnulib-tool: Reorder some statements.
113591 2006-08-28  Bruno Haible  <bruno@clisp.org>
113593         * gnulib-tool: New option --makefile-name.
113594         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
113595         $makefile_name.
113596         (func_import): Write $makefile_name to the cache file, and read it from
113597         there unless explicitly specified. Use $makefile_name as file name
113598         instead of Makefile.am. Adjust the recommendations accordingly.
113600 2006-08-28  Bruno Haible  <bruno@clisp.org>
113602         * gnulib-tool (func_verify_module): Check against misapplying patch.
113604 2006-08-28  Bruno Haible  <bruno@clisp.org>
113606         * gnulib-tool (func_relativize, func_relconcat): New functions.
113607         Give an error if --local-dir is given with --update.
113608         Remove trailing slashes from $local_gnulib_dir.
113609         (func_import): Store the relativized $local_gnulib_dir in
113610         gnulib-cache.m4, and read it from there if not specified explicitly.
113612 2006-08-28  Bruno Haible  <bruno@clisp.org>
113614         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
113615         is the current directory. Respect also $local_gnulib_dir.
113617 2006-08-28  Bruno Haible  <bruno@clisp.org>
113618             Simon Josefsson  <jas@extundo.com>
113620         BeOS portability.
113621         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
113623 2006-08-27  Jim Meyering  <jim@meyering.net>
113625         * doc/visibility.texi: Remove duplicate word: "pointer".
113627 2006-08-26  Bruno Haible  <bruno@clisp.org>
113629         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
113630         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
113631         (Makefile.am): Create inttypes.h from inttypes_.h.
113632         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
113634         * modules/imaxabs: New file.
113636         * modules/imaxdiv: New file.
113638 2006-08-26  Bruno Haible  <bruno@clisp.org>
113640         * m4/inttypes.m4: New file.
113641         * m4/_inttypes_h.m4: Remove file.
113642         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
113643         PRI_MACROS_BROKEN.
113644         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
113646         * m4/imaxabs.m4: New file.
113648         * m4/imaxdiv.m4: New file.
113650 2006-08-26  Bruno Haible  <bruno@clisp.org>
113652         * lib/inttypes_.h: New file.
113653         * lib/inttypes.h: Remove file.
113654         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
113656         * lib/imaxabs.c: New file.
113658         * lib/imaxdiv.c: New file.
113660 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113662         New config-h module, so that "make" output needn't be cluttered
113663         by -DHAVE_CONFIG_H.
113664         * MODULES.html.sh (Support for building libraries and executables):
113665         Add config-h.
113666         * modules/config-h: New file.
113667         * gnulib-tool (nl, sed_transform_lib_file): New vars.
113668         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
113669         the config-h module is used.
113671         New configmake module, so that "make" output needn't be cluttered
113672         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
113673         * MODULES.html.sh (Support for building libraries and executables):
113674         Add configmake.
113675         * modules/configmake: New file.
113677 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
113679         * m4/config-h.m4: New file.
113681 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113683         * config/srclist.txt: Add elisp-comp.
113685 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
113687         * MODULES.html.sh (Support for building libraries and executables):
113688         Add elisp-comp.
113689         * build-aux/elisp-comp: New file.
113690         * modules/elisp-comp: New file.
113692 2006-08-24  Bruno Haible  <bruno@clisp.org>
113694         * gnulib-tool (func_create_testdir): Use non-default values of
113695         sourcebase and m4base.
113697 2006-08-24  Bruno Haible  <bruno@clisp.org>
113699         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
113700         HTML structure.
113702 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
113704         * modules/openat (Depends-on): Add lchown.
113706 2006-08-23  Bruno Haible  <bruno@clisp.org>
113708         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
113709         of gl_LOCK_EARLY instead of gl_LOCK.
113711 2006-08-23  Bruno Haible  <bruno@clisp.org>
113713         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
113714         on OSF/1 to no.
113715         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
113717 2006-08-23  Bruno Haible  <bruno@clisp.org>
113719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
113720         as unusable.
113722         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
113723         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
113724         (gl_LOCK): New macro.
113726 2006-08-22  Simon Josefsson  <jas@extundo.com>
113728         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
113729         to md5 module.
113731 2006-08-22  Simon Josefsson  <jas@extundo.com>
113733         * MODULES.html.sh: Add "Support for maintaining and release
113734         projects".
113736         * build-aux/gnupload: New file, from coreutils.
113738 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113740         Avoid the need for AC_LIBSOURCES in m4 macros.
113741         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
113742         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
113743         * modules/check-version (EXTRA_DIST): Add check-version.h.
113744         * modules/crc (EXTRA_DIST): Add crc.h.
113745         * modules/des (EXTRA_DIST): Add des.h.
113746         * modules/gc (EXTRA_DIST): Add gc.h.
113747         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
113748         * modules/getline (EXTRA_DIST): Add getline.h.
113749         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
113750         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
113751         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
113752         * modules/md2 (EXTRA_DIST): Add md2.h.
113753         * modules/md4 (EXTRA_DIST): Add md4.h.
113754         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
113755         * modules/read-file (EXTRA_DIST): Add read-file.h.
113756         * modules/readline (EXTRA_DIST): Add readline.h.
113757         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
113758         rijndael-api-fst.h.
113760 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113762         * m4/rijndael.m4 (gl_ARCFOUR):
113763         * m4/arctwo.m4 (gl_ARCTWO):
113764         * m4/check-version.m4 (gl_CHECK_VERSION):
113765         * m4/crc.m4 (gl_CRC):
113766         * m4/des.m4 (gl_DES):
113767         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
113768         * m4/gc.m4 (gl_GC):
113769         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
113770         * m4/getline.m4 (gl_FUNC_GETLINE):
113771         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
113772         * m4/hmac-md5.m4 (gl_HMAC_MD5):
113773         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
113774         * m4/md2.m4 (gl_MD2):
113775         * m4/md4.m4 (gl_MD4):
113776         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
113777         * m4/read-file.m4 (gl_FUNC_READ_FILE):
113778         * m4/readline.m4 (gl_FUNC_READLINE):
113779         * m4/rijndael.m4 (gl_RIJNDAEL):
113780         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
113781         to get the necessary .h files and whatnot.
113783 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
113785         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
113786         gnulib rather than the other way around.
113787         * config/srclistvars.sh (COREUTILS): Remove.
113789 2006-08-22  Jim Meyering  <jim@meyering.net>
113791         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
113793         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
113795 2006-08-22  Eric Blake  <ebb9@byu.net>
113797         * modules/regexprops-generic: New file.
113798         * MODULES.html.sh (Support for building documentation): List it.
113800 2006-08-22  Eric Blake  <ebb9@byu.net>
113802         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
113803         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
113804         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
113805         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
113807 2006-08-22  Bruno Haible  <bruno@clisp.org>
113809         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
113810         and lib_LTLIBRARIES like the other lib_* variables.
113812 2006-08-22  Bruno Haible  <bruno@clisp.org>
113814         * build-aux/x-to-1.in: New file, from GNU gettext.
113816 2006-08-22  Bruno Haible  <bruno@clisp.org>
113818         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
113819         <utmpx.h> exists.
113821 2006-08-22  Bruno Haible  <bruno@clisp.org>
113823         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
113824         <utmpx.h> exists.
113826 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113828         BeOS portability.
113829         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
113830         exist.
113831         Problem reported by Bruno Haible.
113833 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113835         Avoid the need for AC_LIBSOURCES in m4 macros.
113836         * modules/acl (EXTRA_DIST): Add acl.h.
113837         * modules/argmatch (Files): Add m4/argmatch.m4.
113838         (configure.ac): Add gl_ARGMATCH.
113839         (EXTRA_DIST): Renamed from lib_SOURCES, for
113840         consistency with the other modules.  Remove argmatch.c.
113841         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
113842         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
113843         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
113844         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
113845         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
113846         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
113847         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
113848         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
113849         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
113850         * modules/closeout (EXTRA_DIST): Add closeout.h.
113851         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
113852         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
113853         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
113854         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
113855         dirname.h; remove basename.c and stripslash.c.
113856         * modules/exclude (EXTRA_DIST): Add exclude.h.
113857         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
113858         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
113859         * modules/file-type (EXTRA_DIST): Add file-type.h.
113860         * modules/filemode (EXTRA_DIST): Add filemode.h.
113861         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
113862         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113863         * modules/fpending (EXTRA_DIST): Add __fpending.h.
113864         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
113865         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
113866         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
113867         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
113868         * modules/getdate (EXTRA_DIST): Add getdate.c.
113869         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
113870         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
113871         * modules/getpass (EXTRA_DIST): Add getpass.h.
113872         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
113873         * modules/group-member (EXTRA_DIST): Add group-member.h.
113874         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
113875         * modules/hash (EXTRA_DIST): Add hash.h.
113876         * modules/human (EXTRA_DIST): Add human.h.
113877         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
113878         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
113879         * modules/lchown (EXTRA_DIST): Add lchown.h.
113880         * modules/long-options (EXTRA_DIST): Add long-options.h.
113881         * modules/lstat (EXTRA_DIST): Add lstat.h.
113882         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
113883         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
113884         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
113885         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
113886         * modules/memxor (EXTRA_DIST): Add memxor.h.
113887         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
113888         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
113889         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
113890         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
113891         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
113892         * modules/physmem (EXTRA_DIST): Add physmem.h.
113893         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
113894         * modules/posixver (EXTRA_DIST): Add posixver.h.
113895         * modules/quote (EXTRA_DIST): Add quote.h.
113896         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
113897         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
113898         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
113899         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
113900         regex_internal.h regexec.c.
113901         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
113902         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
113903         * modules/same (EXTRA_DIST): Add same.h.
113904         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
113905         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
113906         * modules/savedir (EXTRA_DIST): Add savedir.h.
113907         * modules/sha1 (EXTRA_DIST): Add sha1.h.
113908         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
113909         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
113910         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
113911         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
113912         * modules/strdup (EXTRA_DIST): Add strdup.h.
113913         * modules/strftime (EXTRA_DIST): Add strftime.h.
113914         * modules/strndup (EXTRA_DIST): Add strndup.h.
113915         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
113916         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
113917         * modules/time_r (EXTRA_DIST): Add time_r.h.
113918         * modules/timespec (EXTRA_DIST): Add timespec.h.
113919         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
113920         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
113921         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
113922         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
113923         * modules/userspec (EXTRA_DIST): Add userspec.h.
113924         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
113925         * modules/utimens (EXTRA_DIST): Add utimens.h.
113926         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
113927         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
113928         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
113929         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
113930         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
113931         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
113932         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
113933         * modules/yesno (EXTRA_DIST): Add yesno.h.
113935 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
113937         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
113939         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
113940         * m4/dev-ino.m4, same-inode.m4: Remove.
113942         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
113943         * m4/acl.m4 (AC_FUNC_ACL):
113944         * m4/backupfile.m4 (gl_BACKUPFILE):
113945         * m4/c-strtod.m4 (gl_C99_STRTOLD):
113946         * m4/canon-host.m4 (gl_CANON_HOST):
113947         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
113948         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
113949         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
113950         * m4/cloexec.m4 (gl_CLOEXEC):
113951         * m4/close-stream.m4 (gl_CLOSE_STREAM):
113952         * m4/closeout.m4 (gl_CLOSEOUT):
113953         * m4/dirfd.m4 (gl_FUNC_DIRFD):
113954         * m4/dirname.m4 (gl_DIRNAME):
113955         * m4/exclude.m4 (gl_EXCLUDE):
113956         * m4/exitfail.m4 (gl_EXITFAIL):
113957         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
113958         * m4/file-type.m4 (gl_FILE_TYPE):
113959         * m4/filemode.m4 (gl_FILEMODE):
113960         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
113961         * m4/fpending.m4 (gl_FUNC_FPENDING):
113962         * m4/fprintftime.m4 (gl_FPRINTFTIME):
113963         * m4/fts.m4 (gl_FUNC_FTS):
113964         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
113965         * m4/getdate.m4 (gl_GETDATE):
113966         * m4/gethrxtime.m4 (gl_GETHRXTIME):
113967         * m4/getpagesize.m4 (gl_GETPAGESIZE):
113968         * m4/getpass.m4 (gl_FUNC_GETPASS):
113969         * m4/gettime.m4 (gl_GETTIME):
113970         * m4/getugroups.m4 (gl_GETUGROUPS):
113971         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
113972         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
113973         * m4/hard-locale.m4 (gl_HARD_LOCALE):
113974         * m4/hash.m4 (gl_HASH):
113975         * m4/idcache.m4 (gl_IDCACHE):
113976         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
113977         * m4/lchown.m4 (gl_FUNC_LCHOWN):
113978         * m4/long-options.m4 (gl_LONG_OPTIONS):
113979         * m4/lstat.m4 (gl_FUNC_LSTAT):
113980         * m4/md5.m4 (gl_MD5):
113981         * m4/memcasecmp.m4 (gl_MEMCASECMP):
113982         * m4/memcoll.m4 (gl_MEMCOLL):
113983         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
113984         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
113985         * m4/memxor.m4 (gl_MEMXOR):
113986         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
113987         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
113988         * m4/modechange.m4 (gl_MODECHANGE):
113989         * m4/mountlist.m4 (gl_MOUNTLIST):
113990         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
113991         * m4/openat.m4 (gl_FUNC_OPENAT):
113992         * m4/pathmax.m4 (gl_PATHMAX):
113993         * m4/physmem.m4 (gl_PHYSMEM):
113994         * m4/posixtm.m4 (gl_POSIXTM):
113995         * m4/posixver.m4 (gl_POSIXVER):
113996         * m4/quote.m4 (gl_QUOTE):
113997         * m4/quotearg.m4 (gl_QUOTEARG):
113998         * m4/readtokens.m4 (gl_READTOKENS):
113999         * m4/readutmp.m4 (gl_READUTMP):
114000         * m4/regex.m4 (gl_REGEX):
114001         * m4/safe-read.m4 (gl_SAFE_READ):
114002         * m4/safe-write.m4 (gl_SAFE_WRITE):
114003         * m4/same.m4 (gl_SAME):
114004         * m4/save-cwd.m4 (gl_SAVE_CWD):
114005         * m4/savedir.m4 (gl_SAVEDIR):
114006         * m4/settime.m4 (gl_SETTIME):
114007         * m4/sha1.m4 (gl_SHA1):
114008         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
114009         * m4/stat-macros.m4 (gl_STAT_MACROS):
114010         * m4/stat-time.m4 (gl_STAT_TIME):
114011         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
114012         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
114013         * m4/strdup.m4 (gl_FUNC_STRDUP):
114014         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
114015         * m4/strndup.m4 (gl_FUNC_STRNDUP):
114016         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
114017         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
114018         * m4/time_r.m4 (gl_TIME_R):
114019         * m4/timespec.m4 (gl_TIMESPEC):
114020         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
114021         * m4/unlinkdir.m4 (gl_UNLINKDIR):
114022         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
114023         * m4/userspec.m4 (gl_USERSPEC):
114024         * m4/utimecmp.m4 (gl_UTIMECMP):
114025         * m4/utimens.m4 (gl_UTIMENS):
114026         * m4/xalloc.m4 (gl_XALLOC):
114027         * m4/xgetcwd.m4 (gl_XGETCWD):
114028         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
114029         * m4/xreadlink.m4 (gl_XREADLINK):
114030         * m4/xstrtod.m4 (gl_XSTRTOD):
114031         * m4/yesno.m4 (gl_YESNO):
114032         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
114033         to get the necessary .h files and whatnot.
114035 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
114036             Bruno Haible  <bruno@clisp.org>
114038         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
114039         /bin/sh understanding of '!' conditional negation.
114041 2006-08-21  Jim Meyering  <jim@meyering.net>
114043         * modules/openat (Depends-on): Really alphabetize.
114045         * modules/acl (Depends-on): Add error and quote.
114047         * check-module (find_included_lib_files): Add at-func.c to the
114048         ok-to-include-more-than-once white list.
114050         * modules/openat (Depends-on): Add lstat.  Alphabetize.
114052 2006-08-21  Bruno Haible  <bruno@clisp.org>
114054         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114055         Emit a pkgdata_DATA variable only if some snippets add contents to it.
114056         Reported by Martin Lambers <marlam@marlam.de>.
114058 2006-08-21  Bruno Haible  <bruno@clisp.org>
114060         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
114061         specify an installation location, don't emit a noinst_LIBRARIES or
114062         noinst_LTLIBRARIES assignment.
114064 2006-08-21  Bruno Haible  <bruno@clisp.org>
114066         BeOS portability.
114067         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
114068         BeOS has mbrtowc() but no <wctype.h>.
114070 2006-08-21  Bruno Haible  <bruno@clisp.org>
114072         BeOS portability.
114073         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
114074         exist.
114076 2006-08-21  Bruno Haible  <bruno@clisp.org>
114078         BeOS portability.
114079         * lib/mbchar.h: Include <wctype.h> only if it exists.
114081 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114083         Remove files that are no longer needed by their respective modules.
114084         * m4/obstack.m4: Remove.
114085         * m4/strerror_r.m4: Remove.
114086         * m4/uint32_t.m4: Remove.
114087         * m4/uintptr_t.m4: Remove.
114088         * m4/ullong_max.m4: Remove.
114089         * m4/xstrtoimax.m4: Remove.
114090         * m4/xstrtoumax.m4: Remove.
114092         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
114093         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
114094         dependencies now capture this.
114096         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
114097         Do not use AC_LIBSOURCES, since gnulib modules now do this.
114098         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
114099         * m4/human.m4 (gl_HUMAN): Likewise.
114100         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
114101         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
114103         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
114105         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
114106         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
114107         stdint.
114108         * m4/human.m4 (gl_HUMAN): Likewise.
114109         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
114110         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
114111         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114112         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114113         * m4/xstrtol (gl_XSTRTOL): Likewise.
114115         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
114116         AC_TYPE_LONG_LONG_INT.
114117         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
114118         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
114119         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
114120         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
114122         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
114123         on stdbool.
114125         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
114126         (gl_PREREQ_XSTRTOUL): Remove.
114128         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
114130         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
114131         mode.
114133 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114135         Add and change modules to make it easier for coreutils to use
114136         gnulib-tool.
114137         * modules/backupfile (Files): Remove m4/d-ino.m4.
114138         (Depends-on): Add d-ino.
114139         * modules/cycle-check (Depends-on): Add stdint.
114140         (lib_SOURCES): Add cycle-check.h.
114141         * modules/d-ino: New module.
114142         * modules/d-type: New module.
114143         * modules/error (Files): Remove m4/strerror_r.m4.
114144         * modules/filemode (Files): Add m4/st_dm_mode.m4.
114145         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
114146         m4/inttypes_h.m4, m4/uintmax_t.m4.
114147         (Depends-on): Add stdint.
114148         (lib_SOURCES): Add fsusage.h.
114149         * modules/getcwd (Files): Remove d-ino.m4.
114150         (Depends-on): Add d-ino.
114151         * modules/getndelim2 (Depends-on): Add stdint.
114152         * modules/glob (Files): Remove m4/d-type.m4.
114153         (Depends-on): Add d-type.
114154         * modules/host-os: New module.
114155         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
114156         m4/inttypes_h.m4, m4/uintmax_t.m4.
114157         * Depends-on: Add stdint.
114158         (lib_SOURCES): Add human.h.
114159         * modules/inttostr (Files): Remove m4/intmax_t.m4,
114160         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
114161         m4/uintmax_t.m4, m4/ulonglong.m4.
114162         (Depends-on): Add stdint.
114163         (EXTRA_DIST): Add inttostr.h.
114164         * modules/lchmod: New module.
114165         * modules/link-follow: New module.
114166         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
114167         (Depends-on): Add lchmod.
114168         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
114169         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
114170         (Depends-on): Add stdint.
114171         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
114172         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
114173         (Depends-on): Add stdint.
114174         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
114175         * modules/perl: New module.
114176         * modules/regex (Depends-on): Add stdint.
114177         * modules/rmdir-errno: New module.
114178         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114179         m4/intmax_t.m4.
114180         (Depends-on): Add stdint.
114181         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
114182         m4/uintmax_t.m4.
114183         (Depends-on): Add stdint.
114184         * modules/unlink-busy: New module.
114185         * modules/utimecmp (Depends-on): Add stdint.
114186         * modules/uptime: New module.
114187         * modules/winsz-ioctl: New module.
114188         * modules/winsz-termios: New module.
114189         * modules/xnanosleep (Depends-on): Add nanosleep.
114190         * modules/ullong_max: Remove.
114191         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
114192         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
114193         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
114194         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
114195         (Depends-on): Add inttypes.
114196         (lib_SOURCES): Add xstrtol.h.
114197         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
114198         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
114199         * MODULES.html.sh: Move 'assert' into the assert section.
114200         Move 'dummy' into the linking section.
114201         Remove ullong_max.
114202         Add section for compatibility checks for POSIX:2001 functions,
114203         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
114204         winsz-ioctl, and winsz-termios into it.
114205         Add lchmod.
114206         Add top-level Misc section and put host-os, perl, and uptime
114207         into it.
114209 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
114211         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
114212         now assume the stdint module.  Do not include inttypes.h.
114213         * lib/fsusage.h: Likewise.
114214         * lib/getndelim2.c: Likewise.
114215         * lib/human.h: Likewise.
114216         * lib/inttostr.h: Likewise.
114217         * lib/obstack.c: Likewise.
114218         * lib/regex_internal.h: Likewise.
114219         * lib/tempname.c: Likewise.
114220         * lib/utimecmp.c: Likewise.
114221         * lib/xstrtol.h: Likewise.
114223         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
114225         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
114226         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
114227         * lib/xtime.h: Likewise.
114229 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114231         * modules/openat (Files): Add lib/fchmodat.c.
114232         Fixes problem reported by Jay Youngman.
114234 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
114236         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
114237         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
114239 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
114240             Bruno Haible  <bruno@clisp.org>
114242         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
114243         and is a script that invokes bison. Tighten the code. Add comments.
114245 2006-08-18  Jim Meyering  <jim@meyering.net>
114247         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
114248         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
114249         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
114250         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
114252 2006-08-18  Bruno Haible  <bruno@clisp.org>
114254         * modules/bison-i18n: New file.
114255         * MODULES.html.sh (Internationalization functions): Add it.
114257 2006-08-18  Bruno Haible  <bruno@clisp.org>
114259         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
114260         sys/statvfs.h. When getmntinfo was found, check its declaration and
114261         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
114263 2006-08-18  Bruno Haible  <bruno@clisp.org>
114265         * m4/bison-i18n.m4: New file, from bison.
114267 2006-08-18  Bruno Haible  <bruno@clisp.org>
114269         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
114270         (ME_DUMMY): Treat "kernfs" as a dummy.
114271         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
114273 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114275         Update from coreutils.
114277         2006-08-15  Jim Meyering  <jim@meyering.net>
114279         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
114281         2006-01-17  Jim Meyering  <jim@meyering.net>
114283         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
114285         2006-01-11  Jim Meyering  <jim@meyering.net>
114287         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
114288         Check for the lchmod function.
114290 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
114292         Update from coreutils.
114294         * lib/__fpending.h: Add copyright notice.
114295         * lib/fprintftime.h: Likewise.
114296         * lib/savedir.c: Use (C) in copyright notice.
114297         * lib/savedir.h: Likewise.
114299         2006-08-15  Jim Meyering  <jim@meyering.net>
114301         * lib/at-func.c: New file, with the logic of all emulated at-functions.
114302         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
114303         in support of the EXPECTED_ERRNO macro.
114304         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
114305         definitions.  Instead, define the appropriate symbols and include
114306         "at-func.c".
114307         * lib/mkdirat.c (mkdirat): Likewise.
114308         * lib/fchmodat.c (fchmodat): Likewise.
114309         (ENOSYS): Remove definition.
114310         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
114311         it.  Don't include "unistd--.h" -- it wasn't ever used.
114313         2006-01-17  Jim Meyering  <jim@meyering.net>
114315         Rewrite fts.c not to change the current working directory,
114316         by using openat, fstatat, fdopendir, etc..
114318         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
114319         (HAVE_OPENAT_SUPPORT): Define.
114320         [_LIBC] (fchdir): Don't undef or define; no longer used.
114321         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
114322         Now, this `function' always succeeds, and consumes its file descriptor
114323         parameter -- so callers must not close such FDs.  Update callers.
114324         (diropen_fd, opendirat, cwd_advance_fd): New functions.
114325         (diropen): Add parameter, SP.  Adjust all callers.
114326         Implement using diropen_fd, rather than open.
114327         (fts_open): Initialize new member, fts_cwd_fd.
114328         Remove fts_rft-setting code.
114329         (fts_close): Close fts_cwd_fd, if necessary.
114330         (__opendir2): Define in terms of opendir or opendirat,
114331         depending on whether the FST_NOCHDIR flag is set.
114332         (fts_build): Since fts_safe_changedir consumes its FD, and since
114333         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
114334         and close the dup'd file descriptor upon failure.
114335         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
114336         (fts_safe_changedir): Tweak semantics to reflect that this function
114337         now calls cwd_advance_fd and hence consumes its FD argument.
114338         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
114339         [struct FTS] (fts_rft): Remove now-unused member.
114340         [struct FTS] (fts_cycle.state): Improve comment.
114342         * lib/openat.c (openat_needs_fchdir): New function.
114343         * lib/openat.h (openat_needs_fchdir): Declare it.
114345 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
114347         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
114348         Problem and fix reported by Pádraig Brady in
114349         <http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.
114351 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114353         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
114355 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114357         * lib/memcoll.c (memcoll): Optimize for the common case where the
114358         arguments are bytewise equal.
114360 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
114362         * doc/regexprops-generic.texi: Add a copyright notice.
114364 2006-08-15  Bruno Haible  <bruno@clisp.org>
114366         * modules/tmpdir (License): Change to LGPL.
114368 2006-08-15  Bruno Haible  <bruno@clisp.org>
114370         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
114371         module.
114373 2006-08-14  Simon Josefsson  <jas@extundo.com>
114375         * config/srclist.txt: Add gnupload.
114377 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114379         Change copyright notice from LGPL 2 to GPL 2, since that's the
114380         standard form used in the gnulib repository.
114381         * tests/test-lock.c: Likewise.
114382         * tests/test-stdint.c: Likewise.
114383         * tests/test-tls.c: Likewise.
114385         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
114386         prelude-manager.  User shorter URLs for GNU projects, without '?'.
114387         Add copyright notice.
114389         * check-module: Add copyright notice.  Output a copyright
114390         notice if "--version" is specified.
114391         * modules/COPYING: New file.
114392         * tests/test-getaddrinfo.c: Add copyright notice.
114393         * tests/test-verify.c: Likewise.
114395 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114397         Change copyright notice from LGPL 2 to GPL 2, since that's the
114398         standard form used in the gnulib repository.
114399         * lib/lock.c: LGPL -> GPL.
114400         * lib/lock.h: Likewise.
114401         * lib/strnlen1.c: Likewise.
114402         * lib/strnlen1.h: Likewise.
114403         * lib/tls.c: Likewise.
114404         * lib/tls.h: Likewise.
114405         * lib/tmpdir.c: Likewise.
114407         * lib/TODO: Remove; this belongs only in coreutils.
114409 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114411         Add copyright notices to long-enough files that lack them, since
114412         otherwise the files aren't clearly free.  Use the same notice that
114413         getdate.texi already uses.
114414         * doc/alloca-opt.texi: Add copyright notice.
114415         * doc/alloca.texi: Likewise.
114416         * doc/ctime.texi: Likewise.
114417         * doc/functions.texi: Likewise.
114418         * doc/gcd.texi: Likewise.
114419         * doc/gnulib-tool.texi: Likewise.
114420         * doc/inet_ntoa.texi: Likewise.
114421         * doc/visibility.texi: Likewise.
114423         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
114424         * doc/quote.texi: Add copyright notice.
114426         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
114427         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
114428         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
114429         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
114430         is now obsolete, and give a pointer to the Sun list.
114431         Add copyright notice.
114433 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
114435         * config/srclistvars.sh: Add copyright notice.
114437 2006-08-14  Eric Blake  <ebb9@byu.net>
114439         Import the following change from libc:
114441         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
114443         Upstream bug 2997.
114444         * lib/misc/error.c: Add space between program name and message if file
114445         name is missing.
114447 2006-08-12  Karl Berry  <karl@gnu.org>
114449         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
114450         remove, these originate in gnulib now.
114452 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114454         * doc/Makefile (standards.info standards.html standards.dvi):
114455         Also depend on make-stds.texi.
114457 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
114459         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
114460         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
114462         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
114463         in wchar_t.  Problem reported by Eric Blake.
114465         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
114466         LEN is smaller than SIZE.  Suggested by Bruno Haible.
114467         Also, help the compiler to keep LEN in a register.
114469 2006-08-11  Eric Blake  <ebb9@byu.net>
114471         * users.txt: Sort.  Add tar.
114473 2006-08-11  Bruno Haible  <bruno@clisp.org>
114475         * users.txt: New file.
114477 2006-08-11  Bruno Haible  <bruno@clisp.org>
114479         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
114480         before <wchar.h>. Needed for OSF/1 and BSD/OS.
114482 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114484         * modules/snprintf (Depends-on): Remove minmax.
114485         (Maintainer): Add self and Bruno.
114487 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
114489         * lib/.cppi-disable: Add snprintf.h, socket_.h.
114490         * lib/snprintf.c: Include <errno.h> and <limits.h>.
114491         (EOVERFLOW): Define if the system does not.
114492         Do not include "minmax.h"; it wasn't used.
114493         (snprintf): Don't assume size_t promotes to an unsigned type.
114494         Fix bug when generated string was too long for the buffer: the
114495         buffer's contents are supposed to be the initial prefix of the
114496         output.  Don't assume vasnprintf returns EOVERFLOW if the size
114497         exceeds INT_MAX; do the check ourselves.
114499         Import the following changes from libc:
114501         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
114503         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
114504         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
114505         set wc to the byte which couldn't be converted.
114506         (re_string_reconstruct): Don't clear valid_raw_len before calling
114507         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
114508         tip_context using re_string_context_at.
114510         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
114512         * lib/posix/regex.h: g++ still cannot handled [restrict].
114514         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
114516         * lib/posix/regex.h: Remove special handling for VMS.
114518 2006-08-10  Jim Meyering  <jim@meyering.net>
114520         * modules/same-inode: New module.
114521         * modules/dev-ino: New module.
114522         * modules/cycle-check: Depend on these modules, rather than simply
114523         including their .h files.
114524         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
114525         required via m4/cycle-check.m4.
114526         * modules/same: Depend on new same-inode module, rather than
114527         including same-inode.h.
114528         * modules/chdir-safer: New file.
114530         * modules/chown (Depends-on): Add stat-macros.
114532 2006-08-10  Jim Meyering  <jim@meyering.net>
114534         * m4/cycle-check.m4: New file.
114535         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
114536         * m4/dev-ino.m4, m4/same-inode.m4: New files.
114538 2006-08-10  Eric Blake  <ebb9@byu.net>
114540         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
114541         in from original proposal.
114543 2006-08-10  Eric Blake  <ebb9@byu.net>
114544         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
114546         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
114547         namespace.
114549 2006-08-10  Bruno Haible  <bruno@clisp.org>
114551         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
114552         as well.
114554 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114556         Sync from coreutils.
114558         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
114560         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
114561         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
114563 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114565         * modules/restrict: Remove; no longer needed now that we assume
114566         Autoconf 2.59 or later.
114567         * MODULES.html.sh: Remove 'restrict'.
114568         * modules/argp (Depends-on): Remove 'restrict'.
114569         * modules/base64 (Depends-on): Likewise.
114570         * modules/gc (Depends-on): Likewise.
114571         * modules/getaddrinfo (Depends-on): Likewise.
114572         * modules/glob (Depends-on): Likewise.
114573         * modules/inet_ntop (Depends-on): Likewise.
114574         * modules/inet_pton (Depends-on): Likewise.
114575         * modules/memxor (Depends-on): Likewise.
114576         * modules/regex (Depends-on): Likewise.
114577         * modules/strtok_r (Depends-on): Likewise.
114578         * modules/time_r (Depends-on): Likewise.
114580 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
114582         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
114583         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
114584         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
114585         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
114586         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
114587         * m4/memxor.m4 (gl_MEMXOR): Likewise.
114588         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
114589         gl_C_RESTRICT replaced by AC_C_RESTRICT.
114591         Merge from coreutils.
114592         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
114593         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
114594         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
114595         * m4/time_r.m4 (gl_TIME_R): Likewise.
114597 2006-08-09  Karl Berry  <karl@gnu.org>
114599         * config/srclist.txt: no more gettext-tools, per Bruno.
114601 2006-08-08  Eric Blake  <ebb9@byu.net>
114603         * modules/verror: New module.
114604         * MODULES.html.sh: Document it.
114606 2006-08-08  Eric Blake  <ebb9@byu.net>
114608         * lib/verror.h, lib/verror.c: New files.
114610 2006-08-08  Eric Blake  <ebb9@byu.net>
114612         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
114613         verror_at_line output complies with GNU Coding Standards even when
114614         file is NULL.
114616 2006-08-07  Bruno Haible  <bruno@clisp.org>
114618         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
114619         versions of AIX.
114620         Reported by Ralf Wildenhues.
114622 2006-08-07  Bruno Haible  <bruno@clisp.org>
114624         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
114625         in an AC_DEFUN. Needed so that the autoconf snippets can use
114626         AC_REQUIRE.
114628 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
114630         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114631         Initialize pkgdata_DATA.
114632         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
114633         overriding it.
114635 2006-08-06  Eric Blake  <ebb9@byu.net>
114637         * lib/error.h: Fold in some upstream changes from glibc.
114638         * lib/error.c: Likewise.
114640 2006-08-04  Bruno Haible  <bruno@clisp.org>
114642         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114643         Make the mostlyclean-local rule depend on mostlyclean-generic.
114644         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
114646 2006-07-31  Bruno Haible  <bruno@clisp.org>
114648         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
114649         <stdlib.h>, <string.h>.
114651 2006-07-30  Bruno Haible  <bruno@clisp.org>
114653         * modules/readlink (License): Change to LGPL.
114655 2006-07-30  Bruno Haible  <bruno@clisp.org>
114657         * modules/javaversion (Makefile.am): Distribute javaversion.java and
114658         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
114659         set PKGDATADIR to point to it.
114661 2006-07-30  Bruno Haible  <bruno@clisp.org>
114663         * modules/csharpexec (configure.ac): Comment out macro invocation.
114664         * modules/javaexec (configure.ac): Likewise.
114665         * modules/javacomp-script (configure.ac): Likewise.
114667         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
114669 2006-07-30  Bruno Haible  <bruno@clisp.org>
114671         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
114672         linked-list.
114674 2006-07-30  Bruno Haible  <bruno@clisp.org>
114676         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
114678 2006-07-30  Bruno Haible  <bruno@clisp.org>
114680         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
114681         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
114682         get removed.
114684 2006-07-29  Bruno Haible  <bruno@clisp.org>
114686         Make it possible for gnulib-tool to work with locally modified or
114687         augmented gnulib repositories.
114688         * gnulib-tool (func_usage): Document --local-dir option.
114689         (local_gnulib_dir): New variable.
114690         Handle --local-dir option.
114691         (func_lookup_file): New function.
114692         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
114693         (func_get_description, func_get_filelist, func_get_description,
114694         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
114695         func_get_automake_snippet, func_get_include_directive,
114696         func_get_license, func_get_maintainer): Use func_lookup_file.
114697         (func_import, func_create_testdir): Use func_lookup_file.
114699 2006-07-29  Bruno Haible  <bruno@clisp.org>
114701         * modules/setenv (Depends-on): Add unistd.
114703 2006-07-29  Bruno Haible  <bruno@clisp.org>
114705         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
114707 2006-07-29  Bruno Haible  <bruno@clisp.org>
114709         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
114711 2006-07-29  Bruno Haible  <bruno@clisp.org>
114713         * gnulib-tool (import, update): If there is no Makefile.am, look at
114714         aclocal.m4, instead of bailing out.
114716 2006-07-29  Bruno Haible  <bruno@clisp.org>
114718         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
114719         Categorize the options by when they are useful.
114721 2006-07-29  Bruno Haible  <bruno@clisp.org>
114723         * gnulib-tool (func_usage): Document option --no-libtool.
114724         Handle option --no-libtool.
114725         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
114726         for changed semantics of $libtool variable.
114727         (func_import): Likewise. If libtool is not used, show this through
114728         an option --no-libtool.
114729         (func_create_testdir): Update.
114731 2006-07-29  Bruno Haible  <bruno@clisp.org>
114733         * gnulib-tool (func_import): Extend error message about missing
114734         --doc-base.
114736 2006-07-29  Bruno Haible  <bruno@clisp.org>
114738         * gnulib-tool (func_import): Don't create the $docbase directory if
114739         there is no file to store there.
114741 2006-07-29  Bruno Haible  <bruno@clisp.org>
114743         * gnulib-tool (autoconf_minversion): If a --dir option is given and
114744         relevant, look for configure.ac there, not in the current directory.
114745         Also use a simple search for AC_PREREQ, not "autoconf --trace".
114747 2006-07-29  Bruno Haible  <bruno@clisp.org>
114749         * gnulib-tool (SORT): New variable.
114750         (func_usage): Undocument --assume-autoconf option.
114751         Remove --assume-autoconf option handling.
114752         (autoconf_minversion): Determine from the contents of configure.ac.
114753         (func_import): Remove autoconf_minversion handling.
114754         Suggested by Eric Blake.
114756 2006-07-29  Bruno Haible  <bruno@clisp.org>
114758         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
114760 2006-07-29  Bruno Haible  <bruno@clisp.org>
114762         * config/srclist.txt (*setenv.[ch]): Remove rules.
114764 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114766         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
114768 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114770         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
114771         arpa/inet.h.
114773 2006-07-28  Simon Josefsson  <jas@extundo.com>
114775         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
114776         * modules/inet_pton (Depends-on): Likewise.
114778 2006-07-28  Simon Josefsson  <jas@extundo.com>
114780         * m4/netinet_in_h.m4: New file.
114782 2006-07-28  Simon Josefsson  <jas@extundo.com>
114784         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
114785         #include's.
114787 2006-07-28  Simon Josefsson  <jas@extundo.com>
114789         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
114790         #include's.
114792 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
114794         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
114795         setgid on directories only if they set these bits.
114796         * lib/modechange.h: Remove obsolete comment about masks.
114798 2006-07-28  Eric Blake  <ebb9@byu.net>
114800         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
114801         macro expansion.
114803 2006-07-28  Bruno Haible  <bruno@clisp.org>
114805         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
114807 2006-07-28  Bruno Haible  <bruno@clisp.org>
114809         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
114811 2006-07-28  Bruno Haible  <bruno@clisp.org>
114813         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
114814         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
114815         Define fallbacks.
114816         Avoids link error on FreeBSD 4.x.
114817         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
114819         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
114820         encoding.
114821         * lib/mbswidth.c (iswcntrl): Likewise.
114823 2006-07-27  Bruno Haible  <bruno@clisp.org>
114825         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
114826         test.
114828 2006-07-27  Bruno Haible  <bruno@clisp.org>
114830         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
114831         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
114832         defined.
114834 2006-07-26  Eric Blake  <ebb9@byu.net>
114836         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
114838 2006-07-26  Eric Blake  <ebb9@byu.net>
114840         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
114841         like mingw that lack mkstemp.
114842         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
114843         avoid compilation warning on mingw.
114845 2006-07-26  Bruno Haible  <bruno@clisp.org>
114847         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
114848         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
114849         INT_FAST*_MIN, INTPTR_MIN.
114851 2006-07-25  Bruno Haible  <bruno@clisp.org>
114853         * modules/version-etc (Depends-on): Add stdarg.
114855 2006-07-25  Bruno Haible  <bruno@clisp.org>
114857         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
114858         complex commands.
114860 2006-07-25  Bruno Haible  <bruno@clisp.org>
114862         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
114863         defined in <stdarg.h> or config.h.
114865 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114867         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
114868         (gl_STDIO_SAFER): Remove.
114870 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
114872         * MODULES.html.sh (File stream based Input/Output):
114873         Add fopen-safer, tmpfile-safer; remove stdio-safer.
114874         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
114875         * modules/fopen-safer, modules/tmpfile-safer: New files.
114876         * modules/stdio-safer: Remove.
114878 2006-07-24  Bruno Haible  <bruno@clisp.org>
114880         * modules/tmpdir: New file.
114881         * MODULES.html.sh (File system functions): Add it.
114883 2006-07-24  Bruno Haible  <bruno@clisp.org>
114885         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
114886         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
114888 2006-07-24  Bruno Haible  <bruno@clisp.org>
114890         * modules/clean-temp: New file.
114892 2006-07-24  Bruno Haible  <bruno@clisp.org>
114894         * m4/tmpdir.m4: New file, from GNU gettext.
114896 2006-07-24  Bruno Haible  <bruno@clisp.org>
114898         * lib/tmpdir.h: New file, from GNU gettext.
114899         * lib/tmpdir.c: New file, from GNU gettext.
114901 2006-07-24  Bruno Haible  <bruno@clisp.org>
114903         * lib/clean-temp.h: New file, from GNU gettext.
114904         * lib/clean-temp.c: New file, from GNU gettext.
114906 2006-07-23  Eric Blake  <ebb9@byu.net>
114908         * modules/stdio-safer (Files): Add tmpfile-safer.c.
114909         (Depends-on): Add binary-io.
114911 2006-07-23  Eric Blake  <ebb9@byu.net>
114913         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
114915 2006-07-23  Eric Blake  <ebb9@byu.net>
114917         * lib/tmpfile-safer.c: New file.
114918         * lib/stdio-safer.h (fopen_safer): Add prototype.
114919         * lib/stdio--.h (tmpfile): Make safer.
114921 2006-07-23  Bruno Haible  <bruno@clisp.org>
114923         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
114924         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
114925         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
114926         gl_linked_remove_at): Use it.
114928 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
114929         and Simon Josefsson <jas@extundo.com>
114931         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
114933         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
114935 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114937         * modules/close-stream: New file.
114938         * modules/closeout (Description): Make it clear that it exits
114939         with a diagnostic on error.
114940         (Depends-on): Add close-stream.  Remove fpending, stdbool.
114941         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
114943 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114945         * m4/close-stream.m4: New file.
114947 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
114949         * lib/close-stream.c, lib/close-stream.h: New files.
114951 2006-07-22  Bruno Haible  <bruno@clisp.org>
114953         Merge from GNU gettext 0.15.
114955         2006-05-01  Bruno Haible  <bruno@clisp.org>
114957                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
114959         2006-07-22  Bruno Haible  <bruno@clisp.org>
114961                 * modules/javaversion: New file.
114962                 * MODULES.html.sh (Java): Add javaversion.
114964         2006-03-12  Bruno Haible  <bruno@clisp.org>
114966                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
114968         2005-12-04  Bruno Haible  <bruno@clisp.org>
114970                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
114971                 (untested).
114973         2006-06-21  Bruno Haible  <bruno@clisp.org>
114975                 Avoid warnings from recent versions of mcs.
114976                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
114977                 -o, -L, -r any more. Use options documented since mcs-1.0
114978                 instead. Similarly for -g.
114980         2005-12-04  Bruno Haible  <bruno@clisp.org>
114982                 * build-aux/csharpcomp.sh.in: Suffix for resources is
114983                 .resources, not .resource.
114985         2005-07-09  Bruno Haible  <bruno@clisp.org>
114987                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
114988                 add a .dll suffix.
114989                 Reported by Mark Junker <mjscod@gmx.de>.
114991         2006-07-22  Bruno Haible  <bruno@clisp.org>
114993                 * modules/gettext: Upgrade to gettext-0.15.
114994                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
114995                 m4/visibility.m4.
114996                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
114998 2006-07-22  Bruno Haible  <bruno@clisp.org>
115000         Merge from GNU gettext 0.15.
115002         2006-03-25  Bruno Haible  <bruno@clisp.org>
115004                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
115006         2006-07-21  Bruno Haible  <bruno@clisp.org>
115008                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
115009                 "1.1".
115011         2006-05-09  Bruno Haible  <bruno@clisp.org>
115013                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
115014                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
115015                 for the conftestver execution.
115017         2006-05-01  Bruno Haible  <bruno@clisp.org>
115019                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
115020                 optional target-version argument. Verify that the compiler
115021                 groks source of the specified source-version, or add -source
115022                 option as necessary. Verify that the compiler produces
115023                 bytecode in the specified target-version, or add -target and
115024                 -source options as necessary. Make the result of the test
115025                 available as variable CONF_JAVAC. Also log error output in
115026                 config.log.
115028         2006-03-11  Bruno Haible  <bruno@clisp.org>
115030                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
115032         2006-05-09  Bruno Haible  <bruno@clisp.org>
115034                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
115035                 CLASSPATH_SEPARATOR to a semicolon.
115037         2006-03-12  Bruno Haible  <bruno@clisp.org>
115039                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
115040                 available as variable CONF_JAVA, for subsequent autoconf
115041                 tests. Also log error output in config.log.
115043         2006-07-19  Bruno Haible  <bruno@clisp.org>
115045                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
115046                 that getline works on glibc2 systems. Needed to avoid trouble
115047                 in relocatable.c.
115048                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
115050         2005-12-04  Bruno Haible  <bruno@clisp.org>
115052                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
115053                 launcher (untested).
115055         2005-12-04  Bruno Haible  <bruno@clisp.org>
115057                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
115059         2006-07-22  Bruno Haible  <bruno@clisp.org>
115061                 * gettext.m4: Update from GNU gettext-0.15.
115062                 * nls.m4: Likewise.
115063                 * po.m4: Likewise.
115064                 * inttypes-pri.m4: Likewise.
115065                 * inttypes-h.m4: Renamed from inttypes.m4.
115066                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
115068 2006-07-22  Bruno Haible  <bruno@clisp.org>
115070         Merge from GNU gettext 0.15.
115072         2005-07-05  Bruno Haible  <bruno@clisp.org>
115074                 * printf-args.c (printf_fetchargs): Work around broken
115075                 definition of wint_t on mingw.
115077         2005-02-12  Bruno Haible  <bruno@clisp.org>
115079                 * xallocsa.h: Add extern "C" for C++.
115081         2006-05-17  Bruno Haible  <bruno@clisp.org>
115083                 Cygwin portability.
115084                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
115086         2006-04-30  Bruno Haible  <bruno@clisp.org>
115088                 * progreloc.c: Include <mach-o/dyld.h> if available.
115089                 (find_executable): Use _NSGetExecutablePath when possible.
115091         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
115093                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
115094                 function.
115096         2005-12-29  Bruno Haible  <bruno@clisp.org>
115098                 * progreloc.c (set_program_name_and_installdir): Fix
115099                 compilation error.
115101         2005-12-04  Bruno Haible  <bruno@clisp.org>
115103                 Cygwin portability.
115104                 * progreloc.c: Include <windows.h> also on Cygwin.
115105                 (find_executable): Add support for Cygwin.
115106                 (set_program_name_and_installdir): Handle also platforms with
115107                 nonempty EXEEXT.
115109         2006-07-11  Bruno Haible  <bruno@clisp.org>
115111                 * javacomp.c: Fix a comment.
115112                 Reported by Jim Meyering.
115114         2006-04-30  Bruno Haible  <bruno@clisp.org>
115116                 * javacomp.h (compile_java_class): Add source_version,
115117                 target_version arguments.
115118                 * javacomp.c: Rewritten to choose only a compiler that
115119                 respects the specified source_version and target_version.
115121         2006-06-27  Bruno Haible  <bruno@clisp.org>
115123                 Assume correct S_ISDIR macro.
115124                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
115126         2006-07-22  Bruno Haible  <bruno@clisp.org>
115128                 * javaversion.h: New file, from GNU gettext.
115129                 * javaversion.c: New file, from GNU gettext.
115130                 * javaversion.java: New file, from GNU gettext.
115131                 * javaversion.class: New file, from GNU gettext.
115133         2006-05-17  Bruno Haible  <bruno@clisp.org>
115135                 Cygwin portability.
115136                 * javaexec.c (execute_java_class): Test for jview program
115137                 also on Cygwin.
115139         2006-04-09  Bruno Haible  <bruno@clisp.org>
115141                 * fatal-signal.c: Don't include string.h.
115142                 (at_fatal_signal): Use a copying loop instead of memcpy.
115144         2005-12-04  Bruno Haible  <bruno@clisp.org>
115146                 * csharpexec.c: Add support for 'clix' launcher (untested).
115147                 (execute_csharp_using_sscli): New function.
115148                 (execute_csharp_program): Call it.
115150         2006-06-21  Bruno Haible  <bruno@clisp.org>
115152                 Avoid warnings from recent versions of mcs.
115153                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
115154                 -o, -L, -r any more. Use options documented since mcs-1.0
115155                 instead. Similarly for -g.
115157         2005-07-09  Bruno Haible  <bruno@clisp.org>
115159                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
115160                 add a .dll suffix.
115161                 Reported by Mark Junker <mjscod@gmx.de>.
115163         2006-06-17  Bruno Haible  <bruno@clisp.org>
115165                 * config.charset: Update for NetBSD 3.0.
115167         2006-05-17  Bruno Haible  <bruno@clisp.org>
115169                 Cygwin portability.
115170                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
115172         2006-05-16  Bruno Haible  <bruno@clisp.org>
115174                 * localcharset.c [CYGWIN]: Include <windows.h>.
115175                 (get_charset_aliases): For Cygwin, return the same CPxxx
115176                 aliases list as under WIN32.
115177                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
115178                 the environment variables. Fall back to GetACP().
115180         2006-04-05  Bruno Haible  <bruno@clisp.org>
115182                 * config.charset: Update Juan Manuel Guerrero's address.
115184         2005-02-12  Bruno Haible  <bruno@clisp.org>
115186                 * allocsa.h: Add extern "C" for C++.
115188         2005-02-10  Bruno Haible  <bruno@clisp.org>
115190                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
115191                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
115193         2006-07-22  Bruno Haible  <bruno@clisp.org>
115195                 * gettext.h: Update to GNU gettext-0.15.
115197 2006-07-22  Bruno Haible  <bruno@clisp.org>
115199         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
115200         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
115201         lib-prefix.m4, longdouble.m4, ssize_t.m4.
115203 2006-07-21  Eric Blake  <ebb9@byu.net>
115205         * modules/stdlib-safer: New file.
115206         * MODULES.html.sh (File stream based Input/Output): Add
115207         stdlib-safer.
115209 2006-07-21  Eric Blake  <ebb9@byu.net>
115211         * lib/stdlib-safer.h: New file from coreutils, required by
115212         stdlib--.h.
115214 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
115216         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
115218 2006-07-20  Bruno Haible  <bruno@clisp.org>
115220         * gnulib-tool: Recognize new option --assume-autoconf.
115221         (autoconf_minversion): New variable.
115222         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
115224 2006-07-20  Bruno Haible  <bruno@clisp.org>
115226         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
115228 2006-07-19  Derek R. Price  <derek@ximbiot.com>
115230         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
115231         Reindent and repaginate.
115233 2006-07-19  Derek Price  <derek@ximbiot.com>
115235         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
115236         Correct grammar.
115238 2006-07-17  Bruno Haible  <bruno@clisp.org>
115240         * modules/list: New file.
115241         * modules/array-list: New file.
115242         * modules/carray-list, modules/carray-list-tests: New files.
115243         * modules/linked-list, modules/linked-list-tests: New files.
115244         * modules/avltree-list, modules/avltree-list-tests: New files.
115245         * modules/rbtree-list, modules/rbtree-list-tests: New files.
115246         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
115247         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
115248         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
115249         * modules/oset: New file.
115250         * modules/array-oset: New file.
115251         * modules/avltree-oset, modules/avltree-oset-tests: New files.
115252         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
115253         * tests/test-carray_list.c: New file.
115254         * tests/test-linked_list.c: New file.
115255         * tests/test-avltree_list.c: New file.
115256         * tests/test-rbtree_list.c: New file.
115257         * tests/test-linkedhash_list.c: New file.
115258         * tests/test-avltreehash_list.c: New file.
115259         * tests/test-rbtreehash_list.c: New file.
115260         * tests/test-avltree_oset.c: New file.
115261         * tests/test-rbtree_oset.c: New file.
115262         * MODULES.html.sh (Container data structures): New section.
115264 2006-07-17  Bruno Haible  <bruno@clisp.org>
115266         * m4/gl_list.m4: New file.
115268 2006-07-17  Bruno Haible  <bruno@clisp.org>
115270         * lib/gl_list.h: New file.
115271         * lib/gl_list.c: New file.
115272         * lib/gl_array_list.h: New file.
115273         * lib/gl_array_list.c: New file.
115274         * lib/gl_carray_list.h: New file.
115275         * lib/gl_carray_list.c: New file.
115276         * lib/gl_linked_list.h: New file.
115277         * lib/gl_linked_list.c: New file.
115278         * lib/gl_anylinked_list1.h: New file.
115279         * lib/gl_anylinked_list2.h: New file.
115280         * lib/gl_avltree_list.h: New file.
115281         * lib/gl_avltree_list.c: New file.
115282         * lib/gl_anyavltree_list1.h: New file.
115283         * lib/gl_anyavltree_list2.h: New file.
115284         * lib/gl_rbtree_list.h: New file.
115285         * lib/gl_rbtree_list.c: New file.
115286         * lib/gl_anyrbtree_list1.h: New file.
115287         * lib/gl_anyrbtree_list2.h: New file.
115288         * lib/gl_anytree_list1.h: New file.
115289         * lib/gl_anytree_list2.h: New file.
115290         * lib/gl_linkedhash_list.h: New file.
115291         * lib/gl_linkedhash_list.c: New file.
115292         * lib/gl_anyhash_list1.h: New file.
115293         * lib/gl_anyhash_list2.h: New file.
115294         * lib/gl_avltreehash_list.h: New file.
115295         * lib/gl_avltreehash_list.c: New file.
115296         * lib/gl_rbtreehash_list.h: New file.
115297         * lib/gl_rbtreehash_list.c: New file.
115298         * lib/gl_anytreehash_list1.h: New file.
115299         * lib/gl_anytreehash_list2.h: New file.
115301         * lib/gl_oset.h: New file.
115302         * lib/gl_oset.c: New file.
115303         * lib/gl_array_oset.h: New file.
115304         * lib/gl_array_oset.c: New file.
115305         * lib/gl_avltree_oset.h: New file.
115306         * lib/gl_avltree_oset.c: New file.
115307         * lib/gl_rbtree_oset.h: New file.
115308         * lib/gl_rbtree_oset.c: New file.
115309         * lib/gl_anytree_oset.h: New file.
115311 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115313         * m4/mkancesdirs.m4: New file.
115314         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
115315         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
115316         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
115317         it.
115319 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115321         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
115322         * lib/mkancesdirs.h: New files.
115323         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
115324         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
115325         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
115326         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
115327         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
115328         callers changed.  Revamp internals significantly, by not
115329         attempting to create directories that are temporarily more
115330         permissive than the final results.  Do not attempt to use
115331         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
115332         This removes some race conditions, fixes some bugs, and simplifies
115333         things.  Use new dirchownmod function to do owner and mode changes.
115334         * lib/mkdir-p.h: Likewise.
115335         * lib/modechange.c (octal_to_mode): New function.
115336         (struct mode_change): New member mentioned.
115337         (make_node_op_equals): New arg mentioned.  All callers changed.
115338         (mode_compile): Keep track of which mode bits the user has explicitly
115339         mentioned.
115340         (mode_adjust): New arg DIR, so that we implement the X op correctly.
115341         New arg PMODE_BITS, to keep track of which mode bits the user
115342         mentioned; it treats S_ISUID and S_ISGID speciall.
115343         All callers changed.
115344         * lib/modechange.h: Likewise.
115346 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
115348         * MODULES.html.sh: Add mkancestors.
115349         * modules/mkancesdirs: New module.
115350         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
115351         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
115352         The chdir-safer and afs files are now orphans; I'll remove them
115353         unless someone speaks up.
115354         Add lib/dirchownmod.c, lib/dirchownmod.h.
115355         (Depends-on): Remove alloca, chown, save-cwd, dirname.
115356         Add lchown, mkancesdirs.
115357         (Maintainer): Add self.
115359 2006-07-15  Karl Berry  <karl@gnu.org>
115361         * gnulib-tool: help message wording/arrangement.
115363 2006-07-14  Simon Josefsson  <jas@extundo.com>
115365         * doc/gnulib.texi (Libtool and Windows): New section.
115367 2006-07-12  Simon Josefsson  <jas@extundo.com>
115369         * modules/gendocs (License): Fix license, approved by Karl.
115371 2006-07-12  Eric Blake  <ebb9@byu.net>
115373         * MODULES.html.sh: Add gendocs.
115375 2006-07-11  Eric Blake  <ebb9@byu.net>
115377         * modules/fdl: New module, to install doc/fdl.texi.
115378         * MODULES.html.sh: Add new section for documentation modules.
115379         * gnulib-tool: Avoid space-tab.
115380         (--doc-base): New option, to manage files from doc.
115382 2006-07-11  Eric Blake  <ebb9@byu.net>
115384         * m4/absolute-header.m4: Fix comments to match recent change.
115386 2006-07-11  Eric Blake  <ebb9@byu.net>
115388         * gnulib-tool: List --doc-base before --tests-base.
115390 2006-07-11  Derek R. Price  <derek@ximbiot.com>
115392         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
115394 2006-07-11  Bruno Haible  <bruno@clisp.org>
115396         * README: Mention where to put documentation.
115398 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115400         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
115402 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115404         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
115405         to stdint.m4.
115407 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
115409         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
115410         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
115411         "no/such/file/stdint.h" when there is no such file, so that
115412         the resulting C code can be parsed by dodgy compilers.
115413         Problems reported by Bob Proulx.
115415 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115417         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
115418         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115419         macros into the GNU _D_EXACT_NAMLEN.
115420         * lib/savedir.c:  Likewise.
115421         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
115423 2006-07-10  Derek R. Price  <derek@ximbiot.com>
115424         and Paul Eggert  <eggert@cs.ucla.edu>
115426         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
115427         * m4/savedir.m4:
115428         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
115429         macros into the GNU _D_EXACT_NAMLEN.
115431 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115433         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
115434         around the absolute name, to work around a problem with the HP-UX
115435         11.23 native C compiler, reported by Bob Proulx.
115437 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115439         * doc/maintain.texi, make-stds.texi: Sync from
115440         <http://savannah.gnu.org/projects/gnustandards>.
115442 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
115444         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
115446 2006-07-09  Jim Meyering  <jim@meyering.net>
115448         * m4/glob.m4: Remove a doubled word in a comment.
115450 2006-07-09  Jim Meyering  <jim@meyering.net>
115452         * lib/argp-pv.c: Remove a doubled word in a comment.
115453         * lib/check-version.c (check_version): Likewise.
115454         * lib/javacomp.c (compile_java_class): Likewise.
115456 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
115458         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
115459         for the benefit of people using Autoconf 2.60.  If you want to
115460         support older Autoconf versions you can copy m4/onceonly_2_57.m4
115461         (or m4/onceonly.m4, if pre-2.57) manually.
115463 2006-07-08  Jim Meyering  <jim@meyering.net>
115465         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
115466         comment.
115467         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
115468         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
115469         comment.
115471 2006-07-08  Jim Meyering  <jim@meyering.net>
115473         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
115475 2006-07-07  Simon Josefsson  <jas@extundo.com>
115477         * tests/test-crc.c: Change expected crc value, the test vector
115478         were probably computed using the old broken crc.c?
115480 2006-07-06  Simon Josefsson  <jas@extundo.com>
115482         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
115483         now the canonical place for the M4 file).
115485         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
115486         from the sys_socket dependency now.
115488         * modules/inet_pton (Files): Ditto.
115490         * modules/inet_ntop (Files): Ditto.
115492 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
115494         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
115495         not gl_PREREQ_GETUSERSHELL.
115497 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115499         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
115500         with only one argument, for Autoconf 2.60.
115501         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
115502         expand to nothing, so add a shell command to avoid syntax error.
115503         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
115505 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
115507         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
115509 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115511         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
115512         no longer needed.  Check for isblank decl.
115513         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
115514         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
115515         of existence.
115517 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115519         * lib/getloadavg.c: Use __VMS, not VMS.
115520         * lib/getopt.c: Likewise.
115521         * lib/getpagesize.h: Likewise.
115522         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
115523         and probably does not work.
115525 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
115527         * lib/.cppi-disable: Add wcwidth.
115528         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
115529         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
115530         (ISGRAPH): Remove.  All uses changed to isgraph.
115531         (FOLD) [!defined _LIBC]: Remove special case.
115532         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
115533         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
115534         HAVE_ISBLANK.
115535         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
115536         case.
115538 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
115540         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
115541         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
115542         brackets.  Other minor changes to suppress some compiler
115543         warnings.
115545 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115546         and Paul Eggert  <eggert@cs.ucla.edu>
115548         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
115549         of invoking obsolescent AC_HEADER_DIRENT macro.
115550         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
115551         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
115552         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
115553         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
115554         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
115555         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
115556         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
115557         * m4/readdir.m4: Remove; no longer needed.
115559 2006-07-06  Derek R. Price  <derek@ximbiot.com>
115560         and Paul Eggert  <eggert@cs.ucla.edu>
115562         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
115563         Don't worry about this obsolete case any more.
115564         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
115565         directories.
115566         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
115567         worry about this obsolete case any more.
115568         * lib/fts.c: Likewise.
115569         * lib/getcwd.c: Likewise.
115570         * lib/glob.h: Likewise.
115571         * lib/savedir.c: Likewise.
115573 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115575         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
115576         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
115577         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
115578         needed.
115579         All uses removed.
115580         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115581         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115582         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
115583         needed.
115584         * m4/getdate.m4 (gl_GETDATE): Likewise.
115585         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115586         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115587         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115588         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115589         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
115590         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115591         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
115592         needed.
115594 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
115596         * lib/memcasecmp.c: Include <limits.h>.
115597         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
115598         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
115599         Don't assume isdigit succeeds only on '0' through '9'.
115601 2006-07-05  Eric Blake  <ebb9@byu.net>
115603         * modules/getaddrinfo (Depends-on): Add snprintf.
115605 2006-07-05  Eric Blake  <ebb9@byu.net>
115607         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
115608         to avoid 'header present but could not be compiled' on cygwin.
115610 2006-07-05  Eric Blake  <ebb9@byu.net>
115612         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
115613         missing from netdb.h.
115614         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
115616 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115618         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
115619         no longer needed.
115620         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
115621         * m4/getdate.m4 (gl_GETDATE): Likewise.
115622         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
115623         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
115624         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
115625         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
115626         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
115628 2006-07-05  Derek R. Price  <derek@ximbiot.com>
115630         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
115631         All uses of is_space replaced by isspace.
115632         * lib/exit.h: Don't talk about STDC_HEADERS.
115633         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
115634         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
115635         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
115636         replaced by isprint etc.
115637         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
115638         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115639         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
115640         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
115641         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
115642         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
115644 2006-07-05  Bruno Haible  <bruno@clisp.org>
115646         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
115647         the function exists, before testing against AIX.
115648         Reported by Martin Lambers <marlam@marlam.de>.
115650 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115652         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
115653         From Mark D. Baushke.
115655 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
115657         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
115658         to the absolute name, not just one, to bypass Sun C 5.8's
115659         "warning: #include of /usr/include/... may be non-portable".
115661 2006-07-04  Eric Blake  <ebb9@byu.net>
115663         * modules/dirname-tests: New test module.
115664         * tests/test-dirname.c: New file, replacing dirname.c
115665         TEST_DIRNAME section that was recently deleted.
115667 2006-07-04  Bruno Haible  <bruno@clisp.org>
115669         Assume ANSI C header files and <ctype.h> functions.
115670         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
115671         (mbsnwidth): Use isprint, iscntrl instead.
115673 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115675         Merge from coreutils.
115676         * MODULES.html.sh: Add xstrtold.
115677         * modules/xstrtold: New file.
115678         * modules/cycle-check (Files): Add lib/same-inode.h.
115679         * modules/dirname (Files): Add m4/double-slash-root.m4.
115680         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
115681         * modules/mkdir-p (Files): Add lib/same-inode.h.
115682         * modules/same (Files): Add lib/same-inode.h.
115684 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115686         * m4/absolute-header.m4: Renamed from full-header-path.m4.
115687         This is to keep the terminology clean; POSIX talks about
115688         "absolute pathnames", not "full pathnames", but the GNU
115689         Coding Standards say to use "path" for something else;
115690         so use "absolute" to keep both sides happy.
115691         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
115692         Set gl_absolute_header, not gl_full_header_path.
115693         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
115694         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
115695         All uses changed.
115697         Merge from coreutils.
115699         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115701         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
115702         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
115703         want to require the building of c-strtod.o.
115704         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
115705         needs -lm directly.
115706         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
115708         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
115710         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
115711         --as-needed option if available.  Problem reported by Albert Chin in
115712         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
115713         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
115714         cc merely issues a bunch of annoying warnings for --as-needed
115715         (this problem was reported by Bob Proulx).  Also, try linking with
115716         -lm to detect a bug in binutils 2.16 (this problem was reported
115717         by Ralf Wildenhues).
115719         2006-06-18  Jim Meyering  <jim@meyering.net>
115721         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
115722         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
115723         macro.
115724         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
115725         also check for glibc-2.4's abort-inducing bug.
115727         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
115728         Low-probability clean-up should be to use rmdir to get rid of
115729         the just-created directory, not unlink.
115731         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
115732         configure fail, and request a bug report to inform us about it.
115733         Add a comment that, barring reports to the contrary, in 2007 we'll
115734         assume ftruncate is universally available.
115736         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115738         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
115740         2006-03-12  Jim Meyering  <jim@meyering.net>
115742         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
115743         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
115744         * m4/same.m4 (gl_SAME): Likewise.
115745         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
115747         2006-03-11  Eric Blake  <ebb9@byu.net>
115749         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
115750         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
115751         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
115752         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
115754 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
115756         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
115757         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
115758         reported by Mark D. Baushke, one in
115759         <http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.
115761         Merge from coreutils.
115763         * lib/.cppi-disable: Add stdint_.h.
115764         * lib/.cvsignore: Add stdint.h.
115766         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
115768         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
115769         both double and long double versions.
115770         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
115771         * lib/xstrtold.c: New file.
115772         * lib/xstrtod.h (xstrtold): New decl.
115774         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
115776         * lib/filemode.c (setst): Remove.
115777         (strmode): Rewrite to avoid setst.  This makes the code shorter,
115778         (arguably) clearer, and the generated code is a bit smaller on my
115779         Debian GNU/Linux stable x86 host.
115781         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
115783         * lib/filemode.c: Include "filemode.h" first, to test the interface.
115784         Assume that filemode.h includes sys/types.h and sys/stat.h.
115785         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
115786         (ftypelet): Reorder to put common cases first, for efficiency.
115787         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
115788         to do 'M'.
115789         (strmode): Renamed from mode_string, and now stores 12 bytes instead
115790         of 10, for compatibility with FreeBSD.  All callers changed.
115791         (filemodestring): Now stores 12 bytes instead of 10, and sets file
115792         types that can't be deduced solely from st_mode.  First arg is now a
115793         const pointer.
115794         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
115795         (strmode): Renamed from mode_string.
115796         (filemodestring): New decl.
115797         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
115798         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
115799         needed.
115800         (S_ISPORT, S_ISWHT): New macros, if not already defined.
115802         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
115804         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
115805         fsusage.h now does that.  Include fsusage.h first, to test interface.
115806         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
115807         at most one method (the old code could have generated decls that
115808         didn't conform to C89, not that this was ever exercised).
115809         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
115811         2006-03-19  Jim Meyering  <jim@meyering.net>
115813         Work even in a chroot where d_ino values for entries in "/"
115814         don't match the stat.st_ino values for the same names.
115815         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
115816         number, iterate through all entries again, using lstat instead.
115817         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
115818         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
115820         * lib/getcwd.c (__getcwd): Clarify a comment.
115821         Use memcpy in place of a call to strcpy.
115823         2006-03-12  Jim Meyering  <jim@meyering.net>
115825         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
115826         matches that of the current directory (which we're about to chdir ".."
115827         out of), then save the dev-ino of the parent, instead.
115829         * lib/same-inode.h (SAME_INODE): New file/macro.
115830         * lib/chdir-safer.c (SAME_INODE): Remove definition.
115831         Include "same-inode.h", instead.
115832         * lib/same.c: Likewise.
115833         * lib/cycle-check.h: Include "same-inode.h".
115834         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
115835         * lib/cycle-check.c (SAME_INODE): Remove definition.
115836         * lib/root-dev-ino.h: Include "same-inode.h".
115838         2006-03-11  Eric Blake  <ebb9@byu.net>
115840         * lib/same.c (same_name): s/base_name/last_component/
115841         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
115842         * lib/filenamecat.c (file_name_concat): Likewise.
115844         2006-03-11  Eric Blake  <ebb9@byu.net>,
115845                     Paul Eggert  <eggert@cs.ucla.edu>
115847         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
115848         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
115849         drive prefix.
115850         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
115851         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
115852         (last_component): New method.
115853         * lib/dirname.c (dir_len): Determine when drive letters need a
115854         subsequent slash.  Preserve // when it is special.
115855         (dir_name): Don't append dot when drive letter is absolute.
115856         [TEST_DIRNAME]: Move into a full-blown gnulib test.
115857         * lib/basename.c (base_name): New semantics - malloc the result.
115858         Preserve // when it is special.  Preserve relative files that look
115859         like drive letters.
115860         (base_len): Preserve // when it is special.
115861         (last_component): New method, similar to old base_name semantics.
115862         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
115863         base_name.  Strip redundant slashes from ///.
115865 2006-07-03  Jim Meyering  <jim@meyering.net>
115867         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
115868         macro is used before the first cycle_check call.
115870 2006-07-03  Eric Blake  <ebb9@byu.net>
115872         * modules/dirname (Depends-on): Add xstrndup.
115874 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115876         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
115877         test cases, so that config.log is a bit easier to follow.
115879 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
115881         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
115882         both are 64 bits, since this seems to be the tradition, and this
115883         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
115884         we ever run into a host that prefers long long to long in this
115885         case, we'll need another configure-time test.  Problem reported by
115886         Jim Meyering.
115888 2006-07-02  Eric Blake  <ebb9@byu.net>
115890         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
115892 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115894         * modules/inttypes (Depends-on): No longer depends on stdint.
115895         * modules/stdint (Description): Say more about assumptions.
115896         Say that the fast types might differ.  Say macros are used.
115897         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
115898         (Makefile.am): Revise list of substituted symbols to match
115899         new stdint.m4.
115900         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
115901         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
115902         * tests/test-stdint.c (verify_same_types)
115903         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
115904         the code conforms to C99/C89.
115905         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
115906         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
115908 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115910         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
115911         but fix a bug, by requiring at least 64 bits.
115912         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
115913         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
115914         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
115915         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
115917         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
115918         changes.  Make 2.59 a prerequisite.  Check and substitute for
115919         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
115920         inttypes.h.  Do not use special include files; just use the
115921         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
115922         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
115923         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
115924         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
115925         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
115926         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
115927         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
115928         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
115929         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
115930         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
115931         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
115932         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
115933         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
115934         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
115935         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
115936         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
115937         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
115938         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
115939         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
115940         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
115941         WINT_MAX.  Check for C99 conformance more strictly, by detecting
115942         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
115943         not check for things that C99 does not require, e.g., int8_t.  If
115944         a test isn't needed unless <stdint.h> isn't working, and is
115945         unlikely to be needed for any other reason, then don't do it
115946         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
115947         size_t, since we assume C89 freestanding at least.  Do not check
115948         for sig_atomic_t, wchar_t, or wint_t, since the code now does
115949         the right thing even if the types are not defined.  Instead use:
115950         (gl_STDINT_TYPE_PROPERTIES): New macro.
115951         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
115952         testing whether <sys/types.h> clashes, as Autoconf does this for
115953         us now.  All uses removed.
115954         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
115955         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
115956         (gl_CHECK_TYPE_SAME):
115957         Remove; no longer needed.
115958         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
115959         exists, since we'll return 0 anyway in that case.
115960         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
115962 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
115964         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
115965         possible collision with system files.
115966         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
115967         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
115968         WCHAR_MIN and WCHAR_MAX in this case.
115969         (<stddef.h>): Do not include; no longer needed.
115970         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
115971         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
115972         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
115973         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
115974         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
115975         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
115976         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
115977         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
115978         !defined(__c99))]: Include in this case too, since it's harmless
115979         now.
115980         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
115981         dangerous to do so.
115982         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
115983         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
115984         (_STDINT_MIN, _STDINT_MAX): New macros.
115985         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
115986         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
115987         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
115988         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
115989         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
115990         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
115991         macros, not typedefs; this simplifies things quite a bit.
115992         Use long int for all types narrower than int64_t.
115993         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
115994         Define in terms of long long int or int64_t or long int,
115995         not int64_t or int32_t.  This saves some compile-time testing.
115996         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
115997         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
115998         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
115999         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
116000         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
116001         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
116002         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
116003         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
116004         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
116005         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
116006         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116007         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116008         undef any previous version and define our own version, for
116009         simplicity and consistency with the new macros for types.
116010         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
116011         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
116012         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
116013         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
116014         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
116015         @WINT_T_SUFFIX@ to keep things simple here.
116016         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
116017         Simplify by assuming typical 8/16/32/64 host, since we're
116018         already doing that elsewhere anyway.
116019         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
116020         and assume long long int is 64 bits if available.  This
116021         speeds up 'configure'.
116023 2006-07-01  Eric Blake  <ebb9@byu.net>
116025         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
116026         Reported by Andreas Buening.
116028 2006-07-01  Eric Blake  <ebb9@byu.net>
116030         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
116032 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
116034         * lib/getaddrinfo.c: fixed typo
116036 2006-06-29  Jim Meyering  <jim@meyering.net>
116038         * modules/strftime (Maintainer): Add my name, since with the
116039         FPRINTFTIME changes strftime.c has forked from glibc.
116041 2006-06-29  Eric Blake  <ebb9@byu.net>
116043         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
116045 2006-06-29  Eric Blake  <ebb9@byu.net>
116047         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
116049 2006-06-29  Eric Blake  <ebb9@byu.net>
116051         * lib/stat_.h: New file.
116053 2006-06-29  Eric Blake  <ebb9@byu.net>
116055         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
116056         unused static function.
116058 2006-06-29  Eric Blake  <ebb9@byu.net>
116060         * doc/functions.texi (Function Portability): Document missing lstat
116061         on mingw.
116063 2006-06-29  Eric Blake  <ebb9@byu.net>
116065         * MODULES.html.sh: Add sys_stat.
116066         * modules/sys_stat: New module.
116067         * modules/mkstemp (Depends-on): Add sys_stat.
116069 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116071         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
116073 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116075         * m4/c-bs-a.m4: Removed.
116077 2006-06-29  Derek R. Price  <derek@ximbiot.com>
116079         * lib/strftime.c: Assume strftime() exists.
116081 2006-06-29  Derek Price  <derek@ximbiot.com>
116083         * modules/c-bs-a: Removed - \a is C89.
116084         * MODULES.html.sh: Remove c-bs-a.
116086 2006-06-29  Bruno Haible  <bruno@clisp.org>
116088         * modules/wcwidth (License): Change to LGPL.
116090 2006-06-28  Simon Josefsson  <jas@extundo.com>
116092         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
116093         on _WIN32.
116095         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
116096         getnameinfo.
116098 2006-06-28  Simon Josefsson  <jas@extundo.com>
116100         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
116102 2006-06-28  Simon Josefsson  <jas@extundo.com>
116104         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
116105         functions there.  It will succeed on Windows XP, but on Windows
116106         2000 and (presumably) earlier, it will fail, and use the internal
116107         re-implementation.
116108         (use_win32_p): New function.
116109         (getaddrinfo): Use strtoul on servname, to support numeric ports.
116110         Support AI_NUMERICSERV to disable getservbyname.
116111         (getnameinfo): New function, only supports
116112         NI_NUMERICHOST|NI_NUMERICSERV for now.
116114         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
116115         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
116116         getnameinfo.
116118 2006-06-28  Eric Blake  <ebb9@byu.net>
116120         * modules/wcwidth: New file.
116121         * modules/mbchar (Depends-on): Add wcwidth.
116122         * modules/mbswidth (Depends-on): Add wcwidth.
116123         * MODULES.html.sh: Add wcwidth.
116125 2006-06-28  Eric Blake  <ebb9@byu.net>
116127         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
116128         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
116130 2006-06-28  Eric Blake  <ebb9@byu.net>
116132         * lib/xvasprintf.h: Fix comments.
116134 2006-06-28  Eric Blake  <ebb9@byu.net>
116136         * lib/mbchar.h (wcwidth): Include wcwidth.h.
116137         * lib/mbswidth.c (wcwidth): Move from here...
116138         * lib/wcwidth.h: ...to this new file.
116140 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116142         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
116144         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
116145         it's obsolete.
116146         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
116148 2006-06-28  Derek R. Price  <derek@ximbiot.com>
116150         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
116151         Autoconf 2.60 says this stuff was obsolete.
116153 2006-06-28  Bruno Haible  <bruno@clisp.org>
116155         * modules/wcwidth (Files): Add m4/wchar_t.m4.
116157 2006-06-28  Bruno Haible  <bruno@clisp.org>
116159         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
116160         gt_TYPE_WCHAR_T.
116162 2006-06-28  Bruno Haible  <bruno@clisp.org>
116164         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
116165         declaration for wcwidth.
116166         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
116168 2006-06-28  Bruno Haible  <bruno@clisp.org>
116170         * lib/mkdtemp.c [MINGW]: Include <io.h>.
116171         (mkdir): Define using _mkdir.
116173 2006-06-28  Bruno Haible  <bruno@clisp.org>
116175         * lib/getaddrinfo.h: Fix POSIX URL.
116176         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
116177         _WIN32.
116178         (use_win32_p): Make static.
116179         (getaddrinfo): Reject service name if it is empty or does not consist
116180         solely of decimal digits, or if its value is > 65535.
116181         (getnameinfo): Remove useless casts.
116183 2006-06-27  Simon Josefsson  <jas@extundo.com>
116185         * modules/sys_select: New file, suggested by Bruno Haible, Paul
116186         Eggert and Martin Lambers.
116188 2006-06-27  Simon Josefsson  <jas@extundo.com>
116190         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
116191         Eggert and Martin Lambers.
116193 2006-06-27  Bruno Haible  <bruno@clisp.org>
116195         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
116196         result to 0, not to empty.
116197         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
116199 2006-06-27  Bruno Haible  <bruno@clisp.org>
116201         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
116203 2006-06-26  Simon Josefsson  <jas@extundo.com>
116205         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
116206         present.
116208 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
116210         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
116211         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
116212         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.
116214 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
116216         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
116218 2006-06-26  Bruno Haible  <bruno@clisp.org>
116220         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
116222 2006-06-26  Bruno Haible  <bruno@clisp.org>
116224         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
116226 2006-06-26  Bruno Haible  <bruno@clisp.org>
116228         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
116229         SGI C compiler in pre-C99 mode.
116230         Suggested by Mark D. Baushke and Larry Jones.
116232 2006-06-26  Bruno Haible  <bruno@clisp.org>
116234         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
116235         WCHAR_MAX.
116236         Reported by Mark D. Baushke and Larry Jones.
116238 2006-06-26  Bruno Haible  <bruno@clisp.org>
116240         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
116241         in pre-C99 mode.
116242         Suggested by Mark D. Baushke and Larry Jones.
116244 2006-06-23  Simon Josefsson  <jas@extundo.com>
116245             Bruno Haible  <bruno@clisp.org>
116247         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
116248         Emit mostlyclean-local rule.
116249         (func_emit_tests_Makefile_am): Likewise.
116250         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
116252 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
116254         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
116256 2006-06-23  Bruno Haible  <bruno@clisp.org>
116258         * tests/test-stdint.c: Update to match ISO C 99 Technical
116259         Corrigendum 1.
116261 2006-06-23  Bruno Haible  <bruno@clisp.org>
116263         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
116265 2006-06-23  Bruno Haible  <bruno@clisp.org>
116267         * lib/stdint_.h: Treat IRIX like OpenBSD.
116269 2006-06-23  Bruno Haible  <bruno@clisp.org>
116271         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
116272         ISO C 99 Technical Corrigendum 1.
116274 2006-06-22  Simon Josefsson  <jas@extundo.com>
116276         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
116277         MinGW.
116279 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
116281         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
116282         needed.  Some compiler complained about some of them.  Problem reported
116283         by Larry Jones in
116284         <http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.
116286 2006-06-21  Simon Josefsson  <jas@extundo.com>
116288         * tests/test-getaddrinfo.c: New file.
116290         * modules/getaddrinfo-tests: New file.
116292         * MODULES.html.sh: Add inet_pton.
116294         * modules/inet_pton: New file.
116296 2006-06-21  Simon Josefsson  <jas@extundo.com>
116298         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
116299         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
116300         of using the (limited) gnulib implementation on Windows XP.
116302         * m4/inet_pton.m4: New file.
116304 2006-06-21  Simon Josefsson  <jas@extundo.com>
116306         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
116307         variable.
116309         * lib/socket_.h: Don't define WINVER.
116311         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
116312         slightly modified to work in gnulib.
116314 2006-06-21  Simon Josefsson  <jas@extundo.com>
116316         * doc/gnulib.texi (Windows sockets): Add.
116318 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
116320         * lib/read-file.c (fread_file): Start with buffer allocation of
116321         0 bytes rather than 1 byte; this simplifies the code.
116322         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
116323         code to free buffer and save/restore errno.
116324         (internal_read_file): Remove unused local.
116326 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
116328         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
116329         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
116330         Problem reported by Denis Excoffier in
116331         <http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.
116333 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
116335         * modules/sys_socket, modules/socklen: Include sys/types since
116336         FreeBSD 4.x's sys/socket.h needs it.
116338 2006-06-19  Simon Josefsson  <jas@extundo.com>
116340         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
116342 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
116344         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
116346 2006-06-19  Bruno Haible  <bruno@clisp.org>
116348         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
116349         and FULL_PATH_INTTYPES_H in angle brackets.
116350         Reported by Mark D. Baushke <mdb@gnu.org>.
116352 2006-06-17  Eric Blake  <ebb9@byu.net>
116354         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
116355         errno.
116357 2006-06-17  Bruno Haible  <bruno@clisp.org>
116359         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
116360         <sys/inttypes.h>.
116362 2006-06-17  Bruno Haible  <bruno@clisp.org>
116364         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
116365         whether errno is declared. Assume <errno.h> declares errno.
116367 2006-06-17  Bruno Haible  <bruno@clisp.org>
116369         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
116371 2006-06-17  Bruno Haible  <bruno@clisp.org>
116373         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
116374         problem on Solaris 2.5.1.
116376 2006-06-16  Eric Blake  <ebb9@byu.net>
116378         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
116379         * lib/unicodeio.c [!defined errno]: Likewise.
116380         * lib/strtol.c [!defined errno]: Likewise.
116381         * lib/strtod.c [!defined errno]: Likewise.
116383 2006-06-15  Eric Blake  <ebb9@byu.net>
116385         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
116387 2006-06-15  Eric Blake  <ebb9@byu.net>
116389         * config/srclist.txt (ssize_t.m4): Lose sync.
116391 2006-06-15  Bruno Haible  <bruno@clisp.org>
116393         * modules/stdint (Files): Include m4/full-header-path.m4,
116394         m4/size_max.m4, m4/wchar_t.m4.
116395         (Makefile.am): Many more substitutions.
116396         * modules/stdint-tests: New file.
116397         * tests/test-stdint.c: New file.
116399 2006-06-15  Bruno Haible  <bruno@clisp.org>
116401         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
116402         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
116403         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
116404         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
116405         gl_CHECK_TYPE_SAME): New macros.
116407 2006-06-15  Bruno Haible  <bruno@clisp.org>
116409         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
116411 2006-06-15  Bruno Haible  <bruno@clisp.org>
116413         * lib/stdint_.h: Rewritten to be fully auto-configured.
116414         Fixes bug on HP-UX/IA64.
116416 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
116418         * lib/getdate.y (__attribute__): Don't define if already defined.
116419         Problem reported by Larry Jones.
116420         * lib/utimens.c (__attribute__): Likewise.
116422 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
116424         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
116425         reported by Andreas Schwab.
116427 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116428             Bruno Haible  <bruno@clisp.org>
116430         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
116431         check for the declaration of strnlen and a run test that exposes the
116432         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
116433         rpl_strndup.
116435 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116436             Bruno Haible  <bruno@clisp.org>
116438         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
116440 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
116442         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
116443         compile test, for Tru64 4.0D.
116445 2006-05-28  Karl Berry  <karl@gnu.org>
116447         * config/srclist.txt (printf-args.c): lose sync.
116449 2006-05-26  Martin Lambers  <marlam@marlam.de>
116451         * lib/getpass.c: Updates the test for the native W32 API, and adds
116452         missing includes, thus fixing compilation warnings.
116454 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
116456         * lib/exclude.c (exclude_fnmatch): New function.
116457         (excluded_file_name): Call exclude_fnmatch.
116458         * lib/exclude.h (excluded_file_name): New prototype
116460 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
116462         * lib/tempname.c (small_open, large_open): New macros.
116463         (__open, __open64) [!_LIBC]: Remove.
116464         (__gen_tempname): Use small_open and large_open instead of __open
116465         and __open64.  This fixes a portability bug on HP-UX 11.11i
116466         reported by Simon Wing-Tang in
116467         <http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.
116469 2006-05-24  Bruno Haible  <bruno@clisp.org>
116471         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
116472         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
116473         Reported by Thorsten Maerz <torte@netztorte.de> via
116474         Aaron Stone <aaron@serendipity.cx>.
116476 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116478         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
116479         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
116480         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
116481         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
116482         not really conditional on the cache.
116483         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
116485 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
116487         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
116488         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
116489         (my_usleep): Don't mishandle maximum value.
116491 2006-05-19  Jim Meyering  <jim@meyering.net>
116493         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
116495 2006-05-17  Bruno Haible  <bruno@clisp.org>
116497         Cygwin portability.
116498         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
116500 2006-05-17  Bruno Haible  <bruno@clisp.org>
116502         * lib/stdint_.h: Fix recognition of Cygwin.
116504 2006-05-15  Bruno Haible  <bruno@clisp.org>
116506         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
116507         on libtool patch by Ralf Wildenhues.
116509 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
116511         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
116512         test for C99 conformance; (bool) 0.5 is an integer constant
116513         expression, but (bool) -0.5 is not.  Problem reported by Fedor
116514         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
116516 2006-05-11  Simon Josefsson  <jas@extundo.com>
116518         * m4/xvasprintf.m4: Fix obvious typo.
116520 2006-05-11  Jim Meyering  <jim@meyering.net>
116522         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
116523         James Lemley.
116525 2006-05-10  Simon Josefsson  <jas@extundo.com>
116527         * lib/md4.c: Typo fix, update copyright years.
116528         (K1, K2): Don't use L because it turn computations into 64-bit on
116529         64-bit platforms.
116531 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
116533         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
116534         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
116535         unwanted sign propagation, e.g., on hosts with 64-bit int.
116536         There still are some problems with reeelly weird theoretical hosts
116537         (e.g., 33-bit int) but it's not worth worrying about now.
116538         * lib/sha1.c (rol): Likewise.
116539         (K1, K2, K3, K4): Remove unnecessary L suffix.
116541 2006-05-10  Bruno Haible  <bruno@clisp.org>
116543         * lib/des.c: Cast to avoid warnings.
116545 2006-05-09  Bruno Haible  <bruno@clisp.org>
116547         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
116548         (Depends-on): Depend also on xsize, stdarg.
116549         (configure.ac): Add gl_XVASPRINTF.
116551 2006-05-09  Bruno Haible  <bruno@clisp.org>
116553         * m4/xvasprintf.m4: New file.
116555 2006-05-09  Bruno Haible  <bruno@clisp.org>
116557         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
116558         (EOVERFLOW): Define fallback value.
116559         (xstrcat): New function.
116560         (xvasprintf): Recognize the special case of a string concatenation.
116562 2006-05-08  Eric Blake  <ebb9@byu.net>
116564         * gnulib-tool (func_version): Base copyright year on CVS date.
116565         (func_emit_copyright_notice): New function.
116566         (func_emit_lib_Makefile_am): Use it.
116567         (func_emit_tests_Makefile_am): Likewise.
116568         (func_import): Likewise.
116570 2006-05-08  Bruno Haible  <bruno@clisp.org>
116572         * modules/stdarg: New file.
116573         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
116575 2006-05-08  Bruno Haible  <bruno@clisp.org>
116577         * m4/stdarg.m4: New file, from GNU gettext.
116579 2006-05-08  Bruno Haible  <bruno@clisp.org>
116581         * config/srclist.txt (build-aux/config.rpath): different from latest
116582         release.
116584 2006-05-08  Bruno Haible  <bruno@clisp.org>
116586         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
116588 2006-05-05  Jim Meyering  <jim@meyering.net>
116590         * m4/warning.m4: New file, derived from bison's file by the same name.
116592 2006-05-03  Bruno Haible  <bruno@clisp.org>
116594         * lib/stdint_.h: Shorter URL.
116595         * lib/inttypes.h: Likewise.
116597 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116599         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
116601 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116603         * lib/verify.h: Document the internals better.  Most of this change
116604         was written by Bruno Haible.
116606 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
116608         * doc/verify.texi: New file, partly based on a proposal by
116609         Bruno Haible.
116611 2006-05-02  Bruno Haible  <bruno@clisp.org>
116613         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
116614         test from here...
116615         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
116617 2006-04-29  Bruno Haible  <bruno@clisp.org>
116619         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
116620         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
116622 2006-04-29  Bruno Haible  <bruno@clisp.org>
116624         * gnulib-tool: Make --update option actually work.
116626 2006-04-29  Bruno Haible  <bruno@clisp.org>
116628         * doc/gcd.texi: New file.
116629         * doc/gnulib.texi: Include it.
116631 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
116633         * lib/getdate.y (get_date): When adding relative date, start with the
116634         initial time, not with the result of the first mktime call.
116636 2006-04-25  Bruno Haible  <bruno@clisp.org>
116638         * gnulib-tool (func_import): Output the include directives in three
116639         blocks, sorted separately.
116640         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116642 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116644         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
116645         to define main with arguments, for C++.  Reported by Eric Blake.
116646         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
116647         Prefer 'int main ()' to 'int main (void)', for C++.
116648         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
116649         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
116650         for 'main', for C99 and C++.
116652 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
116654         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
116655         Don't assume that exit status -1 is valid.
116656         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
116657         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
116658         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
116659         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
116660         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
116661         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
116662         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
116663         functions can be used without declaring them, or that you can
116664         exit with status -1.
116665         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
116667 2006-04-24  Karl Berry  <karl@gnu.org>
116669         * config/srclist.txt (longdouble.m4): sync lost.
116671 2006-04-24  Eric Blake  <ebb9@byu.net>
116673         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
116675 2006-04-24  Bruno Haible  <bruno@clisp.org>
116677         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
116678         poll() implementation in AIX.
116679         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
116681 2006-04-24  Bruno Haible  <bruno@clisp.org>
116683         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
116684         assigned exactly once.
116686 2006-04-23  Claudio Fontana  <claudio@gnu.org>
116687             Bruno Haible  <bruno@clisp.org>
116689         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
116690         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
116691         for AM_CPPFLAGS.
116693 2006-04-23  Bruno Haible  <bruno@clisp.org>
116695         * modules/copy-file: Depend on unistd.
116696         * modules/execute: Likewise.
116697         * modules/fatal-signal: Likewise.
116698         * modules/findprog: Likewise.
116699         * modules/mkdtemp : Likewise.
116700         * modules/pipe: Likewise.
116701         * modules/wait-process: Likewise.
116703 2006-04-23  Bruno Haible  <bruno@clisp.org>
116705         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
116706         condition was already detected.
116707         Reported by Ben Pfaff <blp@cs.stanford.edu>.
116709 2006-04-23  Bruno Haible  <bruno@clisp.org>
116711         * lib/copy-file.c: Include <unistd.h> unconditionally.
116712         * lib/execute.c: Likewise.
116713         * lib/fatal-signal.c: Likewise.
116714         * lib/findprog.c: Likewise.
116715         * lib/mkdtemp.c: Likewise.
116716         * lib/pipe.h: Likewise.
116717         * lib/pipe.c: Likewise.
116718         * lib/wait-process.h: Likewise.
116720 2006-04-23  Bruno Haible  <bruno@clisp.org>
116722         * gnulib-tool (func_usage): Fix --import description. Document
116723         --update.
116724         (func_import): Create temporary file in a temporary directory, if
116725         --dry-run is specified. Silence errors from 'grep' when there are no
116726         m4 files in $m4dir.
116727         (func_create_testdir): Silence errors from 'grep' when there are no
116728         m4 files in $m4dir.
116729         Reported by Karl Berry <karl@freefriends.org>.
116731 2006-04-20  Bruno Haible  <bruno@clisp.org>
116733         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
116734         one argument, so that the code will be portable to Autoconf 2.60.
116735         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
116736         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
116737         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
116739 2006-04-19  Derek Price  <derek@ximbiot.com>
116740             Eric Blake  <ebb9@byu.net>
116742         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
116743         rather than "/full/path.h".  Update comment to match.  Shorten &
116744         generalize m4_translit call via AS_TR_CPP.
116746 2006-04-19  Derek Price  <derek@ximbiot.com>
116747             Eric Blake  <ebb9@byu.net>
116749         * lib/inttypes.h: Correct grammar in comment.
116751 2006-04-18  Derek Price  <derek@ximbiot.com>
116752             Paul Eggert  <eggert@cs.ucla.edu>
116754         * modules/inttypes: New file.
116755         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
116757 2006-04-18  Derek Price  <derek@ximbiot.com>
116758             Paul Eggert  <eggert@cs.ucla.edu>
116760         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
116761         New files.
116763 2006-04-18  Derek Price  <derek@ximbiot.com>
116764             Paul Eggert  <eggert@cs.ucla.edu>
116766         * lib/inttypes.h: New file.
116767         * lib/strtoimax.c: Assume <inttypes.h>.
116769 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
116771         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
116772         isn't mounted.  Problem reported by Kir Kolyshkin.
116774 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
116776         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
116777         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
116778         Derek R. Price.
116779         * lib/regex.h (RE_DUP_MAX): Update comment to match current
116780         implementation.
116782 2006-04-12  Eric Blake  <ebb9@byu.net>
116784         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
116785         is now done automatically by the corresponding Autoconf macro.
116787 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
116789         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
116790         time_r.h.
116792 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
116794         Merge regex changes from libc, removing some of our
116795         POSIX-conformance changes that were rejected and redoing them in a
116796         less-intrusive way.
116798         * lib/regcomp.c (re_compile_internal, init_dfa):
116799         Length arg is now size_t, not Idx.  All uses changed.
116800         (peek_token): Forward decl now says internal_function.
116801         (__re_error_msgid, __re_error_msgid_idx):
116802         Now static rather than extern with attribute_hidden.
116803         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
116804         For some reason libc prefers K&R style defns for external functions.
116805         (regerror) [!defined _LIBC]: Likewise.
116806         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
116807         (seek_collating_symbol_entry, lookup_collation_sequence_value):
116808         (build_range_exp, build_collating_symbol):
116809         Use K&R-style defn.
116810         (re_compile_fastmap): Use '\0' to memset, not 0.
116811         (utf8_sb_map): Make the calculations more obvious.
116812         (init_dfa, parse_bracket_exp, build_charclass_op):
116813         Call calloc and cast result, as glibc does.
116814         (init_word_char, fetch_token, peek_token, peek_token_bracket):
116815         (build_range_exp, build_collating_symbol):
116816         Now internal functions.
116818         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
116820         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
116821         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
116822         Don't depend on VMS; depend on __VMS instead, for POSIX
116823         namespace cleanness.
116824         (regoff_t): Define to ssize_t, not long int.
116826         Remove the REG_ macros named below.  Instead, make the old names
116827         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
116828         __USE_GNU_REGEX.
116829         (REG_BACKSLASH_ESCAPE_IN_LISTS):
116830         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
116831         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
116832         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
116833         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
116834         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
116835         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
116836         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
116837         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
116838         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
116839         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
116840         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
116841         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
116842         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
116843         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
116844         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
116845         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
116846         (REG_NREGS):
116847         Remove.  All uses replaced by the old RE_* names.
116848         (RE_BACKSLASH_ESCAPE_IN_LISTS):
116849         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
116850         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
116851         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
116852         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
116853         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
116854         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
116855         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
116856         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
116857         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
116858         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
116859         Don't bother having these macros be independent of each others'
116860         values, since they no longer exist in the POSIX name space.
116862         Rename the following member names back to their old names,
116863         unless !__USE_GNU_REGEX.  All uses changed back.
116864         (buffer): Renamed from re_buffer.
116865         (allocated): Renamed from re_allocated.
116866         (used): Renamed from re_used.
116867         (syntax): Renamed from re_syntax.
116868         (fastmap): Renamed from re_fastmap.
116869         (translate): Renamed from re_translate.
116870         (can_be_null): Renamed from re_can_be_null.
116871         (regs_allocated): Renamed from re_regs_allocated.
116872         (fastmap_accurate): Renamed from re_fastmap_accurate.
116873         (no_sub): Renamed from re_no_sub.
116874         (not_bol): Renamed from re_not_bol.
116875         (not_eol): Renamed from re_not_eol.
116876         (newline_anchor): Renamed from re_newline_anchor.
116877         (num_regs): Renamed from rm_num_regs.
116878         (start): Renamed from rm_start.
116879         (end): Renamed from rm_end.
116881         (free_state): Move up a bit.
116883         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
116884         #define to be empty.
116885         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
116886         when that is what is intended.
116887         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
116888         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
116889         (MAX): New macro.
116890         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
116891         All uses changed back to re_malloc, etc.  It's now the caller's
116892         responsibility to check for overflow; all callers changed.
116893         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
116894         (re_x2nrealloc): Remove.
116895         (free_state): Remove decl.
116897         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
116898         (re_set_registers, re_exec):
116899         Use K&R-style defn.
116901         2006-01-31  Roland McGrath  <roland@redhat.com>
116903         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
116904         Reported by Mike Frysinger <vapier@gentoo.org>.
116906         2006-01-15  Andreas Jaeger  <aj@suse.de>
116908         [BZ #1950]
116909         * lib/regex_internal.c (re_string_reconstruct): Adjust for
116910         build_wcs_upper_buffer change.
116911         (build_wcs_upper_buffer): Change return type.
116913         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
116915         * lib/regex_internal.h: Include <stdint.h> if available.
116917         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
116919         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
116921         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
116923         * lib/regcomp.c: Adjust for changed secondary hash function.
116925         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
116927         * lib/regex.h: Pretty printing.
116928         Clean up namespace a bit.
116930         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
116932         * lib/regexec.c (update_cur_sifted_state, check_arrival,
116933         check_arrival_add_next_nodes): Avoid using uninitialized variable.
116935         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
116936                     Ulrich Drepper  <drepper@redhat.com>
116938         [BZ #1302]
116939         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
116940         changed.
116941         (bitset_word_t): Renamed from bitset_word.  All uses changed.
116943         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
116945         [BZ #281]
116946         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
116947         * lib/regcomp.c: Remove unnecessary uses of
116948         unsigned RE_TRANSLATE_TYPE.
116949         * lib/regex_internal.h: Likewise.
116950         * lib/regex_internal.c: Likewise.
116951         * lib/regexec.c: Likewise.
116952         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
116954         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
116956         * lib/regexec.c (find_recover_state): Remove unnecessary
116957         initialization.
116958         (transit_state_bkref): Make DFA a const pointer.
116959         (get_subexp): Likewise.
116960         (check_arrival): Likewise.
116961         (update_cur_sifted_state): Likewise.
116962         (re_search_internal): Likewise.
116963         (prune_impossible_nodes): Likewise.
116964         (acquire_init_state_context): Likewise.
116965         (proceed_next_node): Likewise.
116966         (set_regs): Likewise.
116967         (free_fail_stack_return): Likewise.
116968         (check_arrival_expand_ecl): Mark DFA parameter as const.
116969         (check_arrival_expand_ecl_sub): Likewise.
116970         (check_subexp_limits): Likewise.
116971         (sub_epsilon_src_nodes):  Likewise.
116972         (add_epsilon_src_nodes):  Likewise.
116973         (merge_state_array): Likewise.
116974         (update_regs): Likewise.
116975         (build_trtable): Likewise.
116976         (sift_states_backward): Mark MCTX parameter as const.
116977         (build_sifted_states): Likewise.
116978         (update_cur_sifted_state): Likewise.
116979         (sift_states_mkref): Likewise.
116980         (check_arrival_expand_ecl): Mark eclosure as const.
116981         (check_dst_limits_calc_pos_1): Likewise.
116982         * lib/regex_internal.h (re_match_context_t): Make dfa a const
116983         pointer.
116985         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
116987         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
116988         (transit_state_sb): Likewise.
116989         (transit_state_mb): Likewise.
116990         (sift_states_iter_mb): Likewise.
116991         (check_arrival_add_next_nodes): Likewise.
116992         (check_node_accept_bytes): Change first parameter to pointer-to-const.
116993         [_LIBC] (re_search_2_stub): Use mempcpy.
116995         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
116996         mbrtowc for very simple UTF-8 case.
116998         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
116999         a pointer-to-const.
117000         (re_acquire_state_context): Likewise.
117001         * lib/regex_internal.h: Adjust prototypes.
117003         * lib/regex.c: Prevent using C++ compilers.
117005         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
117006         (re_acquire_state_context): Likewise.
117008 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117010         * modules/regex (Depends-on): Add ssize_t.
117012 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117014         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
117015         translation table.
117017 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
117019         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
117021 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
117022             Bruno Haible  <bruno@clisp.org>
117024         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
117025         <sys/types.h> and <inttypes.h>.
117027 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117029         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
117030         `__error_t_defined', so argp.h will not typedef the former.
117032 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
117034         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
117035         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
117036         glibc names.  Even if glibc is changed to conform to POSIX, the
117037         traditional names will be available anyway, since regex depends on
117038         the extensions module.  Also, fix a longstanding typo in the
117039         implementation of Spencer ERE test #75 from grep 2.3.  Problems
117040         reported by Emanuele Giaquinta.  Also, change sense of cached
117041         variable, so that the message makes sense.
117043 2006-03-24  Simon Josefsson  <jas@extundo.com>
117045         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
117046         including some doc fixes.
117047         (base64_encode_alloc): Fix +1 bug on allocation failures.
117049 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117051         * lib/base64.c (base64_encode): Do not read past end of array with
117052         unsanitized input on systems with CHAR_BIT > 8.
117054 2006-03-24  Eric Blake  <ebb9@byu.net>
117056         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
117058 2006-03-22  Karl Berry  <karl@gnu.org>
117060         * config/srclist.txt (*setenv.[ch]): get from coreutils.
117061         * config/srclistvars.sh (COREUTILS): new var.
117063 2006-03-17  Jim Meyering  <jim@meyering.net>
117065         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
117066         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
117068 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117070         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
117071         no longer needs it.  Instead, check that regoff_t is as least
117072         as wide as ptrdiff_t.
117074         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
117075         so that our regex.h stays compatible with the installed regex.
117076         This is helpful for installers who configure --without-included-regex.
117077         Problem reported by Emanuele Giaquinta.
117079 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
117081         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
117082         Typedef to long int, not to off_, as POSIX will likely change
117083         in that direction.
117085 2006-03-15  Eric Blake  <ebb9@byu.net>
117087         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
117089 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117091         * lib/argp-help.c (validate_uparams): Fix typo
117092         * lib/argp-parse.c (argp_default_options): Consistently begin help
117093         messages with a lowercase letter.
117095 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
117097         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
117098         overrun buffers and shouldn't be used (much as gets shouldn't be
117099         used).
117100         * lib/time_r.c (asctime_r, ctime_r): Likewise.
117102 2006-03-08  Simon Josefsson  <jas@extundo.com>
117104         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
117105         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117107 2006-03-08  Simon Josefsson  <jas@extundo.com>
117109         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
117110         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117112 2006-03-08  Simon Josefsson  <jas@extundo.com>
117114         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
117115         signal that configure disabled the device.
117117 2006-03-08  Simon Josefsson  <jas@extundo.com>
117119         * build-aux/maint.mk: Fix refresh-po, to handle no translated
117120         languages.
117122 2006-03-07  Simon Josefsson  <jas@extundo.com>
117124         * modules/getopt (Depends-on): Add unistd.
117126         * modules/unistd: New file.
117128 2006-03-07  Simon Josefsson  <jas@extundo.com>
117130         * modules/gc-random: New file.
117132 2006-03-07  Simon Josefsson  <jas@extundo.com>
117134         * m4/unistd_h.m4: New file.
117136 2006-03-07  Simon Josefsson  <jas@extundo.com>
117138         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
117139         test to be side-effect free by storing the result in the cache
117140         variable gl_cv_lib_readline, and moving the assignment of
117141         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
117142         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117144 2006-03-07  Simon Josefsson  <jas@extundo.com>
117146         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
117147         error on missing devices (the functions will return an error).
117149         * m4/gc.m4: Move random stuff to gc-random.m4
117151 2006-03-07  Simon Josefsson  <jas@extundo.com>
117153         * lib/unistd_.h: New file.
117155 2006-03-07  Simon Josefsson  <jas@extundo.com>
117157         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
117159 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117161         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
117162         Problem reported by Juan Manuel Guerrero.
117164 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117166         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
117167         the unistd module.
117168         * lib/getlogin_r.c: Likewise.
117169         * lib/getlogin_r.h: Likewise.
117170         * lib/glob.c: Likewise.
117171         * lib/pagealign_alloc.c: Likewise.
117172         * lib/unistd_.h: Remove; no longer needed.
117174 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
117176         * MODULES.html.sh (Support for systems lacking POSIX:2001):
117177         Add unistd.
117178         * modules/c-stack (Depends-on): Add unistd.
117179         * modules/getlogin_r: Likewise.
117180         * modules/glob: Likewise.
117181         * modules/pagealign_alloc: Likewise.
117182         * modules/unistd (Files): Remove lib/unistd_.h.
117183         (EXTRA_DIST): Remove.
117184         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
117185         need unistd_.h.
117186         (MOSTLYCLEANFILES): Remove unistd.h-t.
117188 2006-03-03  Simon Josefsson  <jas@extundo.com>
117190         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
117192 2006-03-03  Simon Josefsson  <jas@extundo.com>
117194         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
117195         libidn and bison.
117197 2006-03-03  Simon Josefsson  <jas@extundo.com>
117199         * build-aux/maint.mk: Add indent target.
117201 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
117203         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
117204         our replacement poll.h in any case, to avoid a differing
117205         declaration from a system header.  Seen on AIX.
117207 2006-03-01  Simon Josefsson  <jas@extundo.com>
117209         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
117210         <kasal@ucw.cz>.
117212 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117214         * modules/gettime (Depends-on): Add extensions module.
117215         * modules/nanosleep (Depends-on): Likewise.
117216         * modules/settime (Depends-on): Likewise.
117218 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
117220         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
117221         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
117222         pedantically.
117223         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
117224         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
117226         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
117227         not "==".  Reported by Ralf Wildenhues.
117229 2006-03-01  Karl Berry  <karl@gnu.org>
117231         * doc/Copyright/request-*: new files, synced from gnuorg.
117233 2006-03-01  Karl Berry  <karl@gnu.org>
117235         * config/srclist.txt (Copyright/*): new entries.
117237 2006-02-28  Simon Josefsson  <jas@extundo.com>
117239         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
117241 2006-02-27  Simon Josefsson  <jas@extundo.com>
117243         * lib/base64.h: Indent #define's.  From Jim Meyering
117244         <jim@meyering.net>.
117246 2006-02-27  Jim Meyering  <jim@meyering.net>
117248         Revert the change of 2006-02-24, so these files can continue
117249         to be sync'd from gettext.
117250         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
117251         of `config.h'.
117253 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
117255         * modules/intprops: New file.
117256         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
117257         Add intprops.
117258         * modules/getloadavg (Files): Remove lib/intprops.h.
117259         (Depends-on): Add intprops.
117260         * modules/human: Likewise.
117261         * modules/inttostr: Likewise.
117262         * modules/openat: Likewise.
117263         * modules/sig2str: Likewise.
117264         * modules/userspec: Likewise.
117265         * modules/utimecmp: Likewise.
117266         * modules/xnanosleep: Likewise.
117267         * modules/xstrtol: Likewise.
117269 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
117271         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
117272         * modules/lock-tests (TESTS): Use $(EXEEXT).
117273         * modules/tls-tests: Likewise.
117274         * modules/argp-tests: Likewise.
117275         (check_PROGRAMS): New var, replacing...
117276         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
117278 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117280         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
117281         `config.h'.
117283 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
117285         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
117287 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
117289         Sync from coreutils.
117290         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
117291         gl_CHDIR_SAFER.
117293 2006-02-22  Jim Meyering  <jim@meyering.net>
117295         Sync from coreutils.
117296         * m4/chdir-safer.m4: New file.
117298 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
117300         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
117301         AT_FDCWD exceeds INT_MAX.
117302         * lib/openat.h (AT_FDCWD): Likewise.
117304 2006-02-17  Eric Blake  <address@hidden>
117306         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
117308 2006-02-16  Simon Josefsson  <jas@extundo.com>
117310         * modules/getaddrinfo (Depends-on): Add sys_socket.
117312 2006-02-15  Simon Josefsson  <jas@extundo.com>
117314         * build-aux/maint.mk: Add dsyntax-check rule.
117316 2006-02-15  Eric Blake  <ebb9@byu.net>
117318         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
117319         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
117320         'present but cannot compile' warnings on cygwin.
117321         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
117322         use ws2tcpip.h if sys/socket.h works.
117323         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
117324         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
117326 2006-02-14  Simon Josefsson  <jas@extundo.com>
117328         * modules/maintainer-makefile (Files): Rename.
117330         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
117331         and (the local) Makefile.cfg to maint-cfg.mk.
117333         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
117334         to the latter.
117336         * modules/maintainer-makefile: New module.
117338         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
117339         severaly stripped to make it possible to build it up from scratch
117340         with reliable tests.
117342         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
117343         fixes to permit overriding the default actions when configure and
117344         makefile are not available.
117346 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
117348         Sync from coreutils.
117349         * modules/lstat (Depends-on): Don't depend on xalloc.
117350         (License): Change from GPL to LGPL, since this is now simply a
117351         replacement for a libc function.
117353 2006-02-14  Jim Meyering  <jim@meyering.net>
117355         Sync from coreutils.
117357         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
117358         failure on deficient systems, and simplify gnulib lgpl dependencies.
117359         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
117360         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
117362         * lib/xalloc-die.c: Remove unused definition of N_.
117364 2006-02-14  Jim Meyering  <jim@meyering.net>
117366         Sync from coreutils.
117367         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
117368         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
117369         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
117370         double-quote uses of that variable, to accommodate the rare case in
117371         which getmntent is available in none of the libraries checked.  This
117372         happens at least on FreeBSD 5.0.
117374 2006-02-13  Simon Josefsson  <jas@extundo.com>
117376         * gnulib-tool (Usage): Fix --import, from
117377         karl@freefriends.org (Karl Berry).
117379 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
117381         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
117383 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
117385         * lib/argp-namefrob.h: Restore changes accidentally lost during the
117386         "autoupdate" on 2005-12-12.
117388 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117390         * modules/closeout (Depends-on): Remove atexit.
117392 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
117394         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
117395         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
117397 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
117399         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
117400         __EXTENSIONS__ if this causes compilation to fail.  Problem
117401         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
117402         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
117404 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
117406         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
117407         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
117408         <http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
117409         All uses changed.
117411 2006-01-26  Simon Josefsson  <jas@extundo.com>
117413         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
117414         prototype is visible on mingw32.
117416         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
117417         for mingw32.
117419         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
117420         mingw32).
117422 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
117424         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
117425         attempt to open for write; this always fails, at least on POSIX
117426         hosts.  This reinstates the 2006-01-09 change, which was
117427         inadvertently removed.
117429 2006-01-26  Bruno Haible  <bruno@clisp.org>
117431         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
117432         Reported by Paul Eggert.
117434 2006-01-26  Bruno Haible  <bruno@clisp.org>
117435             Paul Eggert  <eggert@cs.ucla.edu>
117437         * lib/stdbool_.h (_Bool)
117438         [(! (defined __cplusplus || defined __BEOS__)
117439           && !defined __GNUC__
117440           && !(defined __HP_cc || defined __xlc__
117441                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
117442                || defined __sgi))]:
117443         #define to signed char in these cases too; this simplifies
117444         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
117445         etc., separately) and makes it more conservative.
117447 2006-01-25  Simon Josefsson  <jas@extundo.com>
117449         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
117450         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
117451         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
117453 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
117455         * lib/argp-namefrob.h: Bugfix. Remove stray #
117457 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
117459         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
117460         so that we test the test.
117461         Check for yet another HP-UX cc bug involving *bool |= bool.
117463 2006-01-25  Karl Berry  <karl@gnu.org>
117465         * config/srclist.txt (vasnprintf.c): sync lost.
117467 2006-01-25  Jim Meyering  <jim@meyering.net>
117469         Sync from the stable (b5) branch of coreutils:
117471         * lib/fts.c (fts_children): Don't let close() clobber errno from
117472         failed fchdir().
117474         * lib/fts.c (fts_stat): When following a symlink-to-directory,
117475         don't necessarily interpret stat-fails+lstat-succeeds as indicating
117476         a dangling symlink.  That can also happen at least for ELOOP.
117477         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
117478         FYI, this bug predates the inclusion of fts.c in coreutils.
117480         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
117481         in their own block, so pre-c99 compilers don't object.
117483         Avoid the double-free (first in fts_read, second in fts_close) that
117484         would occur when an `active' directory is made inaccessible (e.g.,
117485         via chmod a-x) during a traversal.
117486         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117487         before returning.  Reproduce this failure by
117488         mkdir -p a/b; cd a; chmod a-x . b
117489         Reported by Stavros Passas.
117491 2006-01-25  Jim Meyering  <jim@meyering.net>
117493         * lib/fileblocks.c: Remove more useless parentheses.
117494         * lib/readutmp.h: Likewise.
117496 2006-01-25  Bruno Haible  <bruno@clisp.org>
117498         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
117499         warnings.
117500         Reported by Paul Eggert.
117502 2006-01-25  Bruno Haible  <bruno@clisp.org>
117504         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
117505         rid of a trap command. For Solaris sh.
117506         Reported by Mark D. Baushke <mdb@gnu.org>.
117508 2006-01-24  Simon Josefsson  <jas@extundo.com>
117510         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
117511         Bruno.
117513 2006-01-24  Karl Berry  <karl@gnu.org>
117515         * config/srclist.txt (argp-namefrob.h): sync lost.
117517 2006-01-24  Jim Meyering  <jim@meyering.net>
117519         * modules/openat (Files): Add lib/intprops.h.
117520         From Mark D. Baushke.
117522 2006-01-24  Jim Meyering  <jim@meyering.net>
117524         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
117525         Reported by Mark D. Baushke.
117527 2006-01-24  Jim Meyering  <jim@meyering.net>
117529         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
117531 2006-01-24  Bruno Haible  <bruno@clisp.org>
117533         * modules/strnlen (Maintainer): Change from glibc to all.
117535 2006-01-24  Bruno Haible  <bruno@clisp.org>
117537         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
117538         Patch by Paul Eggert.
117540 2006-01-24  Bruno Haible  <bruno@clisp.org>
117542         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
117543         already has it.
117544         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
117545         2005-11-26.
117547         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
117548         'signed char' to avoid problems with the built-in _Bool type.
117549         Reported by Paul Eggert on 2005-11-26.
117551 2006-01-24  Bruno Haible  <bruno@clisp.org>
117553         * gnulib-tool (func_import): Avoid constructing complicated sed
117554         expressions inside backquote.
117555         Report and solution by Mark D. Baushke <mdb@gnu.org>.
117557 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
117559         These changes imported from libc.
117560         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
117561         test and two separate function calls.
117562         * lib/strndup.c (__strndup): Add libc_hidden_def.
117564 2006-01-23  Simon Josefsson  <jas@extundo.com>
117566         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
117567         Remove the test_*_SOURCES variable: automake infers it by default.
117568         * modules/tls-tests: Likewise.
117570 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117572         Work around porting bugs reported by Dieter in
117573         <http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
117574         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
117575         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
117576         Include "getopt.h" first, to check interface.
117577         (getenv): Declare only if defined HAVE_DECL_GETENV &&
117578         !HAVE_DECL_GETENV.
117579         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
117580         (__strndup): Revert to K&R-style function dfns, the glibc style.
117581         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
117582         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
117583         Include strnlen.h first, to get prototype properly.
117584         (strnlen): Renamed from __strnlen.
117585         Remove weak alias.
117587 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117589         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
117591 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
117593         * config/srclist.txt: Adjust to reflect glibc reorganization.
117594         This affects only comments.
117596 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
117598          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
117599          Reported by Bruce Korb <bkorb@gnu.org>.
117601 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
117603         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
117604         to pacify gcc -Wswitch-default.
117606 2006-01-22  Bruno Haible  <bruno@clisp.org>
117608         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
117609         temporary buffer for sprintf, take into account the precision also
117610         for 'd', 'i', 'u', 'o', 'x', 'X'.
117612 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117614         * modules/argp-tests: New module
117615         * tests/test-argp.c: New file
117616         * tests/test-argp-2.sh: New file
117618 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
117620         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
117621         (__argp_base_name): Removed
117622         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
117623         typo.
117624         (__argp_base_name): Provide macro definition or extern declaration
117625         depending on the configuration
117627 2006-01-20  Simon Josefsson  <jas@extundo.com>
117629         * modules/inet_ntop (Depends-on): Depend on sys_socket.
117631 2006-01-20  Simon Josefsson  <jas@extundo.com>
117633         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
117635 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
117637         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
117638         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
117639         Suggested by Bruno Haible.
117641 2006-01-20  Karl Berry  <karl@gnu.org>
117643         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
117644         until changes propagate, I guess.
117646 2006-01-19  Simon Josefsson  <jas@extundo.com>
117648         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
117650 2006-01-19  Simon Josefsson  <jas@extundo.com>
117652         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
117654 2006-01-19  Simon Josefsson  <jas@extundo.com>
117656         * gnulib-tool: Set check_PROGRAMS.
117658         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117659         modules/des-tests, modules/gc-arcfour-tests,
117660         modules/gc-arctwo-tests, modules/gc-des-tests,
117661         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117662         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117663         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117664         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117665         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117666         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
117667         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
117668         test_*_SOURCES.
117670 2006-01-18  Simon Josefsson  <jas@extundo.com>
117672         * modules/socklen (Depends-on): Depend on sys_socket.
117674 2006-01-18  Simon Josefsson  <jas@extundo.com>
117676         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
117677         modules/des-tests, modules/gc-arcfour-tests,
117678         modules/gc-arctwo-tests, modules/gc-des-tests,
117679         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
117680         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
117681         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
117682         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
117683         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
117684         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
117685         $(EXEEXT) to automake TESTS variable, for mingw32.
117687 2006-01-17  Simon Josefsson  <jas@extundo.com>
117689         * modules/socklen (Include): Need sys/socket.h.
117691 2006-01-17  Bruno Haible  <bruno@clisp.org>
117693         * modules/ssize_t (Include): Add <sys/types.h>.
117695 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
117697         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
117698         it's not portable and it doesn't work with cross-compiles.
117699         Problem reported by Bruno Haible.  Fix missing-$ typo in
117700         'test "gl_cv_ignore_unused_libraries" ...' that prevented
117701         -zignore from being used with Sun's C compiler.
117703 2006-01-12  Simon Josefsson  <jas@extundo.com>
117705         * lib/base64.c: Fix warning, reported by Bruno Haible
117706         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
117708 2006-01-12  Bruno Haible  <bruno@clisp.org>
117710         * modules/ldd: New file.
117711         * build-aux/ldd.sh.in: New file.
117712         * MODULES.html.sh (Support for building libraries and executables): Add
117713         ldd.
117715 2006-01-12  Bruno Haible  <bruno@clisp.org>
117717         * m4/ldd.m4: New file.
117719 2006-01-12  Bruno Haible  <bruno@clisp.org>
117721         * gnulib-tool (func_import, func_create_testdir): Don't go into an
117722         endless loop while replacing $auxdir with build-aux.
117724 2006-01-11  Simon Josefsson  <jas@extundo.com>
117726         * lib/stdint_.h (SIZE_MAX): Add missing (.
117728 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
117730         Sync from coreutils.
117731         * lib/md5.c: Fix commentary typos.
117732         (alignof, UNALIGNED_P): No need for a GCC-specific version.
117733         * lib/md5.h (__attribute__): Remove; unused.
117734         * lib/sha1.c: Fix commentary to match md5 better.
117735         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
117736         so that we don't need to worry about alignment.  All uses changed.
117737         This merges the 2005-10-28 md5 change into sha1.
117739 2006-01-11  Jim Meyering  <jim@meyering.net>
117741         Sync from coreutils.
117742         * lib/md5.c (OP): Fix spacing.
117744 2006-01-11  Bruno Haible  <bruno@clisp.org>
117746         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117747         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
117748         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
117750 2006-01-11  Bruno Haible  <bruno@clisp.org>
117752         Ensure automatic ordering between gl_LOCK and gl_ARGP.
117753         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
117754         the "early" section as well.
117756 2006-01-11  Bruno Haible  <bruno@clisp.org>
117758         Avoid "ar: no archive members specified" error on MacOS X.
117759         * gnulib-tool (func_modules_add_dummy): New function.
117760         (func_import, func_create_testdir): Invoke it.
117762 2006-01-11  Bruno Haible  <bruno@clisp.org>
117764         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
117765         with $auxdir in AC_CONFIG_FILES statements.
117767 2006-01-11  Bruno Haible  <bruno@clisp.org>
117769         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
117770         Initialize also noinst_HEADERS to empty.
117772 2006-01-11  Bruno Haible  <bruno@clisp.org>
117774         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
117775         variables.
117776         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
117777         autoreconf.
117779 2006-01-11  Bruno Haible  <bruno@clisp.org>
117781         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
117782         overridable by the user.
117783         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
117785 2006-01-10  Simon Josefsson  <jas@extundo.com>
117787         * modules/sys_socket: New file.
117789 2006-01-10  Simon Josefsson  <jas@extundo.com>
117791         * m4/sys_socket_h.m4: New file.
117793 2006-01-10  Simon Josefsson  <jas@extundo.com>
117795         * lib/socket_.h: New file.
117797 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117799         * modules/readutmp (Maintainer): Add myself.
117801 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117803         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
117804         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
117805         People who are still concerned with buggy memcmp implementations
117806         can invoke gl_FUNC_MEMCMP themselves.
117808 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
117810         * lib/regex_internal.h (BITSET_WORD_BITS):
117811         Work around a bug in 64-bit PGC (before version 6.1-2), where the
117812         preprocessor mishandles large unsigned values as if they were signed.
117813         Problem reported by Claudio Fontana in
117814         <http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.
117816 2006-01-10  Jim Meyering  <jim@meyering.net>
117818         Avoid the double-free (first in fts_read, second in fts_close) that
117819         would occur when an `active' directory is made inaccessible (e.g.,
117820         via chmod a-x) during a traversal.
117821         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
117822         before returning.  Reproduce this failure by
117823         mkdir -p a/b; cd a; chmod a-x . b
117824         Reported by Stavros Passas.
117826         Sync from coreutils.
117827         * lib/sha1.c: Tweak grammar in a comment.
117829 2006-01-10  Jim Meyering  <jim@meyering.net>
117831         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
117832         Patch by Joerg Sonnenberger.
117834 2006-01-10  Bruno Haible  <bruno@clisp.org>
117836         * modules/readutmp: Depend on module free.
117837         * modules/strtok_r: Depend on module restrict.
117839 2006-01-10  Bruno Haible  <bruno@clisp.org>
117841         * modules/gettext (configure.ac): Add an invocation of
117842         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
117844 2006-01-10  Bruno Haible  <bruno@clisp.org>
117846         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
117847         Reported by Werner Lemberg <wl@gnu.org>.
117849 2006-01-10  Bruno Haible  <bruno@clisp.org>
117851         * lib/localcharset.c: Update from GNU gettext.
117853 2006-01-10  Bruno Haible  <bruno@clisp.org>
117855         * lib/argp.h (__const): Remove macro. Use const instead.
117856         * lib/argp-fmtstream.h (__const): Likewise.
117857         * lib/glob_.h (__const): Remove macro.
117858         * lib/glob-libc.h: Use const instead of __const.
117860 2006-01-10  Bruno Haible  <bruno@clisp.org>
117862         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
117863         variable.
117864         Needed to avoid an automake error regarding the 'gettext' module.
117866 2006-01-09  Simon Josefsson  <jas@extundo.com>
117868         * modules/inet_ntop (Depends-on): Add restrict.
117870 2006-01-09  Simon Josefsson  <jas@extundo.com>
117872         * modules/gc-rijndael-tests (License): Put under LGPL.
117874         * modules/gc-des-tests (License): Likewise.
117876         * modules/gc-arcfour-tests (License): Likewise.
117878         * modules/gc-arctwo-tests (License): Likewise.
117880         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
117882         * modules/gc-hmac-sha1-tests (Files): Likewise.
117884         * modules/gc-hmac-md5-tests (License): Likewise.
117886         * modules/gc-sha1-tests (License): Likewise.
117888         * modules/gc-md5-tests (License): Likewise.
117890         * modules/gc-md4-tests (License): Likewise.
117892         * modules/gc-md2-tests (License): Likewise.
117894         * modules/gc-tests (License): Likewise.
117896         * modules/des-tests (License): Likewise.
117898         * modules/md4-tests (License): Likewise.
117900         * modules/md2-tests (License): Likewise.
117902 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117904         Sync from coreutils:
117906         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
117907         * modules/lib-ignore: New file.
117908         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
117909         chdir-safer.m4, lchmod.m4.
117910         * modules/openat: Add mkdirat.c, openat-priv.h.
117912 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117914         Sync from coreutils.
117915         * m4/lib-ignore.m4: New file.
117916         * m4/lchmod.m4: New file.
117918 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117920         Sync from coreutils.
117921         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
117922         for write access: POSIX says that must fail.
117923         * lib/fts.c (diropen): Likewise.
117924         * lib/save-cwd.c (save_cwd): Likewise.
117925         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
117926         well, for minor improvements on hosts that lack O_DIRECTORY.
117927         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
117928         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
117929         Fall back on chown if open failed with EACCES.
117931         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
117932         Report an error at compile-time if only a 1-second nominal clock
117933         resolution is found.
117935         * lib/lchmod.h: New file.
117936         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
117937         (make_dir_parents): Use lchown rather than chown, and
117938         lchmod rather than chmod.
117940         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
117941         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
117942         "proc" reported by n0dalus.
117944         * lib/mountlist.c: Include <limits.h>.
117945         (dev_from_mount_options)
117946         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
117947         New function.  It no longer assumes "dev=" has the System V meaning
117948         on Linux (since it doesn't).  It also parses "dev=" more carefully.
117949         (read_file_system_list)
117950         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
117951         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
117952         dev= in that case.
117954         * lib/posixtm.h (PDS_PRE_2000): New macro.
117955         * lib/posixtm.c (year): Arg is now syntax_bits rather than
117956         allow_century.  All usages changed.  Reject dates outside the range
117957         1969-1999 if PDS_PRE_2000 is used.
117959 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
117961         Sync from coreutils.
117962         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
117963         (Time of day items): Mention the possibility of leap seconds.
117964         Problem reported by Dr. David Alan Gilbert.
117966 2006-01-09  Jim Meyering  <jim@meyering.net>
117968         Sync from coreutils.
117970         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
117972         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
117974         * lib/modechange.c (mode_compile): Reject an invalid mode string
117975         that starts with an octal digit.  From Andreas Gruenbacher.
117977         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
117978         and dup to open_safer and dup_safer, respectively.
117979         (openat_permissive): Fix typo in comment.
117981         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
117982         "gettext.h"; either no longer needed or are guaranteed by openat.h.
117983         (_): Remove; no longer needed.
117984         (openat): Renamed from rpl_openat; no need for rpl_openat
117985         since openat.h renames openat for us.
117986         Replace most of the body with a call to openat_permissive,
117987         to avoid duplicate code.
117988         Port to (probably hypothetical) environments were mode_t is
117989         wider than int.
117990         (openat_permissive): Require mode arg, so that we can check
117991         types better.  Put it just after flags.  Change cwd failure
117992         indicator from pointer-to-bool to pointer-to-errno-value.
117993         All callers changed.
117994         Invoke openat_save_fail and/or openat_restore_fail if
117995         cwd_errno is null, so that openat can call us.
117996         (openat_permissive, fdopendir, fstatat, unlinkat):
117997         Simplify errno handling to avoid some duplicate code,
117998         as it's OK to set errno on success.
117999         * lib/openat.h: Revamp code so that function macros depend on
118000         __OPENAT_PREFIX only, not also on AT_FDCWD.
118001         (openat_ro): Remove.  Caller changed to use openat_permissive.
118002         (openat_permissive): Now a macro, if not a function.
118003         (openat_restore_fail, openat_save_fail): Now always functions,
118004         since mkdirat needs them even if __OPENAT_PREFIX is defined.
118006         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
118007         and openat.c.
118008         * lib/mkdirat.c: Include openat-priv.h.
118009         Remove definitions of macros defined therein.
118010         * lib/openat.c: Likewise.
118012         * lib/mkdirat.c (mkdirat): New file and function.
118013         * lib/openat.h (mkdirat): Declare.
118015         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
118017         * lib/openat.h (openat_permissive): Declare.
118018         (openat_ro): Define.
118020         * lib/openat.c (EXPECTED_ERRNO): New macro.
118021         (openat_permissive): New function -- used in remove.c rewrite.
118022         (all functions): Set errno just before returning, only if there
118023         was an actual failure.
118024         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
118026         Emulate openat-family functions using Linux's procfs, if possible.
118027         Idea and some code based on Ulrich Drepper's glibc changes.
118029         * lib/openat.c: (BUILD_PROC_NAME): New macro.
118030         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
118031         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
118032         before falling back on save_cwd and restore_cwd.
118033         (fdopendir, fstatat, unlinkat): Likewise.
118035         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
118036         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
118038         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
118039         as second argument to va_arg.  Otherwise, some versions of gcc
118040         warn that `if this code is reached, the program will abort'.
118042 2006-01-09  Jim Meyering  <jim@meyering.net>
118044         Sync from coreutils.
118045         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
118046         Require openat-priv.h.
118048 2006-01-09  Bruno Haible  <bruno@clisp.org>
118050         * modules/strnlen (Include): Use strnlen.h.
118052 2006-01-09  Bruno Haible  <bruno@clisp.org>
118054         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
118056 2006-01-09  Bruno Haible  <bruno@clisp.org>
118058         * lib/sysexit_.h (EX_OK): New macro.
118059         Suggested by Martin Lambers <marlam@marlam.de>.
118061 2006-01-09  Bruno Haible  <bruno@clisp.org>
118063         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
118064         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
118066 2006-01-09  Bruno Haible  <bruno@clisp.org>
118068         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
118069         numbers.
118071 2006-01-09  Bruno Haible  <bruno@clisp.org>
118073         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
118074         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
118075         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
118076         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
118078 2006-01-09  Bruno Haible  <bruno@clisp.org>
118080         * build-aux/javacomp.sh.in: New file, moved from lib/.
118081         * modules/javacomp-script (Files): Update.
118082         (configure.ac): Add AC_CONFIG_FILES invocation.
118083         (EXTRA_DIST): Remove variable.
118085         * build-aux/javaexec.sh.in: New file, moved from lib/.
118086         * modules/javaexec (Files): Update.
118087         (configure.ac): Add AC_CONFIG_FILES invocation.
118088         (EXTRA_DIST): Remove javaexec.sh.in.
118090         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
118091         * modules/csharpcomp-script (Files): Update.
118092         (configure.ac): Add AC_CONFIG_FILES invocation.
118093         (EXTRA_DIST): Remove variable.
118095         * build-aux/csharpexec.sh.in: New file, moved from lib/.
118096         * modules/csharpexec (Files): Update.
118097         (configure.ac): Add AC_CONFIG_FILES invocation.
118098         (EXTRA_DIST): Remove csharpexec.sh.in.
118100 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118102         Sync from coreutils.
118104         Add POSIX ACL support
118105         * lib/acl.h (copy_acl, set_acl): Add declarations.
118106         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
118107         systems other than Linux.
118108         (chmod_or_fchmod): New function: use fchmod when possible,
118109         and chmod otherwise.
118110         (file_has_acl): Add a POSIX ACL implementation, with a
118111         Linux-specific subcase.
118112         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
118113         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
118114         acls are unsupported.
118115         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
118116         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
118117         are unsupported.
118119 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
118121         Sync from coreutils.
118122         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
118124 2006-01-07  Bruno Haible  <bruno@clisp.org>
118126         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
118127         gl_EARLY.
118129 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118131         * lib/strftime.c (tzname): Don't declare if it is already #defined.
118132         Problem reported for Mingw by Mark Junker.
118134 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
118136         * README: Gnulib normally doesn't generate a tarball.
118138 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
118140         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
118141         long int, not int, for nanosecond counts, so that people who are
118142         used to POSIX struct timespec won't be surprised.  Reported by Jim
118143         Meyering.
118145 2005-12-28  Bruno Haible  <bruno@clisp.org>
118147         * build-aux/config.rpath: Update from GNU gettext.
118149 2005-12-16  Jim Meyering  <jim@meyering.net>
118151         * modules/fprintftime: New module.
118152         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
118154 2005-12-16  Jim Meyering  <jim@meyering.net>
118156         * m4/fprintftime.m4: New file.
118158 2005-12-16  Jim Meyering  <jim@meyering.net>
118160         * lib/fprintftime.c, lib/fprintftime.h: New files.
118162 2005-12-15  Simon Josefsson  <jas@extundo.com>
118164         * modules/socklen (configure.ac): Fix M4 macro name, to align with
118165         new m4/socklen.m4.
118167 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118169         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
118170         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
118172 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
118174         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
118175         * lib/argp-help.c (fill_in_uparams): Check if the constructed
118176         struct uparams is valid. Fall back to the default values if it is
118177         not.
118179 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118181         * modules/argp (Files): Add argp-pin.c
118182         (Depends-on): dirname
118183         (lib_SOURCES): Add argp-pin.c
118185 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118187         * m4/argp.m4:  Check if program_invocation_name and
118188         program_invocation_short_name are declared and define appropriate
118189         macros if they are not.
118191 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
118193         * lib/argp-help.c (__argp_base_name): New function
118194         (__argp_short_program_name): Rewrite using __argp_base_name
118195         * lib/argp-namefrob.h: Define program_invocation_name and
118196         program_invocation_short_name if requested
118197         (__argp_base_name): Add prototype
118198         * lib/argp-parse.c (argp_def): Use gettext wrappers
118199         (argp_default_parser): Use __argp_base_name
118200         * lib/argp-pin.c: New file. Defines program_invocation_name and
118201         program_invocation_short_name on systems that lack them.
118203 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118205         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
118206         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118207         porting problem reported by Georg Schwarz in
118208         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118210 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
118212         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
118213         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
118214         porting problem reported by Georg Schwarz in
118215         <http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.
118217 2005-12-05  Bruno Haible  <bruno@clisp.org>
118219         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
118220         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
118221         Reported by Mark Junker <mjscod@gmx.de>.
118223 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
118225         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
118226         Use implementation from Albert Chin, with some
118227         comments/corrections by Stepan Kasal and myself.
118229 2005-12-02  Bruno Haible  <bruno@clisp.org>
118231         * gnulib-tool (func_import): Accept GPLed build tool modules when
118232         --lgpl is given.
118233         * modules/csharpcomp-script: New file.
118234         * modules/csharpcomp: Depend on it.
118235         * modules/javacomp-script: New file.
118236         * modules/javacomp: Depend on it.
118237         Suggested by Simon Josefsson.
118239 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
118241         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
118242         statement, to work around an HP-UX 10.20 compiler bug reported by
118243         Peter O'Gorman.
118245 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118247         * modules/savedir (Depends-on): Add openat.
118249 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
118251         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
118252         (uintmax_t) [defined uintmax_t]: Do not declare.
118253         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
118254         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
118255         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
118256         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
118257         sake of portability to weird hosts that C allows (though we don't
118258         know of any practical examples).
118260         * lib/savedir.h (fdsavedir): New decl.
118261         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
118262         contains most of the former guts of savedir.
118263         (savedir): Use savedirstream.
118264         Include "openat.h".
118266 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
118268         * modules/obstack (Files): Add m4/ulonglong.m4.
118269         Problem reported by Davide Angelocola.
118271 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
118273         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
118274         coreutils no longer futzes with rounding modes.
118276 2005-11-14  Jim Meyering  <jim@meyering.net>
118278         * lib/mkstemp-safer.c: Include <config.h>, required for possible
118279         replacement of mkstemp.
118281 2005-11-10  Simon Josefsson  <jas@extundo.com>
118283         * lib/readline.c: Remove EOL.
118285 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118287         * modules/gethrxtime (Depends-on): Add gettime.
118289 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118291         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
118292         or gettimeofday; no longer needed.
118294 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
118296         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
118297         time business.
118298         (gethrxtime) [! (HAVE_NANOUPTIME
118299         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
118300         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
118301         our own approximation.
118303 2005-11-08  Eric Blake  <ebb9@byu.net>
118305         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118307 2005-11-08  Eric Blake  <ebb9@byu.net>
118309         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
118311 2005-11-04  Bruno Haible  <bruno@clisp.org>
118313         * gnulib-tool: Implement --update mode.
118315 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118317         Fix porting problem reported by Theodoros V. Kalamatianos.
118318         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
118319         Don't assume that futimes failing means we must fail.
118321 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
118323         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
118324         variables to suggest the intended function of the PATH_MAX check.
118326 2005-10-30  Kean Johnston  <jkj@sco.com>
118328         Trivial changes to support SCO systems.
118329         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
118330         as PATH_MAX.
118331         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
118332         where __ptr is null when no I/O is pending.
118334 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
118336         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
118337         leave errno alone.  Problem reported by Dmitry V. Levin.
118339 2005-10-28  Simon Josefsson  <jas@extundo.com>
118341         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
118342         Test more.
118344         * tests/test-gc-md2.c, tests/test-md2.c: New files.
118346         * modules/md2, modules/md2-tests: New files.
118348 2005-10-28  Simon Josefsson  <jas@extundo.com>
118350         * m4/inet_ntop.m4: More tests.
118352         * m4/gc-md2.m4, md2.m4: New file.
118354 2005-10-28  Simon Josefsson  <jas@extundo.com>
118356         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
118357         "restrict" keywords, as per POSIX.  Protect the function
118358         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
118359         Don't use K&R prototypes.  Check the sprintf return values.
118360         Re-define EAFNOSUPPORT if not present.  Indent.
118362         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
118363         suggested by Bruno Haible <bruno@clisp.org>.
118365         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
118367         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
118369         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
118370         libgcrypt).
118372         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
118374         * lib/md2.h, lib/md2.c: New files.
118376 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
118378         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
118379         errno alone.  Problem reported by Frederic Jolliton.
118381 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
118383         * modules/verify (License): Change from GPL to LGPL.  This is a
118384         tiny module and there are apparently near-equivalents that are
118385         under the BSD license.
118387 2005-10-24  Simon Josefsson  <jas@extundo.com>
118389         * modules/sha1: Relicense to LGPL.
118391 2005-10-24  Simon Josefsson  <jas@extundo.com>
118393         * lib/md4.h: Shrink buffer size, now that we changed the type.
118395 2005-10-23  Simon Josefsson  <jas@extundo.com>
118397         * gnulib-tool (func_import): Fix --tests-base.
118399 2005-10-22  Simon Josefsson  <jas@extundo.com>
118401         * modules/arcfour (Depends-on): Need stdint.
118403 2005-10-22  Simon Josefsson  <jas@extundo.com>
118405         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
118406         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
118408 2005-10-22  Simon Josefsson  <jas@extundo.com>
118410         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
118411         suggested by Bruno Haible <bruno@clisp.org>.
118413 2005-10-22  Simon Josefsson  <jas@extundo.com>
118415         * lib/crc.h: Include stddef.h, for size_t.
118417 2005-10-22  Simon Josefsson  <jas@extundo.com>
118419         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
118420         arcfour_context struct (simplify test vector testing in GNU
118421         Shishi).
118423 2005-10-21  Simon Josefsson  <jas@extundo.com>
118425         * modules/des, modules/des-tests: New files.
118427         * modules/gc-des, modules/gc-des-tests: New files.
118429         * tests/test-des.c, tests/test-gc-des.c: New file.
118431 2005-10-21  Simon Josefsson  <jas@extundo.com>
118433         * modules/arctwo, modules/arctwo-tests: New files.
118435         * tests/test-arctwo.c: New file.
118437         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
118439         * tests/test-gc-arctwo.c: New file.
118441 2005-10-21  Simon Josefsson  <jas@extundo.com>
118443         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
118444         Bruno Haible <bruno@clisp.org>.
118446         * m4/gc-des.m4: New file.
118448 2005-10-21  Simon Josefsson  <jas@extundo.com>
118450         * m4/arctwo.m4: New file.
118452         * m4/gc-arctwo.m4: New file.
118454 2005-10-21  Simon Josefsson  <jas@extundo.com>
118456         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
118457         block.
118459 2005-10-21  Simon Josefsson  <jas@extundo.com>
118461         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
118462         <bruno@clisp.org>.
118464         * lib/hmac-sha1.c (hmac_sha1): Likewise.
118466         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
118467         Bruno Haible <bruno@clisp.org>.
118469         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
118470         <bruno@clisp.org>.
118472 2005-10-21  Simon Josefsson  <jas@extundo.com>
118474         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
118476 2005-10-21  Simon Josefsson  <jas@extundo.com>
118478         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
118480 2005-10-21  Simon Josefsson  <jas@extundo.com>
118482         * lib/des.h, lib/des.c: New files.
118484         * lib/gc-gnulib.c: Support DES.c
118486 2005-10-21  Simon Josefsson  <jas@extundo.com>
118488         * lib/arctwo.h, lib/arctwo.c: New files.
118490         * lib/gc-gnulib.c: Support ARCTWO.
118492 2005-10-21  Simon Josefsson  <jas@extundo.com>
118494         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
118495         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
118497 2005-10-21  Simon Josefsson  <jas@extundo.com>
118499         * gnulib-tool (func_import, func_create_testdir): Define automake
118500         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
118501         Makefile.am snippet),
118502         suggested by Bruno Haible <bruno@clisp.org>.
118504         * modules/gc (Makefile.am): Use it.
118506 2005-10-21  Bruno Haible  <bruno@clisp.org>
118508         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
118509         patch.
118511 2005-10-19  Simon Josefsson  <jas@extundo.com>
118513         * tests/test-gc-rijndael.c: New file.
118515         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
118517 2005-10-19  Simon Josefsson  <jas@extundo.com>
118519         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
118520         interface too.
118522 2005-10-19  Simon Josefsson  <jas@extundo.com>
118524         * tests/test-gc-arcfour.c: New file.
118526         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
118528 2005-10-19  Simon Josefsson  <jas@extundo.com>
118530         * modules/gc-md4, modules/gc-md4-tests: New file.
118532         * tests/test-gc-md4.c: New file.
118534 2005-10-19  Simon Josefsson  <jas@extundo.com>
118536         * m4/gc-md4.m4: New file.
118538 2005-10-19  Simon Josefsson  <jas@extundo.com>
118540         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
118541         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
118542         <kasal@ucw.cz>.
118544 2005-10-19  Simon Josefsson  <jas@extundo.com>
118546         * m4/gc-arcfour.m4: New file.
118548         * m4/gc-rijndael.m4: New file.
118550 2005-10-19  Simon Josefsson  <jas@extundo.com>
118552         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
118554 2005-10-19  Simon Josefsson  <jas@extundo.com>
118556         * lib/gc-gnulib.c: Support ARCFOUR.
118558 2005-10-19  Simon Josefsson  <jas@extundo.com>
118560         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
118561         support.
118563         * lib/gc.h: Add ECB enum type.
118565         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
118567 2005-10-18  Simon Josefsson  <jas@extundo.com>
118569         * tests/test-md5.c: New file.
118571         * modules/md5-tests: New file.
118573 2005-10-18  Simon Josefsson  <jas@extundo.com>
118575         * tests/test-md4.c: New file.
118577         * modules/md4, modules/md4-tests: New files.
118579 2005-10-18  Simon Josefsson  <jas@extundo.com>
118581         * m4/md4.m4: New file.
118583 2005-10-18  Simon Josefsson  <jas@extundo.com>
118585         * lib/md4.h, lib/md4.c: New files, based on md5.?.
118587 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
118589         * gnulib-tool (func_create_testdir): Omit the second check whether
118590         BUILT_SOURCES in nonempty.
118592 2005-10-17  Simon Josefsson  <jas@extundo.com>
118594         * tests/test-rijndael.c: New file.
118596 2005-10-17  Simon Josefsson  <jas@extundo.com>
118598         * modules/sha1: Depend on stdint instead of md5.
118600         * modules/md5: Depend on stdint, remove uint32_t.
118602 2005-10-17  Simon Josefsson  <jas@extundo.com>
118604         * modules/gc-sha1-tests: New file.
118606         * tests/test-gc-sha1.c: New file.
118608 2005-10-17  Simon Josefsson  <jas@extundo.com>
118610         * m4/md5.m4: Remove call to uint32_t.m4.
118612 2005-10-17  Simon Josefsson  <jas@extundo.com>
118614         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
118616         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
118617         md5.h.
118619         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
118621         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
118623 2005-10-17  Simon Josefsson  <jas@extundo.com>
118625         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
118627 2005-10-17  Simon Josefsson  <jas@extundo.com>
118629         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
118631 2005-10-17  Simon Josefsson  <jas@extundo.com>
118633         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
118635         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
118637 2005-10-17  Bruno Haible  <bruno@clisp.org>
118639         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
118640         that it can also be used in a test.
118642 2005-10-16  Bruno Haible  <bruno@clisp.org>
118644         * gnulib-tool (func_emit_tests_Makefile_am): Also define
118645         TESTS_ENVIRONMENT, so that individual tests can augment it.
118647         * gnulib-tool (func_create_testdir): Use an intermediate target for
118648         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
118649         macros, like $(ALLOCA_H), which cannot be passed through the command
118650         line.
118652 2005-10-15  Simon Josefsson  <jas@extundo.com>
118654         * modules/rijndael-tests: New file.
118656         * modules/rijndael: New file.
118658 2005-10-15  Simon Josefsson  <jas@extundo.com>
118660         * m4/rijndael.m4: New file.
118662 2005-10-15  Simon Josefsson  <jas@extundo.com>
118664         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
118666         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
118668 2005-10-14  Simon Josefsson  <jas@extundo.com>
118670         * tests/test-arcfour.c: New file.
118672         * modules/arcfour, modules/arcfour-tests: New files.
118674 2005-10-14  Simon Josefsson  <jas@extundo.com>
118676         * m4/arcfour.m4: New file.
118678 2005-10-14  Simon Josefsson  <jas@extundo.com>
118680         * lib/arcfour.h, lib/arcfour.c: New files.
118682 2005-10-14  Roland McGrath  <roland@redhat.com>
118684         Import from libc.  [BZ #1331]
118685         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
118686         macro argument.
118687         Reported by Matej Vela <vela@debian.org>.
118689 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118691         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
118692         include <wchar.h>; no longer needed.
118694 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
118696         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
118698 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
118699         and  Ulrich Drepper  <drepper@redhat.com>
118701         Import from libc.
118702         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
118703         instead of inline stream orientation test and two separate
118704         function calls.  Pay no attention to USE_IN_LIBIO.
118706 2005-10-13  Simon Josefsson  <jas@extundo.com>
118708         * modules/gc-hmac-md5-tests: New file.
118710         * tests/test-gc-hmac-sha1.c: New file.
118712         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
118714         * modules/gc-hmac-md5-tests: New file.
118716         * tests/test-gc-md5.c: New file.
118718         * modules/gc-md5-tests: New file.
118720 2005-10-13  Simon Josefsson  <jas@extundo.com>
118722         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
118723         Move memory allocation outside of loop.
118725 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
118727         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
118728         intermediate directory is in a read-only file system.  Problem
118729         reported by Eric Blake.
118731 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
118733         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
118735 2005-10-12  Simon Josefsson  <jas@extundo.com>
118737         * tests/test-hmac-sha1.c: New file.
118739         * modules/hmac-sha1-tests: New file.
118741         * modules/hmac-sha1: New file.
118743 2005-10-12  Simon Josefsson  <jas@extundo.com>
118745         * modules/gc-sha1: New file.
118747 2005-10-12  Simon Josefsson  <jas@extundo.com>
118749         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
118751         * tests/test-gc-pbkdf2-sha1.c: New file.
118753 2005-10-12  Simon Josefsson  <jas@extundo.com>
118755         * modules/gc-md5, modules/gc-hmac-md5: New files.
118757         * modules/gc (Files): Remove md5, memxor and hmac files.
118759 2005-10-12  Simon Josefsson  <jas@extundo.com>
118761         * m4/gc-pbkdf2-sha1.m4: New file.
118763         * m4/gc-hmac-sha1.m4: New file.
118765         * m4/gc-sha1: New file.
118767         * m4/hmac-sha1.m4: New file.
118769 2005-10-12  Simon Josefsson  <jas@extundo.com>
118771         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
118773         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
118775 2005-10-12  Simon Josefsson  <jas@extundo.com>
118777         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
118778         suggested by Bruno Haible <bruno@clisp.org>.
118780 2005-10-12  Simon Josefsson  <jas@extundo.com>
118782         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
118784 2005-10-12  Simon Josefsson  <jas@extundo.com>
118786         * lib/gc-pbkdf2-sha1.c: New file.
118788         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
118790 2005-10-12  Simon Josefsson  <jas@extundo.com>
118792         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
118794         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
118796 2005-10-12  Simon Josefsson  <jas@extundo.com>
118798         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
118799         GC_USE_HMAC_MD5, respectively.
118801         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
118802         (gc_md5): Fix typo.
118804         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
118806         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
118808         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
118810 2005-10-12  Bruno Haible  <bruno@clisp.org>
118812         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
118813         Reported by Stepan Kasal <kasal@ucw.cz>.
118815 2005-10-11  Simon Josefsson  <jas@extundo.com>
118817         * tests/test-crc.c: New file.
118819         * modules/crc, modules/crc-tests: New files.
118821 2005-10-11  Simon Josefsson  <jas@extundo.com>
118823         * m4/crc.m4: New file.
118825 2005-10-11  Simon Josefsson  <jas@extundo.com>
118827         * lib/gc.h: Add gc_hash and gc_hash_buffer.
118829         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
118831         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
118833 2005-10-11  Simon Josefsson  <jas@extundo.com>
118835         * lib/crc.h, lib/crc.c: New files.
118837         * lib/gc.h (gc_hash_buffer): Add doc.
118839 2005-10-11  Bruno Haible  <bruno@clisp.org>
118841         * modules/c-strcasestr: New file.
118842         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
118844 2005-10-11  Bruno Haible  <bruno@clisp.org>
118846         * modules/c-strcase: New file.
118847         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
118849 2005-10-11  Bruno Haible  <bruno@clisp.org>
118851         * lib/strcasecmp.c: Include limits.h.
118852         (strcasecmp): Avoid integer overflow on exotic platforms.
118853         * lib/strncasecmp.c: Include limits.h.
118854         (strncasecmp): Avoid integer overflow on exotic platforms.
118855         Reported by Paul Eggert.
118857 2005-10-11  Bruno Haible  <bruno@clisp.org>
118859         * lib/c-strcasestr.h: New file, from GNU gettext.
118860         * lib/c-strcasestr.c: New file, from GNU gettext.
118862 2005-10-11  Bruno Haible  <bruno@clisp.org>
118864         * lib/c-strcase.h: New file, from GNU gettext.
118865         * lib/c-strcasecmp.c: New file, from GNU gettext.
118866         * lib/c-strncasecmp.c: New file, from GNU gettext.
118868 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
118870         * modules/mempcpy (License): GPL -> LGPL.
118871         * modules/strchrnul (License): Likewise.
118872         * modules/sysexits (License): Likewise.
118874 2005-10-08  Simon Josefsson  <jas@extundo.com>
118876         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
118878 2005-10-07  Simon Josefsson  <jas@extundo.com>
118880         * m4/memxor.m4: Remove gl_C_RESTRICT call.
118882 2005-10-06  Simon Josefsson  <jas@extundo.com>
118884         * tests/test-hmac-md5.c: New file.
118886         * modules/hmac-md5-tests: New file.
118888         * modules/hmac-md5: New file.
118890 2005-10-06  Simon Josefsson  <jas@extundo.com>
118892         * m4/hmac-md5.m4: New file.
118894         * m4/memxor.m4: Require gl_C_RESTRICT.
118896 2005-10-06  Simon Josefsson  <jas@extundo.com>
118898         * lib/memxor.c (memxor): Avoid casts and warnings.
118900 2005-10-06  Simon Josefsson  <jas@extundo.com>
118902         * lib/hmac-md5.c: New file.
118904         * lib/hmac.h: New file.
118906 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
118908         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
118909         promotes to int, not unsigned int, to catch the AIX 5.3
118910         compiler bug.
118912 2005-10-05  Simon Josefsson  <jas@extundo.com>
118914         * modules/memxor: New file.
118916         * modules/iconv (Files): Move config.rpath to havelib, it is used
118917         there.
118919         * modules/havelib (Files): Add config.rpath.
118921 2005-10-05  Simon Josefsson  <jas@extundo.com>
118923         * m4/memxor.m4: New file.
118925 2005-10-05  Simon Josefsson  <jas@extundo.com>
118927         * lib/memxor.c (memxor): Fix compiler error.
118929         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
118930         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
118932         * lib/memxor.h, lib/memxor.c: New files.
118934         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
118935         we assume all systems have it, suggested by Jim Meyering
118936         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
118937         any systems lack sys/socket.h; mingw32 is known to lack it, but we
118938         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
118939         same reasons.
118941 2005-10-05  Simon Josefsson  <jas@extundo.com>
118943         * config/srclist.txt: Add glibc bug 1423 for md5.h.
118945 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
118947         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
118948         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
118949         needed, since the source code now assumes these .h files.
118951 2005-10-05  Derek Price  <derek@ximbiot.com>
118953         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
118955 2005-10-05  Bruno Haible  <bruno@clisp.org>
118957         * modules/stdint (License): Change to LGPL.
118959 2005-10-04  Simon Josefsson  <jas@extundo.com>
118961         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
118962         D. Baushke" <mdb@gnu.org>.
118964 2005-10-04  Bruno Haible  <bruno@clisp.org>
118966         * lib/verify.h (verify_true): Provide alternative definition for C++.
118968 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
118970         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
118971         (SSIZE_MAX): New macro, if not already defined.
118972         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
118973         than 2 GiB.
118975 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118977         Sync from coreutils.
118978         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
118979         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
118980         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
118981         ULLONG_MAX doesn't work with 2.7.2.1.
118983 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118985         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
118986         From Ben Pfaff.
118988         * modules/exclude (Depends-on): Depend on verify.
118989         * modules/strtoimax (Depends-on): Likewise.
118990         * modules/utimecmp (Depends-on): Likewise.
118992 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
118994         * lib/exclude.c: Include verify.h.
118995         (verify): Remove.  All callers changed to use verify.h's version.
118996         * lib/strtoimax.c: Likewise.
118997         * lib/utimecmp.c: Likewis.e
118999         Sync from coreutils.
119000         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
119001         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
119002         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
119003         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
119004         bother returning ENOSYS if settimeofday or stime fails; just let
119005         them return whatever errno they want to return.
119006         * lib/utimens.c: Include unistd.h, for dup2.
119007         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
119008         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
119010 2005-10-02  Jim Meyering  <jim@meyering.net>
119012         Sync from coreutils.
119013         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
119014         from glibc-2.2.5 that fails for read-only files.
119016 2005-10-02  Jim Meyering  <jim@meyering.net>
119018         Sync from coreutils.
119019         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
119020         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
119021         `#if HAVE_CONFIG_H'.
119022         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
119023         Remove AT_FDCWD test.
119024         Do not consume the fd unless successful.
119025         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
119026         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
119027         block, so that we don't even try to compile it if settimeofday is
119028         available.  This works around a compilation failure on OSF1 V5.1,
119029         due to stime requiring a `long int*' while tv_sec is `int'.
119031 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
119033         Sync from coreutils.
119034         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
119035         against `yes', rather than just testing for nonempty.
119037 2005-10-01  Simon Josefsson  <jas@extundo.com>
119039         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
119040         and Darwin.
119042         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
119043         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
119044         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
119045         freeaddrinfo and gai_strerror are declared by the POSIX headers.
119046         Check if struct addrinfo is declared.
119048 2005-10-01  Simon Josefsson  <jas@extundo.com>
119050         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
119051         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
119052         AI_* and EAI_* definitions.  Protect function declarations.
119054 2005-10-01  Jim Meyering  <jim@meyering.net>
119056         Sync from coreutils.
119058         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
119059         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
119060         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
119061         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119062         in the inet and nsl libraries.  Required on Solaris 5.7.
119064 2005-10-01  Jim Meyering  <jim@meyering.net>
119066         Sync from coreutils.
119067         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
119068         in the inet and nsl libraries.  Required on Solaris 5.7.
119070 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
119072         * lib/getdelim.c (getdelim): Remove unused variables.
119074 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
119076         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
119077         so that the code works even with ancient cpp.  Portability problem
119078         with GCC 2.7.2.1 reported by Thomas M.Ott.
119080 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
119082         * modules/regex (Depends-on): Add strcase.
119084         * modules/gethostname (Licence): Change from GPL to LGPL, since
119085         gethostname.c is a trivial implementation of a standard library
119086         function.
119087         * modules/poll (License): Change from GPL to LGPL, since it's
119088         derived from LGPL code.
119090 2005-09-27  Jim Meyering  <jim@meyering.net>
119092         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
119093         HAVE_CONFIG_H.
119095         * lib/intprops.h (signed_type_or_expr__): Define.
119096         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
119097         for unsigned types.
119099 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
119101         * lib/verify.h (verify_expr): Remove, replacing with:
119102         (verify_true): New macro that returns true instead of void.
119103         (verify_type__): Remove.
119104         (verify): Use verify_true rather than verify_type__.
119106 2005-09-26  Bruno Haible  <bruno@clisp.org>
119108         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
119109         is necessary.
119110         (lib_SOURCES): Remove mbchar.c.
119111         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
119112         (Files): Add m4/mbrtowc.m4.
119113         * modules/mbiter: Likewise.
119114         * modules/mbuiter: Likewise.
119116 2005-09-26  Bruno Haible  <bruno@clisp.org>
119118         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
119119         compile mbchar.c if they are not both present.
119120         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
119121         * m4/mbiter.m4 (gl_MBITER): Likewise.
119122         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
119123         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
119124         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
119126 2005-09-25  Jim Meyering  <jim@meyering.net>
119128         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
119129         also uses socklen_t.
119131 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
119133         * lib/utimens.c (ENOSYS): Define if not already defined.
119134         (futimens): Support having a null PATH if the file descriptor
119135         is nonnegative.
119137         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
119138         Remove.
119139         (__attribute): Define to empty unless GCC 3.1 or later.
119140         This works around a core dump on OpenBSD 3.4, which has GCC
119141         2.95.3, which dumps core when given __attribute__(()).  It also
119142         simplifies other tests, since we really don't want to bother with
119143         worrying about which ancient version of GCC supported what.
119144         Original problem reported by Yoann Vandoorselaere, with part of
119145         the fix suggested by Derek Price.
119147 2005-09-24  Jim Meyering  <jim@meyering.net>
119149         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
119150         so we can once again use a positive bitfield width of 1 -- now we
119151         don't have to explain why we were using a bitfield width of 2.
119153 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119155         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
119156         and similarly for the other external symbols.  Problem reported
119157         by James Gallager.
119159         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
119160         bug reported by Jim Meyering.
119162         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
119163         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
119164         not needed, since socklen is a prerequisite module.
119166 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
119168         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
119169         Problem reported by Eric Blake.
119170         (getaddrinfo): Initialize se so that it's not garbage.
119171         Redo internal storage allocation so that it doesn't make unportable
119172         assumptions about alignment.
119173         Fix a memory leak.
119175         * lib/utimens.c (futimens): Use futimesat if available.
119176         Prefer it to futimes since it doesn't have the futimes bug.
119178         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
119179         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
119180         Instead, declare a function that returns a pointer to an array,
119181         and use verify_type__ to declare the size of the array.
119182         Problem and germ of a solution reported by Bruno Haible.
119183         (verify_type__): Use 2, not 1, for bitfield size, to avoid
119184         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
119186 2005-09-23  Jim Meyering  <jim@meyering.net>
119188         Sync from coreutils.
119189         Correct build failure (socklen_t not defined) on at least
119190         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
119191         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
119193 2005-09-23  Jim Meyering  <jim@meyering.net>
119195         * modules/getaddrinfo (Depends-on): Add socklen.
119197 2005-09-23  Bruno Haible  <bruno@clisp.org>
119199         * tests/test-verify.c: New file.
119201 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119203         Sync from coreutils.
119205         * modules/argmatch (Depends-on): Add verify.
119206         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
119207         unistd-safer.
119208         * modules/save-cwd (Depends-on): Likewise.
119210         * modules/openat (Files): Add lib/openat-die.c.
119211         (Depends-on): Remove error, exitfail.
119212         Add dirname.
119214         * modules/verify: New file.
119215         * MODULES.html.sh (Diagnostics <assert.h>): New section,
119216         with "verify" module.
119218 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119220         Sync from coreutils.
119222         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
119223         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
119224         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
119225         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
119226         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
119227         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
119228         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
119229         Don't bother checking for string.h, stdlib.h, unistd.h.
119230         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
119231         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
119232         module's job.
119233         * m4/jm-macros.m4 (gl_MACROS): Likewise.
119234         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
119236         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
119237         (gl_GETDATE): Use it.
119239         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
119241 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119243         Sync from coreutils.
119245         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
119246         stat-time.h.
119247         * lib/argmatch.h: Include verify.h
119248         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
119249         (ARGMATCH_ASSERT): Remove; unused.
119250         * lib/canonicalize.c: Assume STDC_HEADERS.
119251         * lib/exclude.c: Include "strcase.h".
119252         * lib/regex_internal.h [!defined _LIBC]: Likewise.
119253         * lib/getusershell.c: Include stdio--.h rather than stdio.h
119254         and stdio-safer.h.
119255         (getusershell): Call fopen, not fopen_safer.
119256         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
119257         Do not include unistd-safer.h.
119258         (save_cwd): Don't call fd_safer; no longer needed
119259         now that we include fcntl--.h.
119261         * lib/getdate.y (relative_time): New type.
119262         (RELATIVE_TIME_0): New constant.
119263         (parser_control): Use relative_time instead of doing it ourselves.
119264         (%union): Add new relative_time rel member.
119265         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
119266         Now typeless.
119267         (relunit, relunit_snumber): Now of type rel.
119268         (zone, rel, relunit, get_date): Adjust to above changes.
119270         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
119271         Do not include unistd-safer.h.
119272         (getloadavg): Don't call fd_safer; no longer needed
119273         now that we include fcntl--.h.
119275         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
119276         (make_dir_parents): Treat ENOSYS like EEXIST.
119278         Improve quality of diagnostics on restore_cwd failure.
119279         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
119280         (make_dir_parents): Last arg is now int * (for errno), not bool *.
119281         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
119282         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
119283         each time through the loop.  Do not diagnose restore_cwd failure;
119284         that is the caller's job (and perhaps the caller does not care).
119286         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
119287         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
119288         If the file already exists but is not a directory, don't bother
119289         to try to make its parents.
119290         Close potential file descriptor leak if we can't chdir("/") (!).
119291         Don't always return true if chdir($PWD) fails; return true only
119292         if the requested action was done successfully (except for the
119293         chdir($PWD)).
119294         Don't log final directory unless we actually made it.
119295         Refactor to avoid duplicate code to fix up permissions.
119296         Don't attempt to fix up parent permissions if chdir($PWD) fails.
119298         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
119299         to make it a bit faster and (I hope) clearer.
119300         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
119301         Fix bug in formats like %2N.
119303         * lib/verify.h: New file.
119305 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
119307         Sync from coreutils.
119308         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
119310 2005-09-22  Jim Meyering  <jim@meyering.net>
119312         Sync from coreutils.
119314         * m4/lstat.m4 (gl_FUNC_LSTAT):
119315         Use AC_LIBSOURCES to require lstat.c and lstat.h.
119316         Remove obsolete comment.
119317         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
119318         * m4/xstrtod.m4: Likewise.
119320         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
119322 2005-09-22  Jim Meyering  <jim@meyering.net>
119324         Sync from coreutils.
119326         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
119328         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
119329         the .tm_year member, since otherwise gcc-4.0 would now warn about
119330         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
119332         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
119333         order to avoid an unsuppressible warning from gcc on 64-bit systems.
119335         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
119336         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
119337         when run in a time zone for which daylight savings time is in effect
119338         for the starting date.
119340         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
119341         stop us from restricting permissions of just-created absolute-named
119342         directories.
119343         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
119344         to restore initial working directory.
119345         * lib/mkdir-p.c (make_dir_parents): New parameter:
119346         different_working_dir, to tell caller if/when we change the working
119347         directory and are unable to return to the initial one.
119348         * lib/mkdir-p.h (make_dir_parents): Update prototype.
119349         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
119350         `return false'.  This fixes a bug introduced on 2004-07-30.
119352         * lib/openat.c (fdopendir): Be sure to close the supplied
119353         file descriptor before returning.  This makes our replacement
119354         implementation a little closer to Solaris's, where fdopendir
119355         ties the file descriptor to the returned DIR* pointer.
119356         * lib/openat.c (unlinkat): New function.
119357         * lib/openat.h (unlinkat): Add prototype.
119358         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
119359         (openat_restore_fail): Rename from openat_restore_die.
119360         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
119362         Provide an alternative to exiting immediately upon save_cwd or
119363         restore_cwd failure.  Now, an application can arrange e.g.,
119364         to perform a longjump in that case.
119365         * lib/openat.c: Include dirname.h.
119366         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
119367         (rpl_openat, fdopendir, fstatat): Call openat_save_die
119368         and openat_restore_die rather than calling error directly.
119369         Don't include "error.h" or "exitfail.h"; they're no longer needed.
119371         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
119372         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
119373         define.
119375         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
119376         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
119377                             int utc, int nanoseconds);
119378         Background:
119379         date should not have to allocate a megabyte of virtual memory to
119380         handle a format argument like +%1048575T.  When implemented with
119381         strftime, it must allocate such a buffer, use strftime to fill it
119382         in, print it, then free it.
119383         With fprintftime, it simply prints everything and exits.
119384         With no need for memory allocation, that's one fewer way to fail.
119385         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
119386         optional field width, not before, so we accept %9:z, not %:9z.
119387         (my_strftime): Be sure to use L_('x') for literals.
119389         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
119390         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
119391         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
119392         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
119393         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
119394         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
119395         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
119396         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
119397         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
119398         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
119399         * lib/xgethostname.c, lib/xreadlink.c:
119400         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
119402         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
119403         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
119404         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
119405         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
119406         and don't include <sys/file.h>).
119408 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
119410         Sync from coreutils.
119412         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
119413         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
119414         [!LDAV_DONE]: Avoid unused variable warning.
119416 2005-09-21  Bruno Haible  <bruno@clisp.org>
119418         * lib/unicodeio.h (unicode_to_mb): New declaration.
119420 2005-09-20  Derek Price  <derek@ximbiot.com>
119422         * lib/getaddrinfo.c: Don't include <netdb.h> included from
119423         getaddrinfo.h.
119425 2005-09-20  Bruno Haible  <bruno@clisp.org>
119427         * gnulib-tool: Remove trailing slashes from the values specified for
119428         --source-base, --m4-base, --tests-base, --aux-dir.
119429         Suggested by Simon Josefsson <jas@extundo.com>.
119431 2005-09-20  Bruno Haible  <bruno@clisp.org>
119433         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
119434         func_modules_to_filelist, func_import, func_create_testdir): Make all
119435         sorting results locale-independent, so that gnulib-cache.m4 doesn't
119436         change when gnulib-tool is invoked in a different locale.
119438 2005-09-19  Simon Josefsson  <jas@extundo.com>
119440         * m4/socklen.m4: Fix typo.
119442 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
119444         Use a consistent style for including <config.h>.
119445         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
119446         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
119447         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
119448         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
119449         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
119450         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
119451         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
119452         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
119453         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
119454         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
119455         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
119456         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
119457         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
119458         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
119459         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
119460         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
119461         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
119462         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
119463         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
119464         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
119465         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
119466         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
119467         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
119468         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
119469         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
119470         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
119471         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
119472         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
119473         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
119474         lib/xstrtoumax.c, lib/yesno.c:
119475         Standardize inclusion of config.h.
119476         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
119477         lib/inttostr.h:  Removed inclusion of config.h from header files.
119478         * lib/inttostr.c:  Adjusted in-tree users.
119479         * lib/timespec.h: Remove superfluous warning to include config.h.
119480         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
119481         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
119482         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
119483         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
119484         config.h with HAVE_CONFIG_H.
119486 2005-09-19  Jim Meyering  <jim@meyering.net>
119488         * modules/pathmax (License): Change to LGPL.
119490 2005-09-19  Derek Price  <derek@ximbiot.com>
119492         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
119494 2005-09-19  Bruno Haible  <bruno@clisp.org>
119496         * gnulib-tool (import): Provide default for --tests-base.
119498 2005-09-19  Bruno Haible  <bruno@clisp.org>
119500         * doc/quote.texi: New file, extracted from gnulib.texi.
119501         * doc/ctime.texi: New file, extracted from gnulib.texi.
119502         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
119503         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
119504         * doc/gnulib.texi: Include them.
119506 2005-09-18  Bruno Haible  <bruno@clisp.org>
119508         Portability fix.
119509         * gnulib-tool (func_readlink): New function.
119510         (func_ln_if_changed): Use it.
119512 2005-09-18  Bruno Haible  <bruno@clisp.org>
119514         * gnulib-tool: Support --with-tests also with --import.
119515         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
119516         (func_import): Use variables $testsbase and $inctests. Emit a
119517         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
119518         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
119519         SUBDIRS += $testsdir.
119520         (func_create_testdir): Update.
119522 2005-09-18  Bruno Haible  <bruno@clisp.org>
119524         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
119525         instead of $dry_run.
119526         (func_cp_if_changed, func_mv_if_changed): Remove functions.
119527         (func_ln_if_changed): Don't handle dry-run here.
119528         (func_import): In dry-run mode, detect more precisely which actions
119529         would be performed, and don't use "...ing" verbs.
119531 2005-09-18  Bruno Haible  <bruno@clisp.org>
119533         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
119534         (func_import): Use join on two temporary files instead of three nested
119535         loops, in order to determine which files are new or old.
119537 2005-09-18  Bruno Haible  <bruno@clisp.org>
119539         * gnulib-tool (func_import): Comment out code that spits out the
119540         new files with --dry-run.
119542 2005-09-18  Bruno Haible  <bruno@clisp.org>
119544         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
119546 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119548         * lib/stat-time.h: New file.
119549         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
119550         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
119551         in a different way.
119552         (timespec_cmp): New function.
119553         * lib/utimecmp.c: Include stat-time.h.
119554         (SYSCALL_RESOLUTION): Depend on whether various struct stat
119555         members exist, not on the obsolescent ST_MTIM_NSEC.
119556         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
119558 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119560         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
119562 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
119564         * MODULES.html.sh (File system functions): Add stat-time.
119565         * modules/stat-time: New file.
119566         * modules/timespec (Files): Remove m4/st_mtim.m4; this
119567         is now done in a different way, by the stat-time module.
119568         * modules/utimecmp (Depends-on): Add stat-time.
119570 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
119572         * m4/st_mtim.m4: Remove.  Superseded by...
119573         * m4/stat-time.m4: New file.
119574         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
119575         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
119577 2005-09-15  Derek Price  <derek@ximbiot.com>
119579         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
119581 2005-09-15  Derek Price  <derek@ximbiot.com>
119583         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
119584         * lib/regex_internal.c: Ditto, using this...
119585         (__GNUC_PREREQ): ...new macro.
119586         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
119587         using...
119588         (__GNUC_PREREQ): ...this new macro.
119590         * lib/strstr.h: Include string.h. Define strstr as a macro here.
119592 2005-09-15  Derek Price  <derek@ximbiot.com>
119593             Paul Eggert  <eggert@cs.ucla.edu>
119595         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
119596         changes, consolidating in...
119597         * lib/regex_internal.h: ...this file.
119599 2005-09-13  Jim Meyering  <jim@meyering.net>
119601         * lib/canon-host.c: Filter through gnu indent and reword comments
119602         slightly.
119603         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
119605 2005-09-13  Derek Price  <derek@ximbiot.com>
119607         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
119608         failure.
119609         Reported by Jim Meyering  <jim@meyering.net>.
119611 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
119613         * lib/base64.c: Typo.
119614         (base64_encode): Put b64str in initialized data section.
119616 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
119618         Merge glibc and coreutils changes into gnulib, plus a few
119619         extra fixes.
119620         * lib/md5.c: Use #error rather than a string.
119621         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
119622         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
119623         (__attribute__): Define to empty for non recent-GCC.
119624         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
119625         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
119626         Renamed from their non-__ counterparts, with new macros replacing
119627         them if not _LIBC.  Add __THROW attribute.
119628         (rol): Remove.
119629         (struct md5_ctx): Align buffer if using GCC.
119630         * lib/sha1.h (struct sha1_ctx): Likewise.
119631         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
119632         The old name was backwards.
119633         (NOTSWAP): Remove; not used.
119634         (rol): New macro, moved here from md5.h.
119635         (sha1_process_block): Remove a FIXME that doesn't make sense.
119637 2005-09-12  Derek Price  <derek@ximbiot.com>
119639         Return usable errors from canon-host.
119640         * lib/canon-host.h: New file.
119641         * lib/canon-host.c (canon_host): Wrap...
119642         (canon_host_r): ...this new function, which now relies exclusively on
119643         getaddrinfo.
119644         (ch_strerror): New function.
119645         (last_cherror): New global.
119646         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
119647         interface.
119648         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
119649         void *.
119650         (freeaddrinfo): Free ai->ai_canonname when set.
119652 2005-09-12  Derek Price  <derek@ximbiot.com>
119654         Make canon-host require getaddrinfo.
119655         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
119656         AC_LIBSOURCE canon-host.h.  Call...
119657         (gl_PREREQ_CANON_HOST): ...this new function, which requires
119658         gl_GETADDRINFO.
119659         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
119661 2005-09-12  Derek Price  <derek@ximbiot.com>
119663         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
119664         LGPL.
119665         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
119667 2005-09-12  Derek Price  <derek@ximbiot.com>
119669         * lib/gai_strerror.c: Include config.h when available.  Include
119670         getaddrinfo.h before other headers to test interface.
119671         Reported by Larry Jones <lawrence.jones@ugs.com>.
119673 2005-09-12  Derek Price  <derek@ximbiot.com>
119674             Paul Eggert  <eggert@cs.ucla.edu>
119676         * modules/glob (Files): Add glob-libc.h.
119678 2005-09-12  Derek Price  <derek@ximbiot.com>
119679             Paul Eggert  <eggert@cs.ucla.edu>
119681         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
119682         glob_.h, glob-libc.h.
119683         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
119685 2005-09-12  Derek Price  <derek@ximbiot.com>
119686             Paul Eggert  <eggert@cs.ucla.edu>
119688         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
119689         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
119690         protecting things that should be done only in gnulib contexts.
119691         * lib/glob_.h: New file, containing only the glob things needed for
119692         gnulib.
119693         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
119694         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
119695         (glob, globfree, glob_pattern_p): Now defined simply in terms of
119696         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
119697         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
119698         and to respect the namespace rules better.
119700 2005-09-08  Simon Josefsson  <jas@extundo.com>
119702         * modules/socklen: New file.
119704 2005-09-08  Simon Josefsson  <jas@extundo.com>
119706         * m4/socklen.m4: New file.
119708 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119710         * modules/utimens (Files): Add m4/utimbuf.m4, since
119711         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
119712         Reported by Sergey Poznyakoff.
119714 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119716         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
119717         definitions, since that's the preferred style in glibc.
119718         Fix a minor spacing issue, and update copyright notice to match
119719         glibc's.
119721 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
119723         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
119725 2005-09-06  Simon Josefsson  <jas@extundo.com>
119727         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
119728         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
119730 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119732         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
119733         warning.
119735 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
119737         * config/srclist.txt: Add glibc bug 1302.
119739 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
119741         Change bitset word type from unsigned int to unsigned long int,
119742         as this has better performance on typical 64-bit hosts.
119743         Port bitset code to hosts with unusual word sizes.
119744         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
119745         (build_collating_symbol):
119746         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
119747         argument is a bitset.  This is merely a style issue, but it makes
119748         it clearer that an entire array is expected.
119749         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
119750         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
119751         Port to the case where bitset_word is not the same as unsigned int.
119752         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
119753         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
119754         Likewise.
119755         * lib/regexec.c (check_dst_limits_calc_pos_1,
119756         check_subexp_matching_top):
119757         (build_trtable, group_nodes_into_DFAstates):
119758         Likewise.
119759         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
119760         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
119761         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
119762         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
119763         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
119764         * lib/regcomp.c (optimize_subexps, lower_subexp):
119765         Work even if bitset_word has holes in its bitwise representation.
119766         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
119767         * lib/regexec.c (check_dst_limits_calc_pos_1,
119768         check_subexp_matching_top):
119769         Likewise.
119770         * lib/regex_internal.c (re_string_reconstruct):
119771         Don't assume UCHAR_MAX == 255.
119772         * lib/regex_internal.h (bitset_set_all): Likewise.
119773         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
119774         All uses changed.
119775         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
119776         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
119777         All uses changed.
119778         (BITSET_WORD_MAX): New macro.
119779         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
119780         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
119781         (bitset_empty, bitset_copy):
119782         Prefer sizeof (bitset) to multiplying it out ourselves.
119783         (bitset_not_merge): Remove; unused.
119784         (bitset_contain): Return bool, not unsigned int with one bit on.
119785         All callers changed.
119786         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
119787         alignment than re_node_set; do this by defining a new internal
119788         type struct dests_alloc and using it to allocate memory.
119790 2005-09-05  Bruno Haible  <bruno@clisp.org>
119792         * gnulib-tool (func_import): Fix comparison in handling of symbolic
119793         links.
119795 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
119797         * modules/size_max (Makefile.am): Add size_max.h
119799 2005-09-04  Derek Price  <derek@ximbiot.com>
119801         * gnulib-tool (func_import): Fix reversed $symbolic logic.
119803 2005-09-03  Simon Josefsson  <jas@extundo.com>
119805         * gnulib-tool: Fix typo.
119807 2005-09-03  Simon Josefsson  <jas@extundo.com>
119809         * config/srclist.txt: Add glibc bug 1293.
119811 2005-09-03  Derek Price  <derek@ximbiot.com>
119813         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
119814         From Larry Jones <lawrence.jones@ugs.com>.
119816 2005-09-02  Simon Josefsson  <jas@extundo.com>
119818         * modules/socklen: New file.
119820 2005-09-02  Simon Josefsson  <jas@extundo.com>
119822         * modules/havelib: New module.
119824         * modules/gettext, modules/iconv, modules/lock, modules/readline:
119825         Use havelib.
119827 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119829         Check for arithmetic overflow when calculating sizes, to prevent
119830         some buffer-overflow issues.  These patches are conservative, in the
119831         sense that when I couldn't determine whether an overflow was possible,
119832         I inserted a run-time check.
119833         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
119834         macros.
119835         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
119836         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
119837         (re_xnrealloc, re_x2nrealloc): New inline functions.
119838         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
119839         parse_bracket_exp):
119840         (build_equiv_class, build_charclass): Check for arithmetic overflow
119841         in size expression calculations.
119842         * lib/regex_internal.c (re_string_realloc_buffers):
119843         (build_wcs_upper_buffer, re_node_set_add_intersect):
119844         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
119845         (re_dfa_add_node, register_state): Likewise.
119846         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
119847         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
119848         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
119849         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
119851 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
119853         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
119854         m4/ulonglong.m4.  Problem reported by Martin Lambers.
119856 2005-09-02  Bruno Haible  <bruno@clisp.org>
119858         Support for lib vs. lib64 distinction on biarch platforms.
119859         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
119860         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
119861         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
119863 2005-09-02  Bruno Haible  <bruno@clisp.org>
119865         * gnulib-tool (import): In the other first-use case, provide defaults
119866         as well.
119868 2005-09-02  Bruno Haible  <bruno@clisp.org>
119870         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
119871         patches not yet found in the latest gettext release.
119873 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119875         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
119876         to avoid a collision with bits/local_lim.h in glibc.
119877         All uses changed.  Problem reported by Dmitry V. Levin in
119878         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
119880         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
119881         bugs in int versus size_t comparisons.
119882         (re_string_context_at): Fix bug where the code assumed that
119883         Idx is signed.
119885         Use bool where appropriate.
119886         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
119887         All callers changed.
119888         (calc_eclosure_iter): Likewise, for ROOT arg.
119889         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
119890         (build_charclass_op): Likewise, for NON_MATCH arg.
119891         * lib/regex_internal.c (re_string_allocate, re_string_construct):
119892         (re_string_construct_common): Likewise, for ICASE arg.
119893         * lib/regexec.c (re_search_2_stub, re_search_stub):
119894         Likewise, for RET_LEN arg.
119895         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
119896         (set_regs): Likewise, for FL_BACKTRACK arg.
119897         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
119898         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
119899         (calc_eclosure_iter, parse_bracket_exp):
119900         Use bool for internal variables that are booleans.
119901         * lib/regexec.c (re_search_internal, check_matching,
119902         proceed_next_node):
119903         (set_regs, build_sifted_states, sift_states_bkref):
119904         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
119905         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
119906         (find_collation_sequence_value):
119907         Likewise.
119908         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
119909         (re_node_set_compare):
119910         Return bool, not int. All callers changed.
119911         * lib/regexec.c (check_halt_node_context, check_dst_limits):
119912         (build_trtable, check_node_accept): Likewise.
119913         * lib/regex_internal.h: Include stdbool.h.
119915         Fix bugs uncovered when converting to bool.
119916         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
119917         failure instead of charging ahead blindly.
119918         * lib/regex_internal.c (register_state): Likewise.
119919         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
119920         for freeing internal storage.
119921         (group_nodes_into_DFA_states): Use unsigned int, not int, for
119922         bitset pieces used as boolean, to avoid undefined behavior
119923         on hosts that do int overflow checking.
119925 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
119927         * config/srclist.txt: Add glibc bugs 1285-1287.
119929 2005-09-01  Jim Meyering  <jim@meyering.net>
119931         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
119932         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
119933         Require gl_STAT_MACROS, too.
119935 2005-09-01  Bruno Haible  <bruno@clisp.org>
119937         * gnulib-tool (import): In the first-use case, provide defaults.
119939 2005-09-01  Bruno Haible  <bruno@clisp.org>
119941         * gnulib-tool (func_import): Remove the .tmp files.
119943 2005-09-01  Bruno Haible  <bruno@clisp.org>
119945         * gnulib-tool (func_import): Fix handling of symbolic links.
119947 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
119949         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
119950         old glibc regex code mishandles strings longer than 2**31 bytes.
119951         This patch fixes this when the regex code is used in gnulib
119952         (i.e., outside glibc).
119954         This patch should not affect the use of the regex code inside
119955         glibc.  No doubt this problem also needs to be handled for glibc
119956         as well, but the result will be an incompatible change to the
119957         glibc ABI, and the old ABI will have to be supported too.  That
119958         can be the subject for another patch.
119960         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
119961         governing whether the rest of this patch is active.  By default,
119962         the macro is disabled and the patch has no effect.
119963         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
119964         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
119965         (struct re_pattern_buffer, re_search, re_search_2, re_match):
119966         (re_match_2, re_set_registers): Use the new types.
119967         * lib/regex_internal.h (Idx, re_hashval_t): New types.
119968         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
119969         New macros.
119970         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
119971         (re_string_context_at, bin_tree_t, re_dfastate_t):
119972         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
119973         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
119974         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
119975         (re_string_char_size_at, re_string_wchar_at):
119976         (re_string_elem_size_at):
119977         Use the new types and macros to port to 64-bit hosts.
119978         Use unsigned types for internal values, so that the code
119979         mostly works even for arrays larger than SSIZE_MAX.
119980         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
119981         (search_duplicated_node, calc_eclosure_iter, fetch_number):
119982         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
119983         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
119984         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
119985         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
119986         (calc_inveclosure, parse_dup_op, build_range_exp):
119987         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
119988         (fetch_number, create_token_tree, mark_opt_subexp):
119989         Likewise.
119990         * lib/regex_internal.c (re_string_construct_common,
119991         create_ci_newstate):
119992         (create_cd_newstate, re_string_allocate, re_string_construct):
119993         (re_string_realloc_buffers, build_wcs_upper_buffer):
119994         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
119995         (re_string_reconstruct, re_string_peek_byte_case):
119996         (re_string_fetch_byte_case, re_string_context_at):
119997         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
119998         (re_node_set_init_copy, re_node_set_add_intersect):
119999         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120000         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120001         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120002         (re_acquire_state, re_acquire_state_context, register_state):
120003         Likewise.
120004         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
120005         search_cur_bkref_entry):
120006         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
120007         (re_search_internal, re_search_2_stub, re_search_stub)
120008         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
120009         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
120010         (update_cur_sifted_state, check_dst_limits):
120011         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120012         (check_subexp_limits, sift_states_bkref, merge_state_array):
120013         (check_subexp_matching_top, get_subexp, get_subexp_sub):
120014         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
120015         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120016         (expand_bkref_cache, check_node_accept_bytes):
120017         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
120018         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
120019         (acquire_init_state_context, check_halt_node_context):
120020         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
120021         (sift_states_backward, clean_state_log_if_needed):
120022         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
120023         (find_recover_state, transit_state_sb, transit_state_mb):
120024         (transit_state_bkref, build_trtable, match_ctx_clean):
120025         Likewise.
120026         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
120027         to work around an assumption that REG_MISSING is negative.
120029         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
120030         (seek_collating_symbol_entry) [defined _LIBC]:
120031         (lookup_collation_sequence_value) [defined _LIBC]:
120032         (build_range_exp, build_collating_symbol) [defined _LIBC]:
120033         Use prototypes rather than old-style function definitions.
120034         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
120035         (transit_state_sb) [0]:
120036         (find_collation_sequence_value) [defined _LIBC]: Likewise.
120038         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
120039         rm_eo.
120041         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
120042         (optimize_subexps, lower_subexp):
120043         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
120044         since the signed shift might overflow.  Use 1u<<31 instead.
120045         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
120046         Likewise.
120047         * lib/regexec.c (check_dst_limits_calc_pos_1,
120048         check_subexp_matching_top): Likewise.
120050         * lib/regcomp.c (optimize_subexps, lower_subexp):
120051         Use CHAR_BIT rather than 8, for clarity.
120052         * lib/regexec.c (check_dst_limits_calc_pos_1):
120053         (check_subexp_matching_top): Likewise.
120054         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
120055         have to worry about portability issues when shifting it left.
120056         Remove no-longer-needed test for table_size > 0.
120057         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
120058         in a word, as the resulting behavior is undefined.
120059         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
120060         in one case, a <= should have been an <, and in another case the
120061         whole test was missing.
120062         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
120063         the standard name CHAR_BIT.
120064         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
120065         this is not true on one's complement and signed-magnitude hosts.
120067         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
120068         next_last_offset.
120069         (struct re_dfa_t): Remove unused member states_alloc.
120070         * lib/regcomp.c (init_dfa): Don't initialize unused members.
120072 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120074         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
120075         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
120076         and large-file glibc and in 32-bit large-file Solaris.
120078 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120080         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
120081         lengths fit in regoff_t; this isn't true if regoff_t is the same
120082         width as size_t.
120083         * lib/regex.c (re_search_internal): 5th arg is LAST_START
120084         (= START + RANGE) instead of RANGE.  This avoids overflow
120085         problems when regoff_t is the same width as size_t.
120086         All callers changed.
120087         (re_search_2_stub): Check for overflow when adding the
120088         sizes of the two strings.
120089         (re_search_stub): Check for overflow when adding START
120090         to RANGE; if it occurs, substitute the extreme value.
120092 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
120094         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
120096 2005-08-31  Jim Meyering  <jim@meyering.net>
120098         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
120099         a pointer-to-const.
120100         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
120101         (register_state): Likewise.
120102         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
120103         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
120104         (group_nodes_into_DFAstates): Likewise.
120106 2005-08-31  Jim Meyering  <jim@meyering.net>
120108         * check-module: Add a FIXME comment.
120110 2005-08-31  Eric Blake  <ebb9@byu.net>
120112         * modules/unistd-safer (Files): Add unistd--.h.
120113         * modules/stdio-safer (Files): Add stdio--.h.
120115 2005-08-31  Derek Price  <derek@ximbiot.com>
120117         * lib/getdelim.c (getdelim): Return EOF on EOF.
120118         Reported by Larry Jones <lawrence.jones@ugs.com>.
120120 2005-08-31  Bruno Haible  <bruno@clisp.org>
120122         Avoid unnecessary diffs in the generated lib/Makefile.am.
120123         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
120124         the generated files.
120125         (func_import): Don't set cmd.
120127 2005-08-31  Bruno Haible  <bruno@clisp.org>
120129         * lib/strstr.c: Include <stddef.h>, for NULL.
120130         * lib/strcasestr.c: Likewise.
120131         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
120133 2005-08-31  Bruno Haible  <bruno@clisp.org>
120135         * gnulib-tool: New option --macro-prefix.
120136         (func_import): Use macro_prefix.
120137         (import): Handle option --macro-prefix.
120139 2005-08-31  Bruno Haible  <bruno@clisp.org>
120141         * gnulib-tool (import): Rename most ac_* variables to cached_*.
120142         Also use new variables cached_lgpl, cached_libtool.
120144 2005-08-31  Bruno Haible  <bruno@clisp.org>
120146         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
120147         always instantiating them.
120149 2005-08-31  Bruno Haible  <bruno@clisp.org>
120151         * gnulib-tool (func_import): Read the previous cached settings
120152         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
120153         earlier added by gnulib but are now dropped. Warn when a gnulib file
120154         overwrites a non-gnulib file.
120156 2005-08-31  Bruno Haible  <bruno@clisp.org>
120158         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
120159         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
120160         projects that don't keep autogenerated files in CVS. Put into
120161         actioncmd only the specified modules, not the transitive closure.
120163 2005-08-31  Bruno Haible  <bruno@clisp.org>
120165         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
120166         Create directories that shall be filled.
120167         (import): Don't look for gl_* macros in configure.ac. Recurse across
120168         all directories containing a gnulib-cache.m4 files, if meaningful.
120170 2005-08-31  Bruno Haible  <bruno@clisp.org>
120172         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
120173         (import): Set seen_libtool when we see gl_LIBTOOL.
120175 2005-08-31  Bruno Haible  <bruno@clisp.org>
120177         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
120178         declaration macro definitions from generated gnulib.m4.
120180 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
120182         * lib/iconvme.h: Add prototype for iconv_alloc.
120184 2005-08-29  Simon Josefsson  <jas@extundo.com>
120186         * lib/iconvme.c: Fix errno.
120188 2005-08-29  Bruno Haible  <bruno@clisp.org>
120190         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
120191         that it works when the directory contains spaces.
120193 2005-08-29  Bruno Haible  <bruno@clisp.org>
120195         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
120197 2005-08-29  Bruno Haible  <bruno@clisp.org>
120199         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
120200         Emit more advice.
120202 2005-08-29  Bruno Haible  <bruno@clisp.org>
120203         and Stepan Kasal  <kasal@ucw.cz>
120205         * check-module: If more parameters are given, check each of them
120206         separately; add more exceptions, as noted by Jim Meyering.
120207         (check_module): New procedure.
120208         (%exempt_header): Now contains all exceptions.
120210 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
120212         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
120214 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
120216         * lib/iconvme.c: Split iconv_string into iconv_alloc.
120218 2005-08-28  Bruno Haible  <bruno@clisp.org>
120220         * m4/gnulib-tool.m4: New file.
120222 2005-08-27  Jim Meyering  <jim@meyering.net>
120224         * modules/unistd-safer (Files): Add pipe-safer.c.
120225         * modules/fcntl-safer (Files): Add creat-safer.c.
120227 2005-08-27  Jim Meyering  <jim@meyering.net>
120229         * m4/stdlib-safer.m4: New file.  From coreutils.
120230         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
120231         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
120232         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
120233         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
120234         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
120236 2005-08-27  Jim Meyering  <jim@meyering.net>
120238         * lib/fopen-safer.c: Merge minor changes from coreutils.
120239         * lib/dup-safer.c: Likewise.
120240         * lib/fd-safer.c: Likewise.
120242         Merge from coreutils.
120243         * lib/stdio--.h: New file.
120244         * lib/stdlib--.h: New file.
120245         * lib/mkstemp-safer.c: New file.
120247         GNU tar needs these.
120248         * lib/pipe-safer.c: New file.
120249         * lib/creat-safer.c: New file.
120250         * lib/fcntl--.h (creat): Define to creat_safer.
120251         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
120252         * lib/unistd--.h (pipe): Define to pipe_safer.
120253         * lib/unistd-safer.h: Declare pipe_safer.
120255 2005-08-26  Simon Josefsson  <jas@extundo.com>
120257         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
120258         Haible <bruno@clisp.org>.
120260 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
120262         * lib/regex_internal.h: Remove all references to
120263         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
120264         or better.
120265         (bitset_not, bitset_merge, bitset_not_merge):
120266         (bitset_mask, re_string_allocate, re_string_construct):
120267         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
120268         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
120269         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
120270         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
120271         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120272         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120273         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
120274         (re_acquire_state_context):
120275         Remove unnecessary forward decls.
120276         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
120277         Put __attribute at function definition,
120278         now that the function decl has been removed.
120279         * lib/regex_internal.c (re_string_peek_byte_case):
120280         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
120281         Likewise.
120283 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
120285         * m4/regex.m4: Add AC_PREREQ(2.50).
120286         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
120288 2005-08-25  Simon Josefsson  <jas@extundo.com>
120290         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
120291         __fsetlocking.
120293 2005-08-25  Simon Josefsson  <jas@extundo.com>
120295         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
120296         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
120297         GLIBC specific code.
120299 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120301         Make regex safe for g++.  This fixes one real bug (an "err"
120302         that should have been "*err").  g++ problem reported by
120303         Sam Steingold.
120304         * lib/regex_internal.h (re_calloc): New macro, consistent with
120305         re_malloc etc.  All callers of calloc changed to use re_calloc.
120306         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
120307         not int.  All callers changed.
120308         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
120309         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
120310         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
120311         (find_recover_state): Change "err" to "*err"; this fixes what
120312         appears to be a real bug.
120313         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
120314         versus int.
120316 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120318         * modules/regex (Depends-on): Add malloc, since the code
120319         assumes that !malloc(0) means failure.
120321 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120323         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
120325         alloca modernization/simplification for regex.
120326         * lib/regex.c: Remove portability cruft for alloca.  This no longer
120327         needs to be at the start of the file, and can be moved into
120328         regex_internal.h and simplified.
120329         * lib/regex_internal.h: Include <alloca.h>.
120330         (__libc_use_alloca) [!defined _LIBC]: New macro.
120331         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
120332         now works outside glibc.
120334 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
120336         * config/srclist.txt: Add glibc bugs 1241, 1245.
120338 2005-08-25  Jim Meyering  <jim@meyering.net>
120340         * lib/open-safer.c: Include <config.h>.
120341         Otherwise, we'd lose LARGEFILE support in any file using
120342         e.g. "fcntl--.h"
120344 2005-08-25  Bruno Haible  <bruno@clisp.org>
120346         * m4/minmax.m4: Require autoconf 2.52.
120347         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
120348         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
120349         alternatives of translit over the alphabet.
120350         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
120352 2005-08-24  Simon Josefsson  <jas@extundo.com>
120354         * tests/test-getpass.c: New file.
120356 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120358         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
120359         for GNU regex features.
120361 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120363         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
120364         * lib/regex.h (regerror): Likewise.
120366         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
120367         requires this.  (The code never needed it.)
120369         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
120370         All uses of recently-renamed identifiers changed to use the new,
120371         POSIX-compliant names.  The code will build and run just fine
120372         without these changes, but it's better to eat our own dog food
120373         and use the standard-conforming names.
120375         * lib/regex.h: Fix a multitude of POSIX name space violations.
120376         These changes have an effect only for programs that define
120377         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
120378         do not change anything for programs compiled in the normal way.
120379         Also, there is no effect on the ABI.
120381         (_REGEX_SOURCE): New macro.
120382         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
120383         defined and _GNU_SOURCE is not; this fixes a name space violation.
120385         Rename the following macros to obey POSIX requirements.
120386         The old names are still visible as macros if _REGEX_SOURCE is defined.
120387         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
120388         RE_BACKSLASH_ESCAPE_IN_LISTS.
120389         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
120390         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
120391         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
120392         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
120393         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
120394         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
120395         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
120396         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
120397         (REG_INTERVALS): renamed from RE_INTERVALS.
120398         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
120399         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
120400         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
120401         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
120402         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
120403         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
120404         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
120405         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
120406         RE_UNMATCHED_RIGHT_PAREN_ORD.
120407         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
120408         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
120409         (REG_DEBUG): renamed from RE_DEBUG.
120410         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
120411         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
120412         unusual, since we can't clash with the POSIX REG_ICASE.
120413         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
120414         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
120415         (REG_NO_SUB): renamed from RE_NO_SUB.
120416         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
120417         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
120418         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
120419         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
120420         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
120421         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
120422         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
120423         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
120424         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
120425         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
120426         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
120427         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
120428         RE_SYNTAX_POSIX_MINIMAL_BASIC.
120429         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
120430         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
120431         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
120432         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
120433         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
120434         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
120435         (REG_FIXED): Renamed from REGS_FIXED.
120436         (REG_NREGS): Renamed from RE_NREGS.
120438         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
120439         of other REG_* macros, since POSIX says the user is allowed to
120440         #undef these macros selectively.
120442         (reg_errcode_t): Update comment stating what other tables need
120443         to be consistent.
120445         Rename the following enum values to obey POSIX requirements.
120446         The old names are still visible as macros.
120447         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
120448         is not defined, since GNU is supposed to be a superset of POSIX as
120449         much as possible, and since we want reg_errcode_t to be a signed
120450         type for implementation consistency.
120451         (_REG_NOERROR): Renamed from REG_NOERROR.
120452         (_REG_NOMATCH): Renamed from REG_NOMATCH.
120453         (_REG_BADPAT): Renamed from REG_BADPAT.
120454         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
120455         (_REG_ECTYPE): Renamed from REG_ECTYPE.
120456         (_REG_EESCAPE): Renamed from REG_EESCAPE.
120457         (_REG_ESUBREG): Renamed from REG_ESUBREG.
120458         (_REG_EBRACK): Renamed from REG_EBRACK.
120459         (_REG_EPAREN): Renamed from REG_EPAREN.
120460         (_REG_EBRACE): Renamed from REG_EBRACE.
120461         (_REG_BADBR): Renamed from REG_BADBR.
120462         (_REG_ERANGE): Renamed from REG_ERANGE.
120463         (_REG_ESPACE): Renamed from REG_ESPACE.
120464         (_REG_BADRPT): Renamed from REG_BADRPT.
120465         (_REG_EEND): Renamed from REG_EEND.
120466         (_REG_ESIZE): Renamed from REG_ESIZE.
120467         (_REG_ERPAREN): Renamed from REG_ERPAREN.
120468         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
120469         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
120470         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
120471         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
120473         (_REG_RE_NAME, _REG_RM_NAME): New macros.
120474         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
120475         changed.  But support the old name if the new one is not defined
120476         and if _REGEX_SOURCE.
120478         Change the following member names in struct re_pattern_buffer.
120479         The old names are still supported if !_REGEX_SOURCE.
120480         The new names are always supported, regardless of _REGEX_SOURCE.
120481         (re_buffer): Renamed from buffer.
120482         (re_allocated): Renamed from allocated.
120483         (re_used): Renamed from used.
120484         (re_syntax): Renamed from syntax.
120485         (re_fastmap): Renamed from fastmap.
120486         (re_translate): Renamed from translate.
120487         (re_can_be_null): Renamed from can_be_null.
120488         (re_regs_allocated): Renamed from regs_allocated.
120489         (re_fastmap_accurate): Renamed from fastmap_accurate.
120490         (re_no_sub): Renamed from no_sub.
120491         (re_not_bol): Renamed from not_bol.
120492         (re_not_eol): Renamed from not_eol.
120493         (re_newline_anchor): Renamed from newline_anchor.
120495         Change the following member names in struct re_registers.
120496         The old names are still supported if !_REGEX_SOURCE.
120497         The new names are always supported, regardless of _REGEX_SOURCE.
120498         (rm_num_regs): Renamed from num_regs.
120499         (rm_start): Renamed from start.
120500         (rm_end): Renamed from end.
120502         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
120503         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
120504         Prepend __ to parameter names.
120506         Undo yesterday's changes.
120508 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
120510         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
120511         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
120512         lib/regex.c.
120514 2005-08-24  Jim Meyering  <jim@meyering.net>
120516         Sync from coreutils.
120517         * m4/fcntl-safer.m4: New file.
120519         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
120520         and object files for this module.
120522 2005-08-24  Jim Meyering  <jim@meyering.net>
120524         Sync from coreutils.
120525         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
120527 2005-08-24  Jim Meyering  <jim@meyering.net>
120529         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
120530         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
120532 2005-08-24  Jim Meyering  <jim@meyering.net>
120534         * modules/fcntl-safer: New module.
120535         * modules/fts (Depends-on): Add fcntl-safer.
120536         * MODULES.html.sh (File descriptor based Input/Output):
120537         Add fcntl-safer.
120539 2005-08-24  Bruno Haible  <bruno@clisp.org>
120541         Support for unit test modules.
120542         * modules/README: Mention tests modules.
120543         * modules/TEMPLATE-TESTS: New file.
120544         * gnulib-tool: New options --extract-tests-module, --with-tests and
120545         --tests-base (unused for the moment).
120546         (testsbase, inctests): New variables.
120547         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
120548         (func_verify_module): Exclude TEMPLATE-TESTS.
120549         (func_verify_nontests_module, func_verify_tests_module): New functions.
120550         (func_get_dependencies): Add implicit dependency for tests modules.
120551         (func_get_tests_module): New function.
120552         (func_modules_transitive_closure): When --with-tests was specified,
120553         include the unit tests as well, unless explicitly avoided.
120554         (func_emit_lib_Makefile_am): Ignore the tests modules here.
120555         (func_emit_tests_Makefile_am): New function.
120556         (func_create_testdir): When --with-tests was specified, emit a
120557         tests/ directory.
120558         * MODULES.html.sh (Future developments): Update.
120560 2005-08-24  Bruno Haible  <bruno@clisp.org>
120562         * modules/tls-tests: New file.
120563         * tests/test-tls.c: New file, from GNU gettext.
120565 2005-08-24  Bruno Haible  <bruno@clisp.org>
120567         * modules/lock-tests: New file.
120568         * tests/test-lock.c: New file, from GNU gettext.
120570 2005-08-24  Bruno Haible  <bruno@clisp.org>
120572         * lib/lock.h: Add multiple inclusion guard.
120573         * lib/tls.h: Add multiple inclusion guard.
120575 2005-08-24  Bruno Haible  <bruno@clisp.org>
120577         * gnulib-tool: Add support for the --aux-dir option to
120578         --create-testdir, --create-megatestdir, --test, --megatest.
120579         (func_create_testdir, func_create_megatestdir): Optionally emit a
120580         AC_CONFIG_AUX_DIR directive.
120581         (create-testdir, create-megatestdir, test, megatest): Provide a
120582         default value for $auxdir.
120584 2005-08-24  Bruno Haible  <bruno@clisp.org>
120586         * gnulib-tool (import): Use compound statement instead of subshell
120587         where possible.
120589 2005-08-24  Bruno Haible  <bruno@clisp.org>
120591         * gnulib-tool (import): Change --aux-dir default to "build-aux".
120593 2005-08-24  Bruno Haible  <bruno@clisp.org>
120595         * gnulib-tool (func_version): Update.
120597 2005-08-24  Bruno Haible  <bruno@clisp.org>
120599         * gnulib-tool (func_import, func_create_testdir,
120600         func_create_megatestdir): Quote all autoconf macro arguments.
120602 2005-08-24  Bruno Haible  <bruno@clisp.org>
120604         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
120605         option --force, because --force causes the aclocal.m4 of each
120606         subdirectory to be newer than the corresponding config.h.in.
120608 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120610         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
120611         All contents moved to gl_REGEX.
120612         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
120613         assume that it does.
120615 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120617         * lib/regex.h (REG_NOSYS)
120618         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
120619         Define, since POSIX requires it as of 2001.
120620         (_REG_ENOSYS)
120621         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
120622         New private symbol, used to keep the enum signed in all cases.
120623         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
120624         Youngman in
120625         <http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.
120627         * lib/regex_internal.c (re_string_skip_chars, register_state):
120628         (calc_state_hash):
120629         Remove forward decls; no longer needed now that we use prototypes.
120630         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
120631         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
120632         (clean_state_log_if_needed): Likewise.
120634 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
120636         * config/srclist.txt: Add glibc bugs 1231-1233.
120638 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120640         Fix problems reported by Sam Steingold in
120641         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
120642         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
120643         assumed that reg_errcode_t is a signed type, which is not
120644         necessarily true if _XOPEN_SOURCE is not defined.
120645         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
120646         since some compilers warn about it otherwise.
120648 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120650         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
120651         (init_word_char, create_initial_state, duplicate_node_closure):
120652         (fetch_token, peek_token_bracket, build_range_exp):
120653         (build_collating_symbol): Remove forward decls; no longer needed
120654         now that we use prototypes.
120656         * lib/regcomp.c:
120657         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
120658         (re_compile_fastmap_iter, regcomp, regerror, regfree):
120659         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
120660         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
120661         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
120662         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
120663         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
120664         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
120665         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
120666         (build_range_exp, build_collating_symbol, parse_bracket_exp):
120667         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
120668         (build_charclass, build_charclass_op, fetch_number, create_tree):
120669         (create_token_tree, mark_opt_subexp, duplicate_tree):
120670         Use prototypes rather than old-style definitions.
120672         * lib/regex_internal.c:
120673         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
120674         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
120675         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
120676         (re_string_reconstruct, re_string_peek_byte_case):
120677         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
120678         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
120679         (re_node_set_init_copy, re_node_set_add_intersect):
120680         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
120681         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
120682         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
120683         (re_acquire_state, re_acquire_state_context, register_state):
120684         (create_ci_newstate, create_cd_newstate, free_state):
120685         Likewise.
120686         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
120687         re_search_2):
120688         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
120689         (re_search_internal, prune_impossible_nodes):
120690         (acquire_init_state_context, check_matching, static):
120691         (check_halt_node_context, check_halt_state_context, proceed_next_node):
120692         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
120693         (update_regs, sift_states_backward, build_sifted_states):
120694         (clean_state_log_if_needed, merge_state_array):
120695         (update_cur_sifted_state, add_epsilon_src_nodes):
120696         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
120697         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
120698         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
120699         (find_recover_state, check_subexp_matching_top, transit_state_mb):
120700         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
120701         (check_arrival, check_arrival_add_next_nodes):
120702         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
120703         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
120704         (check_node_accept_bytes, check_node_accept, extend_buffers):
120705         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
120706         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
120707         (sift_ctx_init):
120708         Likewise.
120710         * lib/regex_internal.h:
120711         (re_string_allocate, re_string_construct, re_string_reconstruct):
120712         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
120713         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
120714         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
120715         (re_string_context_at, re_string_peek_byte_case):
120716         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
120717         is defined, since we now use prototypes always.
120719         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
120720         C89 or better.  All uses removed.
120722 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
120724         * config/srclist.txt: Add glibc bugs 1220-1227.
120726 2005-08-20  Jim Meyering  <jim@meyering.net>
120728         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
120729         of unused local, dfa.
120731 2005-08-20  Bruno Haible  <bruno@clisp.org>
120733         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
120735 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120737         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
120738         (re_node_set_insert_last, re_dfa_add_node):
120739         Rename local variables to avoid GCC shadowing warnings.
120741 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120743         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
120744         [defined lint]: Suppress bogus uninitialized-variable warnings.
120746         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
120747         and let the caller return REG_ESPACE if out of space.  This
120748         removes an uninitialied-variable warning with GCC 4.0.1, and also
120749         avoids taking the address of a local variable.  All callers
120750         changed.
120752 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
120754         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
120755         $LIBCSRC/posix/regexec.c.
120756         Add glibc bug 1217 for regcomp.c.
120758 2005-08-19  Jim Meyering  <jim@meyering.net>
120760         * lib/regexec.c (proceed_next_node): Redo local variables to
120761         avoid GCC shadowing warnings.
120763 2005-08-18  Bruno Haible  <bruno@clisp.org>
120765         * lib/strstr.c (strstr): Fix return value in multibyte case.
120766         * lib/strcasestr.c (strcasestr): Likewise.
120768 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
120770         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
120772 2005-08-17  Jim Meyering  <jim@meyering.net>
120774         Make the %s format (seconds since the epoch) work for a negative
120775         number and when used with a zero-padded field width, e.g. %015s.
120777         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
120778         label so that it precedes the code to set `digits'.  Otherwise,
120779         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
120780         print `00-22'.  Now, it prints `-0022', as it should.
120782 2005-08-17  Bruno Haible  <bruno@clisp.org>
120784         * modules/strstr (Files): Add m4/mbrtowc.m4.
120785         (Depends-on): Add mbuiter.
120787 2005-08-17  Bruno Haible  <bruno@clisp.org>
120789         * modules/strcasestr: New file.
120790         * MODULES.html.sh (String handling, based on ANSI C 89): Add
120791         strcasestr.
120793 2005-08-17  Bruno Haible  <bruno@clisp.org>
120795         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
120797 2005-08-17  Bruno Haible  <bruno@clisp.org>
120799         * modules/mbuiter: New file.
120800         * MODULES.html.sh (Extended multibyte and wide character utilities):
120801         Add mbuiter.
120803 2005-08-17  Bruno Haible  <bruno@clisp.org>
120805         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
120806         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
120808 2005-08-17  Bruno Haible  <bruno@clisp.org>
120810         * m4/strcasestr.m4: New file.
120812 2005-08-17  Bruno Haible  <bruno@clisp.org>
120814         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
120815         * lib/strstr.c: Completely rewritten, with multibyte locale support.
120817 2005-08-17  Bruno Haible  <bruno@clisp.org>
120819         * lib/strcasestr.h: New file.
120820         * lib/strcasestr.c: New file.
120822 2005-08-17  Bruno Haible  <bruno@clisp.org>
120824         * lib/strcasecmp.c: Use mbuiter.h.
120826 2005-08-17  Bruno Haible  <bruno@clisp.org>
120828         * lib/mbuiter.h: New file.
120830 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
120832         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
120833         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
120834         and gl_GETOPT are both invoked via different paths (as happens
120835         with GNU tar CVS because it uses both argp and getopt), the former
120836         wins.
120838 2005-08-16  Bruno Haible  <bruno@clisp.org>
120840         * modules/tls: New file.
120841         * MODULES.html.sh (Multithreading): Add tls.
120843 2005-08-16  Bruno Haible  <bruno@clisp.org>
120845         * modules/strnlen1: New file.
120846         * MODULES.html.sh (String handling): Add strnlen1.
120848 2005-08-16  Bruno Haible  <bruno@clisp.org>
120850         * modules/strcase (Files): Add m4/mbrtowc.m4.
120851         (Depends-on): Add strnlen1, mbchar.
120853 2005-08-16  Bruno Haible  <bruno@clisp.org>
120855         * modules/mbiter: New file.
120856         * MODULES.html.sh (Extended multibyte and wide character utilities):
120857         Add mbiter.
120859 2005-08-16  Bruno Haible  <bruno@clisp.org>
120861         * modules/mbfile: New file.
120862         * MODULES.html.sh (Extended multibyte and wide character utilities):
120863         Add mbfile.
120865 2005-08-16  Bruno Haible  <bruno@clisp.org>
120867         * modules/mbchar: New file.
120868         * MODULES.html.sh (Extended multibyte and wide character utilities):
120869         New section.
120871 2005-08-16  Bruno Haible  <bruno@clisp.org>
120873         * m4/tls.m4: New file, from GNU gettext.
120875 2005-08-16  Bruno Haible  <bruno@clisp.org>
120877         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
120878         always.
120879         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
120881 2005-08-16  Bruno Haible  <bruno@clisp.org>
120883         * m4/mbiter.m4: New file.
120885 2005-08-16  Bruno Haible  <bruno@clisp.org>
120887         * m4/mbfile.m4: New file.
120889 2005-08-16  Bruno Haible  <bruno@clisp.org>
120891         * m4/mbchar.m4: New file.
120893 2005-08-16  Bruno Haible  <bruno@clisp.org>
120895         * lib/tls.h: New file, from GNU gettext.
120896         * lib/tls.c: New file, from GNU gettext.
120898 2005-08-16  Bruno Haible  <bruno@clisp.org>
120900         * lib/strnlen1.h: New file.
120901         * lib/strnlen1.c: New file.
120903 2005-08-16  Bruno Haible  <bruno@clisp.org>
120905         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
120906         (mbi_init): Update.
120907         (mbi_avail, mbi_advance): Let the iteration end before the terminating
120908         NUL byte, not after it.
120910 2005-08-16  Bruno Haible  <bruno@clisp.org>
120912         * lib/strcase.h (strcasecmp): Add note in comments.
120913         * lib/strncasecmp.c: Use code from strcasecmp.c.
120914         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
120915         (strcasecmp): Work correctly in multibyte locales.
120917 2005-08-16  Bruno Haible  <bruno@clisp.org>
120919         * lib/mbiter.h: New file.
120921 2005-08-16  Bruno Haible  <bruno@clisp.org>
120923         * lib/mbfile.h: New file.
120925 2005-08-16  Bruno Haible  <bruno@clisp.org>
120927         * lib/mbchar.h: New file.
120928         * lib/mbchar.c: New file.
120930 2005-08-16  Bruno Haible  <bruno@clisp.org>
120932         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
120933         the valid ones. Makes the comparison operations transitive:
120934         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
120935         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
120937 2005-08-15  Simon Josefsson  <jas@extundo.com>
120939         * modules/ssize_t (License): Change to 'unlimited'.
120941         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
120943 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
120945         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
120946         Add comments for each pending glibc patch.
120948 2005-08-15  Bruno Haible  <bruno@clisp.org>
120950         * lib/regex.h (__restrict_arr): Don't define to __restrict if
120951         __cplusplus is defined.
120953 2005-08-14  Jim Meyering  <jim@meyering.net>
120955         Sync from coreutils.
120957         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
120958         Use the hash-table-based cycle-detection code not just when
120959         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
120960         Reported by James Youngman in
120961         <http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
120962         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
120963         FTS_TIGHT_CYCLE_CHECK.
120964         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
120965         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
120966         once again.
120967         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
120968         * lib/fts.c (fd_safer): Remove decl.
120969         Include fcntl--.h rather than unistd-safer.h
120970         (fts_safe_changedir): Don't call fd_safer; no longer needed
120971         now that we include fcntl--.h.
120973 2005-08-12  Simon Josefsson  <jas@extundo.com>
120975         * modules/getndelim2: Use ssize_t module.
120976         * modules/getnline: Likewise.
120977         * modules/safe-read: Likewise.
120978         * modules/xreadlink: Likewise.
120980         * modules/ssize_t: New file.
120982 2005-08-12  Simon Josefsson  <jas@extundo.com>
120984         * m4/readline.m4: Look for termcap, curses or ncurses if required.
120986 2005-08-12  Simon Josefsson  <jas@extundo.com>
120988         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
120989         ssize_t.
120991 2005-08-12  Simon Josefsson  <jas@extundo.com>
120993         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
120994         readline, getdelim and check_version.
120995         (Support for systems lacking ISO C 99: Sizes of integer types):
120996         Add size_max.
120998 2005-08-12  Bruno Haible  <bruno@clisp.org>
121000         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
121002 2005-08-11  Simon Josefsson  <jas@extundo.com>
121004         * modules/readline: New file.
121006         * modules/strnlen (Files): Add strnlen.h.
121008 2005-08-11  Simon Josefsson  <jas@extundo.com>
121010         * m4/readline.m4: New file.
121012 2005-08-11  Simon Josefsson  <jas@extundo.com>
121014         * lib/readline.h, readline.c: New file.
121016 2005-08-11  Simon Josefsson  <jas@extundo.com>
121018         * doc/gnulib.texi (Initial import, Finishing touches): Mention
121019         gl_AVOID.
121021 2005-08-11  Bruno Haible  <bruno@clisp.org>
121023         * lib/strnlen.h (strnlen): Change parameter name to match comment.
121025 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
121027         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
121029 2005-08-10  Simon Josefsson  <jas@extundo.com>
121031         * tests/test-iconvme.c: New file.
121033 2005-08-10  Simon Josefsson  <jas@extundo.com>
121035         * m4/strnlen.m4: New file.
121037         * m4/strndup.m4: Don't check for strnlen declaration, done in
121038         strnlen.m4.
121040 2005-08-10  Simon Josefsson  <jas@extundo.com>
121042         * lib/strndup.c: Use strnlen.h.
121044         * lib/strnlen.h: New file.
121046 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
121048         * README: Typos.
121050 2005-08-02  Simon Josefsson  <jas@extundo.com>
121052         * modules/readline: New file.
121054 2005-08-02  Simon Josefsson  <jas@extundo.com>
121056         * modules/getdelim: New file.
121058         * modules/getline: Rewrite, don't use getndelim2.
121060 2005-08-02  Simon Josefsson  <jas@extundo.com>
121062         * m4/getline.m4: Separate out getdelim stuff into separate module.
121064         * m4/getdelim.m4: New file.
121066 2005-08-02  Simon Josefsson  <jas@extundo.com>
121068         * lib/getline.h, getline.c: Rewrite.
121070         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
121072 2005-07-31  Bruno Haible  <bruno@clisp.org>
121074         * lib/lock.h (gl_lock_initializer): New macro.
121075         (gl_lock_define_initialized): Use it.
121076         (gl_rwlock_initializer): New macro.
121077         (gl_rwlock_define_initialized): Use it.
121078         (gl_recursive_lock_initializer): New macro.
121079         (gl_recursive_lock_define_initialized): Use it.
121081 2005-07-30  Karl Berry  <karl@gnu.org>
121083         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
121084         Report from Ben Pfaff, regarding getopt.
121086 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
121088         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
121089         normal way.
121090         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
121091         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
121092         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
121093         (gl_GETOPT): Use the new macros.  Most of the implementation
121094         is moved to the new macros.  This is for programs like Emacs
121095         that don't want all the functionality of gl_GETOPT.
121097 2005-07-26  Bruno Haible  <bruno@clisp.org>
121099         * m4/lock.m4: Update from GNU gettext.
121101 2005-07-26  Bruno Haible  <bruno@clisp.org>
121103         * lib/lock.h: Update from GNU gettext.
121104         * lib/lock.c: Update from GNU gettext.
121106 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
121108         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
121109         obsolescent AC_TRY_RUN.  Include the default includes files, for
121110         'exit'.
121112 2005-07-24  Bruno Haible  <bruno@clisp.org>
121114         * modules/visibility: New file.
121115         * MODULES.html.sh (Misc): Add visibility.
121117 2005-07-24  Bruno Haible  <bruno@clisp.org>
121119         * m4/visibility.m4: New file.
121121 2005-07-24  Bruno Haible  <bruno@clisp.org>
121123         * doc/visibility.texi: New file.
121125 2005-07-22  Bruno Haible  <bruno@clisp.org>
121127         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
121128         $(ALLOCA_H), redundant through BUILT_SOURCES.
121129         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
121130         redundant through BUILT_SOURCES.
121131         * modules/byteswap (Makefile.am): Remove explicit dependency on
121132         $(BYTESWAP_H), redundant through BUILT_SOURCES.
121133         * modules/fnmatch (Makefile.am): Remove explicit dependency on
121134         $(FNMATCH_H), redundant through BUILT_SOURCES.
121135         * modules/getopt (Makefile.am): Remove explicit dependency on
121136         $(GETOPT_H), redundant through BUILT_SOURCES.
121137         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
121138         redundant through BUILT_SOURCES.
121139         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
121140         redundant through BUILT_SOURCES.
121141         * modules/stdbool (Makefile.am): Remove explicit dependency on
121142         $(STDBOOL_H), redundant through BUILT_SOURCES.
121143         * modules/stdint (Makefile.am): Remove explicit dependency on
121144         $(STDINT_H), redundant through BUILT_SOURCES.
121145         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
121146         Remove explicit dependency on $(SYSEXITS_H).
121147         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
121149 2005-07-18  Simon Josefsson  <jas@extundo.com>
121151         * lib/check-version.c (check_version): Accept identical versions too.
121153 2005-07-18  Bruno Haible  <bruno@clisp.org>
121155         * modules/lock: New file.
121156         * MODULES.html.sh (Multithreading): New section.
121158 2005-07-18  Bruno Haible  <bruno@clisp.org>
121160         * m4/lock.m4: New file, from GNU gettext.
121162 2005-07-18  Bruno Haible  <bruno@clisp.org>
121164         * lib/lock.h: New file, from GNU gettext.
121165         * lib/lock.c: New file, from GNU gettext.
121167 2005-07-18  Bruno Haible  <bruno@clisp.org>
121169         * lib/lock.h (gl_once_t): New type.
121170         (gl_once_define, gl_once): New macros.
121171         * lib/lock.c (fresh_once): New variable.
121172         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
121173         functions.
121175 2005-07-16  Simon Josefsson  <jas@extundo.com>
121177         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
121178         workaround, suggested by Bruno.
121180 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121182         * modules/xalloc (Depends-on): Add xalloc-die.
121183         * modules/xvasprintf (Depends-on): Add xalloc-die.
121185 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
121187         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
121188         with a minor change.
121190 2005-07-15  Bruno Haible  <bruno@clisp.org>
121192         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
121193         When using lib/poll.c, define poll as rpl_poll.
121195 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
121197         * modules/argp (Depends-on): Remove unlocked-io.
121199 2005-07-14  Derek Price  <derek@ximbiot.com>
121201         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
121202         for glob symlink bug.
121204 2005-07-14  Bruno Haible  <bruno@clisp.org>
121206         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
121207         Instead, test for *_unlocked function declarations directly.
121209 2005-07-11  Simon Josefsson  <jas@extundo.com>
121211         * modules/size_max: New file.
121213         * modules/xsize: Depend on size_max module for size_max.m4.
121215 2005-07-11  Simon Josefsson  <jas@extundo.com>
121217         * lib/size_max.h: New file.
121219 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
121221         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
121222         copyright symbol and the year.
121223         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
121224         (version_etc_va): Use parameterized copyright notice.
121225         Reword to conform to the current GNU coding standards.
121227 2005-07-11  Karl Berry  <karl@gnu.org>
121229         * doc/gnulib.texi (Quoting): new node.
121230         (Initial import): more info, from Patrice.
121232 2005-07-11  Bruno Haible  <bruno@clisp.org>
121234         * gnulib-tool (func_usage): Document option --avoid.
121235         (Command line options): Handle --avoid.
121236         (func_acceptable): New function.
121237         (func_modules_transitive_closure): Use it.
121239 2005-07-11  Bruno Haible  <bruno@clisp.org>
121241         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
121242         Reported by Jim Meyering.
121244 2005-07-10  Bruno Haible  <bruno@clisp.org>
121246         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
121247         Needed when size_t is smaller than 'unsigned int'.
121248         Reported by Paul Eggert.
121250 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121252         * modules/argp (Depends-on): Add unlocked-io
121254 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
121256         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
121257         block of defines.
121259 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
121261         * config/srclist.txt: Comment out regcomp.c, since we have a porting
121262         fix now.
121264 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
121265         and Paul Eggert  <eggert@cs.ucla.edu>
121267         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
121268         in wint_t, not wchar_t.  Remove now-unnecessary cast.
121270 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121272         * modules/regex (Files): Add lib/regex_internal.c,
121273         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
121274         (Depends-on): Add extensions.
121275         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
121277 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121279         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
121280         pathconf.
121281         * m4/same.m4 (gl_SAME): Likewise.
121282         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
121284         * m4/regex.m4: Adjust to new libc regex implementation.
121285         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
121286         all the .c and .h parts of (the new) regex.
121287         Quote the m4 stuff better.
121288         Check for RE_ICASE bug of old gnulib.
121289         Check for REG_STARTEND of recent libc.
121290         Rename local variables from jm_* to gl_*.
121291         Quote operand of "test -f".
121292         Say "recent enough" version of libc, not "version 2".
121293         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
121294         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
121295         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
121296         Remove check for btowc, isascii.
121297         Require AM_LANGINFO_CODESET.
121299 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121301         * lib/regex.c, regex.h: Sync from libc.
121302         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
121303         * lib/regexec.c:
121304         New files, synced from libc, except that regex_internal.h
121305         currently has a small porting fix.
121307 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
121309         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
121310         regex_internal.c, regexec.c.
121311         Add regex_internal.h too, but as a comment, since the libc version
121312         is currently broken in gnulib mode.
121314 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
121316         Support programs like Emacs that use gnulib but not gettext.
121317         * MODULES.html.sh (Internationalization functions): Add gettext-h.
121318         * modules/gettext-h: New file.
121319         * modules/gettext (Files): Remove lib/gettext.h.
121320         (Depends-on): Add gettext-h.
121321         (Makefile.am): Remove lib_SOURCES.
121322         * modules/argmatch, modules/c-stack, modules/closeout:
121323         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
121324         * modules/execute, modules/file-type, modules/getaddrinfo:
121325         * modules/getopt, modules/human, modules/javacomp:
121326         * modules/javaexec, modules/mkdir-p, modules/obstack:
121327         * modules/openat, modules/pagealign_alloc, modules/pipe:
121328         * modules/quotearg, modules/regex, modules/rpmatch:
121329         * modules/unicodeio, modules/userspec, modules/version-etc:
121330         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
121331         * modules/xsetenv:
121332         Depend on gettext-h, not gettext.
121334 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
121336         * gnulib-tool (func_import): Add support for 'public domain' license.
121337         * modules/alloca, modules/atexit, modules/memmove:
121338         Now public domain, not GPL.
121339         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
121340         * modules/realloc, modules/strerror, modules/strtod:
121341         Now LGPL, not GPL.
121343 2005-07-05  Bruno Haible  <bruno@clisp.org>
121345         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
121346         autoconf CVS. Needed for mingw.
121348 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121350         Remove the dependency of the strftime module on the tzset module.
121351         * modules/strftime (Depends-on): Remove dependency on tzset.
121353 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121355         Remove the dependency of the strftime module on the tzset module.
121356         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
121357         gl_FUNC_TZSET_CLOBBER.
121359 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
121361         Remove the dependency of the strftime module on the tzset module.
121362         * lib/strftime.c (my_strftime)
121363         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
121364         Copy the input structure, to work around some of the bug with
121365         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
121366         Solaris releases, you should also use the tzset module, but we won't
121367         require it as a dependency any more since we don't want LGPLed code
121368         to depend on GPLed code.
121370 2005-07-02  Jim Meyering  <jim@meyering.net>
121372         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
121373         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
121374         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
121375         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
121377 2005-07-02  Jim Meyering  <jim@meyering.net>
121379         * lib/backupfile.c (backup_args): Change a `0' to NULL.
121381 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
121383         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
121384         declares only 'struct timespec;' (!).
121386 2005-07-01  Jim Meyering  <jim@meyering.net>
121388         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
121389         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
121390         * lib/save-cwd.c, tempname.c:
121391         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
121392         and don't include <sys/file.h>).
121394 2005-06-29  Jim Meyering  <jim@meyering.net>
121396         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
121397         type name.  Use the variable name instead.
121398         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
121399         Likewise.
121401 2005-06-28  Simon Josefsson  <jas@extundo.com>
121403         * modules/check-version (Files): Add check-version.m4.
121405 2005-06-28  Simon Josefsson  <jas@extundo.com>
121407         * m4/check-version.m4: New file, suggested by Jim Meyering
121408         <jim@meyering.net>.
121410 2005-06-28  Simon Josefsson  <jas@extundo.com>
121412         * lib/check-version.h, lib/check-version.c: New files.
121414 2005-06-28  Simon Josefsson  <jas@extundo.com>
121416         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
121417         collision with global variable.  Better indentation.  Don't
121418         increment buffer pointer beyond buffer end.  Based on comments
121419         from Paul Eggert <eggert@cs.ucla.edu>.
121421         * lib/base64.h: Indent.
121423 2005-06-28  Simon Josefsson  <jas@extundo.com>
121425         * doc/gnulib.texi (Library version handling): New section.
121427 2005-06-28  Jim Meyering  <jim@meyering.net>
121429         * check-module (find_included_lib_files): Hard-code another
121430         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
121431         but modules/fts-lgpl (correctly) does not list those files.
121433         * modules/canonicalize (Files): Add lib/pathmax.h.
121435 2005-06-25  Simon Josefsson  <jas@extundo.com>
121437         * modules/check-version: New file.
121439 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
121441         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
121442         initializer of struct addrinfo, as an indication that we don't
121443         care how many members the structure has.
121445 2005-06-24  Derek Price  <derek@ximbiot.com>
121446         and Bruno Haible  <bruno@clisp.org>
121448         Remove stat module & update lstat.
121449         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
121450         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
121451         * m4/stat.m4: Remove this file.
121453 2005-06-24  Derek Price  <derek@ximbiot.com>
121454         and Bruno Haible  <bruno@clisp.org>
121456         Remove stat module & update lstat.
121457         * lib/stat.c: Remove this file...
121458         (slash_aware_lstat): ...moving this content and its support...
121459         * lib/lstat.c (rpl_lstat): ...into here.
121460         * lib/lstat.h: New file.
121462 2005-06-24  Derek Price  <derek@ximbiot.com>
121463         and Bruno Haible  <bruno@clisp.org>
121465         Remove stat module & update lstat.
121466         * config/srclist.txt (libc sources): Remove stat.
121468 2005-06-24  Derek Price  <derek@ximbiot.com>
121469         and Bruno Haible  <bruno@clisp.org>
121471         Remove stat module & update lstat.
121472         * MODULES.html.sh (stat): Remove.
121473         * MODULES.html: Regenerated.
121474         * modules/lstat (Description): Correct function name.
121475         (Files): Add "lstat.h".
121476         (Depends-on): Remove stat, add xalloc, stat-macros.
121477         * modules/stat: Remove this file.
121478         (Include): Add "lstat.h", remove <sys/stat.h>.
121480 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
121482         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
121483         (ranged_convert): Don't save conversion in a temporary struct.
121484         This causes a warning with GCC 4.0.0, and anyway in the typical
121485         case it's not worth the extra 100 bytes or so of code.
121486         (ranged_convert, __mktime_internal): When calling a function via a
121487         pointer P, use P () rather than (*P) (), as we now assume C89 or
121488         better.
121490 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
121492         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
121493         "who -r" failed to give output.  Problem reported by Tim Waugh.
121495         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
121496         (xcalloc): Use it to avoid needless tests.
121497         Problem reported by Jim Meyering.
121499 2005-06-20  Derek Price  <derek@ximbiot.com>
121501         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
121502         unnecessary for Autoconfs > 2.59c.
121504 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
121506         * lib/argp.h (__option_is_short): Check upper limit of
121507         __key. Isprint() requires its argument to have the value
121508         of an unsigned char or EOF.
121510 2005-06-16  Jim Meyering  <jim@meyering.net>
121512         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
121513         when either N or S is zero.
121515 2005-06-16  Derek Price  <derek@ximbiot.com>
121517         * m4/bison.m4: Declare YACC & YFLAGS precious.
121519 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
121521         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
121522         multibyte string or pattern, fall back on unibyte matching.
121523         Problem reported by James Youngman.
121525 2005-06-08  Bruno Haible  <bruno@clisp.org>
121527         * modules/csharpcomp: New file.
121528         * MODULES.html.sh (C#): Add csharpcomp.
121530 2005-06-08  Bruno Haible  <bruno@clisp.org>
121532         * m4/csharpcomp.m4: New file, from GNU gettext.
121534 2005-06-08  Bruno Haible  <bruno@clisp.org>
121536         * lib/csharpcomp.h: New file, from GNU gettext.
121537         * lib/csharpcomp.c: New file, from GNU gettext.
121538         * lib/csharpcomp.sh.in: New file, from GNU gettext.
121540 2005-06-08  Bruno Haible  <bruno@clisp.org>
121542         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
121543         warning on mingw.
121545 2005-06-07  Derek Price  <derek@ximbiot.com>
121547         Sync from CVS.
121548         * lib/glob_.h: Indent nested #ifdef.
121550 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121552         Sync from coreutils.
121553         Use "file name" when talking about file names, instead of "filename"
121554         or "path", as per the GNU coding standards.
121555         * lib/mkdir-p.c: Renamed from makepath.c.
121556         (make_dir_parents): Renamed from make_path.  All callers changed.
121557         * lib/mkdir-p.h: Likewise.  All includers changed.
121558         * lib/filenamecat.c: Renamed from path-concat.c.
121559         (file_name_concat): Renamed from path_concat.  All callers changed.
121560         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
121561         * lib/filenamecat.h: Likewise.  All includers changed.
121562         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
121563         in comments or local variable names.
121564         * lib/basename.c: Likewise.
121565         * lib/canonicalize.c, canonicalize.h: Likewise.
121566         * lib/dirname.c, dirname.h: Likewise.
121567         * lib/euidaccess.c: Likewise.
121568         * lib/exclude.c: Likewise
121569         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
121570         * lib/fsusage.c, fsuage.h: Likewise.
121571         * lib/fts.c, fts_.h: Likewise.
121572         * lib/getcwd.c: Likewise.
121573         * lib/getloadavg.c: Likewise.
121574         * lib/mkstemp.c: Likewise.
121575         * lib/mountlist.c, mountlist.h: Likewise.
121576         * lib/openat.c, openat.h: Likewise.
121577         * lib/readlink-stub.c: Likewise.
121578         * lib/readutmp.c, readutmp.h: Likewise.
121579         * lib/rename.c: Likewise.
121580         * lib/rmdir.c: Likewise.
121581         * lib/same.c: Likewise.
121582         * lib/savedir.c: Likewise.
121583         * lib/stripslash.c: Likewise.
121584         * lib/tempname.c: Likewise.
121585         * lib/xreadlink.c: Likewise.
121586         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
121587         All uses changed.
121588         * lib/exclude.h: Likewise.
121590         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
121591         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121592         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
121593         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121594         * lib/pathmax.h: Include <limits.h> unconditionally, since other
121595         files have been getting away with it for years (MORE/BSD 4.3
121596         is extinct now).
121597         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
121598         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
121600         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
121601         Define to 256, not 255, as per modern POSIX.
121603 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121605         Sync from coreutils.
121606         Use "file name" when talking about file names, instead of "filename"
121607         or "path", as per the GNU coding standards.
121608         * MODULES.html.sh: mkdir-p renamed from makepath.
121609         filenamecat renamed from path-concat.
121610         * modules/filenamecat: Renamed from modules/path-concat.
121611         (Files): filenamecat.h and filenamecat.c renamed from
121612         path-concat.h and path-concat.c.
121613         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
121614         (Include): filenamecat.h, not path-concat.h.
121615         * modules/mkdir-p: Renamed from modules/makepath.
121616         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
121617         makepath.c.
121618         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
121619         (Include): mkdir-p.h, not makepath.h.
121621 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
121623         Sync from coreutils.
121624         * m4/mkdir-p.m4: Renamed from makepath.m4.
121625         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
121626         Rename files from makepath.c to mkdir-p.c, and from
121627         makepath.h to mkdir-p.h.
121628         * m4/filenamecat.m4: Renamed from path-concat.m4.
121629         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
121630         Rename files from path-concat.c to filenamecat.c,
121631         and from path-concat.h to filenamecat.h.
121632         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
121633         "file name" in local variables or comments.
121634         * m4/rename.m4: Likewise.
121636 2005-06-01  Bruno Haible  <bruno@clisp.org>
121638         * modules/csharpexec: New file.
121639         * MODULES.html.sh (C#): New section.
121641 2005-06-01  Bruno Haible  <bruno@clisp.org>
121643         * m4/csharp.m4: New file, from GNU gettext.
121644         * m4/csharpexec.m4: New file, from GNU gettext.
121646 2005-06-01  Bruno Haible  <bruno@clisp.org>
121648         * lib/csharpexec.h: New file, from GNU gettext.
121649         * lib/csharpexec.c: New file, from GNU gettext.
121650         * lib/csharpexec.sh.in: New file, from GNU gettext.
121652 2005-05-31  Derek Price  <derek@ximbiot.com>
121653             Paul Eggert  <eggert@cs.ucla.edu>
121655         Sync from cvs.
121656         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121658 2005-05-31  Derek Price  <derek@ximbiot.com>
121659             Paul Eggert  <eggert@cs.ucla.edu>
121661         Sync from cvs.
121662         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
121664 2005-05-29  Derek Price  <derek@ximbiot.com>
121666         * config/srclist.txt (glob_.h, glob.c): Add these files.
121668 2005-05-29  Derek Price  <derek@ximbiot.com>
121670         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
121671         * modules/glob: New file.
121672         * modules/getlogin_r: Add link to POSIX spec in description.
121674 2005-05-29  Derek Price  <derek@ximbiot.com>
121675             Paul Eggert  <eggert@cs.ucla.edu>
121677         * m4/glob.m4: New file.
121679 2005-05-29  Derek Price  <derek@ximbiot.com>
121680             Paul Eggert  <eggert@cs.ucla.edu>
121682         * lib/glob_.h, lib/glob.c: New files.
121684 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121686         * modules/fts (Files): Remove m4/inttypes-pri.m4.
121687         * modules/fts-lgpl (Depends-on): Remove gettext.
121689 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121691         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
121692         and don't require gt_INTTYPES_PRI.
121694 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
121696         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
121698         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
121699         the configuration hassle isn't worth it.
121700         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
121701         (LONGEST_MODIFIER, PRIuMAX): Remove.
121703 2005-05-27  Bruno Haible  <bruno@clisp.org>
121705         * lib/getlogin_r.h: Remove second include of <stddef.h>.
121707 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
121709         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
121710         _POSIX_PTHREAD_SEMANTICS for Solaris.
121712 2005-05-25  Derek Price  <derek@ximbiot.com>
121714         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
121716 2005-05-25  Derek Price  <derek@ximbiot.com>
121717             Paul Eggert  <eggert@cs.ucla.edu>
121719         * modules/getlogin_r, m4/getlogin_r.m4: New files.
121720         * lib/getlogin_r.c, getlogin_r.h: New files.
121722 2005-05-25  Bruno Haible  <bruno@clisp.org>
121723             Derek Price  <derek@ximbiot.com>
121725         * lib/getlogin_r.h: Simplify API documentation.
121727 2005-05-23  Derek Price  <derek@ximbiot.com>
121729         * modules/minmax (Files): Add m4/minmax.m4.
121730         (configure.ac): Add gl_MINMAX.
121732 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
121734         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
121735         so that unistd-safer.h (GPL'ed code) need not be included.
121737 2005-05-22  Bruno Haible  <bruno@clisp.org>
121739         * m4/minmax.m4: New file.
121740         Based on a patch by Derek Price <derek@ximbiot.com>.
121742 2005-05-22  Bruno Haible  <bruno@clisp.org>
121744         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
121745         (INT64_MIN): Fix definition.
121746         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
121748         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
121749         NEED_SIGNED_INT_TYPES.
121751         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
121752         HAVE_SYSTEM_INTTYPES.
121754 2005-05-22  Bruno Haible  <bruno@clisp.org>
121756         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
121757         Also include <sys/param.h> if it defines MIN, MAX.
121758         Based on a patch by Derek Price <derek@ximbiot.com>.
121760 2005-05-21  Jim Meyering  <jim@meyering.net>
121762         * modules/fts (Files): Add m4/inttypes-pri.m4.
121763         (Depends-on): Add lstat and remove gettext.  Alphabetize.
121765 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121767         New fts module.
121768         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
121769         (setup_dir, free_dir): New functions.
121770         (enter_dir, leave_dir): Define trivial
121771         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
121772         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
121773         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
121774         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
121775         Move to fts-cycle.c.
121776         (fts_open): Use setup_dir.
121777         (fts_close): Use free_dir.
121778         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
121779         This adds a label and some gotos, but the alternatives were messier.
121780         Check for memory allocation failure when entering a dir.
121781         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
121782         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
121783         (FTS): New member fts_cycle, that is a union that contains the
121784         old active_dir_ht and cycle_state.  All uses changed to mention
121785         fts_cycle.ht and fts_cycle.state.
121786         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
121787         fts.c, with the following changes:
121788         (setup_dir, free_dir): New functions.
121789         (enter_dir): Now returns bool.  Return true if successful, false
121790         if memory exhausted.  All callers changed.
121791         Do not bother partly cleaning up on
121792         memory allocation failure; that is free_dir's job.
121793         However, free ad if hash_insert fails, to avoid memory leak.
121794         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
121795         fts->fts_options to see which union member to use.
121797 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121799         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
121800         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
121802 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
121804         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
121806 2005-05-20  Jim Meyering  <jim@meyering.net>
121808         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
121809         Now a macro, to pacify GCC.
121811 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121813         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
121814         of -1.
121816 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
121818         * lib/chown.c (rpl_chown): Return -1 on failure.
121820 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121822         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
121823         Don't check for stddef.h.
121824         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
121825         don't use its results.
121826         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
121827         since we include them unconditionally.  Don't require
121828         AM_STDBOOL_H, since stdbool is a prerequisite.
121829         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
121830         since we assume C89 or better.
121831         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
121832         as we don't use their results.
121833         Don't check for fchdir, memmove, memset, strrchr, as we use
121834         them unconditionally.
121835         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
121836         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
121838 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
121840         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
121841         Include <stddef.h> unconditionally, since we assume C89 now.
121842         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
121843         * lib/fts.c: Include fts_.h first, to check interface.
121844         Do not include intprops.h; no longer needed.
121845         Include cycle-check.h and hash.h, since fts_.h no longer does.
121846         Remove unnecessary casts of closedir to void.
121847         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
121848         decide whether to decrement nlinks.
121849         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
121850         (FTS): Use struct hash_table * instead of Hash_table, so that
121851         we no longer need to include hash.h here.
121853 2005-05-18  Jim Meyering  <jim@meyering.net>
121855         * modules/dirfd (License): Change to LGPL.  Most of the code
121856         is already in the public domain.
121858 2005-05-18  Jim Meyering  <jim@meyering.net>
121860         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
121861         Reported by Yoann Vandoorselaere.
121863 2005-05-17  Jim Meyering  <jim@meyering.net>
121865         * m4/fts.m4: New file, from coreutils.
121867 2005-05-17  Jim Meyering  <jim@meyering.net>
121869         * lib/fts.c, lib/fts_.h: New files, from coreutils.
121871 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121873         Sync from coreutils.
121874         * m4/unlinkdir.m4: New file.
121876 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121878         Sync from coreutils.
121879         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
121880         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
121881         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
121882         White space changes only.
121883         * lib/makepath.c (make_path): Port to hosts where leading "//" is
121884         special.
121885         * lib/yesno.c: Include getline.h, not ctype.h.
121886         (yesno): Don't remove leading white space; POSIX doesn't allow it.
121887         Use getline to remove arbitrary restriction on response length.
121889 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
121891         * config/srclist-update: Spell out "Street" in FSF postal
121892         mail address; this is the style the FSF seems to prefer.
121894         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
121895         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
121896         this updates FSF postal mail address.
121898         Sync from coreutils.
121899         * modules/unlinkdir: New file.
121900         * modules/yesno (Depends-on): Add getline.
121901         * MODULES.html.sh (File system functions): Add unlinkdir.
121903 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
121905         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
121906         lib/strsep.h:
121907         Change the initial comment to refer to GPL, not LGPL.
121908         gnulib-tool will change it to LGPL as needed.
121910         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
121911         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
121912         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
121913         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
121914         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
121915         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
121916         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
121917         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
121918         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
121919         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
121920         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
121921         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
121922         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
121923         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
121924         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
121925         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
121926         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
121927         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
121928         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
121929         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
121930         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
121931         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
121932         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
121933         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
121934         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
121935         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
121936         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
121937         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
121938         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
121939         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
121940         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
121941         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
121942         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
121943         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
121944         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
121945         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
121946         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
121947         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
121948         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
121949         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
121950         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
121951         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
121952         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
121953         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
121954         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
121955         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
121956         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
121957         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
121958         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
121959         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
121960         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
121961         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
121962         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
121963         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
121964         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
121965         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
121966         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
121967         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
121968         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
121969         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
121970         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
121971         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
121972         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
121973         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
121974         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
121975         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
121976         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
121977         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
121978         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
121979         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
121980         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
121981         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
121982         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
121983         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
121984         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
121985         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
121986         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
121987         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
121988         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
121989         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
121990         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
121991         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
121992         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
121993         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
121994         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
121995         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
121996         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
121997         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
121998         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
121999         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
122000         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
122001         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
122002         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
122003         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
122004         lib/yesno.c, lib/yesno.h:
122005         Update FSF postal mail address.
122007 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
122009         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
122010         tests/test-memmem.c, tests/test-stpncpy.c:
122011         Update FSF postal mail address.
122013 2005-05-13  Bruno Haible  <bruno@clisp.org>
122015         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
122016         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
122017         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
122018         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
122019         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
122020         Add support for 64-bit integers in the MSVC compiler.
122022 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122024         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
122026 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
122028         * gnulib-tool (func_import): Sort and uniquify recommended includes.
122030 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
122032         * doc/getdate.texi (General date syntax): Don't say that date
122033         date --iso-8601=ns generates acceptable dates; it doesn't yet.
122034         Problem reported by Nic Ferrier.
122036 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122038         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
122039         specified in ai_socktype. Fix invalid ai_protocol
122040         check. ai_protocol is usually set to 0 or depending on
122041         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
122042         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
122043         ai_socktype / ai_protocol in the returned addrinfo structure.
122045 2005-05-10  Simon Josefsson  <jas@extundo.com>
122047         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
122048         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
122050 2005-05-10  Karl Berry  <karl@gnu.org>
122052         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
122053         (from http://www.gnu.org/licenses).
122054         * doc/COPYING.LIB: also rename to COPYING.LESSER.
122055         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
122056         fdl.texi suffices.
122058 2005-05-10  Karl Berry  <karl@gnu.org>
122060         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
122061         (COPYING.DOC): remove.
122063         * config/srclist-update: new FSF address.
122065 2005-05-10  Derek Price  <derek@ximbiot.com>
122067         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
122068         possible.
122070 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122071             Bruno Haible  <bruno@clisp.org>
122073         * modules/inet_ntop: New file.
122074         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
122075         inet_ntop.
122077 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122078             Bruno Haible  <bruno@clisp.org>
122080         * m4/inet_ntop.m4: New file.
122082 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
122083             Bruno Haible  <bruno@clisp.org>
122085         * lib/inet_ntop.h: New file.
122086         * lib/inet_ntop.c: New file, from glibc with modifications.
122088 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
122090         * modules/time_r (License): Change to LGPL.
122091         * modules/extensions (License): Change to LGPL.  Actually,
122092         the license is more permissive than that, but currently gnulib-tool
122093         doesn't know how to handle more-permissive licenses.
122095         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
122096         Problem reported by Dave Love.
122098 2005-05-08  Jim Meyering  <jim@meyering.net>
122100         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
122101         blank.
122103 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
122105         * modules/argmatch (Depends-on): Add stdbool.
122106         * modules/backupfile (Depends-on): Likewise.
122107         * modules/chdir-long (Depends-on): Likewise.
122108         * modules/closeout (Depends-on): Likewise.
122109         * modules/cycle-check (Depends-on): Likewise.
122110         * modules/dirname (Depends-on): Likewise.
122111         * modules/fnmatch (Depends-on): Likewise.
122112         * modules/fsusage (Depends-on): Likewise.
122113         * modules/fwriteerror (Depends-on): Likewise.
122114         * modules/getcwd (Depends-on): Likewise.
122115         * modules/getloadavg (Depends-on): Likewise.
122116         * modules/hard-locale (Depends-on): Likewise.
122117         * modules/makepath (Depends-on): Likewise.
122118         * modules/mountlist (Depends-on): Likewise.
122119         * modules/nanosleep (Depends-on): Likewise.
122120         * modules/posixtm (Depends-on): Likewise.
122121         * modules/quotearg (Depends-on): Likewise.
122122         * modules/readtokens (Depends-on): Likewise.
122123         * modules/readtokens0 (Depends-on): Likewise.
122124         * modules/readutmp (Depends-on): Likewise.
122125         * modules/save-cwd (Depends-on): Likewise.
122126         * modules/strftime (Depends-on): Likewise.
122127         * modules/userspec (Depends-on): Likewise.
122128         * modules/utimecmp (Depends-on): Likewise.
122129         * modules/xgetcwd (Depends-on): Likewise.
122130         * modules/xnanosleep (Depends-on): Likewise.
122131         * modules/xstrtod (Depends-on): Likewise.
122132         * modules/yesno (Depends-on): Likewise.
122134 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
122136         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
122137         needless checks.
122139 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122141         Merge from coreutils.  Among other things,
122142         add bulletproofing for cases where stdin, stdout, or stderr are closed.
122143         * lib/fd-safer.c: New file.
122144         * lib/fcntl-safer.h, open-safer.c: Remove.
122145         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
122146         * lib/dup-safer.c: Include unistd-safer.h first.
122147         Don't include errno.h.
122148         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
122149         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
122150         * lib/file-type.c: Rely on file-type.h change.
122151         * lib/getloadavg.c: Include unistd-safer.h.
122152         (getloadavg): Use safer open.
122153         * lib/getusershell.c: Include "stdio-safer.h".
122154         (getusershell): Use safer fopen.
122155         * lib/long-options.c (long_options): Use NULL rather than 0.
122156         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
122157         'free'.
122158         * lib/modechange.c: Likewise.
122159         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
122160         (MODE_DONE): New constant.
122161         (struct mode_change): Remove 'next' member.
122162         (make_node_op_equals): New function; like the old one of the
122163         same name, except it allocates an array.
122164         (mode_compile, mode_create_from_ref): Use it.
122165         (mode_compile): Allocate result as an array, not a linked list.
122166         Parse octal string ourself, so that we catch mistakes like "+0".
122167         (mode_adjust): Arg is an array, not a linked list.
122168         * lib/modechange.c: Include stat-macros.h, xalloc.h.
122169         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
122170         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
122171         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
122172         Remove.  This is now stat-macros.h's job.
122173         (talloc): Remove.  All callers replaced by xalloc, so that
122174         our invokers don't have to worry about reporting memory failures.
122175         (make_node_op_equals): Remove.
122176         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122177         New constants.
122178         (struct mode_change): Moved here from modechange.h.
122179         (mode_append_entry): Remove.
122180         (mode_compile): Remove MASKED_OPS arg, since it encouraged
122181         apps to have incorrect behavior.  Use simpler algorithm for head
122182         and tail.  Don't futz with umask; that's now the job of mode_adjust.
122183         Detect more invalid usages rather than having somewhat-random behavior.
122184         Don't insert an "a=" action, as that leads to incorrect behavior.
122185         (mode_compile, mode_create_from_ref): Return NULL on error instead
122186         of an enum, since now there's only one way to have an error.  All
122187         callers changed.
122188         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
122189         at the correct time.  Simplify calculation of "+u" and its ilk.
122190         Don't mishandle "+X".
122191         (mode_free): Remove "register" and localize decls.
122192         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
122193         (struct mode_change): Move to modechange.c; callers don't
122194         need to see this stuff.
122195         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
122196         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
122197         (mode_change, mode_adjust): Reflect the new signatures noted above.
122198         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
122199         that might redefine system include files.
122200         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
122201         (my_usleep): Use NULL rather than (void *) 0.
122202         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
122203         Use siginterrupt to specify that system calls should be interrupted.
122204         (rpl_nanosleep): Move initialization of suspended closer to call of
122205         my_usleep.
122206         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
122207         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
122208         (desirable_utmp_entry): New function.
122209         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
122210         using x2nrealloc, to simplify logic.
122211         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
122212         size calculation.  Do not assume utmp file is a regular file.
122213         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
122214         (READ_UTMP_CHECK_PIDS): New constant.
122215         * lib/save-cwd.c: Include unistd-safer.h.
122216         (save_cwd): Use fd_safer.
122217         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
122218         [!_LIBC] Include "stat-macros.h" instead.
122219         * lib/unistd-safer.h (fd_safer): New decl.
122221 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122223         * modules/getloadavg (Depends-on): Add unistd-safer.
122224         * modules/getusershell (Depends-on): Add stdio-safer.
122225         * modules/lstat (Depends-on): Remove xalloc.
122226         * modules/mkstemp (Depends-on): Add stat-macros.
122227         * modules/modechange (Depends-on): Remove xstrtol.
122228         Add stat-macros, xalloc.
122229         * modules/save-cwd (Depends-on): Add unistd-safer.
122230         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
122231         * modules/unistd-safer (Files): Add lib/fd-safer.c
122232         (Makefile.am): Remove lib_SOURCES.
122234         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
122235         Remove fcntl-safer; unistd-safer supersedes it.
122237 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122239         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
122240         AC_HEADER_STAT.
122241         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
122242         (gl_PREREQ_CHOWN): Remove.
122243         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
122244         it.  Don't require AC_HEADER_STAT.
122245         (gl_PREREQ_LSTAT): Remove.
122246         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
122247         Don't require AC_HEADER_STAT.
122248         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
122249         (gl_PREREQ_RMDIR): Remove.
122250         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
122251         mention stat-macros.h or AC_HEADER_STAT, since we'll make
122252         the stat-macros module a prerequisite.
122253         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
122254         * m4/filemode.m4 (gl_FILEMODE): Likewise.
122255         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
122256         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
122257         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
122258         variable names.
122259         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
122260         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
122261         variable prefixes.
122262         * m4/fcntl-safer.m4: Remove.
122263         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
122264         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
122265         Invoke gl_PREREQ_FD_SAFER.
122266         (gl_PREREQ_FD_SAFER): New macro.
122267         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
122268         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
122269         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
122270         Remove duplicate call to AC_LIBOBJ(readutmp).
122271         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
122273         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
122274         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
122276 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
122278         * MODULES.html.sh (Misc): Add byteswap.
122280 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122282         * modules/getcwd (Depends-on): Add extensions.
122283         * modules/openat (Depends-on): Likewise.
122285 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122287         * modules/byteswap: New file.
122289 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122291         * m4/byteswap.m4: New file.
122293 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
122295         * lib/byteswap_.h: New file.
122297 2005-04-25  Karl Berry  <karl@gnu.org>
122299         * m4/gettext.m4: Update from GNU gettext 0.14.4.
122301 2005-04-25  Albert Chin  <china@thewrittenword.com>
122303         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
122304         Toolkit C bug.
122306 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
122308         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
122309         (func_ln_if_changed): Remove forcibly for no error message
122310         in case file does not exist.
122312 2005-04-19  Simon Josefsson  <jas@extundo.com>
122314         * gnulib-tool (Options): Make --symlink mean --symbolic.
122316 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
122318         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
122320 2005-04-16  Simon Josefsson  <jas@extundo.com>
122322         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
122324 2005-04-15  Simon Josefsson  <jas@extundo.com>
122326         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
122328 2005-04-15  Simon Josefsson  <jas@extundo.com>
122330         * gnulib-tool: Rename --symlink to --symbolic.
122332 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
122334         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
122335         symbolic links to files instead of copying/moving.  Add --aux-dir,
122336         specifying directory relative --dir where auxiliary build tools
122337         are placed.
122339 2005-04-14  Bruno Haible  <bruno@clisp.org>
122341         * modules/allocsa (License): Change to LGPL.
122342         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
122344 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
122346         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
122347         that "UTC +1 second" continues to work.  Problem reported
122348         by Dmitry V. Levin.
122349         (relunit_snumber): New rule.
122350         (relunit): Use it.
122352 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
122354         * lib/getdate.y (universal_time_zone_table): New constant.
122355         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
122356         universal_time_zone_table.
122357         (lookup_zone): Prefer universal_time_zone_table to
122358         local_time_zone_table, so that "GMT" time stamps are allowed in
122359         London during the summer.  Problem reported by Ian Abbott.
122361 2005-04-12  Jim Meyering  <jim@meyering.net>
122363         * lib/human.c (humblock): Set *options even when returning due to
122364         xstrtoumax conversion failure.  Thanks to a used-uninitialized
122365         warning from gcc-4.
122367 2005-04-09  Jim Meyering  <jim@meyering.net>
122369         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
122370         -Wuninitialized: initialize tm0.tm_year.
122372 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
122374         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
122375         count, since there's no maximum.  All uses changed.
122376         Add member dsts_seen.
122377         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
122378         not being INT_MAX.
122379         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
122380         Use pc_rels_seen to decide whether a date is absolute.
122382         * lib/getdate.y (number): Don't overwrite year.
122383         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
122384         check.
122386 2005-04-02  Simon Josefsson  <jas@extundo.com>
122388         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
122389         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
122391 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
122393         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
122394         where no absolute path name can be longer than PATH_MAX.
122396 2005-03-27  Jim Meyering  <jim@meyering.net>
122398         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
122400 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
122402         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
122403         "one's complement" -> "ones' complement" in comment, as per Knuth.
122404         "value of type" -> "type or expression" in comment.
122405         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
122407 2005-03-26  Jim Meyering  <jim@meyering.net>
122409         Comment nits.
122410         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
122411         Correct typos: s/or/of/.
122413 2005-03-26  Jim Meyering  <jim@meyering.net>
122415         * modules/check-include-files: Move to ../ and rename to...
122416         * check-module: ...this.
122418 2005-03-25  Jim Meyering  <jim@meyering.net>
122420         * modules/xvasprintf (Files): Add xalloc.h.
122422 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
122424         * modules/gettext (Files): config/config.rpath ->
122425         build-aux/config.rpath
122426         * modules/iconv (Files): Likewise.
122427         Problem reported by Oskar Liljeblad.
122429 2005-03-23  Jim Meyering  <jim@meyering.net>
122431         * modules/check-include-files: New script to check for
122432         missing dependencies, multiple includes, etc.
122434         * modules/c-strtold (Depends-on): Add xalloc.
122435         * modules/c-strtod (Depends-on): Add xalloc.
122436         * modules/hash (Depends-on): Add xalloc.
122437         (Files): Remove lib/xalloc.h.
122439         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
122440         * modules/userspec (Files): Add lib/inttostr.h.
122442 2005-03-23  Jim Meyering  <jim@meyering.net>
122444         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
122446 2005-03-22  Jim Meyering  <jim@meyering.net>
122448         * modules/stat-macros: New module.
122449         * modules/canonicalize, modules/euidaccess, modules/file-type,
122450         * modules/filemode, modules/lchown, modules/makepath,
122451         * modules/rmdir, modules/stat: Depend on new stat-macros module
122452         rather than listing lib/stat-macros.h manually.
122453         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
122455 2005-03-22  Jim Meyering  <jim@meyering.net>
122457         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
122459 2005-03-22  Bruno Haible  <bruno@clisp.org>
122461         * config/srclist.txt: Replace target directory 'config' with
122462         'build-aux'.
122463         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
122464         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
122465         ../build-aux/.
122467 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
122469         * modules/chdir-long (Depends-on): Add mempcpy.
122471         * modules/acl, modules/backupfile, modules/c-strtod,
122472         modules/c-strtold, modules/canon-host, modules/canonicalize,
122473         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
122474         modules/exclude, modules/exitfail, modules/file-type,
122475         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
122476         modules/getdate, modules/getline, modules/getpagesize,
122477         modules/getpass, modules/getugroups, modules/group-member,
122478         modules/hard-locale, modules/hash, modules/human, modules/idcache,
122479         modules/inttostr, modules/long-options, modules/makepath,
122480         modules/md5, modules/memcasecmp, modules/memcoll,
122481         modules/modechange, modules/mountlist, modules/path-concat,
122482         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
122483         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
122484         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
122485         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
122486         modules/strftime, modules/strndup, modules/strverscmp,
122487         modules/timespec, modules/unlocked-io, modules/userspec,
122488         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
122489         modules/yesno:
122490         Remove lib_SOURCES line from Makefile.am section, as this is now
122491         done automatically by the corresponding Autoconf macro.
122493 2005-03-21  Jim Meyering  <jim@meyering.net>
122495         Changes imported from coreutils.
122497         * lib/cycle-check.c: Don't include xalloc.h.
122499         * lib/path-concat.c: Don't include assert.h.
122500         (path_concat): Remove assertion that would have triggered
122501         for ABASE starting with more than one slash.
122502         Reported by Andreas Schwab.
122504         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
122505         properly when ABASE is an absolute file name.
122506         Correct the description of this function.
122507         Include <assert.h>.
122508         Add an assertion and a test driver.
122509         This fixes a bug introduced on 2004-07-02.
122510         Andreas Schwab reported the resulting failure of cp --parents:
122511         http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html
122513 2005-03-21  Jim Meyering  <jim@meyering.net>
122515         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
122516         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
122518 2005-03-21  Jim Meyering  <jim@meyering.net>
122519         and  Paul Eggert  <eggert@cs.ucla.edu>
122521         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
122522         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
122523         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
122524         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
122525         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
122526         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
122527         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
122528         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
122529         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
122530         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
122531         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
122532         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
122533         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
122534         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
122535         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
122536         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
122537         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
122538         for these modules.
122540 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
122542         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
122543         (which shouldn't happen), generate nothing instead of returning 0
122544         immediately, so that nstrftime (NULL, ...) doesn't return 0.
122546 2005-03-16  Bruno Haible  <bruno@clisp.org>
122548         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
122549         HAVE_LONGLONG_64BIT.
122551 2005-03-16  Bruno Haible  <bruno@clisp.org>
122553         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
122554         HAVE_LONGLONG_64BIT.
122556 2005-03-16  Bruno Haible  <bruno@clisp.org>
122558         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
122559         HAVE_LONGLONG_64BIT.
122561 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122563         * lib/strftime.c (my_strftime): Prepend space to format so that we can
122564         reliably distinguish strftime failure from empty output on POSIX
122565         hosts.
122567 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
122569         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
122570         (iconv_string): Don't guess a size-zero buffer, as that might cause
122571         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
122572         result would be 'too large', where 'too large' is (heuristically)
122573         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
122574         overflow concerns.  This will prevent some unwanted malloc failures
122575         when the inputs are very large.
122577 2005-03-15  Karl Berry  <karl@gnu.org>
122579         * config/srclist.txt (config.rpath): from gettext.
122580         * config/config.rpath: update.
122582 2005-03-15  Bruno Haible  <bruno@clisp.org>
122584         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
122585         to 'negate'.
122587         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
122588         variable.
122590         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
122591         results.
122593 2005-03-14  Simon Josefsson  <jas@extundo.com>
122595         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
122596         <fx@gnu.org>.
122598 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
122600         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
122601         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
122602         intprops.h.
122603         * lib/strtol.c: Likewise.
122605 2005-03-14  Jim Meyering  <jim@meyering.net>
122607         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
122608         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
122609         to be nonzero so that we (and caller) can detect the difference
122610         between a valid zero-length expansion and an error return, even
122611         when the underlying strftime fails before writing anything into
122612         that location.
122614 2005-03-14  Bruno Haible  <bruno@clisp.org>
122616         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
122617         Update from GNU gettext 0.14.3.
122619 2005-03-10  Jim Meyering  <jim@meyering.net>
122621         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
122623 2005-03-10  Jim Meyering  <jim@meyering.net>
122625         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
122626         so that this module works on systems without fchdir.
122628 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
122630         Factor int-properties macros into a single file, except for
122631         glibc-related files.
122632         * lib/intprops.h: New file.
122633         * lib/getloadavg.c: Include it instead of limits.h.
122634         (INT_STRLEN_BOUND): Remove.
122635         * lib/human.c: Include intprops.h.
122636         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
122637         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
122638         302/1000.
122639         * lib/inttostr.h: Include intprops.h instead of limits.h.
122640         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
122641         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
122642         for consistency with intprops.h.
122643         (time_t_is_integer, twos_complement_arithmetic): Use them.
122644         * lib/sig2str.h: Include <signal.h>, intprops.h.
122645         (INT_STRLEN_BOUND): Remove.
122646         * lib/strftime.c (TYPE_SIGNED): Remove.
122647         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
122648         * lib/strtol.c: Adjust comments to match intprops.h.
122649         * lib/userspec.c: Include intprops.h.
122650         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
122651         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
122652         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
122653         instead of rolling our own expressions.
122654         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
122656         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
122657         instead of int.
122658         (my_strftime): Do not mishandle years close to INT_MAX, by doing
122659         the right thing even if adding 1900 would overflow.  Similarly
122660         for tm_mon + 1 and tm_yday + 1.
122661         Make %Y always equivalent to %C%y, and similarly for %G and %g.
122662         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
122663         (DO_SIGNED_NUMBER): New macro.
122664         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
122666 2005-03-07  Bruno Haible  <bruno@clisp.org>
122668         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
122670 2005-03-07  Bruno Haible  <bruno@clisp.org>
122672         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
122674 2005-03-04  Derek R. Price  <derek@ximbiot.com>
122676         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
122677         (func_import): Only replace files via --import when they have actually
122678         changed.
122680 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122682         * m4/mmap-anon.m4: New file.
122683         * m4/pagealign_alloc.m4: New file.
122685 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122686             Bruno Haible  <bruno@clisp.org>
122688         * modules/pagealign_alloc: New file.
122689         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
122691 2005-03-03  Derek R. Price  <derek@ximbiot.com>
122692             Bruno Haible  <bruno@clisp.org>
122694         * lib/pagealign_alloc.h: New file.
122695         * lib/pagealign_alloc.c: New file.
122697 2005-03-03  Bruno Haible  <bruno@clisp.org>
122699         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
122700         Use an all-permissive copyright notice, recommended by RMS.
122702 2005-03-02  Bruno Haible  <bruno@clisp.org>
122704         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
122705         of AIX, the replacement has to be done only after <string.h> is
122706         included, therefore not in config.h. stpncpy.h does the replacement,
122707         and stpncpy.c uses it.
122709 2005-03-02  Bruno Haible  <bruno@clisp.org>
122711         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
122712         stpncpy.c uses it.
122714 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122716         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
122717         The workaround isn't strictly needed for POSIX conformance, and
122718         it's too much of a pain to configure and maintain.  We'll ask
122719         people to fix their kernels instead.
122720         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
122721         (NANOSLEEP_BUG_WORKAROUND): Remove.
122722         (xnanosleep): Remove the workaround.
122724 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122726         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
122727         Reported by Derek Price.
122728         (Include): Add "timespec.h".
122730         * modules/xnanosleep (Depends-on): Remove gethrxtime.
122732 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
122734         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
122735         to detect nanosleep bug.
122737 2005-03-01  Bruno Haible  <bruno@clisp.org>
122739         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
122741 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
122743         * modules/gethrxtime: New file.
122744         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
122745         (Depends-on): Add gethrxtime.
122746         (configure.ac): Add gl_XNANOSLEEP.
122747         (Makefile.am): Remove lib_SOURCES line.
122749 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122751         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
122752         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
122754 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
122756         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
122757         * lib/timespec.h (gettime): Return void, since it always
122758         succeeds now.  All uses changed.
122759         * lib/gettime.c (gettime): Likewise.
122760         [HAVE_NANOTIME]: Prefer nanotime.
122761         Assume gettimeofday succeeds, as POSIX requires.
122762         Assime time () succeeds, since other code already does.
122763         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
122764         (timespec_subtract): Remove.
122765         (NANOSLEEP_BUG_WORKAROUND): New constant.
122766         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
122767         things considerably.  Use it only on GNU/Linux hosts, since the
122768         workaround shouldn't be needed elsewhere.
122770 2005-02-24  Bruno Haible  <bruno@clisp.org>
122772         * modules/gettext (Files): Add m4/glibc2.m4.
122774 2005-02-24  Bruno Haible  <bruno@clisp.org>
122776         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
122777         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
122778         * m4/progtest.m4:
122779         Update from GNU gettext 0.14.2.
122780         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
122782 2005-02-24  Bruno Haible  <bruno@clisp.org>
122784         * lib/localcharset.c: Update from GNU gettext 0.14.2.
122785         * lib/config.charset: Update from GNU gettext 0.14.2.
122787 2005-02-24  Bruno Haible  <bruno@clisp.org>
122789         * lib/gettext.h: Update from GNU gettext 0.14.2.
122791 2005-02-23  Simon Josefsson  <jas@extundo.com>
122793         * m4/iconvme.m4: New file.
122795 2005-02-23  Jim Meyering  <jim@meyering.net>
122797         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
122798         change.
122799         Thanks to Bruno Haible for catching it.
122801 2005-02-22  Simon Josefsson  <jas@extundo.com>
122803         * modules/iconvme: New file.
122805         * MODULES.html.sh: Add iconvme.
122807 2005-02-22  Simon Josefsson  <jas@extundo.com>
122809         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
122811 2005-02-22  Simon Josefsson  <jas@extundo.com>
122813         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
122815 2005-02-22  Jim Meyering  <jim@meyering.net>
122817         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
122818         s/ifndef/ifdef/.
122820 2005-02-20  Neil Conway  <neilc@samurai.com>
122822         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
122823         returned by OSX/Darwin if the specified buffer is not large
122824         enough for the hostname.
122826 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122828         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
122829         pass it to _help, otherwise the latter coredumps trying to
122830         dereference state.root_argp.
122832 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122834         * modules/chdir-long (Depends-on): Add memrchr.
122835         * modules/memrchr (Files): Add lib/memrchr.h.
122836         (Include): "memrchr.h".
122838 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122840         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
122842 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
122844         * lib/memrchr.h: New file.
122845         * lib/chdir-long.c: Include it.
122846         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
122847         Don't bother including stddef.h.
122849 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
122851         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
122852         inclusion.
122853         Include <sys/types.h>, for dev_t.
122854         (ME_DUMMY, ME_REMOTE): Move from here....
122855         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
122856         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
122857         Dmitry V. Levin.
122858         Include mountlist.h first, to test the interface.
122860 2005-01-29  Bruno Haible  <bruno@clisp.org>
122862         * lib/progname.c (program_name): Initialize.
122863         Needed when linking statically on MacOS X.
122865 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122867         Sync from coreutils.
122868         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
122869         (Depends-on): Add c-strtod.
122870         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
122872 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
122874         Sync from coreutils.
122875         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
122877         Remove files that are specific to coreutils.
122878         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
122880 2005-01-28  Bruno Haible  <bruno@clisp.org>
122882         * modules/javacomp: New file.
122883         * MODULES.html.sh (Java): Add javacomp.
122885 2005-01-28  Bruno Haible  <bruno@clisp.org>
122887         * m4/javacomp.m4: New file, from GNU gettext.
122889 2005-01-28  Bruno Haible  <bruno@clisp.org>
122891         * lib/javacomp.sh.in: New file, from GNU gettext.
122892         * lib/javacomp.h: New file, from GNU gettext.
122893         * lib/javacomp.c: New file, from GNU gettext.
122895 2005-01-26  Simon Josefsson  <jas@extundo.com>
122897         * lib/gai_strerror.c: Use GPL in header.
122899 2005-01-26  Bruno Haible  <bruno@clisp.org>
122901         * modules/javaexec: New file.
122902         * MODULES.html.sh (Java): Add javaexec.
122904 2005-01-26  Bruno Haible  <bruno@clisp.org>
122906         * m4/javaexec.m4: New file, from GNU gettext.
122908 2005-01-26  Bruno Haible  <bruno@clisp.org>
122910         * lib/javaexec.sh.in: New file, from GNU gettext.
122911         * lib/javaexec.h: New file, from GNU gettext.
122912         * lib/javaexec.c: New file, from GNU gettext.
122914 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122916         * modules/lchown (Depends-on): Remove lchown.h
122918 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122920         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
122921         must be defined if the header file was not found, in order
122922         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
122924 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
122926         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
122927         initializers for struct pentry_state.
122928         (__argp_error): Check return value of __asprintf
122929         (__argp_failure): Translate error message
122931         * lib/argp-parse.c: Removed braces around the expansion of N_()
122933 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
122935         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
122936         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
122937         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
122938         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
122939         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
122940         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
122941         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
122942         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
122943         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
122944         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
122945         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
122946         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
122947         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
122948         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
122949         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
122950         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
122951         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
122952         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
122953         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
122954         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
122955         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
122956         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
122957         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
122958         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
122959         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
122960         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
122961         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
122962         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
122963         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
122964         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
122965         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
122966         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
122967         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
122968         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
122969         xstrtol.m4, xstrtoumax.m4, yesno.m4:
122970         Use an all-permissive copyright notice, recommended by RMS.
122972 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
122974         * modules/chdir-long (Depends-on): Remove mempcpy.
122976 2005-01-21  Jim Meyering  <jim@meyering.net>
122978         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
122979         same value as for Solaris 9.
122981         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
122982         component length.  This included changing the parameter to be
122983         of type `char *' rather than `char const *'.
122984         * lib/chdir-long.h (chdir_long): Update prototype.
122986         * lib/openat.c (fdopendir, fstatat): New functions.
122987         * lib/openat.h: Include headers required for use of DIR and struct
122988         stat.
122989         [AT_SYMLINK_NOFOLLOW]: Define.
122990         (fdopendir, fstatat): Add prototypes.
122992 2005-01-21  Bruno Haible  <bruno@clisp.org>
122994         * modules/classpath: New file.
122995         * MODULES.html.sh (Java): Add classpath.
122997 2005-01-21  Bruno Haible  <bruno@clisp.org>
122999         * lib/classpath.h: New file, from GNU gettext.
123000         * lib/classpath.c: New file, from GNU gettext.
123002 2005-01-20  Simon Josefsson  <jas@extundo.com>
123004         * modules/version-etc-fsf: New file.
123006 2005-01-20  Simon Josefsson  <jas@extundo.com>
123008         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
123009         * lib/version-etc.c: Remove version_etc_copyright.
123010         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
123011         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
123013 2005-01-20  Simon Josefsson  <jas@extundo.com>
123015         * lib/base64.h (isbase64): Add.
123017         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
123018         using a unsigned prototype, don't inline.
123019         (base64_decode): Use it.
123021 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123023         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
123024         it.
123026 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123028         * lib/save-cwd.c (save_cwd): Remove code to support the case
123029         where fchdir is missing or flaky.
123031 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
123033         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
123035 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
123037         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
123038         AC_LIBSOURCES now does this.
123039         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
123040         with new ullong_max module.
123042 2005-01-19  Bruno Haible  <bruno@clisp.org>
123044         * modules/sh-quote: New file.
123045         * MODULES.html.sh (Executing programs): Add sh-quote.
123047 2005-01-19  Bruno Haible  <bruno@clisp.org>
123049         * lib/sh-quote.h: New file, from GNU gettext.
123050         * lib/sh-quote.c: New file, from GNU gettext.
123052 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123054         Merge from coreutils.
123055         * m4/ullong_max.m4: New file.
123056         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
123057         (gl_MACROS): Assume localeconv exists.
123059 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123061         Merge changes from coreutils, as described below in several
123062         changelogs dated today.
123064         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
123065         (O_DIRECTORY): Remove; not needed here, since "." must be
123066         a directory.  All uses removed.
123067         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
123068         universal on Suns, and we also need to test for IRIX.
123069         Revamp code to use 'if' rather than '#if'.
123070         Avoid unnecessary comparison of cwd->desc to 0.
123072         * lib/utimens.c (futimens): Robustify the previous patch, by checking
123073         for known valid error numbers rather than observed invalid ones.
123075 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
123077         * modules/ullong_max: New file.
123079         * modules/chdir-long, modules/openat: New files.
123080         * modules/save-cwd (Depends-on): Depend on chdir-long.
123081         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
123083 2005-01-18  Jim Meyering  <jim@meyering.net>
123085         Merge from coreutils.
123086         * m4/chdir-long.m4, m4/openat.m4: New files.
123087         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
123088         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
123089         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
123090         is sane and DOES follow symlinks.  Besides, testing 20 different
123091         systems found no broken chown implementations.
123092         Prompted by a change in rsync's copy of this macro.
123093         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
123095         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
123097         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
123098         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
123099         NULL-means-set-to-current-time semantics.
123100         Remove temporary file immediately, rather than waiting
123101         for configure's at-exit trap code to do it.
123103 2005-01-18  Jim Meyering  <jim@meyering.net>
123105         * lib/version-etc.c (version_etc_copyright): Update copyright date.
123107         * lib/utimens.c (futimens): Account for the fact that futimes
123108         can also fail with errno == ENOSYS or errno == ENOENT.
123109         Patch from Dmitry V. Levin.
123111         Change the name of the robust chdir function from chdir to chdir_long.
123112         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
123113         (restore_cwd): Use chdir_long, not chdir.
123114         * lib/chdir-long.c: Renamed from chdir.c.
123115         * lib/chdir-long.h: Renamed from chdir.h.
123116         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
123117         Hurd.
123119 2005-01-18  Bruno Haible  <bruno@clisp.org>
123121         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
123122         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
123123         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
123124         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
123125         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
123126         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
123127         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
123128         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
123129         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
123130         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
123131         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
123132         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
123133         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
123134         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
123135         Use an all-permissive copyright notice, recommended by RMS.
123137 2005-01-18  Bob Proulx  <bob@proulx.com>
123139         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
123140         simplify offsetof() macro construct to avoid compile failure with
123141         native HP-UX 11.0 ANSI C compiler.
123143 2005-01-17  Bruno Haible  <bruno@clisp.org>
123145         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
123146         redundant because stpncpy.m4 takes care of it.
123148 2005-01-17  Bruno Haible  <bruno@clisp.org>
123150         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
123152 2005-01-17  Bruno Haible  <bruno@clisp.org>
123154         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
123155         used.
123157 2005-01-17  Bruno Haible  <bruno@clisp.org>
123159         * lib/fwriteerror.h (fwriteerror): Change specification to include
123160         fclose.
123161         * lib/fwriteerror.c: Include <stdbool.h>.
123162         (fwriteerror): At the end, close the file stream. Record whether
123163         stdout was already closed.
123165 2005-01-17  Bruno Haible  <bruno@clisp.org>
123167         * lib/execute.c (environ): Declare if needed.
123168         * lib/pipe.c (environ): Likewise.
123169         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
123171 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123173         * modules/argp: Depend on vsnprintf
123175 2005-01-10  Jim Meyering  <jim@meyering.net>
123177         * modules/closeout (Depends-on): Add atexit.
123179 2005-01-06  Bruno Haible  <bruno@clisp.org>
123181         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
123183 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
123185         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
123186         definitions to be after all include files, to avoid collisions.
123187         Problem reported by Bob Proulx.
123189 2005-01-04  Jim Meyering  <jim@meyering.net>
123191         Changes imported from coreutils.
123192         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
123193         as the mkstemp template, use a temporary directory and an
123194         8.3-friendly template to avoid trouble on systems like DJGPP.
123195         Reported by Juan M. Guerrero via Stepan Kasal.
123196         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
123197         close. Remove the temporary directory right away, rather than waiting
123198         for configure's at-exit trap code to do it.
123199         Suggestion from Stepan Kasal.
123201 2005-01-01  Simon Josefsson  <jas@extundo.com>
123203         * gnulib-tool: Print #include directives when --import'ing.
123205 2004-12-28  Simon Josefsson  <jas@extundo.com>
123207         * tests/test-base64.c: Include required header files.  Remove
123208         unused variables.
123210 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123212         * modules/error (Depends-on): Remove gettext.
123214 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
123216         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
123217         not needed.  This removes a dependency on the gettext module.
123218         [defined _LIBC]: Do not include <libintl.h>; not needed.
123220 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123222         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
123223         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
123225 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
123227         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
123228         HAVE_DECL_STRTOLD.
123230 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123232         * modules/getdate (Depends-on): Remove alloca-opt.
123234 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123236         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
123238 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
123240         * lib/argp-parse.c: Include <stddef.h>.
123241         (alignof, alignto): New macros.
123242         (parser_init): Don't assume that void * is aligned sufficiently
123243         for struct option.
123245         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
123246         need to extend the stack.
123247         (YYINITDEPTH): New macro, so that the initial stack isn't overly
123248         large.
123250 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123252         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
123254 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123256         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
123257         (2004-10-24) change.  Apparently this was a false alarm.
123259         * modules/getdate: Depend on alloca-opt, not alloca.
123261 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
123263         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
123264         Remove now-obsolete comment about AIX.
123265         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
123266         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
123267         (YYMAXDEPTH): New macro.
123269 2004-12-18  Simon Josefsson  <jas@extundo.com>
123271         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
123273 2004-12-18  Bruno Haible  <bruno@clisp.org>
123275         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
123277 2004-12-18  Bruno Haible  <bruno@clisp.org>
123279         * lib/fatal-signal.c (fatal_signals): Make non-const.
123280         (init_fatal_signals): New function.
123281         (uninstall_handlers, install_handlers): Ignore signals that were set to
123282         SIG_IGN.
123283         (at_fatal_signal): Call init_fatal_signals.
123284         (init_fatal_signal_set): Likewise. Ignore signals that were set to
123285         SIG_IGN.
123286         Reported by Paul Eggert.
123288 2004-12-18  Bruno Haible  <bruno@clisp.org>
123290         * doc/alloca.texi: New file.
123291         * doc/alloca-opt.texi: New file.
123293 2004-12-17  Jim Meyering  <jim@meyering.net>
123295         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
123296         Otherwise, install-sh could exit with improper exit status when
123297         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
123299 2004-12-16  Simon Josefsson  <jas@extundo.com>
123301         * tests/test-base64.c: Add license.
123303 2004-12-15  Stepan Kasal  <address@hidden>
123305         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
123307 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
123309         * modules/getcwd (Files): Add m4/d-ino.m4.
123310         Suggested by Mark D. Baushke.
123312 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123314         * lib/getdate.y (textint): New member "negative".
123315         (time_zone_hhmm): New function.
123316         Expect 14 shift-reduce conflicts, not 13.
123317         (o_colon_minutes): New rule.
123318         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
123319         (yylex): Set the "negative" member of signed numbers.
123321 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
123323         * doc/getdate.texi (Time of day items, Time zone items):
123324         Describe new formats +00:00, UTC+00:00.
123326 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
123328         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
123329         spurious "-l"s.  Problem reported by Stepan Kasal.
123331 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
123333         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
123334         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
123336 2004-12-04  Simon Josefsson  <jas@extundo.com>
123338         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
123339         Vandoorselaere <yoann@prelude-ids.org>.
123341 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123343         Changes imported from coreutils.
123344         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
123345         exist.
123346         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
123348 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123350         Changes imported from coreutils.
123351         * lib/hard-locale.c: Assume <locale.h> exists.
123352         Include "strdup.h".
123353         (GLIBC_VERSION): New macro.
123354         (hard_locale): Assume setlocale exists.
123355         Rewrite to avoid #ifdef.
123356         Use strdup rather than malloc + strcpy.
123357         * lib/human.c: Assume <locale.h> exists.
123358         (human_readable): Assume localeconv exists.
123360 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
123362         * modules/hard-locale (Depends-on): Add strdup.
123364 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
123366         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
123367         convert T2, not T.  (Imported from libc.)
123369 2004-11-30  Simon Josefsson  <jas@extundo.com>
123371         * modules/restrict (License): Change to LGPL.
123373 2004-11-30  Simon Josefsson  <jas@extundo.com>
123375         * m4/restrict.m4: Add copyright and copying conditions.
123377 2004-11-30  Simon Josefsson  <jas@extundo.com>
123379         * m4/base64.m4: New file.
123381 2004-11-30  Simon Josefsson  <jas@extundo.com>
123383         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
123384         base64.
123386         * tests/test-base64.c: New file.
123388         * modules/base64: New file.
123390 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123392         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
123393         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
123395         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
123397 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
123399         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
123400         (__getcwd.c): Don't restore errno; glibc doesn't.
123401         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
123402         first, falling back to our code only if its results look suspicious.
123403         Ensure that the resulting buffer is only as large as necessary.
123405         * lib/readutmp.c: Include readutmp.h first.
123406         Include <errno.h>, since readutmp.h no longer does that.
123407         * lib/readutmp.h: Don't include <errno.h>,
123408         <sys/param.h>, <time.h>; not needed to establish interface.
123409         (errno): Remove decl.
123410         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
123411         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
123412         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
123414 2004-11-28  Simon Josefsson  <jas@extundo.com>
123416         * lib/base64.h, base64.c: New file.
123418 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
123420         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
123422 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
123424         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
123425         (Depends-on): Remove pathmax, same.  Add mempcpy.
123426         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
123427         (Makefile.am): Append getcwd.h to lib_SOURCES.
123428         (Include): Add getcwd.h.
123429         (Maintainer): Change from Jim Meyering to "all, glibc",
123430         since getdate now uses intended-for-glibc code.
123431         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
123432         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
123434 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123436         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
123437         HP's ANSI C compiler.
123438         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
123439         Declaring int functions causes warnings on some modern systems and
123440         shouldn't be needed to compile on ancient ones.
123441         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
123442         defined.
123444         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
123445         with the following changes.
123446         (__set_errno): Parenthesize properly.
123447         Include <stdbool.h>.
123448         (MIN, MAX, MATCHING_INO): New macros.
123449         (__getcwd): Define with prototype, not K&R form.
123450         Use heuristics to allocate default buffer on stack if possible.
123451         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
123452         behavior, and to avoid the PATH_MAX limit when computing
123453         ../../../../...
123454         Use MATCHING_INO to compare inode number to file.
123455         Check for arithmetic overflow in size calculations.
123456         Fix bug in reallocation of dot array that caused getcwd to fail
123457         on directories nested deeper than 75.
123458         Be more careful about saving errno on error.
123459         Do not use realloc; use only free+malloc, as this is a bit
123460         more flexible and avoids a needless copy operation.
123461         Do not inspect st_dev and st_ino for symbolic links; POSIX
123462         doesn't specify the latter.
123463         Check for closedir errors.
123464         Avoid needless casts.
123465         Use "#ifdef weak_alias" around weak_alias, to be like other
123466         glibc code.
123467         The following changes to getcwd.c have effect only when used in
123468         gnulib; they have no effect inside glibc proper.
123469         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
123470         as alloca isn't used.
123471         (alloca, __alloca): Likewise.
123472         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
123473         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
123474         unconditionally, as gnulib assumes C89 or better.
123475         Do not include <sys/param.h>.
123476         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
123477         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
123478         better.
123479         (NULL) [!defined NULL]: Remove; we assume C89 or better.
123480         Include <dirent.h> in a way that is compatible with modern Autoconf.
123481         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
123482         New macros, if not already defined.
123483         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
123484         Use "_LIBC", not "defined _LIBC", for consistency.
123485         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
123486         a mempcpy module.
123487         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
123488         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
123489         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
123490         credit only to Jim Meyering and adjust the copyright dates.
123491         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
123492         <stdlib.h>, <unistd.h>, "pathmax.h".
123493         Instead, include "xgetcwd.h" (first) and "getcwd.h".
123494         (INITIAL_BUFFER_SIZE): Remove.
123495         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
123497 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
123499         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
123500         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
123501         Use the _ONCE methods, for efficiency.
123502         Check for fcntl.h.  In test program, include <errno.h>
123503         and <fcntl.h> if available.  Remove old K&R cruft from
123504         test program.  Check for common errors in GNU/Linux,
123505         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
123506         don't do AC_LIBOBJ, as that's getcwd.m4's job.
123507         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
123508         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
123509         name accordingly.
123510         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
123511         accommodate new getcwd.c.
123512         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
123513         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
123514         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
123515         that's all we need now.
123517 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123519         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
123520         argp-parse.c depends on getopt internals, that means we should
123521         always use our getopt, to be on the safe side.
123522         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
123523         order not to spoil the result of an eventual previous invocation
123524         of gl_GETOPT_SUBSTITUTE.
123526 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
123528         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
123529         redefinition warnings. To avoid them, include the defines
123530         in `#if !defined __need_getopt ... #endif'. The only place
123531         where __getopt_argv_const is used is in definitions
123532         of getopt_long and getopt_long_only below, which are as well
123533         protected by `#ifndef __need_getopt'.
123534         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
123535         __need_getopt after including <stdio.h> and <unistd.h> These
123536         headers might have defined it.
123538 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123540         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
123542 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
123544         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
123545         (futimens): New function, which uses futimes if available.
123546         (futimens, utimens): Support timespec==NULL, with same semantics
123547         as utime and utimens.
123548         * lib/utimens.h (futimens): New decl.
123550 2004-11-23  Jim Meyering  <jim@meyering.net>
123552         * lib/getopt_.h: Remove trailing blanks.
123554 2004-11-23  Jim Meyering  <jim@meyering.net>
123556         * lib/__fpending.c: Add comment.
123558 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
123560         * modules/canonicalize (Depends-on): Add xreadlink.
123561         Problem reported by James Youngman.
123563 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
123565         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
123566         New macros.
123567         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
123568         optopt): Use them instead of invoking ## directly; otherwise, the
123569         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
123571 2004-11-19  Bruno Haible  <bruno@clisp.org>
123573         * lib/strtok_r.c: Move comments from here...
123574         * lib/strtok_r.h: ... to here.
123576 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123578         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
123579         implementations that mishandle size_t overflow.
123581 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
123583         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
123584         might fail.  Problem reported by Yoann Vandoorselaere.
123585         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
123586         implementations that mishandle size_t overflow.
123588 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123590         * modules/canon-host (Depends-on): Add strdup.
123592 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123594         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
123596 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123598         * lib/canon-host.c: Include "strdup.h".
123599         (canon_host): Use getaddrinfo if available, so that IPv6 works.
123600         Use strdup instead of malloc/strcpy to duplicate strings.
123602         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
123603         (human_space_before_unit): New constant.
123604         * lib/human.c (human_readable): Support it.
123606         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
123607         (xgetcwd): Set errno correctly when failing.
123608         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
123609         the failure is actually due to a PATH_MAX problem.
123611         Further getopt changes to make it more likely that glibc will
123612         buy the changes back.
123613         * lib/getopt.c (POSIXLY_CORRECT): New constant.
123614         (getopt): Use it, so to preserve glibc semantic
123615         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
123616         when compiling for libc.
123617         * lib/getopt_.h (__getopt_argv_const): Bring it back.
123618         (getopt_long, getopt_long_only): Use it.
123620         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123621         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
123622         (getopt): Argv is now char * const *, as per standard.
123623         (_getopt_internal_r, _getopt_internal): Argv is now char **,
123624         not char *__getopt_argv_const *.
123625         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123626         _getopt_long_only_r): Likewise.
123627         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
123628         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123629         _getopt_long_r, _getopt_long_only_r): Likewise.
123630         * lib/getopt_.h (__getopt_argv_const): Remove.
123631         (getopt): Argv is now char * const *, as per standard.
123633         * lib/getdate.y (tORDINAL): New token.
123634         (day, relunit): Allow it for relative times.
123635         (relative_time_table): Use tORDINAL for ordinals.
123637 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
123639         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
123640         Document that "second" isn't allowed as an ordinal number.
123642 2004-11-16  Jim Meyering  <jim@meyering.net>
123644         * modules/closeout (Depends-on): Add fpending.
123646 2004-11-15  Jim Meyering  <jim@meyering.net>
123648         * lib/closeout.c: Include "__fpending.h" once again.
123649         Include <stdbool.h>.
123650         (close_stdout): Don't fail just because stdout was closed initially,
123651         since some programs don't write to stdout in the normal course of
123652         operation (other than --version and --help), and we don't want this
123653         function to make e.g. `touch file >&-' fail.
123654         But do fail if it was closed and someone has tried to write to it.
123655         E.g., `printf foo >&-' must fail.
123657 2004-11-13  Jim Meyering  <jim@meyering.net>
123659         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
123661 2004-11-12  Simon Josefsson  <jas@extundo.com>
123663         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
123664         small doc fix is still pending.
123666 2004-11-11  Simon Josefsson  <jas@extundo.com>
123668         * modules/strtok_r: New file.
123670         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123671         strtok_r.
123673 2004-11-11  Simon Josefsson  <jas@extundo.com>
123675         * m4/strtok_r.m4: New file.
123677         * m4/getopt.m4: Replace opterr.
123679 2004-11-11  Simon Josefsson  <jas@extundo.com>
123681         * lib/strtok_r.h, strtok_r.c: New file.
123683 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123685         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
123686         of replacing opterr, getopt, etc.  This should handle the
123687         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
123689 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
123691         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
123692         we can stop lying to compilers about the constness of argv when we
123693         are compiled outside glibc.
123694         (getopt, getopt_long, getopt_long_only): Use it.
123695         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
123696         _getopt_internal, getopt): Likewise.
123697         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
123698         _getopt_long_only_r): Likewise.
123699         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
123700         _getopt_long_r, _getopt_long_only_r): Likewise.
123702         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
123703         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
123704         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
123705         the other external symbols.
123706         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
123707         declaration, since the above renaming now works around collisions.
123709 2004-11-11  Jim Meyering  <jim@meyering.net>
123711         * lib/linebreak.c: Remove trailing blanks.
123712         * lib/alloca_.h: Likewise.
123713         * lib/acosl.c: Likewise.
123714         * lib/euidaccess.c: Likewise.
123715         * lib/allocsa.h: Likewise.
123717 2004-11-10  Simon Josefsson  <jas@extundo.com>
123719         * m4/getaddrinfo.m4: New file.
123721 2004-11-10  Simon Josefsson  <jas@extundo.com>
123723         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
123725 2004-11-10  Simon Josefsson  <jas@extundo.com>
123727         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
123728         getaddrinfo.
123730         * modules/getaddrinfo: New file.
123732 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123734         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
123736 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
123738         * lib/mktime.c (SHR): New macro, which is a portable
123739         substitute for >> that should work even on Crays.
123740         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
123741         Problem reported by Mark D. Baushke in
123742         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
123743         * lib/getdate.y (SHR): Likewise.
123744         (tm_diff): Use it.
123745         * lib/strftime.c (SHR): Likewise.
123746         (tm_diff): Use it.
123747         * lib/quotearg.c (struct quoting_options): Use unsigned int for
123748         quote_these_too, so that right shifts are well defined.  All uses
123749         changed.
123751 2004-11-10  Jim Meyering  <jim@meyering.net>
123753         Ensure that no close failure goes unreported.
123754         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
123755         return early when it seems there's nothing to flush.
123756         Don't include __fpending.h.
123758 2004-11-10  Jim Meyering  <jim@meyering.net>
123760         * modules/closeout (Depends-on): Remove fpending.
123762 2004-11-10  Jim Meyering  <jim@meyering.net>
123764         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
123766 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123768         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
123769         gl_FUNC_STRFTIME.
123770         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
123771         and AC_REQUIRE when possible, to avoid duplicate checks.
123772         Check for <wchar.h>.
123774 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
123776         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
123778 2004-11-09  Bruno Haible  <bruno@clisp.org>
123780         * m4/sockpfaf.m4: New file.
123782 2004-11-05  Bruno Haible  <bruno@clisp.org>
123784         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
123785         Reported by Mark D. Baushke <mdb@cvshome.org>.
123787 2004-11-04  Bruno Haible  <bruno@clisp.org>
123789         2004-09-11  Bruno Haible  <bruno@clisp.org>
123790                 * allocsa.valgrind: New file.
123791         2004-02-06  Bruno Haible  <bruno@clisp.org>
123792                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
123793                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
123794                 Reported by Christopher Seip <chris.seip@hp.com>.
123796 2004-11-04  Bruno Haible  <bruno@clisp.org>
123798         * modules/allocsa (Files): Add lib/allocsa.valgrind.
123799         (Makefile.am): Distribute it.
123801 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
123803         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
123804         with errno == ERANGE if the buffer is too small.
123805         Problem reported by Mark D. Baushke.
123807 2004-11-03  Albert Chin  <china@thewrittenword.com>
123808             Paul Eggert  <eggert@cs.ucla.edu>
123810         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
123811         equivalent, substitute $ac_type for equivalent type rather than
123812         blindly using uint32_t *always* which won't work if uint32_t is not
123813         available.  Define _UINT32_T to work around typedef of uint32_t if
123814         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
123815         2.5.1.
123817 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123819         * m4/jm-macros.m4: Sync from coreutils.
123820         (gl_MACROS): Check for mbrlen, for pathchk.
123821         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
123823 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123825         * lib/xreadlink.c (MAXSIZE): New macro.
123826         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
123827         size does not exceed MAXSIZE.  Avoid cast.
123828         As suggested by Mark D. Baushke in
123829         <http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
123830         if readlink fails with buffer size just under MAXSIZE, try again
123831         with MAXSIZE.
123833 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
123835         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
123837 2004-11-02  Derek R. Price  <derek@ximbiot.com>
123838         and  Paul Eggert  <eggert@cs.ucla.edu>
123840         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
123841         (get_date): Overparenthesize to avoid GCC warning.
123843 2004-11-02  Bruno Haible  <bruno@clisp.org>
123845         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
123846         returns void.
123848 2004-11-02  Bruno Haible  <bruno@clisp.org>
123850         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
123851         function returns void.
123853 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123855         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
123856         fflush_unlocked, flockfile, funlockfile, funlockfile,
123857         fputs_unlocked, putc_unlocked.
123859 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
123861         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123862         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
123863         already declared.
123865 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123867         * modules/getdate (Files): Add doc/getdate.texi.
123868         (Depends-on): Add setenv, xalloc.
123870 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123872         * lib/getdate.y: Add support for TZ="foo" within a date string.
123873         Fix some bugs near time_t boundaries.  Reject dates with
123874         out-of-range components, e.g., "Sept 31".
123875         Include <stdlib.h>, "setenv.h", "xalloc.h".
123876         (ISDIGIT_LOCALE): Remove; unused.
123877         Note that the TZ and time functions used here are not reentrant.
123878         (mktime_ok, get_tz): New functions.
123879         (TZBUFSIZE): New constant.
123880         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
123881         This requires that we sometimes generate our own TZ="XXX..." setting.
123883 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
123885         * doc/getdate.texi: New file, from coreutils with modifications for
123886         the new TZ parsing.
123888 2004-10-27  Derek R. Price  <derek@ximbiot.com>
123890         * lib/mktime.c (not_equal_tm): Remove redundant check.
123892 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123894         * modules/regex (lib_SOURCES): Add regex.c.
123895         Reported by James Youngman in
123896         <http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.
123898 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
123900         * lib/getdate.y: Use Bison 1.875 features, and some minor
123901         code cleanups.  This change does not affect semantics.
123902         Don't include <stdlib.h>; no longer needed.
123903         Don't include unlocked-io.h; only the "#if TEST" code uses
123904         stdio, and performance isn't crucial there.
123905         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
123906         Bison 1.875 features as described below.
123907         All uses of "PC." replaced by "pc->".
123908         (YYSTYPE): Add a forward declaration.
123909         (yylex, yyerror): Use full prototypes in forward decls.
123910         Use "%pure-parser" rather than obsolescent "%pure_parser".
123911         Use %parse-param and %lex-param instead of obsolescent
123912         YYPARSE_PARAM and YYLEX_PARAM.
123913         (meridian_table, month_and_day_table, time_units_table,
123914         relative_time_table, time_zone_table, military_table,
123915         lookup_zone, lookup_word, get_date):
123916         Use NULL instead of 0 where appropriate.
123917         (to_hour): Avoid abort (), to avoid a dependency on
123918         stdlib.h.
123919         (yyerror, yylex): Now accepts parser_control * arg.
123920         (main) [TEST]: Use '\0' rather than 0 for char.
123922 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123924         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
123926 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
123928         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
123929         It's now the caller's responsibility to handle the case where
123930         !HAVE_GETPAGESIZE && !defined getpagesize.
123932         * lib/mktime.c (leapyear): Arg is long int, not int.
123934 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
123936         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
123938 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
123940         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
123941         missing.  Problem reported by James Youngman.
123943 2004-10-16  Simon Josefsson  <jas@extundo.com>
123945         * gnulib-tool: Fix comments.  Fix parse problem.
123946         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
123948 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
123950         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
123951         implementation of getopt_long.  Problem reported by Alexander Taler in:
123952         http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html
123954 2004-10-15  Bruno Haible  <bruno@clisp.org>
123956         * gnulib-tool: Untabify. Initialize supplied_libname.
123957         (func_usage): More homogenous output.
123958         (func_modules_transitive_closure, func_modules_to_filelist,
123959         func_emit_lib_Makefile_am): New functions.
123960         (func_import): New function, extracted from big case statement. Use
123961         func_get_license, func_modules_transitive_closure,
123962         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
123963         opt_lgpl. Don't use test -a, as it's not portable.
123964         (func_create_testdir): Use func_modules_transitive_closure,
123965         func_modules_to_filelist, func_emit_lib_Makefile_am.
123967 2004-10-15  Bruno Haible  <bruno@clisp.org>
123969         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
123971 2004-10-15  Bruno Haible  <bruno@clisp.org>
123973         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
123974         the portions belonging to each module.
123975         Suggested by Derek Robert Price <derek@ximbiot.com>.
123977 2004-10-12  Simon Josefsson  <jas@extundo.com>
123979         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
123980         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
123981         to real functions.
123983 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123985         * modules/vsnprintf: New file.
123987 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123989         * m4/vsnprintf.m4: New file.
123991 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
123993         * lib/vsnprintf.h: New file.
123994         * lib/vsnprintf.c: New file.
123996 2004-10-11  Bruno Haible  <bruno@clisp.org>
123998         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
123999         vsnprintf.
124001 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
124003         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
124005 2004-10-07  Bruno Haible  <bruno@clisp.org>
124007         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
124008         fits into the provided buffer.
124010 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
124012         * lib/diacrit.c, diacrit.h: Add GPL notice.
124014         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
124015         notice.
124016         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
124017         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
124018         This avoids a potential constant-folding bug.
124020 2004-10-05  Bruno Haible  <bruno@clisp.org>
124022         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
124023         for the declaration of strsep.
124025 2004-10-05  Bruno Haible  <bruno@clisp.org>
124027         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
124029 2004-10-04  Simon Josefsson  <jas@extundo.com>
124031         * modules/memmem: New file.
124032         * tests/test-memmem.c: New file.
124033         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
124035 2004-10-04  Simon Josefsson  <jas@extundo.com>
124037         * m4/memmem.m4: New file.
124039 2004-10-04  Simon Josefsson  <jas@extundo.com>
124041         * lib/memmem.h: New file.
124042         * lib/memmem.c: New file, taken from glibc.
124044 2004-10-04  Simon Josefsson  <jas@extundo.com>
124046         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
124047         '#ifdef USE_UNLOCKED_IO'.
124049 2004-10-04  Simon Josefsson  <jas@extundo.com>
124051         * config/srclist.txt: Add memmem from glibc.
124053 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124055         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
124057         * modules/argmatch, modules/argp, modules/closeout, modules/error,
124058         modules/exclude, modules/getdate, modules/getline,
124059         modules/getndelim2, modules/getpass, modules/getpass-gnu,
124060         modules/getusershell, modules/linebuffer, modules/md5,
124061         modules/mountlist, modules/posixtm, modules/readtokens,
124062         modules/readutmp, modules/regex, modules/sha1,
124063         modules/version-etc, modules/yesno:
124064         Remove dependency on unlocked-io.
124066 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124068         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
124070         * m4/unlocked-io.m4: Add copyright notice.
124071         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
124073 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124075         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
124076         * lib/xmalloc.c (xmemdup): Likewise.
124077         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
124078         XFREE): Remove these long-obsolescent macros.
124079         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
124080         * lib/xstrdup.c: Remove.
124082         * lib/regex.c (re_comp): Cast gettext return value to char *,
124083         Problem reported by Martin Neitzel via Mark D. Baushke.
124085 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
124087         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
124088         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
124089         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
124090         regex.c, sha1.c, version-etc.c, yesno.c:
124091         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
124092         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
124093         the includer's responsibility.
124095         Sync from coreutils.
124097         * lib/modechange.c (mode_compile): Don't decrement a pointer that
124098         points to the start of a string, as the C Standard says the
124099         resulting behavior is undefined.
124101         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
124102         simple -> simple_backups, numbered_existing ->
124103         numbered_existing_backups, numbered -> numbered_backups
124104         to avoid shadowing problems.  All uses changed.
124105         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
124106         * lib/backupfile.c (check_extension, numbered_backup):
124107         Rename locals to avoid shadowing 'basename'.
124108         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
124109         once.
124111         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
124112         * lib/.cvsignore: Add getopt.h.
124114 2004-10-04  Bruno Haible  <bruno@clisp.org>
124116         * modules/README: New file.
124117         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
124118         not a module.
124120 2004-10-02  Jim Meyering  <jim@meyering.net>
124122         * lib/dirfd.h, getpagesize.h: Add copyright notice.
124124 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124126         * modules/strsep: New file.
124128 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124130         * m4/strsep.m4: New file.
124132 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
124134         * lib/strsep.h: New file.
124135         * lib/strsep.c: New file.
124137 2004-10-01  Simon Josefsson  <jas@extundo.com>
124139         * lib/snprintf.c (snprintf): Handle size==0.
124141 2004-10-01  Simon Josefsson  <jas@extundo.com>
124142             Bruno Haible  <bruno@clisp.org>
124144         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
124145         (snprintf): Declare 'args'.
124147 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
124149         * lib/snprintf.c: Remove comments as to why each header is needed.
124151 2004-10-01  Bruno Haible  <bruno@clisp.org>
124153         * MODULES.html.sh: Add strsep.
124155 2004-09-30  Simon Josefsson  <jas@extundo.com>
124157         * modules/snprintf: New file.
124159 2004-09-30  Simon Josefsson  <jas@extundo.com>
124161         * m4/snprintf.m4: New file.
124163 2004-09-30  Simon Josefsson  <jas@extundo.com>
124165         * lib/snprintf.h, lib/snprintf.c: New files.
124167 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
124169         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
124170         (hol_entry_help): Never translate an empty string.
124171         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
124172         * lib/argp.h (OPTION_NO_TRANS): New option.
124174 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124176         * modules/argp (Maintainer): Replace Simon Josefsson
124177         by Sergey Poznyakoff.
124179 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124181         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
124182         changes merged back into glibc.
124184 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
124186         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
124188 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
124190         * lib/xvasprintf.c: Include xalloc.h.
124191         (xvasprintf): Use xalloc_die, not xmalloc_die.
124193 2004-09-29  Bruno Haible  <bruno@clisp.org>
124195         * modules/alloca-opt: New file, derived from modules/alloca.
124196         * modules/allocsa: Depend on alloca-opt instead of alloca.
124197         * modules/setenv: Likewise.
124198         * modules/vasnprintf: Likewise.
124199         * MODULES.html.sh: Add alloca-opt.
124201 2004-09-28  Simon Josefsson  <jas@extundo.com>
124203         * gnulib-tool: New parameter --lgpl, to asseert that modules are
124204         LGPL, and to replace license template from GPL to LGPL.
124206 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124208         * modules/dummy: Change license to LGPL.
124210 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
124212         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
124214 2004-09-24  Simon Josefsson  <jas@extundo.com>
124216         * modules/minmax (License): Change from GPL to LGPL.
124218 2004-09-23  Simon Josefsson  <jas@extundo.com>
124220         * gnulib-tool (--import): Typo.
124222 2004-09-23  Simon Josefsson  <jas@extundo.com>
124224         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
124226 2004-09-22  Bruno Haible  <bruno@clisp.org>
124228         * modules/*: Add 'License' field.
124229         * gnulib-tool: Accept --extract-license option.
124230         (func_get_license): New function.
124232 2004-09-21  Bruno Haible  <bruno@clisp.org>
124234         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
124235         Reported by Simon Josefsson.
124237 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124239         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
124240         gl_AC_TYPE_LONG_LONG.
124242 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
124244         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
124246 2004-09-18  Simon Josefsson  <jas@extundo.com>
124247         and  Paul Eggert  <eggert@cs.ucla.edu>
124249         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
124250         calls with autoreconf.  Define GL_LIB.
124252 2004-09-14  Karl Berry  <karl@gnu.org>
124254         * config/srclist.txt: unsync setenv.c, sigh.
124256 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124258         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
124259         Problem reported by Bruno Haible in:
124260         http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html
124262 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
124264         * config/srclist.txt: Comment out argp-pvh.c.
124266 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
124268         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
124269         in case some system header has #define'd it.  Problem reported by
124270         Soeren D. Schulze in
124271         <http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.
124273 2004-09-09  Karl Berry  <karl@gnu.org>
124275         * regex.[ch]: delete from the root.  These were supposed to be
124276                 synced with emacs cvs, but this has not happened for about
124277                 a year, and anyway nothing else uses emacs regex.[ch].
124278                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
124279                 lib/regex[.ch] is untouched.
124281 2004-09-09  Bruno Haible  <bruno@clisp.org>
124283         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
124285 2004-09-09  Bruno Haible  <bruno@clisp.org>
124287         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
124288         modifications.
124289         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
124291 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124293         * modules/xvasprintf: New file.
124294         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
124296 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
124298         * lib/xvasprintf.h: New file.
124299         * lib/xvasprintf.c: New file.
124300         * lib/xasprintf.c: New file.
124302 2004-09-08  Bruno Haible  <bruno@clisp.org>
124304         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
124306 2004-09-08  Bruno Haible  <bruno@clisp.org>
124308         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
124309         length is > INT_MAX.
124310         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
124311         more.
124313 2004-09-08  Bruno Haible  <bruno@clisp.org>
124315         * lib/stdint_.h: New file, taken from GNU clisp.
124317 2004-09-08  Bruno Haible  <bruno@clisp.org>
124318             Oskar Liljeblad  <oskar@osk.mine.nu>
124320         * modules/stdint: New file.
124321         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
124323 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124325         Import from coreutils.
124326         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
124327         strings on unbounded length.  alloca's performance benefits aren't
124328         that important here.
124329         (V_STRDUP): Remove.
124330         (parse_with_separator): New function, with most of the internals
124331         of the old parse_user_spec.  Allow user to omit both user and group,
124332         for compatibility with FreeBSD.
124333         Clone only the user name, not the entire spec.
124334         Do not set *uid, *gid unless entirely successful.
124335         Avoid memory leak in some failing cases.
124336         Fix regression for USER.GROUP reported by Dmitry V. Levin in
124337         <http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
124338         (parse_user_spec): Rewrite to use parse_with_separator.
124340 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124342         * modules/userspec: Don't depend on alloca.
124344 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
124346         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
124348 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
124350         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
124351         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
124352         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
124354 2004-08-16  Simon Josefsson  <jas@extundo.com>
124356         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
124357         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
124358         Add --dry-run for --import.
124359         Let user provided command line parameters override configure.ac
124360         settings.
124362 2004-08-12  Simon Josefsson  <jas@extundo.com>
124364         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
124365         as discussed with Paul Eggert in threads rooted at
124366         <http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
124367         and
124368         <http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
124369         Before, the test was empty, and relied on ELIDE_CODE in source
124370         code.)
124371         (gl_PREREQ_GETOPT): New macro.
124372         (gl_GETOPT): Use them.
124374 2004-08-12  Simon Josefsson  <jas@extundo.com>
124376         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
124377         * lib/getopt_.h: Renamed from getopt.h.
124379 2004-08-12  Simon Josefsson  <jas@extundo.com>
124381         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
124382         Change default library name from libfoo to libgnu.
124383         Now, if you have a configure.ac that says:
124384                 gl_SOURCE_BASE(gl)
124385                 gl_M4_BASE(gl/m4)
124386                 gl_MODULES(error getopt etcetera)
124387                 gl_INIT
124388         you can import all you need by running:
124389                 ../gnulib/gnulib-tool --import
124391         * modules/getopt (Files): Rename getopt.h to getopt_.h.
124392         (Makefile.am): Rewrite, use logic from argz.
124393         (Include): Use <getopt.h> instead of "getopt.h".
124395 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124397         * modules/argp (Files): Add m4/unlocked-io.m4.
124398         (Depends-on): Add extensions.
124400 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124402         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
124403         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
124404         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
124405         Check for program_invocation_name, program_invocation_short_name,
124406         flockfile, funlockfile, features.h, _getopt_long_only_r.
124408 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124410         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
124411         its complicated substitute.
124412         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
124413         and program_invocation_name.
124414         (__argp_basename) [!_LIBC]: Remove; the only use was
124415         replaced by its body.
124416         (__argp_short_program_name): Change condition from
124417         !defined __argp_short_program_name to
124418         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
124419         to match argp-namefrob.h.
124420         (__argp_failure): Don't assume strerror_r returns char *.
124421         * lib/argp-parse.c (N_): Define unconditionally.
124422         (argp_default_options): Fill out initializers with 0 to avoid
124423         gcc warnings.
124425 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
124427         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
124428         getopt1.c.
124430 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124432         Merge from coreutils.
124434         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
124436         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
124437         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
124439 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124441         Merge from coreutils.
124443         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
124444         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
124445         for Reliant Unix 5.43.
124447         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
124448         (union fooround): Use uintmax_t, not long int.
124449         The rest is a merge from libc:
124450         [defined _LIBC]: Include <shlib-compat.h>.
124451         (_obstack) [defined _LIBC]: Remove after 2.3.4.
124453         * lib/settime.c (settime): Recode to avoid warning with
124454         Sun Forte C 6U2.
124456         * lib/strverscmp.c: Convert to UTF-8.
124458 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
124460         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
124461         m4/uintmax_t.m4.
124463 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124465         * modules/xalloc-die: New file.
124466         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
124468         * modules/md5 (Files): Add m4/uint32_t.m4.
124469         * modules/sha1: Renamed from modules/sha.
124470         (Files):
124471         Rename lib/sha.h to lib/sha1.h.
124472         Rename lib/sha.c to lib/sha1.c.
124473         Rename m4/sha.m4 to m4/sha1.m4.
124474         (lib_SOURCES): Likewise.
124475         (configure.ac): Rename gl_SHA to gl_SHA1.
124476         (Include): sha.h -> sha1.h.
124478 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124480         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
124481         * m4/sha1.m4: Renamed from sha.m4.
124482         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
124484 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
124486         * lib/obstack.h (obstack_empty_p):
124487         Don't assume that chunk->contents is suitably aligned.
124488         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
124489         Likewise. Problem reported by Benno in
124490         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
124492         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
124493         readable.  This could be improved further but it'd take some work.
124495 2004-08-08  Simon Josefsson  <jas@extundo.com>
124497         * modules/xgethostname (Depends-on): Remove exit and error (not
124498         used).
124500         * modules/getpass-gnu: Add getpass.h.
124501         (Depends-on): Add stdbool.
124502         * modules/getpass: Add getpass.h.
124504 2004-08-08  Simon Josefsson  <jas@extundo.com>
124506         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
124507         Check getpass declaration.
124509 2004-08-08  Simon Josefsson  <jas@extundo.com>
124511         * lib/xgethostname.c: Don't include error.h (not used).
124513         * lib/getpass.h: Add.
124514         * lib/getpass.c: Include getpass.h first.
124516 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
124518         * lib/xalloc-die.c: New file.
124519         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
124520         All uses removed.
124521         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
124522         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
124523         xalloc-die.c.
124524         (_, N_, xalloc_die): Move to xalloc-die.c.
124525         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
124526         so that we needn't mess with xalloc_msg_memory_exhausted.
124528         * lib/sha1.h: Renamed from sha.h.
124529         (SHA1_H): Renamed from _SHA_H.
124530         (sha1_ctx): Renamed from sha_ctx.
124531         (sha1_init_ctx): Renamed from sha_init_ctx.
124532         (sha1_process_block): Renamed from sha_process_block.
124533         (sha1_process_bytes): Renamed from sha_process_bytes.
124534         (sha1_finish_ctx): Renamed from sha_finish_ctx.
124535         (sha1_read_ctx): Renamed from sha_read_ctx.
124536         (sha1_stream): Renamed from sha_stream.
124537         (sha1_buffer): Renamed from sha_buffer.
124538         * lib/sha1.c: Likewise; renamed from sha.c.
124539         Do not include <sys/types.h>.
124540         Include <stddef.h> rather than <stdlib.h>.
124542 2004-08-08  Bruno Haible  <bruno@clisp.org>
124544         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
124545         FILESYSTEM_PREFIX_LEN.
124546         * lib/progreloc.c: Likewise.
124547         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
124549 2004-08-06  Simon Josefsson  <jas@extundo.com>
124551         * modules/progname (Depends-on): Don't depend on stdbool.
124553 2004-08-06  Simon Josefsson  <jas@extundo.com>
124555         * modules/getsubopt: New file.
124556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
124557         getsubopt.
124559 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124561         More merge from coreutils.
124563         * m4/utimens.m4, m4/utimecmp.m4: New files.
124564         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
124565         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
124566         prereq.m4, sha.m4: Import changes from coreutils.
124568 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124570         More merge from coreutils.
124571         * modules/raise, modules/readtokens0, modules/utimens:
124572         * modules/utimecmp, module/xnanosleep: New files.
124573         * modules/strftime: Add lib/strftime.h.
124574         Change include from <time.h> to "strftime.h".
124575         * modules/yesno: Add lib/yesno.h.
124576         * modules/backupfile: Remove lib/addext.c.
124577         * modules/euidaccess: Add stat-macros.h.
124578         * modules/canonicalize, modules/euidaccess,
124579         modules/filemode, modules/lchown, modules/makepath,
124580         modules/rmdir, modules/stat: Likewise.
124582 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
124584         Merge from tar.
124585         * lib/argp-help.c (make_hol, hol_append): Don't assume that
124586         SIZE_MAX is a valid preprocessor constant.
124587         (__argp_basename): Change from "#ifndef _LIBC"
124588         to "#ifndef __argp_short_program_name", so that
124589         we don't compile these functions for tar.
124591         More merges from coreutils.
124592         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
124593         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
124594         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
124595         * lib/addext.c: Remove; no longer needed.
124596         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
124597         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
124598         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
124599         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
124600         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
124601         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
124602         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
124603         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
124604         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
124605         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
124606         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
124607         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
124608         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
124609         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
124610         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
124611         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
124612         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
124613         Import changes from coreutils.
124615 2004-08-05  Simon Josefsson  <jas@extundo.com>
124617         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
124619 2004-08-05  Simon Josefsson  <jas@extundo.com>
124621         * m4/getsubopt.m4: New file.
124623 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124625         Merge from coreutils.
124627         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
124628         * m4/getcwd-path-max.m4: New files.
124630         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
124631         FILESYSTEM_PREFIX_LEN ->
124632         FILE_SYSTEM_PREFIX_LEN.
124633         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
124634         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
124635         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
124636         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
124638         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
124639         prerequisite modules now handle the DOS stuff.
124640         Don't check for unistd.h.
124642 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124644         Merge from coreutils.
124646         * lib/.gdb-history: Remove; this doesn't belong here.
124648         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
124649         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
124650         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
124651         * lib/getcwd.c: New files.
124653         * lib/dirname.h: Include <stdbool.h>.
124654         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
124655         for consistency with POSIX terminology.  All uses changed.
124656         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
124657         (strip_trailing_slashes): Use bool for booleans.
124658         * lib/stripslash.c (strip_trailing_slashes): Likewise.
124660         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
124661         sometimes returns a positive errno value even when it succeeds.
124662         (print_errno_message) [!LIBC]: Fall back on strerror if
124663         __strerror_r fails.
124665         * lib/path-concat.c (mempcpy): Don't define if a system header defines
124666         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
124667         (longest_relative_suffix): New function.
124668         (path_concat): Use it.  Assume first argument is not NULL.
124669         Port to DOS.  Omit redundant separators.
124670         Report an error instead of returning NULL.
124671         Use mempcpy instead of memcpy.
124672         (xpath_concat): Remove: not declared or used.
124674         * lib/same.h: Include <stdbool.h>
124675         (same_name): Return bool, not int.
124676         * lib/same.c (same_name): Likewise.
124677         (errno): Don't declare; we assume C89 or better now.
124679         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
124680         if not already defined.
124682         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
124683         * lib/dup-safer.c (errno): Likewise.
124685 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
124687         Merge from coreutils.
124688         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
124689         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
124690         * modules/path-concat: Don't depend on strdup.
124692 2004-08-03  Simon Josefsson  <jas@extundo.com>
124694         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
124695         * lib/progname.h: Don't include stdbool.h.
124697 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124699         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
124700         * MODULES.html.sh (func_all_modules): Remove fatal.
124702 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124704         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
124706 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
124708         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
124709         working.
124711 2004-08-02  Simon Josefsson  <jas@extundo.com>
124713         * lib/getsubopt.h: New file, with comments from Bruno Haible.
124714         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
124715         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
124717 2004-08-01  Simon Josefsson  <jas@extundo.com>
124719         * lib/xgetdomainname.c: Include stdlib.h, for free().
124721 2004-07-19  Bruno Haible  <bruno@clisp.org>
124723         * MODULES.html.sh (func_all_modules): Add dummy.
124725 2004-07-16  Simon Josefsson  <jas@extundo.com>
124727         * modules/dummy: New file.
124729 2004-07-16  Simon Josefsson  <jas@extundo.com>
124731         * lib/dummy.c: New file.
124733 2004-07-16  Bruno Haible  <bruno@clisp.org>
124735         * lib/backupfile.h: Add extern "C" for C++.
124736         * lib/closeout.h: Likewise.
124737         * lib/copy-file.h: Likewise.
124738         * lib/findprog.h: Likewise.
124739         * lib/full-write.h: Likewise.
124740         * lib/pathname.h: Likewise.
124741         * lib/progname.h: Likewise.
124742         * lib/stpcpy.h: Likewise.
124743         * lib/stpncpy.h: Likewise.
124744         * lib/strcase.h: Likewise.
124745         * lib/strstr.h: Likewise.
124746         * lib/xalloc.h: Likewise.
124748         * lib/mbswidth.h: Add extern "C" for C++.
124749         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
124751 2004-07-13  Robert Millan  <robertmh@gnu.org>
124753         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
124755 2004-07-09  Simon Josefsson  <jas@extundo.com>
124757         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
124758         failed without this.)
124760 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124762         * modules/chown (Files): Add lib/fchown-stub.c, since
124763         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
124765 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
124767         * lib/fchown-stub.c: New file.
124769 2004-06-24  Jim Meyering  <jim@meyering.net>
124771         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
124773 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124775         * modules/argz: Omit "#include".
124777         * MODULES.html.sh (func_all_modules): Add calloc, to match
124778         2004-06-01 addition of calloc module.
124780 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124782         * m4/argz.m4: New file, which is autoupdated from libtool.
124784 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124786         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
124787         libtool.
124789 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
124791         * config/srclist-update: Don't insist on "USA." before the
124792         close-comment, as libtool omits the period and puts the */ on a
124793         separate line.
124794         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
124795         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
124797 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
124799         * modules/argz: New file.
124800         * MODULES.html.sh (func_all_modules): Add argz.
124802 2004-06-12  Jim Meyering  <jim@meyering.net>
124803         and  Paul Eggert  <eggert@cs.ucla.edu>
124805         * modules/hash (Files): Add lib/xalloc.h.
124806         * modules/pipe (Depends-on): Add wait-process.
124807         * modules/stat (Depends-on): Add xalloc.
124808         * modules/userspec (Files): Add lib/userspec.h.
124809         * modules/xstrto
124811         Upgrade from gettext-0.13.
124812         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
124813         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
124814         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
124816 2004-06-10  Jim Meyering  <jim@meyering.net>
124818         * lib/calloc.c: New file.
124820 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
124822         * lib/getdate.y (yylex): Allow space between sign and number.
124823         Problem reported by Dan Jacobson.
124825 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124827         Merge from coreutils CVS.
124829         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
124830         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
124831         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
124832         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
124833         xstrtol.m4: Fix copyright date and/or serial number.
124835         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
124836         See if we need an fchown replacement.
124837         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
124838         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
124839         and use the replacement function if we detect either defect.
124841         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
124842         gl_UTIMECMP.
124844 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
124845         and  Jim Meyering  <jim@meyering.net>
124847         Merge from coreutils CVS.
124849         * lib/stat-macros.h: New file, with contents from file-type.h
124850         and coreutils' system.h.
124851         * lib/file-type.c: Include "stat-macros.h".
124852         * lib/file-type.h (file_type): Move all macro definitions to new file,
124853         stat-macros.h.
124855         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
124856         Wrap old code with this conditional.
124857         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
124858         function that does not dereference symlinks.
124859         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
124861         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
124862         dependency problems.
124863         (xreadlink): Accept new arg SIZE, for efficiency.
124864         All decls and uses changed.
124865         * lib/xreadlink.h: Include <stddef.h>, for size_t.
124867         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
124868         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
124870         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
124871         sysexits.h.
124873 2004-06-01  Jim Meyering  <jim@meyering.net>
124875         * m4/calloc.m4: New file.
124877 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
124879         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
124880         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
124881         Also, fix a typo in a diagnostic.
124883 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124885         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
124886         or AC_FUNC_REALLOC.
124888 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
124890         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
124891         macros to be defined.
124892         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
124893         the allocator returns NULL because the requested size is zero.
124895 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
124897         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
124898         var.  Add comment explaining why libc still defines it.  This
124899         merges the following patch from glibc:
124900         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
124902 2004-05-20  Andreas Schwab  <schwab@suse.de>
124904         * m4/free.m4: Replace free if it not known to work, not the other
124905         way round.
124907 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
124909         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
124910         present in glibc since revision 1.1 of this file.
124911         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
124912         obstack_alignment_mask, obstack_alloc, obstack_base,
124913         obstack_blank, obstack_blank_fast, obstack_chunk_size,
124914         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
124915         obstack_grow0, obstack_init, obstack_int_grow,
124916         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
124917         obstack_next_free, obstack_object_size, obstack_ptr_grow,
124918         obstack_ptr_grow_fast, obstack_room): Remove declarations of
124919         nonexistent functions.
124921 2004-05-18  Karl Berry  <karl@gnu.org>
124923         * config/srclist.txt: break link for vasnprintf.c.
124925 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124927         Port obstack to the AS/400, where pointers are 16 bytes wide and
124928         you cannot cast an integer to a valid pointer.  This patch is
124929         currently waiting to be integrated into glibc; see
124930         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
124932         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
124933         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
124934         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
124935         (struct obstack): temp member is now a union of a pointer and
124936         an integer, instead of an integer.  All integer uses changed.
124937         This does not affect the physical layout of struct obstack,
124938         except on hosts (like the AS/400) where the size or alignment of
124939         void * is greater than that of ptrdiff_t.
124940         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
124941         __STDC__)]: Store temporary in pointer member of union, not
124942         integer member.
124943         * lib/obstack.c: Include <stddef.h>, for offsetof.
124944         (struct fooalign): Remove; it doesn't need a name.
124945         (union fooround): Change double to long double, and add void *.
124946         (DEFAULT_ALIGNMENT): Use offsetof to compute.
124947         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
124948         not a macro.  Hence the values are always int; so remove all
124949         casts-to-int in uses.
124951 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
124953         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
124954         we can get this patch merged into glibc.
124956 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124957             Paul Eggert  <eggert@cs.ucla.edu>
124959         * m4/argp: Depend on alloca.
124961 2004-05-17  Derek R. Price  <derek@ximbiot.com>
124962             Paul Eggert  <eggert@cs.ucla.edu>
124964         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
124965         freecoding.
124967 2004-05-17  Bruno Haible  <bruno@clisp.org>
124969         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
124970         precision that consists of a '.' followed by an empty digit string.
124971         Patch by Tor Lillqvist <tml@iki.fi>.
124973 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124975         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
124976         for backward compatibility with older code.  We need our own
124977         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
124978         it under some other name, and our alloca.h will define it.
124980 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
124981             Derek Price  <derek@ximbiot.com>
124983         * lib/alloca.c: Include <alloca.h>, to get our interface.
124984         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
124985         include <alloca.h> first.  Use C89 prototype for alloca; this
124986         requires including <stddef.h> for size_t.  Use extern "C" if C++.
124987         Use #elif for simplicity, since we can assume C89 now.
124988         Don't try to source the system alloca.h since it will not be found
124989         and to prevent recursively including its replacement.
124990         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
124991         * lib/regex.c: Likewise.
124993 2004-05-16  Derek Price  <derek@ximbiot.com>
124994             Paul Eggert  <eggert@cs.ucla.edu>
124996         getline cleanup.  This changes the getndelim2 API: both order of
124997         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
124998         no delimiter).
125000         * lib/getline.c: Don't include stddef.h or stdio.h, since our
125001         interface does that.
125002         (getline): Always use getdelim, so that we don't have two
125003         copies of this code.
125004         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
125005         if available.
125006         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
125007         (GETNDELIM2_MAXIMUM): New macro.
125008         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
125009         instead of the old practice of delim2==0.  All callers changed.
125010         Return -1 on overflow, instead of returning junk.
125011         Do not set *linesize unless allocation succeeds.
125012         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
125013         that we include sys/types.h.
125014         * lib/getnline.h: Likewise.
125015         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
125016         (getndelim2): Reorder arguments.
125017         * lib/getnline.c (getnline, getndelim):
125018         Don't discard the NMAX argument.
125019         (getnline): Invoke getndelim, to avoid code duplication.
125020         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
125021         of (size_t) -1 by callers of the getnline family.
125023 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125025         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
125026         Check for gettimeofday.
125027         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
125028         Check for settimeofday, stime.
125030 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
125032         * lib/nanosleep.c (suspended): Change its type from int to
125033         sig_atomic_t volatile.
125034         (first_call): Make it private to rpl_nanosleep, and have it
125035         be zero initially as that's a bit faster.
125036         (my_usleep): Round up fractional times instead of truncating them,
125037         as this is the usual meaning for 'sleep'.
125039         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
125040         doesn't work.
125041         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
125042         (ENOSYS): Define if not defined.
125043         (settime): Fall back on stime if it exists and settimeofday fails.
125044         But don't bother with fallbacks if a method fails with errno == EPERM.
125046 2004-05-11  Jim Meyering  <jim@meyering.net>
125048         Prior to this change, the save_cwd caller required read access to the
125049         current directory on most systems (ones with the fchdir function).
125051         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
125052         fails, try write-only, and finally, resort to using xgetcwd.
125054 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
125056         * lib/obstack.c, obstack.h: Import changes from libc.
125058 2004-04-28  Bruno Haible  <bruno@clisp.org>
125060         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
125061         also implicitly appends .exe to executables.
125062         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
125063         accepts Windows pathnames.
125064         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125065         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125066         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
125067         Treat Cygwin like Windows, since it now accepts Windows pathnames.
125068         Reported by Derek Robert Price <derek@ximbiot.com>.
125070 2004-04-21  Karl Berry  <karl@gnu.org>
125072         * config/srclist.txt (localcharset.c): break sync.
125074 2004-04-20  Paul Eggert  <eggert@twinsun.com>
125076         * m4/host-os.m4: Add a copyright notice.
125078 2004-04-20  Jim Meyering  <jim@meyering.net>
125080         Change UTILS_ to gl_ in AC_DEFINE'd names.
125081         Change utils_- and jm_-prefixed variables, too.
125082         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
125083         UTILS_FUNC_MKDIR_TRAILING_SLASH.
125084         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
125086         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
125087         Don't emit trailing blanks.
125088         Also rename jm_-prefixed variables to have gl_ prefix.
125090         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
125091         Also rename jm_-prefixed variables to have gl_ prefix.
125093         * m4/jm-macros.m4: Reflect the renamings.
125094         * m4/prereq.m4: Likewise.
125096 2004-04-20  Jim Meyering  <jim@meyering.net>
125098         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
125099         memory.
125101 2004-04-20  Jim Meyering  <jim@meyering.net>
125102             Bruno Haible  <bruno@clisp.org>
125104         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
125105         memory when realloc fails.
125107 2004-04-19  Jim Meyering  <jim@meyering.net>
125109         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
125110         now that readutmp.c may call `free (0)'.
125112 2004-04-19  Bruno Haible  <bruno@clisp.org>
125114         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
125115         * m4/inttypes_h.m4: Likewise.
125116         * m4/stdint_h.m4: Likewise.
125117         * m4/intmax_t.m4: Likewise.
125118         * m4/uintmax_t.m4: Likewise.
125120 2004-04-18  Jim Meyering  <jim@meyering.net>
125122         * m4/prereq.m4: Don't forbid jm_ prefix.
125124         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
125125         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
125126         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
125127         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
125128         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
125129         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
125130         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
125131         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
125132         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
125133         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
125134         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
125135         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
125136         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
125137         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
125138         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
125139         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
125140         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
125141         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
125142         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
125144 2004-04-18  Jim Meyering  <jim@meyering.net>
125146         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
125147         failure, don't leak memory and do call END_UTMP_ENT.
125149 2004-04-16  Jim Meyering  <jim@meyering.net>
125151         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
125152         coreutils' stat program.
125153         (gl_PREREQ): Don't require jm_PREREQ_STAT.
125155 2004-04-11  Paul Eggert  <eggert@twinsun.com>
125157         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
125158         C89.
125159         (CHAR_BIT): Remove, since we assume C89.
125160         Include <stdint.h> if available, as per current Autoconf CVS advice.
125162 2004-03-31  Jim Meyering  <jim@meyering.net>
125164         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
125165         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
125166         * m4/xalloc.m4: Likewise.
125168 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125170         Merge from coreutils.
125172         * m4/inttostr.m4: New file.
125173         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
125174         Require AM_STDBOOL_H and gl_TIMESPEC instead.
125175         Require gl_CLOCK_TIME.
125176         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
125178 2004-03-30  Paul Eggert  <eggert@twinsun.com>
125180         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
125181         not bool, to be more consistent with Unix conventions.
125182         Suggested by Bruno Haible.
125184         Merge from coreutils.
125186         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
125187         * lib/umaxtostr.c: New files.
125189         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
125190         the usual <time.h> dance.
125191         (get_date): Change signature to support fractional time stamps.
125192         All callers changed.
125193         * lib/getdate.y: Include "getdate.h" first, as we can now
125194         assume C89 and don't need to worry about 'const'.
125195         Similarly, include "unlocked-io.h" near start, not in middle.
125196         Include <limits.h>.
125197         (textint.value): Use long int rather than int.
125198         (textint.digits): Use size_t rather than int.
125199         (BILLION, LOG10_BILLION): New constants.
125200         (parser_control): New member rel_ns.  Members day_ordinal,
125201         time_zone, month, day, hour, minutes, rel_year, rel_month,
125202         rel_day, rel_hour, rel_minutes, rel_seconds
125203         are now long int, not int.  Member seconds is now struct timespec,
125204         not int.  New member timespec_seen.  Members dates_seen, days_seen,
125205         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
125206         not int.
125207         (%union.intval): Now long int, not int.
125208         New member timespec.
125209         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
125210         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
125211         (spec): Now is a timespec or an item list.
125212         (timespec, items): New nonterminals.
125213         (time, rel, relunit, number, get_date):
125214         Add support for fractional seconds.
125215         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
125216         (gmtime, localtime, mktime): Remove decls; not needed with C89.
125217         (to_hour): First arg is now long int, not int.
125218         (to_year): Returns long int, not int.
125219         Don't treat year -70 like 70.
125220         (tm_diff): Returns long int, not int.
125221         (lookup_word): Use bool instead of int when appropriate.
125222         (yylex): Use size_t for count, not int.
125223         Detect overflow when parsing large integer constants.
125224         Add support for fractions.
125225         (get_date): Make pointers 'const' if possible.
125226         Use more-portable code to detect integer overflow.
125227         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
125228         Don't use ctime; it's not reliable if the year has >4 digits.
125230         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
125231         This is for compatibility with BSD.
125233         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
125234         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
125235         From coreutils' system.h.
125237         * lib/userspec.c: Don't include "posixver.h".
125238         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
125239         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
125240         compatible extension.  Simplify code by removing a boolean int
125241         that was always nonzero if a string was nonnull.
125243 2004-03-30  Jim Meyering  <jim@meyering.net>
125245         Merge from coreutils.
125247         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
125248         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
125249         on some systems one must include <grp.h> before it.
125250         Reported by Christian Krackowizer.
125252 2004-03-30  Jim Meyering  <jim@meyering.net>
125254         Merge from coreutils.
125256         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
125258         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
125259         an empty input stream.
125261         * lib/readtokens.c: Include <stdbool.h>.
125262         (readtoken): Use `size_t' rather than int/long.
125263         All callers adjusted.
125264         Use `bool' rather than `int' where appropriate.
125265         Use memset rather than an explicit loop.
125266         Use x2nrealloc rather than xrealloc.
125267         Allow the use of `\0' as a delimiter.
125268         (readtokens): Likewise.
125269         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
125271 2004-03-30  Jim Meyering  <jim@meyering.net>
125273         * m4/realloc.m4: Remove file, since now it does no more than
125274         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
125275         the `configure.ac' section of module/realloc.
125276         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
125278 2004-03-30  Bruno Haible  <bruno@clisp.org>
125280         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
125281         nonnull.
125283 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125285         Merge changes to getloadavg.c from coreutils and Emacs.
125287         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
125288         Define to an expression, not to the empty string.
125289         Include cloexec.h and xalloc.h.
125290         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
125291         Use set_cloexec_flag rather than rolling our own.
125292         * lib/cloexec.c, lib/cloexec.h: New files.
125294 2004-03-29  Paul Eggert  <eggert@twinsun.com>
125296         * m4/cloexec.m4: New file.
125298 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125300         * lib/getopt.h: Sync with libc CVS.
125302 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125303             Bruno Haible  <bruno@clisp.org>
125305         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
125306         mbswidth.
125308 2004-03-18  Paul Eggert  <eggert@twinsun.com>
125309             Bruno Haible  <bruno@clisp.org>
125311         * lib/mbswidth.h: Include <wchar.h> only if
125312         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
125313         <wchar.h>.
125314         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
125316 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125318         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
125319         Sync with libc CVS.
125320         * lib/getopt_int.h: New file, also synced from libc.
125322 2004-03-09  Paul Eggert  <eggert@twinsun.com>
125324         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
125325         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
125326         Bring back getopt.c, getopt.h, getopt1.c.
125328 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125330         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
125331         All uses changed.  Check for sa_sigaction member; this fixes
125332         a bug first reported by Jason Andrade in
125333         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125335 2004-03-07  Paul Eggert  <eggert@twinsun.com>
125337         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
125338         '#if' expressions.  Unlike the code it replaces, it does not
125339         depend on (defined _SC_PAGESIZE).  However, it does depend on
125340         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
125341         first reported by Jason Andrade in
125342         <http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.
125344 2004-02-25  Simon Josefsson  <jas@extundo.com>
125346         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
125348 2004-02-25  Simon Josefsson  <jas@extundo.com>
125350         * lib/strdup.h: New file.
125351         * lib/strdup.c: Include it.
125352         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
125353         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
125355 2004-02-23  Karl Berry  <karl@gnu.org>
125357         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
125358         (from fencepost.gnu.org:/gd/gnuorg).
125360 2004-02-23  Karl Berry  <karl@gnu.org>
125362         * config/srclistvars.sh (GNUORG) [karl]: redefine.
125363         * config/srclist.txt: add maintain/standards documents.
125365 2004-02-18  Bruno Haible  <bruno@clisp.org>
125367         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
125368         Reported by Derek Robert Price <derek@ximbiot.com>.
125370 2004-02-16  Karl Berry  <karl@gnu.org>
125372         * config/mkinstalldirs, install-sh: update from automake.
125374 2004-02-06  Karl Berry  <karl@gnu.org>
125376         * m4/po.m4: update from gettext 0.14.1.
125378 2004-02-06  Karl Berry  <karl@gnu.org>
125380         * lib/config.charset: update from gettext 0.14.1.
125382 2004-02-05  Paul Eggert  <eggert@twinsun.com>
125384         Add comments and code, prompted by suggestions from Bruno Haible
125385         for sh-quote.
125386         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
125387         describing the enum quoting_style values.
125388         * lib/quotearg.c (quotearg_alloc): New function.
125389         (quotearg_buffer_restyled): Treat lone { and } as special.
125390         Treat = as special.  Work around bug with older shells
125391         that "see" a '\' that is really the 2nd byte of a multibyte char.
125392         Quote empty string with shell_quoting_style.
125394 2004-02-03  Bruno Haible  <bruno@clisp.org>
125396         * m4/pipe.m4: New file, from GNU gettext.
125398 2004-02-03  Bruno Haible  <bruno@clisp.org>
125400         * lib/pipe.h: New file, from GNU gettext.
125401         * lib/pipe.c: New file, from GNU gettext.
125403 2004-01-27  Bruno Haible  <bruno@clisp.org>
125405         * m4/execute.m4: New file, from GNU gettext.
125407 2004-01-27  Bruno Haible  <bruno@clisp.org>
125409         * lib/execute.h: New file, from GNU gettext.
125410         * lib/execute.c: New file, from GNU gettext.
125411         * lib/w32spawn.h: New file, from GNU gettext.
125413 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125415         Merge from diffutils.
125417         * lib/file-type.c (file_type): Add typed memory objects.
125418         * lib/file-type.h (S_TYPEISTMO): New macro.
125420         * lib/c-stack.h (c_stack_action): Remove argv argument.
125421         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
125422         (die): Don't calculate message unless segv_action returns.
125423         (get_stack_location, min_address_from_argv, max_address_from_argv,
125424         volatile stack_base, volatile_stack_size): Remove.
125425         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
125426         that every segmentation violation is a stack overflow.  (Ouch!)
125427         See Debian bug 136249 (still outstanding) for more info about why
125428         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
125430 2004-01-24  Paul Eggert  <eggert@twinsun.com>
125432         Exit-status fix from coreutils.
125434         Use exit_failure consistently in place of EXIT_FAILURE,
125435         so that program exit statuses are consistent on failure.
125437         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
125438         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
125439         * lib/argmatch.h: Comment fix to match the above.
125440         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
125441         Now a macro referring to exit_failure, instead of a separate
125442         variable.  Include "exitfail.h" to get it.
125443         * lib/xstrtol.h: Include "exitfail.h".
125444         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
125446         * lib/long-options.c (parse_long_options): Use prototype
125447         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
125448         for clarity.
125450 2004-01-21  Jim Meyering  <jim@meyering.net>
125452         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
125453         so as not to conflict with a different-sized __mktime_internal
125454         function in GNU libc.
125455         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
125456         Problem building statically-linked `ls' reported by Michael Brunnbauer.
125458 2004-01-20  Karl Berry  <karl@gnu.org>
125460         * config/config.guess: update from config.
125462         * config/srclistvars.sh: GNUWWWLICENSES for karl.
125464 2004-01-20  Bruno Haible  <bruno@clisp.org>
125466         Safer stack allocation.
125467         * lib/setenv.c: Include allocsa.h.
125468         (alloca): Remove fallback definition.
125469         (freea): Remove macro.
125470         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
125471         instead of freea.
125473 2004-01-20  Bruno Haible  <bruno@clisp.org>
125475         * m4/eealloc.m4: New file, from GNU gettext.
125477 2004-01-20  Bruno Haible  <bruno@clisp.org>
125479         * m4/allocsa.m4: New file, from GNU gettext.
125481 2004-01-20  Bruno Haible  <bruno@clisp.org>
125483         * lib/xallocsa.h: New file, from GNU gettext.
125484         * lib/xallocsa.c: New file, from GNU gettext.
125486 2004-01-20  Bruno Haible  <bruno@clisp.org>
125488         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
125490 2004-01-20  Bruno Haible  <bruno@clisp.org>
125492         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
125493         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
125494         specially.
125496 2004-01-20  Bruno Haible  <bruno@clisp.org>
125498         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
125499         patch.
125501 2004-01-20  Bruno Haible  <bruno@clisp.org>
125503         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
125505 2004-01-20  Bruno Haible  <bruno@clisp.org>
125507         * lib/eealloc.h: New file.
125509 2004-01-20  Bruno Haible  <bruno@clisp.org>
125511         * lib/binary-io.h: Avoid warnings on Cygwin.
125513 2004-01-20  Bruno Haible  <bruno@clisp.org>
125515         * lib/allocsa.h: New file, from GNU gettext.
125516         * lib/allocsa.c: New file, from GNU gettext.
125518 2004-01-18  Karl Berry  <karl@gnu.org>
125520         * doc/gpl.texi, doc/lgpl.texi: new files.
125522 2004-01-18  Karl Berry  <karl@gnu.org>
125524         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
125525         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
125527 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125529         Merge from coreutils.
125531         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
125532         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
125533         (gl_DEFAULT_POSIX2_VERSION): Move
125534         the documentation from 'configure' into 'config.hin',
125535         so that 'configure --help' isn't burdened by it and
125536         we don't have to worry about its formatting there.
125537         Reword the documentation so that it's more succinct
125538         and can be run together into a single paragraph.
125539         * m4/same.m4 (gl_SAME): Check for pathconf.
125541 2004-01-15  Paul Eggert  <eggert@twinsun.com>
125543         Merge from coreutils.
125545         * lib/posixver.c: Include posixver.h.
125547         * lib/same.c: Include <stdbool.h>, <limits.h>.
125548         (_POSIX_NAME_MAX): Define if not defined.
125549         (MIN): New macro.
125550         (same_name): If file names are silently truncated, report
125551         that the file names are the same if they are the same after
125552         the silent truncation.
125554         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
125555         conversion function.
125556         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
125557         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
125558         longer needed.
125560 2004-01-15  Jim Meyering  <jim@meyering.net>
125562         Merge from coreutils.
125564         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
125565         if no library is required.
125566         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
125567         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
125568         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
125569         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
125570         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
125571         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
125572         value, $ac_cv_search_crypt, if it's "none required".
125573         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
125574         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
125575         not gl_FUNC_GETLOADAVG.
125576         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
125577         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
125579 2004-01-15  Jim Meyering  <jim@meyering.net>
125581         Merge from coreutils.
125583         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
125584         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
125585         http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html
125587         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
125588         optional configure-time default.
125590         * lib/version-etc.c (version_etc_copyright): Update copyright date.
125592         * lib/xreadlink.c (xreadlink): Correct outdated comment.
125594 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
125596         Merge from coreutils.
125598         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
125599         value, $ac_cv_search_nanosleep, if it's "none required".
125601 2004-01-14  Paul Eggert  <eggert@twinsun.com>
125603         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
125604         with like-named macro in fnmatch.c.
125605         (EXT): Use an internal constant instead.
125607         Merge fnmatch patches from glibc.
125608         * lib/fnmatch.c (mbsinit): Remove define.
125609         Add libc_hidden_ver (__fnmatch, fnmatch).
125610         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
125611         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
125613 2004-01-14  Karl Berry  <karl@gnu.org>
125615         * config/install-sh: update from automake.
125617 2004-01-13  Karl Berry  <karl@gnu.org>
125619         * config/install-sh: update from automake.
125621 2004-01-09  Karl Berry  <karl@gnu.org>
125623         * config/install-sh: update from automake.
125625 2004-01-05  Karl Berry  <karl@gnu.org>
125627         * config/config.{sub,guess}: update from config.
125629 2003-12-31  Karl Berry  <karl@gnu.org>
125631         * config/depcomp: update from automake.
125633 2003-12-14  Karl Berry  <karl@gnu.org>
125635         * lib/config.charset: update from gettext-runtime.
125637 2003-12-03  Paul Eggert  <eggert@twinsun.com>
125639         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
125640         Bug reported by Alfred M. Szmidt.
125642 2003-12-03  Bruno Haible  <bruno@clisp.org>
125644         * m4/gettext.m4: Upgrade from gettext-0.13.
125645         * m4/po.m4: Upgrade from gettext-0.13.
125646         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
125647         * m4/intmax.m4: New file, from gettext-0.13.
125648         * m4/printf-posix.m4: New file, from gettext-0.13.
125650 2003-11-29  Karl Berry  <karl@gnu.org>
125652         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
125654 2003-11-25  Paul Eggert  <eggert@twinsun.com>
125655             Bruno Haible  <bruno@clisp.org>
125657         * lib/printf-parse.h: Don't include sys/types.h.
125658         (ARG_NONE): New macro.
125659         (char_directive): Change type of *arg_index fields to size_t.
125660         * lib/printf-parse.c: Don't include sys/types.h.
125661         (SSIZE_MAX): Remove macro.
125662         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
125663         Remove unnecessary overflow check.
125664         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
125665         fields.
125667 2003-11-25  Bruno Haible  <bruno@clisp.org>
125669         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
125671 2003-11-25  Bruno Haible  <bruno@clisp.org>
125673         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
125674         gt_TYPE_SSIZE_T.
125676 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125678         * modules/alloca: Remove dependency on xalloc.
125680 2003-11-24  Paul Eggert  <eggert@twinsun.com>
125682         * lib/alloca.c: Remove dependency on xalloc module.
125683         (xalloc_die): Remove.
125684         (memory_full) [!defined emacs]: New macro.
125685         [!defined emacs]: Don't include xalloc.h.
125686         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
125687         address arithmetic overflows.  Change datatypes a bit to avoid
125688         unnecessary casts.
125690 2003-11-22  Jim Meyering  <jim@meyering.net>
125692         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
125693         s/size/size_t/.
125695 2003-11-21  Karl Berry  <karl@gnu.org>
125697         * config/config.{sub,guess}: update from config.
125699 2003-11-18  Karl Berry  <karl@gnu.org>
125701         * config/config.{sub,guess}: update from config.
125703         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
125705 2003-11-17  Paul Eggert  <eggert@twinsun.com>
125707         * README: Mention that S+T cannot overflow if S is the size of
125708         an existing object and T is sufficiently small.
125710 2003-11-17  Jim Meyering  <jim@meyering.net>
125712         On systems without utime and without a utimes function capable of
125713         dealing with a NULL struct utimbuf* argument, this utime replacement
125714         could -- in unusual circumstances -- leak a file descriptor.
125715         * lib/utime.c: Include <unistd.h> and <errno.h>.
125716         (utime_null): Be sure to close `fd' and to preserve errno.
125717         Reported by Geoff Collyer via Arnold Robbins.
125719 2003-11-17  Bruno Haible  <bruno@clisp.org>
125721         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
125722         (Depends-on): Add xsize.
125724 2003-11-17  Bruno Haible  <bruno@clisp.org>
125726         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
125728 2003-11-17  Bruno Haible  <bruno@clisp.org>
125730         * lib/vasnprintf.c (alloca): Remove fallback definition.
125731         (freea): Remove definition.
125732         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
125733         Reported by Paul Eggert.
125735 2003-11-16  Paul Eggert  <eggert@twinsun.com>
125736             Bruno Haible  <bruno@clisp.org>
125738         Protect against address arithmetic overflow.
125739         * lib/printf-args.h: Include stddef.h.
125740         (arguments): Change type of field 'count' to size_t.
125741         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
125742         'unsigned int' where appropriate.
125743         * lib/printf-parse.h: Include sys/types.h.
125744         (char_directive): Change type of *arg_index fields to ssize_t.
125745         (char_directives): Change type of fields 'count', max_*_length to
125746         size_t.
125747         * lib/printf-parse.c: Include sys/types.h and xsize.h.
125748         (SSIZE_MAX): Define fallback value.
125749         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
125750         instead of 'int' where appropriate. Check a_allocated, d_allocated
125751         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
125752         * lib/vasnprintf.c: Include xsize.h.
125753         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
125754         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
125755         overflow. Avoid wraparound when converting a width or precision from
125756         decimal to binary.
125758 2003-11-16  Bruno Haible  <bruno@clisp.org>
125760         Update from GNU gettext.
125761         * lib/printf-parse.c: Generalize to it can be compiled for wide
125762         strings.
125763         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
125764         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
125765         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
125766         SNPRINTF): New macros.
125767         Don't include <alloca.h> if the file is used inside libintl.
125768         (local_wcslen): New function, for Solaris 2.5.1.
125769         (VASNPRINTF): Use it instead of wcslen.
125771 2003-11-16  Bruno Haible  <bruno@clisp.org>
125773         * lib/xsize.h (xmax): New function.
125774         (xsum, xsum3, xsum4): Declare as "pure" functions.
125776 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125778         * modules/xalloc (Files): Undo latest change, since xalloc.h
125779         no longer needs SIZE_MAX or PTRDIFF_MAX.
125781 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125783         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
125784         gl_PTRDIFF_MAX.
125786 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125788         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
125789         "return", to pacify some unknown compiler.  Problem reported
125790         by Joerg Schilling.
125792 2003-11-12  Paul Eggert  <eggert@twinsun.com>
125794         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
125795         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
125796         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
125797         heuristic is just as accurate as far as we know, and it removes a
125798         dependency on size_max.m4 and ptrdiff_max.m4.
125800 2003-11-11  Bruno Haible  <bruno@clisp.org>
125802         * modules/xsize (Files): Add m4/size_max.m4.
125803         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
125805 2003-11-11  Bruno Haible  <bruno@clisp.org>
125807         * m4/size_max.m4: New file.
125808         * m4/ptrdiff_max.m4: New file.
125809         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
125810         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
125811         (gl_XALLOC): Invoke it.
125813 2003-11-11  Bruno Haible  <bruno@clisp.org>
125815         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
125816         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
125817         defined.
125819 2003-11-10  Paul Eggert  <eggert@twinsun.com>
125821         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
125822         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
125823         rejected some allocations of exactly SIZE_MAX - 2 bytes.
125824         From Bruno Haible.
125825         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
125826         not (size_t) -1, since it's defined here.
125828 2003-11-09  Karl Berry  <karl@gnu.org>
125830         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
125832 2003-11-06  Paul Eggert  <eggert@twinsun.com>
125834         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
125835         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
125836         Reject sizes of exactly SIZE_MAX bytes.
125837         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
125838         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
125840 2003-11-05  Bruno Haible  <bruno@clisp.org>
125842         * lib/xsize.h: Include limits.h, to avoid a possible collision with
125843         SIZE_MAX defined in <limits.h> on Solaris.
125845 2003-11-04  Jim Meyering  <jim@meyering.net>
125847         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
125848         variable names, rather than @VAR@.
125849         * modules/poll: Likewise.
125851 2003-11-04  Bruno Haible  <bruno@clisp.org>
125853         * modules/xsize: New file.
125854         * modules/linebreak: Depend on xsize.
125855         * MODULES.html.sh (func_all_modules): Add xsize.
125857 2003-11-04  Bruno Haible  <bruno@clisp.org>
125859         * m4/xsize.m4: New file.
125861 2003-11-04  Bruno Haible  <bruno@clisp.org>
125863         * lib/xsize.h: New file.
125864         * lib/linebreak.c: Include xsize.h.
125865         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
125866         argument for overflow.
125867         Suggested by Paul Eggert.
125869 2003-11-03  Karl Berry  <karl@gnu.org>
125871         * config/config.{guess,sub}: update from config.
125873 2003-11-03  Jim Meyering  <jim@meyering.net>
125875         * modules/userspec (lib_SOURCES): Add userspec.h.
125876         (Include): Add "userspec.h".
125877         Improve description.
125879 2003-11-03  Jim Meyering  <jim@meyering.net>
125881         * lib/userspec.c: Include "userspec.h".
125882         * lib/userspec.h: New file.
125884 2003-11-03  Bruno Haible  <bruno@clisp.org>
125886         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
125888 2003-11-03  Bruno Haible  <bruno@clisp.org>
125890         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
125891         available, to avoid (extremely rare) race condition.
125892         Suggested by Paul Eggert.
125894 2003-11-02  Karl Berry  <karl@gnu.org>
125896         * config/srclist.txt (vasprintf.c): sync broken, sigh.
125898 2003-10-31  Paul Eggert  <eggert@twinsun.com>
125900         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
125901         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
125902         (read_filesystem_list): Set and use me_type_malloced.
125903         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
125904         whatever the type happens to be), for brevity and consistency.
125905         Check for size calculation overflow on Alphas running OSF/1.
125907 2003-10-31  Jim Meyering  <jim@meyering.net>
125909         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
125911         * lib/linebuffer.c: Include <string.h> for declaration of memset.
125913 2003-10-30  Paul Eggert  <eggert@twinsun.com>
125914             Bruno Haible  <bruno@clisp.org>
125916         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
125917         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
125919 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
125921         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
125922         netbsd*-gnu*.  Suggested by Robert Millan.
125924 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125926         * modules/group-member: Depend on stdbool.
125928 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125930         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
125932 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125934         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
125935         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
125936         after the 'gnu' in these cases.  This fixes some bugs in the
125937         previous change, and is based on suggestions by Robert Millan.
125939 2003-10-29  Paul Eggert  <eggert@twinsun.com>
125941         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
125942         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
125943         no longer needed.
125944         * lib/quotearg.c (quotearg_n_options): Use it.
125945         * lib/group-member.c: Include <stdbool.h>.
125946         (free_group_info): Arg is now const *; don't free arg.
125947         (get_group_info): Now returns bool and accepts struct group_info *,
125948         rather than returning a malloc'ed struct group_info *.
125949         All uses changed.  Check for overflow in internal size calculation.
125951         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
125952         rather than xmalloc/xrealloc.
125953         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
125954         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
125955         conformance bug: the old code used a pointer after freeing the
125956         storage that it addressed.
125957         * lib/hash.c (hash_initialize): Simplify the code by using
125958         xalloc_oversized rather than doing it by hand.
125959         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
125960         the buffer preserved.  Use free and xmalloc instead.
125961         * lib/quotearg.c (quotearg_n_options): Likewise.
125962         Use a simpler test for size overflow.  Don't use xalloc_oversized
125963         because unsigned int might be wider than size_t (!); this suggests
125964         that we should switch from unsigned int to size_t for slot numbers.
125966 2003-10-28  Paul Eggert  <eggert@twinsun.com>
125968         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
125969         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
125970         NetBSD kernels.  Requested by Richard Stallman.
125972 2003-10-27  Paul Eggert  <eggert@twinsun.com>
125974         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
125975         to allocate the returned structure.  Do not allocate a subarray,
125976         as x2nrealloc will do that.
125977         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
125978         instead of xnrealloc.
125979         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
125981 2003-10-27  Bruno Haible  <bruno@clisp.org>
125983         * lib/stdbool_.h: Better support for BeOS.
125985 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125987         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
125988         now uses inline.
125990 2003-10-26  Paul Eggert  <eggert@twinsun.com>
125992         * lib/xalloc.h (xalloc_oversized): New static inline function, for
125993         callers that want to do their own size-overflow checking.  Include
125994         <stdbool.h>, since xalloc_oversized returns bool.
125995         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
125996         to use xalloc_oversized.
125998         Add two functions x2realloc, x2nrealloc, for programs that grow
125999         arrays dynamically by doubling their sizes.
126000         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
126001         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
126002         New functions.
126004         Port to C99 semantics for 'inline' of external functions.
126005         Bug reported by Bruno Haible.
126006         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
126007         with the old contents of xnmalloc.
126008         (xnmalloc, xmalloc): Use it.
126009         (xnrealloc_inline): New static inline function,
126010         with the old contents of xnrealloc.
126011         (xnrealloc, xrealloc): Use it.
126013         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
126014         that.
126016 2003-10-26  Karl Berry  <karl@gnu.org>
126018         * config/srclist.txt (COPYING.DOC): no longer available from
126019         /gd/gnuorg; don't know where the ultimate source is.
126021 2003-10-25  Paul Eggert  <eggert@twinsun.com>
126023         Fix several address-calculation bugs in the hash modules,
126024         plus some minor code cleanup.
126026         * lib/hash.h: Include <stdbool.h>, for bool.
126027         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
126028         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
126029         hash_get_n_entries, hash_get_max_bucket_length,
126030         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
126031         hash_rehash): Use size_t rather than unsigned.
126032         * lib/hash.c (struct hash_table, hash_get_n_buckets,
126033         hash_get_n_buckets_used, hash_get_n_entries,
126034         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
126035         hash_get_entries, hash_do_for_each, hash_string, is_prime,
126036         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
126037         Likewise.
126038         (SIZE_MAX): Define if not defined.
126039         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
126040         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
126041         hash_print):
126042         Use const * when possible.
126043         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
126044         (check_tuning): Fix bug: if tuning parameters were very close to
126045         0 or 1, rounding errors could have caused subscript violations.
126046         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
126047         (hash_initialize): Add 'fail:' label
126048         to free table and return NULL, and use it to simplify code.
126049         Use calloc rather than clearing the storage ourself.
126050         (hash_initialize, hash_rehash): Check for arithmetic overflow in
126051         buffer size calculations.
126052         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
126053         Include <stddef.h>, for size_t.
126054         * lib/hash-pjw.c (hash_pjw): Likewise.
126055         Switch to method described by Bruno Haible.
126056         Include <limits.h>, for CHAR_BIT.
126057         (SIZE_BITS): New macro.
126059 2003-10-23  Paul Eggert  <eggert@twinsun.com>
126061         * m4/getline.m4 (AM_FUNC_GETLINE):
126062         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
126063         hosts.  Problem reported by Derek Robert Price in
126064         <http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
126065         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
126066         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
126068 2003-10-21  Paul Eggert  <eggert@twinsun.com>
126070         * lib/getndelim2.c (getndelim2): When size calculation overflows,
126071         ceiling the allocation at NMAX bytes rather than silently
126072         discarding input bytes before NMAX is reached.  This makes
126073         a difference only if NMAX exceeds SIZE_MAX / 2.
126075         * lib/obstack.c: Merge from glibc.
126076         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
126077         Add libc_hidden_def (_obstack_newchunk).
126078         (_obstack_free) [! defined _LIBC]: Remove.
126079         [defined _LIBC]: Make a strong alias from obstack_free, rather than
126080         a clone of the function body.
126081         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
126082         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
126084         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
126085         glibc.
126086         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
126087         arg to memcpy.
126089         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
126090         (obstack_ptr_grow_fast, obstack_int_grow_fast):
126091         Don't use lvalue casts, as GCC plans to remove support for them
126092         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
126093         was also present in the non-GCC version, indicating that this
126094         code had always been buggy and had never been widely used.
126095         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
126096         Use the fast variant of each macro, rather than copying the
126097         definiens of the fast variant; that way, we'll be more likely to
126098         catch future bugs in the fast variants.
126100 2003-10-20  Bruno Haible  <bruno@clisp.org>
126102         * modules/wait-process: New file.
126103         * MODULES.html.sh (func_all_modules): Add wait-process.
126105 2003-10-20  Bruno Haible  <bruno@clisp.org>
126107         * m4/wait-process.m4: New file.
126109 2003-10-20  Bruno Haible  <bruno@clisp.org>
126111         * lib/wait-process.h: New file, from GNU gettext.
126112         * lib/wait-process.c: New file, from GNU gettext.
126114 2003-10-19  Jim Meyering  <jim@meyering.net>
126116         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
126117         HPUX 10.20.
126119 2003-10-18  Karl Berry  <karl@gnu.org>
126121         * config/config.guess: update from config.
126123 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126125         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
126126         (getgroups): First arg is int, not size_t.
126127         Don't let 'free' mangle errno.
126129 2003-10-16  Paul Eggert  <eggert@twinsun.com>
126131         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
126133 2003-10-16  Karl Berry  <karl@gnu.org>
126135         * config/config.{guess,sub}: update from config.
126137 2003-10-16  Jim Meyering  <jim@meyering.net>
126139         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
126140         memcpy.
126142 2003-10-15  Paul Eggert  <eggert@twinsun.com>
126144         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
126145         (SIZE_MAX): Remove.
126146         (new_exclude, add_exclude_file): Initial size no longer needs to
126147         be a power of 2.
126148         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
126149         our own address arithmetic overflow checking.
126151         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
126152         (fnmatch): Do not alloca more than 2000 wide characters;
126153         instead, use malloc for large buffers.
126154         Check for address arithmetic overflow, and return -1
126155         with errno set to ENOMEM in that case.
126156         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
126157         (NEW_PATTERN): Do not alloca more than 8000 bytes;
126158         instead, return -1.  Check for address arithmetic overflow.
126160 2003-10-14  Paul Eggert  <eggert@twinsun.com>
126162         Handle invalid suffixes and overflow independently, so that
126163         callers can treat them independently as needed.  Fix some bugs in
126164         suffix handling, e.g., "100k@" was not diagnosed as an invalid
126165         suffix for a human-readable blocksize.  The major caller-visible
126166         change is the addition of a new
126167         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
126168         that both overflow and suffix chars were found.
126170         * lib/human.c (humblock): Don't check separately for invalid suffix
126171         char; that is xstrtoumax's job (now that its bug is fixed).
126172         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
126173         INTMAX_MAX]: New macros.
126174         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
126175         TYPE_MAXIMUM): New macros.
126176         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
126177         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
126178         if overflow occurs, as it's what __strtol does and it's more useful
126179         in practice.
126180         (__xstrtol): If __strtol reports some error other than ERANGE,
126181         reflect it to the caller as LONGINT_INVALID.  If it reports
126182         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
126183         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
126184         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
126185         value.
126186         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
126187         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
126188         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
126189         [defined UINTMAX_MAX]: New macros.
126191 2003-10-14  Bruno Haible  <bruno@clisp.org>
126193         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
126195 2003-10-14  Bruno Haible  <bruno@clisp.org>
126197         * m4/sig_atomic_t: New file, from GNU gettext.
126198         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
126200 2003-10-14  Bruno Haible  <bruno@clisp.org>
126202         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
126203         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
126204         Also use volatile where needed.
126206 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126208         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
126209         Change maintainer from Bruno Haible to 'all'.
126211 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126213         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
126215 2003-10-12  Paul Eggert  <eggert@twinsun.com>
126217         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
126218         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
126219         and define in terms of the other primitives.
126220         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
126221         (SIZE_MAX): Define if not already defined.
126222         (array_size_overflow): New function.
126223         (xalloc_die): Abort instead of exiting if 'error' returns.
126224         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
126225         (xmalloc, xrealloc): Use them.
126226         (xcalloc): Check for address arithmetic overflow.
126227         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
126228         a bit faster than strcpy.
126230 2003-10-10  Simon Josefsson  <jas@extundo.com>
126232         * modules/argp (Depends-on): Add restrict and strcase.
126234 2003-10-10  Simon Josefsson  <jas@extundo.com>
126236         * m4/argp.m4: Add AC_C_INLINE.
126238 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126240         Merge getpass from libc, plus a few fixes.
126242         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
126243         Include <stdbool.h>.
126244         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
126245         __fsetlocking to empty.
126246         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
126247         do include <bits/libc-lock.h>.
126248         Do not include <fcntl.h>; not needed.
126249         [_LIBC]: Include <wchar.h>.
126250         (NOTCANCEL_MODE): New macro.
126251         (flockfile, funlockfile) [_LIBC]: New macros.
126252         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
126253         [!_LIBC]: New macros.
126254         (call_fclose): New function.
126255         (getpass): Use it.  Save tty stream separately; this simplifies the
126256         code and makes it more reliable if stdin happens to equal stdout.
126257         Invoke __fsetlocking on tty.
126258         Handle thread cancellation if needed.
126259         Namespace cleanup (use __tcgetattr, __getline).
126260         Use bool for Booleans.
126261         [USE_IN_LIBIO]: Handle wide streams.
126262         [!_LIBC]: Unconditionally do the fseek, since we don't know what
126263         stream might go where.
126265         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
126266         doesn't have to include <stdio.h> before us.
126267         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
126268         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
126269         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
126270         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
126271         if not declared, so that we can use getpass.c code from libc without
126272         rewriting it.
126273         (flockfile, ftrylockfile, funlockfile): New macros.
126275 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126277         * modules/getpass: Depend on stdbool.
126279 2003-10-08  Paul Eggert  <eggert@twinsun.com>
126281         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
126283 2003-10-07  Karl Berry  <karl@gnu.org>
126285         * config/config.{guess,sub}: update from config.
126287 2003-10-06  Jim Meyering  <jim@meyering.net>
126288             Bruno Haible  <bruno@clisp.org>
126290         This lets translators provide better translations for the
126291         "Written by ..." part of --version output.
126292         * lib/version-etc.h: Include stdarg.h.
126293         (version_etc_copyright): Declare as readonly.
126294         (version_etc): Make this function variadic with a NULL-terminated list
126295         of author name strings.
126296         (version_etc_va): New declaration.
126297         * lib/version-etc.c: Include stdarg.h, stdlib.h.
126298         (version_etc_copyright): Declare as readonly.
126299         (version_etc_va): New function. Provide a different translatable string
126300         for each possible number of authors < 10. Abbreviate when there are 10
126301         authors or more.
126302         (version_etc): Make this function variadic. Call version_etc_va.
126303         Suggestion from Gary V. Vaughan.
126305         * lib/long-options.h (parse_long_options): Change prototype: the
126306         authors string is moved to the end and becomes variadic.
126307         * lib/long-options.c: Include stdarg.h.
126308         (parse_long_options): Make this function variadic, too.
126309         Call version_etc_va, not version_etc.
126311 2003-10-06  Bruno Haible  <bruno@clisp.org>
126313         * modules/version-etc-2: Remove file.
126314         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
126316 2003-10-06  Bruno Haible  <bruno@clisp.org>
126318         * modules/fatal-signal: New file.
126319         * MODULES.html.sh (func_all_modules): Add fatal-signal.
126321 2003-10-06  Bruno Haible  <bruno@clisp.org>
126323         * m4/fatal-signal.m4: New file.
126324         * m4/signalblocking.m4: New file, from GNU gettext.
126326 2003-10-06  Bruno Haible  <bruno@clisp.org>
126328         * lib/version-etc-2.h: Remove file.
126329         * lib/version-etc-2.c: Remove file.
126331 2003-10-06  Bruno Haible  <bruno@clisp.org>
126333         * lib/fatal-signal.h: New file, from GNU gettext.
126334         * lib/fatal-signal.c: New file, from GNU gettext.
126336 2003-10-05  Paul Eggert  <eggert@twinsun.com>
126338         * README: Rework advice for preventing empty .o files.
126339         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
126340         not <sys/types.h>.
126342 2003-10-04  Karl Berry  <karl@gnu.org>
126344         * lib/argp*: update from libc.
126346 2003-10-04  Karl Berry  <karl@gnu.org>
126348         * config/config.{guess,sub}: update from config.
126350 2003-10-02  Bruno Haible  <bruno@clisp.org>
126352         * modules/lchown (Include): Add lchown.h.
126353         * modules/time_r (Include): Use "..." syntax.
126354         * modules/xgetdomainname (Include): Add xgetdomainname.h.
126356 2003-10-01  Simon Josefsson  <jas@extundo.com>
126358         * MODULES.html.sh (func_all_modules): Move gethostname from section
126359         'based on' to section 'lacking' POSIX:2001.
126361 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
126363         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
126364         to output mode on the same stream.
126366 2003-09-29  Paul Eggert  <eggert@twinsun.com>
126368         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
126369         Fix arg typo in previous patch.
126371 2003-09-28  Jim Meyering  <jim@meyering.net>
126373         * lib/error.c: Correct cpp indentation.
126375 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126377         * modules/free: New file.
126379 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126381         * m4/free.m4: New file.
126383 2003-09-27  Paul Eggert  <eggert@twinsun.com>
126385         * lib/minmax.h (MIN, MAX)
126386         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
126387         Omit the special code that used __typeof__, since we worry that
126388         it could be more trouble than it's worth.  See:
126389         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
126390         http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html
126392         * lib/free.c: New file.
126394 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
126396         Trivial fixes to Makefile.am parts of module listings.
126397         * modules/strstr: Append strstr.h to lib_SOURCES.
126398         * modules/strcase: Likewise, for strcase.h.
126400 2003-09-27  Karl Berry  <karl@gnu.org>
126402         * config/mkinstalldirs: update from automake.
126404 2003-09-26  Paul Eggert  <eggert@twinsun.com>
126406         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
126407         (error_tail): Do not loop, reallocating temporary buffer, since
126408         the output cannot contain more wide characters than the input
126409         contains bytes, the size must be big enough already.  This avoids
126410         one potential size overflow calculation.  Check for size overflow
126411         when calculating temporary buffer size.  Free temporary buffer
126412         when done, if it was allocated with malloc; this plugs a memory
126413         leak.  Remove casts from void * to pointers, that are no longer
126414         needed now that we're assuming C89 or better.
126416         Merge error changes from glibc.
126418         * lib/error.c, error.h: Update copyright notice header to match glibc.
126419         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
126420         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
126421         Disable cancellation while printing error.
126422         * lib/error.h: Prepend __ to parameter names.
126424 2003-09-26  Jim Meyering  <jim@meyering.net>
126426         * lib/error.c (error_tail): Move some declarations
126427         into inner scope where the local variables are used.
126429 2003-09-26  Bruno Haible  <bruno@clisp.org>
126431         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
126432         stpncpy().
126433         Don't define stpncpy through config.h; it's now done through stpncpy.h.
126435 2003-09-26  Bruno Haible  <bruno@clisp.org>
126437         * lib/stpncpy.h (gnu_stpncpy): New declaration.
126438         (stpncpy): Define as alias for gnu_stpncpy.
126439         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
126441 2003-09-25  Simon Josefsson  <jas@extundo.com>
126443         * lib/xgetdomainname.h: New file.
126444         * lib/xgetdomainname.c: New file.
126446 2003-09-25  Simon Josefsson  <jas@extundo.com>
126447             Bruno Haible  <bruno@clisp.org>
126449         * modules/getdomainname: New file.
126450         * modules/xgetdomainname: New file.
126451         * MODULES.html.sh (func_all_modules): Add getdomainname,
126452         xgetdomainname.
126454 2003-09-25  Simon Josefsson  <jas@extundo.com>
126455             Bruno Haible  <bruno@clisp.org>
126457         * m4/getdomainname.m4: New file.
126459 2003-09-25  Simon Josefsson  <jas@extundo.com>
126460             Bruno Haible  <bruno@clisp.org>
126462         * lib/getdomainname.h: New file.
126463         * lib/getdomainname.c: New file.
126465 2003-09-25  Karl Berry  <karl@gnu.org>
126467         * lib/argp-fmtstream.c, argp-help.c: update from libc.
126469 2003-09-25  Karl Berry  <karl@gnu.org>
126471         * config/install-sh: update from automake.
126473 2003-09-25  Bruno Haible  <bruno@clisp.org>
126475         * modules/version-etc-2: New file, from modules/version-etc with
126476         modifications.
126477         * MODULES.html.sh (func_all_modules): Add version-etc-2.
126479 2003-09-25  Bruno Haible  <bruno@clisp.org>
126481         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
126482         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
126484 2003-09-24  Simon Josefsson  <jas@extundo.com>
126486         * modules/xgethostname: Add xgethostname.h.
126488 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126490         * lib/linebuffer.c (freebuffer): Don't free the argument, just
126491         the buffer associated with the argument.  Bug reported by
126492         Simon Josefsson.
126494 2003-09-24  Paul Eggert  <eggert@twinsun.com>
126496         * README: Document assumptions that 'int' is at least 32 bits
126497         wide, that integer arithmetic is 2's complement without overflow,
126498         that there are no holes in integer values, that adding sizes of
126499         two nonoverlapping objects can't overflow, and that all-bits-zero
126500         yields scalar zero.  Fix spelling and capitalization typos.
126502 2003-09-19  Karl Berry  <karl@gnu.org>
126504         * lib/argp.h: update from libc.
126506 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126508         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
126509         to avoid spurious warnings like "AC_RUN_IFELSE was called before
126510         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
126512 2003-09-17  Paul Eggert  <eggert@twinsun.com>
126514         * gnulib-tool: Use "test -h", not "test -L", for portability
126515         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
126516         (tags_regexp): Remove, since \| doesn't conform to POSIX.
126517         (sed_extract_prog): Issue s commands one-by-one, rather than
126518         using \| in one s command.
126520 2003-09-16  Paul Eggert  <eggert@twinsun.com>
126522         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
126523         input error, instead of returning NULL the next time we are called
126524         (and therefore losing track of errno).
126526 2003-09-16  Bruno Haible  <bruno@clisp.org>
126528         * gnulib-tool (func_create_testdir): Warn about duplicated
126529         dependencies.
126531 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126533         * modules/argmatch, modules/fatal, modules/obstack,
126534         modules/xalloc, modules/xgethostname: Sort dependencies by
126535         importance, not alphabetically.
126537 2003-09-15  Paul Eggert  <eggert@twinsun.com>
126539         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
126540         fails, so that the caller gets the proper errno.
126542         * lib/readutmp.c (read_utmp): Likewise.
126543         Check for fstat error.  Close stream and free storage
126544         when failing.
126546 2003-09-14  Karl Berry  <karl@gnu.org>
126548         * config/srclist.txt (strdup.c): disable for c89 changes.
126550 2003-09-14  Jim Meyering  <jim@meyering.net>
126552         * lib/getloadavg.c: Correct cpp indentation.
126553         * lib/strdup.c: Likewise.
126554         * lib/vasnprintf.c: Likewise.
126556 2003-09-14  Bruno Haible  <bruno@clisp.org>
126558         * modules/fwriteerror: New file.
126559         * MODULES.html.sh (func_all_modules): Add fwriteerror.
126561 2003-09-14  Bruno Haible  <bruno@clisp.org>
126563         * lib/fwriteerror.h: New file.
126564         * lib/fwriteerror.c: New file.
126566 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126568         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
126569         modules/xgethostname, modules/xalloc: Depend on exit.
126571 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126573         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
126575         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
126576         and AC_MINIX, too, so that their extensions are available.
126578         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
126579         This macro has been superseded by gl_BACKUPFILE.
126581         More patches to assume C89 or better.
126583         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
126585         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
126586         unconditionally.
126587         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
126588         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
126589         Include <string.h>, <stdlib.h> unconditionally.
126590         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
126591         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
126592         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
126593         headers or for string.h.
126594         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
126595         or strtoul.
126597         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
126598         headers.
126599         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
126600         * m4/userspec.m4 (gl_USERSPEC): Likewise.
126601         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
126602         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
126603         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
126604         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
126605         memcpy, memset.
126606         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
126607         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
126608         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
126609         strtol.
126610         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
126611         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
126612         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
126613         strtoul.
126615 2003-09-12  Paul Eggert  <eggert@twinsun.com>
126617         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
126618         * lib/obstack.c [!defined _LIBC]: Likewise.
126619         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
126620         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
126621         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
126623         More changes to assume C89 or better.
126625         * lib/error.c (error_tail): Assume vprintf.
126627         * lib/argmatch.c (getenv): Remove decl.
126628         * lib/progreloc.c (get_full_program_name): Define via prototype.
126629         * lib/setenv.c (clearenv): Likewise.
126630         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
126631         needed.
126632         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
126633         (malloc, memcpy): Remove decls.
126634         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
126635         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
126636         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126637         (memcpy): Remove macro.
126638         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
126639         (__P): Remove.  All uses removed.
126640         (PTR): Remove.  All uses changed to void *.
126641         (CHAR_BIT, NULL): Remove.
126642         (spaces, zeros, memset_space, memset_zero)
126643         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
126644         Remove.
126645         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
126646         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
126647         Define with prototype.
126648         Remove now-unnecessary prototype decl.
126649         (extra_args_spec): Assume ANSI C.  All uses changed.
126650         (extra_args_spec_iso): Remove.
126651         (my_strftime, emacs_strftimeu): Define via prototype.
126652         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
126653         unconditionally.
126654         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
126655         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
126656         (strtoul, strtol): Remove decls.
126657         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
126658         LONG_MAX): Remove.
126659         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
126660         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
126661         (LOCALE_PARAM_PROTO): New macro.
126662         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
126663         (INTERNAL (strtol), strtol): Define with a prototype.
126664         (PARAMS): Remove.  All uses removed.
126665         * lib/tempname.c: Include <string.h> unconditionally.
126666         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
126667         * lib/xgethostname.c (main): Define with a prototype.
126668         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
126669         Include <stdlib.h> unconditionally.
126670         (calloc, malloc, realloc, free): Remove decls.
126671         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
126672         Include <stdlib.h> unconditionally.  Sort include file names.
126673         (strtod): Remove.
126674         (xstrtod): Define with a prototype.
126675         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
126676         (strtol, strtoul): Remove decls.
126678 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126680         More patches to assume C89 or better.
126681         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
126682         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
126683         string.h, memchr, STDC_HEADERS.
126685 2003-09-11  Paul Eggert  <eggert@twinsun.com>
126687         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
126688         Include <stdlib.h>, <string.h> unconditionally.
126689         Remove now-unnecessary cast to char *.
126690         * lib/strnlen.c: Include <string.h> unconditionally.
126691         * lib/yesno.c (yesno): Define with a prototype.
126693 2003-09-11  Bruno Haible  <bruno@clisp.org>
126695         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
126697 2003-09-10  Jim Meyering  <jim@meyering.net>
126699         * lib/error.c: Correct indentation of cpp directives.
126701 2003-09-10  Bruno Haible  <bruno@clisp.org>
126703         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
126704         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
126705         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
126706         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
126707         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
126708         <stdlib.h> and <string.h> checks.
126709         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
126710         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
126712 2003-09-10  Bruno Haible  <bruno@clisp.org>
126714         * lib/strcspn.c: Include <string.h> unconditionally.
126715         * lib/strpbrk.c: Include <string.h> unconditionally.
126716         * lib/strstr.c: Include <string.h> unconditionally.
126717         * lib/unicodeio.c: Include <string.h> unconditionally.
126718         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
126719         * lib/unsetenv.c: Likewise.
126720         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
126721         * lib/yesno.c: Include <stdlib.h> unconditionally.
126722         (rpmatch): Add prototype.
126724 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126726         More patches to assume C89 or better.
126727         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
126728         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
126729         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
126730         or for string.h.
126731         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
126732         stdlib.h.
126733         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
126734         C headers.
126735         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
126736         string.h.
126737         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
126738         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
126739         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
126740         or for string.h.
126741         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
126742         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
126743         C headers.
126744         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
126745         memcpy.
126746         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
126747         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
126748         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
126749         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
126750         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
126751         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
126752         string.h, free.
126753         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
126754         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
126755         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
126756         C headers, or for string.h.
126757         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
126758         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
126759         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
126760         headers, memory.h, stdlib.h, string.h, strings.h.
126761         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
126762         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
126763         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
126764         strchr.
126765         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
126766         headers, memory.h, string.h.
126767         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
126768         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
126769         free.
126770         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
126771         headers.
126772         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
126773         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
126774         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
126775         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
126776         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
126778 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126780         More K&R removal.
126782         * lib/acosl.c (main): Use a prototype.
126783         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
126784         tanl.c: Likewise.
126786         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
126788         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
126789         (getopt, etopt_long, getopt_long_only, _getopt_internal)
126790         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
126791         with a prototype.
126792         * lib/getopt.c (const): Remove macro.
126793         Include <string.h> unconditionally.
126794         (my_index): Remove; all uses changed to strchr.
126795         (strlen): Remove decl.
126796         (exchange): Remove forward decl; no longer needed.
126797         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
126798         Define with prototype.
126799         * lib/getopt1.c (const): Remove macro.
126800         (getopt_long, getopt_long_only, main): Define with prototype.
126802         * lib/getugroups.c: Include <string.h> unconditionally.
126804         * lib/getusershell.c: Include <stdlib.h> unconditionally.
126805         (getusershell, setusershell, endusershell, readname, main):
126806         Define with prototypes.
126808         * lib/group-member.c: Include group-member.h first.
126809         Include <stdlib.h> unconditionally.
126811         * lib/hard-locale.c: Include hard-locale.h first.
126812         Include <stdlib.h>, <string.h> unconditionally.
126814         * lib/hash.c (free, malloc): Remove decls.
126815         Include <stdlib.h> unconditionally.
126817         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
126818         (getenv): Do not declare.
126820         * lib/idcache.c: Include <string.h> unconditionally.
126822         * lib/long-options.c: Include long-options.h first, to test interface.
126823         Include <stdlib.h> unconditionally.
126825         * lib/makepath.c: Include makepath.h first, to test interface.
126826         Include <stdlib.h> and <string.h> unconditionally.
126828         * lib/linebuffer.c: Include <stdlib.h>.
126829         (free): Remove decl.
126831         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
126832         stddef.h. rpl_malloc returns void *, not char *.
126833         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
126834         prototype.
126836         * lib/md5.h: Include <limits.h> unconditionally.
126837         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
126838         (__P): Remove; all uses removed.
126839         * lib/md5.c: Include "md5.h" first.
126840         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
126841         md5_buffer, md5_process_bytes, md5_process_block):
126842         Define with prototypes.
126843         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
126844         * lib/sha.c: Include "sha.h" first.
126845         Include <stdlib.h>, <string.h> unconditionally.
126847         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
126848         * lib/memcmp.c (__ptr_t): Likewise.
126849         * lib/memrchr.c (__ptr_t): Likewise.
126850         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
126851         Include <string.h> unconditionally.
126852         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
126853         * lib/memchr.c: Include <stdlib.h> unconditionally.
126854         * lib/memchr.c (LONG_MAX): Remove.
126855         * lib/memrchr.c (LONG_MAX): Likewise.
126856         * lib/memchr.c (__memchr): Define via a prototype.
126857         * lib/memrchr.c (__memrchr): Likewise.
126858         * lib/memcmp.c (__P): Remove, and remove all uses.
126859         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
126860         Remove forward decls; no longer needed.
126861         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
126862         Use types required by C89 in prototype.
126864         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
126865         * lib/savedir.c: Likewise.
126866         * lib/mkdir.c (free): Remove decl.
126867         * lib/rmdir.c (rmdir): Define with a prototype.
126868         * lib/savedir.c: Include savedir.h first, to test interface.
126870         * lib/mktime.c (STDC_HEADERS): Remove.
126871         Include <stdlib.h>, <string.h> unconditionally.
126873         * lib/modechange.c: Include <stdlib.h> unconditionally.
126874         (malloc): Remove decl.
126876         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
126877         (free): Remove decl.
126879         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
126880         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
126881         (This type really should be intptr_t, but that's a C99ism.)
126882         (_obstack_memcpy): Remove: all uses changed to memcpy.
126883         Include <string.h> unconditionally.
126884         (struct obstack): Assume __STDC__ for types of members
126885         chunkfun, freefun, extra_arg.
126886         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
126887         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
126888         obstack_begin, obstack_specify_allocation,
126889         obstack_specify_allocation_with_arg, obstack_chunkfun,
126890         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
126891         Remove unprototyped decls and the macros that use them.
126892         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
126893         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
126894         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
126895         (defined __STDC__ && __STDC__)]:
126896         Remove nonprototyped code.
126897         Include <stdlib.h> unconditionally.
126898         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
126899         _obstack_allocated_p, _obstack_free, obstack_free,
126900         _obstack_memory_used, print_and_abort):
126901         Define using prototypes.
126902         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
126903         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
126904         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
126905         obstack_next_free, obstack_object_size, obstack_room) [0]:
126906         Remove unused, unprototyped code.
126908         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
126910         * lib/physmem.c (physmem_total, physmem_available, main): Define
126911         with prototypes.
126913         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
126914         (main): Define with a prototype.
126916         * lib/posixver.c (getenv): Remove decl.
126918         * lib/putenv.c (malloc): Returns void *, not char *.
126919         Include <string.h> unconditionally.
126920         (strchr, memcpy, NULL): Do not define.
126922         * lib/readtokens.c: Include readtokens.h first, to test interface.
126923         Include <stdlib.h>, <string.h> unconditionally.
126924         (init_tokenbuffer): Define with a prototype.
126926         * lib/regex.c (PARAMS): Remove.  All uses removed.
126927         All uses of _RE_ARGS removed, too.
126928         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
126929         unconditionally.
126930         (bzero): Assume memset exists.
126931         (memcmp, memcpy, NULL): Remove.
126932         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
126933         char, or assignments to local vars of type signed char.
126934         (init_syntax_once, PREFIX(extract_number_and_incr),
126935         PREFIX(print_partial_compiled_pattern),
126936         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
126937         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
126938         PREFIX(regex_grow_registers), PREFIX(regex_compile),
126939         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
126940         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
126941         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
126942         wcs_compile_range, byte_compile_range, truncate_wchar,
126943         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
126944         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
126945         count_mbs_length, wcs_re_match_2_internal,
126946         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
126947         PREFIX(alt_match_null_string_p),
126948         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
126949         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
126950         regfree, PREFIX(extract_number)): Define with prototype.  Remove
126951         now-unnecessary declaration, if any.
126952         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
126953         regcomp, regexec):
126954         Remove now-unnecessary casts among pointer types.
126955         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
126957         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
126958         (free): Remove decl.
126960         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
126962         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
126963         (free): Remove decl.
126965         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
126966         * lib/xgetcwd.c: Likewise.
126968         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
126969         (free): Remove decl.
126971         * lib/strchrnul.c (strchrnul): Define with a prototype.
126972         Fix bug: c_in was not converted to char before searching.
126974         The following changes are not K&R related:
126976         * lib/group-member.h: Include <sys/types.h>, so that this file is
126977         self-contained.
126978         * lib/makepath.h: Likewise.
126980         * lib/getusershell.c (readname, default_index, line_size, readname):
126981         Use size_t, not int, for sizes.
126982         (readname): If the size overflows, report an error instead of
126983         looping forever.
126985 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126987         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
126988         libc.
126990 2003-09-09  Paul Eggert  <eggert@twinsun.com>
126992         * README: New section: portability guidelines.
126994 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
126996         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
126997         C89 spec.
126999 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
127001         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
127003 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127005         Assume C89 or better; remove K&R cruft.
127006         A few of these changes were first proposed by Derek Robert Price
127007         in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.
127009         * lib/addext.c: Include <string.h> unconditionally.
127010         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
127011         Don't declare getenv or malloc.
127013         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
127014         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
127015         (NULL): Remove.
127016         (find_stack_direction, alloca): Use prototypes.
127018         * lib/atexit.c (atexit): Define using a prototype.
127020         * lib/basename.c, dirname.c, stripslash.c:
127021         Include <string.h> unconditionally.
127023         * lib/bcopy.c: Include <stddef.h>.
127024         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
127026         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
127028         * lib/error.h (error, error_at_line, error_print_progname)
127029         [! (defined (__STDC__) && __STDC__)]: Remove decls.
127030         * lib/error.c: Include error.h first, to check interface.
127031         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127032         (VA_START): Remove; all uses changeed to va_start.
127033         (exit, strerror): Remove decls.
127034         (error_print_progname): Prototype uncondionally.
127035         Don't include <errno.h>; no longer needed.
127036         (private_strerror): Remove.
127037         (error_tail): Always define.
127038         (error, error_at_line): Assume C89 or better; always use prototypes.
127039         * lib/fatal.c: Include "fatal.h" first, to test interface.
127040         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
127041         (VA_START): Remove; all uses changed to va_start.
127042         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
127043         this case.
127044         (exit): Remove decl.
127045         (fatal): Prototype unconditionally.  Assume va_start works.
127046         Abort at end, to pacify gcc.
127048         * lib/euidaccess.c (main): Define with a prototype.
127050         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
127052         * lib/exitfail.c: Include <stdlib.h> unconditionally.
127054         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
127055         prototypes.
127056         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
127057         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
127058         (getenv): Remove decl.
127059         (fnmatch): Define using a prototype.
127060         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
127061         (FCT): Define using a prototype.
127063         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
127065         * lib/gethostname.c: Include <stddef.h>.
127066         (gethostname): Define with prototype.  Length is size_t, not int.
127068 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127070         Assume C89 or better; remove K&R cruft.
127071         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
127072         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
127073         string.h, getenv, malloc.
127074         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
127075         headers.
127076         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
127077         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
127078         do not check for strerror.
127079         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
127080         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
127081         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
127082         do not check for doprnt or vprintf.
127083         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
127084         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
127086 2003-09-08  Paul Eggert  <eggert@twinsun.com>
127088         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
127089         getversion.c should have been removed then, but was accidentally
127090         preserved.
127092         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
127093         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
127095 2003-09-08  Karl Berry  <karl@gnu.org>
127097         * config/config.sub, config.guess, srclistvars.sh: update from savannah
127098                 config, forget about prep.
127100         * config/depcomp, missing: update from automake.
127102 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127104         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
127105         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127107 2003-09-07  Paul Eggert  <eggert@twinsun.com>
127109         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
127110         copy_tm_result.  Bug reported by Simon Josefsson in
127111         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.
127113 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127115         * m4/time_r.m4: New file.
127116         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
127117         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
127118         is. Check for timegm declaration.
127119         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
127120         Do not check for gmtime_r.
127121         Replace mktime if __mktime_internal does not exist and if mktime
127122         hasn't been replaced already.
127124 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127126         * lib/time_r.c, lib/time_r.h: New files.
127128         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
127129         __localtime_r.
127130         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
127131         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
127133         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
127134         __gmtime_r.
127135         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
127136         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
127137         Include <time_r.h>.
127139         * lib/timegm.c: Switch to glibc implementation, with the following
127140         changes:
127141         [defined HAVE_CONFIG_H]: Include <config.h>.
127142         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
127143         (__mktime_internal) [!defined _LIBC]: New decl.
127144         (__gmtime_r) [!defined _LIBC]: New macro and function.
127145         (timegm): Use a prototype, since gnulib assumes C89.
127146         Do not bother declaring tmp to be const, as it's not really usefu.
127147         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
127148         (timegm): Declare only if HAVE_DECL_TIMEGM.
127150 2003-09-06  Paul Eggert  <eggert@twinsun.com>
127152         * MODULES.html.sh (func_all_modules): Add time_r.
127153         * modules/time_r: New file.
127154         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
127155         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
127157 2003-09-03  Paul Eggert  <eggert@twinsun.com>
127159         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
127160         Bug reported by Lute Kamstra in
127161         <http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.
127163         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
127164         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
127165         course with correspondingly smaller numbers for tomorrow and
127166         yesterday.  From Tadayoshi Funaba.  Originally installed into
127167         sh-utils on 1999-08-07, but the patch got lost (I guess during the
127168         coreutils merge?).
127170 2003-08-31  Simon Josefsson  <jas@extundo.com>
127172         * modules/timegm: New file.
127173         * MODULES.html.sh (func_all_modules): Add timegm.
127175 2003-08-31  Simon Josefsson  <jas@extundo.com>
127177         * m4/timegm.m4: New file.
127179 2003-08-31  Simon Josefsson  <jas@extundo.com>
127181         * lib/timegm.h: New file.
127182         * lib/timegm.c: New file.  Based on
127183         wget-1.8.2/src/http.c:mktime_from_utc.
127185 2003-08-31  Karl Berry  <karl@gnu.org>
127187         * lib/argp.h: update from libc.
127189 2003-08-28  Bruno Haible  <bruno@clisp.org>
127191         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
127192         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
127193         followed by '#define fnmatch fnmatch_posix' gives an error.
127195 2003-08-28  Bruno Haible  <bruno@clisp.org>
127197         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
127198         warning on QNX, which defines O_BINARY to 000000.
127200 2003-08-27  Jim Meyering  <jim@meyering.net>
127202         * m4/mkstemp.m4: Require that the system mkstemp be able to create
127203         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
127204         would fail after 32.  Reported by Danny Levinson.  Details here:
127205         http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html
127207 2003-08-24  Bruno Haible  <bruno@clisp.org>
127209         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
127210         MSVC7 <stdio.h> is included later.
127212 2003-08-22  Simon Josefsson  <jas@extundo.com>
127214         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
127216 2003-08-20  Karl Berry  <karl@gnu.org>
127218         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
127220 2003-08-20  Bruno Haible  <bruno@clisp.org>
127222         * modules/progname: New file.
127223         * MODULES.html.sh (func_all_modules): Add progname.
127225 2003-08-20  Bruno Haible  <bruno@clisp.org>
127227         * lib/progname.h: New file, from GNU gettext.
127228         * lib/progname.c: New file, from GNU gettext.
127229         * lib/progreloc.c: New file, from GNU gettext.
127231 2003-08-19  Jim Meyering  <jim@meyering.net>
127233         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
127234         http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html
127236 2003-08-19  Bruno Haible  <bruno@clisp.org>
127238         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
127239         more.
127241 2003-08-19  Bruno Haible  <bruno@clisp.org>
127243         * lib/xstrdup.c: Assume <string.h> exists.
127245 2003-08-18  Paul Eggert  <eggert@twinsun.com>
127247         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
127248         in makefile rules.
127250 2003-08-18  Jim Meyering  <jim@meyering.net>
127252         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
127253         * m4/lib-ld.m4: Likewise.
127255 2003-08-18  Jim Meyering  <jim@meyering.net>
127257         * lib/setenv.h: Indent nested cpp directive.
127258         * lib/vasnprintf.c: Remove trailing blanks.
127260 2003-08-17  Simon Josefsson  <jas@extundo.com>
127262         * modules/xstrndup: New file.
127263         * MODULES.html.sh (func_all_modules): Add xstrndup.
127265 2003-08-17  Simon Josefsson  <jas@extundo.com>
127267         * modules/argp: Fix autoconf macro name. Add more dependencies.
127269 2003-08-17  Simon Josefsson  <jas@extundo.com>
127271         * m4/xstrndup.m4: New file.
127273 2003-08-17  Simon Josefsson  <jas@extundo.com>
127275         * m4/argp.m4: New file.
127277 2003-08-17  Simon Josefsson  <jas@extundo.com>
127278             Bruno Haible  <bruno@clisp.org>
127280         * lib/xstrndup.h: New file.
127281         * lib/xstrndup.c: New file.
127283 2003-08-17  Bruno Haible  <bruno@clisp.org>
127285         * modules/strndup (Files, Include): Add lib/strndup.h.
127287 2003-08-17  Bruno Haible  <bruno@clisp.org>
127289         * modules/euidaccess (Files): Add lib/euidaccess.h.
127291 2003-08-17  Bruno Haible  <bruno@clisp.org>
127293         * lib/strndup.h: New file.
127295 2003-08-17  Bruno Haible  <bruno@clisp.org>
127297         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
127298         like AC_GNU_SOURCE.
127299         * modules/extensions (configure.ac): Comment out the invocation of
127300         gl_USE_SYSTEM_EXTENSIONS.
127302 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127304         Merges from coreutils, etc.
127305         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
127306         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
127307         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
127308         fixing a typo.
127309         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
127310         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
127312 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127314         Document merge from coreutils.
127315         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
127316         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
127317         * modules/utime: Add m4/utimes-null.m4.
127319 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127321         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
127322         space, undoing this 2003-08-12 change:
127323         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127325 2003-08-16  Paul Eggert  <eggert@twinsun.com>
127327         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
127328         strtoul.c from libc, undoing this 2003-08-12 change:
127329         <http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>
127331 2003-08-16  Jim Meyering  <jim@meyering.net>
127333         Merges from coreutils.
127334         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
127335         prefix.  Adjust cache variables similarly.  Create 500 rather than
127336         just 300 files, to exercise bug on Darwin6.5, too.
127337         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
127338         $missing_dir.
127339         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
127340         AM_SYS_POSIX_TERMIOS.
127341         Reported by mkc@mathdogs.com.
127342         Also change use of $am_cv_sys_posix_termios
127343         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
127344         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
127345         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
127346         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
127347         in /proc/mounts until it finds one with matching device number.  This
127348         is unnecessary when the FILE argument *is* a mount point.  No stat call
127349         is necessary in that case.  So, disable the statvfs-testing code on
127350         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
127351         as RedHat bug# 84846.
127352         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127353         to 1MB, so as not to render systems with no stack size limit (e.g.,
127354         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127355         Include <unistd.h>.  On some systems,
127356         it is required for the definition of _SC_PAGESIZE.
127358 2003-08-16  Jim Meyering  <jim@meyering.net>
127360         Merge from coreutils.
127361         * lib/xstrtoimax.c: #else #if -> #elif.
127362         * lib/xstrtoumax.c: Likewise.
127364 2003-08-16  Jim Meyering  <jim@meyering.net>
127366         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
127367         * m4/utimes.m4: Removed.
127368         * m4/utimes-null.m4: Renamed from utimes.m4.
127370         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
127371         to 1MB, so as not to render systems with no stack size limit (e.g.,
127372         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
127373         Include <unistd.h>.  On some systems,
127374         it is required for the definition of _SC_PAGESIZE.
127376 2003-08-16  Jim Meyering  <jim@meyering.net>
127377         and Paul Eggert  <eggert@cs.ucla.edu>
127379         Merges from coreutils, etc.
127381         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
127382         using the latest version from cvs.  This avoids problems with #line
127383         directives using a vendor (Sun) compiler.
127384         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
127385         Don't set GETGROUPS_LIB here; now it's
127386         done via getgroups.m4's wrapper function.
127387         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
127388         rather than just in sh-util/configure.in, so that the
127389         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
127390         same.
127391         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
127392         AC_FUNC_GETLOADAVG where to find getloadavg.c.
127393         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
127394         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
127395         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
127396         Remove code that is now done by the newly-required macros.
127397         Append $(EXEEXT) to DF_PROG.
127398         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
127399         Do not invoke or require the following here,
127400         since prereq.m4 or some gnulib .m4 now does this for us:
127401         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
127402         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
127403         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
127404         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
127405         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
127406         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
127407         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
127408         AC_FUNC_OBSTACK.
127409         Do not replace the following functions, as this is now the job
127410         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
127411         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
127412         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
127413         atexit getpass, strdup, getpagesize.
127414         Replace 'raise'.
127415         Do not check for the following functions, as this is now the job
127416         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
127417         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
127418         setregid.
127419         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
127420         Check for sys/sysctl.h.
127421         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
127422         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
127423         of checking for ssize_t ourselves.
127425         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
127426         Require every macro that gnulib/modules/* suggests for us.
127427         (jm_PREREQ_ADDEXT): New macro.
127428         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
127429         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
127431         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
127432         (gl_PHYSMEM): Use it.
127433         Also check for `table' function.
127434         Check for new headers and functions.
127435         Add check for sys/sysmp.h.
127436         With suggestions from Kaveh Ghazi.
127437         Ignore headers that are present but cannot be compiled.  This
127438         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
127439         C 5.4.
127441 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127443         Document merge from coreutils.
127444         * modules/userspec: Depend on posixver.
127445         * modules/strftime: Depend on tzset.
127447 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127449         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
127450         rather than tab, after '#' in shell-script copyright notices.
127451         Suggested by Bruno Haible.
127453 2003-08-15  Paul Eggert  <eggert@twinsun.com>
127455         * config/srclist-update: Use three spaces, rather than tab, after '#'
127456         in shell-script copyright notices.  Suggested by Bruno Haible.
127457         Remove unnecessary parenthesization in regular expression.
127459 2003-08-15  Jim Meyering  <jim@meyering.net>
127461         Merge from coreutils.
127462         * lib/xgethostname.c: Include <stdlib.h>.
127463         (xghostname): Don't exit for anything other than memory-related
127464         failure; just return NULL.
127465         * lib/userspec.c: Include "posixver.h".
127466         (parse_user_spec): Accept `.' as a separator only
127467         in pre-POSIX-200112 mode.
127468         * lib/strtoimax.c: Use #elif rather than #else #if.
127469         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
127470         Remove function, now that we can rely on a working tzset function.
127471         [!_LIBC]: Ensure that the required autoconf test has been run.
127472         [!defined _NL_CURRENT && HAVE_STRFTIME]:
127473         Use underlying_strftime for %r.
127474         * lib/sha.c: Merge in some clean-up and optimization changes from
127475         glibc.
127476         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
127477         Ensure that it is a multiple of 64.
127478         Rearrange loop exit tests so as to avoid performing an
127479         additional fread after encountering an error or EOF.
127480         * lib/realloc.c: Update copyright date.
127482 2003-08-15  Jim Meyering  <jim@meyering.net>
127483         and Paul Eggert  <eggert@twinsun.com>
127485         Merge from coreutils.
127486         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
127487         member but strut utmpx does not.  Needed for AIX 4.3.3.
127488         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
127490 2003-08-15  Jim Meyering  <jim@meyering.net>
127491         and Paul Eggert  <eggert@cs.ucla.edu>
127493         Merges from coreutils, etc.
127494         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
127495         Require gl_FUNC_TZSET_CLOBBER.
127496         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
127497         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
127498         members.
127500 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127502         Help the merge from coreutils.
127503         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
127504         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
127505         * m4/tzset.m4: Use it too.
127507 2003-08-14  Paul Eggert  <eggert@twinsun.com>
127509         * modules/tzset: New file.
127511 2003-08-14  Jim Meyering  <jim@meyering.net>
127513         Merges from coreutils.
127514         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
127515         variable names, rather than @FNMATCH_H@.
127516         * modules/alloca: Likewise for $(ALLOCA_H).
127518         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
127519         the three copies of the literal target, `fnmatch.h'.
127520         * modules/alloca (alloca.h): Likewise.
127522 2003-08-14  Jim Meyering  <jim@meyering.net>
127524         Merge from coreutils.
127525         * m4/tzset.m4: New file.
127526         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
127527         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
127528         otherwise, AIX 5.1 systems would end up using the latter.
127529         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
127530         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
127531         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
127532         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
127534 2003-08-14  Jim Meyering  <jim@meyering.net>
127536         Merge from coreutils.
127537         * lib/obstack.h: Whitespace changes.
127538         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
127539         and xcalloc return values.
127540         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
127541         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
127542         hang on OSF/1 5.1 for DIR on both local and remote file systems.
127543         Reported by (and fix confirmed by) Nelson H. F. Beebe.
127544         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
127545         error from mntctl.
127546         Use mntctl's return value to drive the entry-processing loop, since
127547         we can't rely on the value of the vmt_length member in the last
127548         entry.  On some systems doing so could result in exhausting
127549         virtual memory.  Based in part on a patch from Mike Jetzer.
127551 2003-08-14  Jim Meyering  <jim@meyering.net>
127552         and Paul Eggert  <eggert@twinsun.com>
127554         Merges from coreutils, plus other fixes.
127555         * lib/physmem.c: Merge in portability changes from gcc/libiberty
127556         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
127557         for credits and details.  Thanks to Kaveh Ghazi for helping
127558         to keep these files in sync.
127559         (ARRAY_SIZE): Define it.
127560         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
127561         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
127562         (memcasecmp): Don't assume size_t fits in unsigned int.
127563         Remove casts and duplicate code.
127564         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
127565         (memcpy): Remove definition.
127566         Merge in some clean-up and optimization changes from glibc.
127567         [BLOCKSIZE]: Move definition to top of file.
127568         Ensure that it is a multiple of 64.
127569         Rearrange loop exit tests so as to avoid performing an
127570         additional fread after encountering an error or EOF.
127571         * lib/md5.h (md5_uintptr): Define.
127572         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
127573         return to the initial working directory.  Preserve errno
127574         for caller.
127575         * lib/idcache.c: Include "xalloc.h".
127576         (xmalloc, xrealloc): Remove decls.
127577         (getuser): Remove casts no longer required in C89.
127578         * lib/human.c: Include stdio.h, for sprintf.
127579         * lib/group-member.c: Include "xalloc.h".
127580         (xmalloc, xrealloc): Remove decls.
127581         (get_group_info): Remove casts no longer required in C89.
127582         * lib/getusershell.c (readname): Remove casts no longer required in
127583         C89.
127584         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
127585         * lib/getline.c: Whitespace fix, from coreutils.
127587 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127589         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
127590         Check for isascii.
127592         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127593         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127594         Undo previous (whitespace-only) change.
127596 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127598         * lib/exclude.c: Include <ctype.h>
127599         (IN_CTYPE_DOMAIN): New macro.
127600         (is_space): New fn.
127601         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
127602         and empty lines.
127604         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127605         Undo previous (whitespace-only) change.
127607 2003-08-13  Paul Eggert  <eggert@twinsun.com>
127609         * config/srclist-update: Change update back to the old behavior,
127610         leaving whitespace alone.  Use one 'sed' command rather than a
127611         pipeline.
127612         (fixlicense): Now a variable, not a function.
127613         (remove_trailing_blanks): Remove.
127614         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
127615         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127616         Undo previous (whitespace-only) change.
127618 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127620         Merge from coreutils.
127621         * modules/euidaccess: Add lib_SOURCES, include for new
127622         file euidaccess.h
127624 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127626         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
127627         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
127628         Normalize leading white space and remove trailing white space.
127630         Merge from coreutils
127631         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
127633         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
127634         0.12.1.  These files are now being upgraded automatically by
127635         ../config/srclist-update.
127637 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127639         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
127640         Normalize leading white space and remove trailing white space.
127641         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
127642         notice, as per ../config/srclist-update.
127644         Merge from coreutils.
127645         * lib/euidaccess.h: New file.
127646         * lib/euidaccess.c: Include it.
127647         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
127648         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
127649         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
127651 2003-08-12  Paul Eggert  <eggert@twinsun.com>
127653         * config/srclist-update: Add copyright notice.
127654         (remove_id_lines, remove_trailing_blanks): New constants.
127655         (fixfile): Use them to normalize spacing a bit in copied files.
127656         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
127657         Normalize leading white space and remove trailing white space.
127659         * config/texinfo.tex: Sync with texinfo.
127661         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
127662         strtoul.c from libc, to merge coreutils whitespace changes.
127664         * config/srclist.txt: Get the following m4 files from gettext:
127665         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
127666         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
127667         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
127668         wint_t.m4.
127670 2003-08-12  Karl Berry  <karl@gnu.org>
127672         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
127673         been made.
127675 2003-08-11  Paul Eggert  <eggert@twinsun.com>
127677         * modules/gnu-source, m4/gnu-source.m4:
127678         Remove; we're assuming Autoconf 2.54 or later now.
127679         Suggested by Bruno Haible.
127680         * MODULES.html.sh (func_all_modules): Remove gnu-source.
127682 2003-08-11  Bruno Haible  <bruno@clisp.org>
127684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
127686 2003-08-11  Bruno Haible  <bruno@clisp.org>
127688         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
127689         (vasnprintf): Use it instead of wcslen.
127691 2003-08-11  Bruno Haible  <bruno@clisp.org>
127693         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
127694         value to ensure that _Bool promotes to int. Use #define for _Bool when
127695         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
127697 2003-08-10  Karl Berry  <karl@gnu.org>
127699         * lib/regex.h: update from libc (whitespace fix).
127701 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127703         Merge some files from coreutils.  These changes were
127704         originally made by Jim Meyering.
127705         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
127706         many older Unixes require this.
127707         * lib/alloca.c (alloca): Remove cast to argument of free;
127708         no longer needed in C89.
127709         * lib/alloca_.h, regex.h: Fix white space to match
127710         what GNU indent does.
127712 2003-08-09  Paul Eggert  <eggert@twinsun.com>
127714         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
127715         apparently Emacs's Unicode mode got confused before my 2003-08-05
127716         checkin.
127718 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127720         * m4/extensions.m4: New file.
127721         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
127722         Require gl_USE_SYSTEM_EXTENSIONS.
127723         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
127724         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
127726 2003-08-08  Paul Eggert  <eggert@twinsun.com>
127728         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
127729         * modules/extensions, modules/gnu-source: New files.
127730         * modules/timespec, modules/unlocked-io: Depend on extensions.
127732 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127734         * modules/restrict: New file.
127735         * MODULES.html.sh (func_all_modules): Add restrict.
127736         * modules/regex: Depend on restrict.
127738 2003-08-07  Paul Eggert  <eggert@twinsun.com>
127740         * m4/restrict.m4: New file.
127741         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
127743 2003-08-07  Bruno Haible  <bruno@clisp.org>
127745         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
127746         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
127748 2003-08-07  Bruno Haible  <bruno@clisp.org>
127750         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
127751         makes the module 'getndelim2' compatible with the module 'getline'.
127753 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127755         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
127756         byte with "\201" to avoid glitches when editing that source file
127757         with multi-gnome-terminal.
127759 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127761         * lib/bumpalloc.h: Remove.
127763 2003-08-05  Paul Eggert  <eggert@twinsun.com>
127765         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
127766         * modules/bumpalloc: Remove.
127768 2003-08-04  Paul Eggert  <eggert@twinsun.com>
127770         * lib/getloadavg.c: Change copyright notice and spacing to conform to
127771         GNU coding style.
127773         Merge from coreutils.
127774         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
127775         1. From glibc.
127776         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
127777         from Karl Berry, implemented by Jim Meyering.
127778         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
127779         from Dmitry V. Levin.
127780         Remove anachronistic cast of xrealloc.
127781         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
127782         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
127783         type. Otherwise, it wouldn't compile with at least /bin/cc on
127784         ymp-cray-unicos9.0.2.X.
127785         Combine two mostly-identical uses of alloca into one.
127786         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
127788 2003-08-04  Dave Love  <d.love@dl.ac.uk>
127790         [From Emacs.]
127792         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
127793         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
127794         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
127795         obsolete NLIST_NAME_UNION.
127796         [__GNU__]: Undef BSD and FSCALE.
127797         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
127799 2003-08-03  Paul Eggert  <eggert@twinsun.com>
127801         * lib/stdbool_.h (_Bool): Make it signed char, instead of
127802         an enum type, so that it's guaranteed to promote to int.  See:
127803         <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>
127805 2003-08-03  Karl Berry  <karl@gnu.org>
127807         * config/depcomp: update from automake.
127809 2003-07-31  Paul Eggert  <eggert@twinsun.com>
127811         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
127812         (strerror): Don't assume that a printable int fits in 14 bytes.
127814 2003-07-31  Bruno Haible  <bruno@clisp.org>
127816         * modules/getpass-gnu: New file.
127817         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
127819 2003-07-31  Bruno Haible  <bruno@clisp.org>
127821         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
127823 2003-07-24  Karl Berry  <karl@gnu.org>
127825         * config/missing: update from automake.
127827 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
127828             Bruno Haible  <bruno@clisp.org>
127830         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
127831         * lib/getline.c (getline, getdelim): Likewise.
127832         Remove _GNU_SOURCE define; now it's defined in config.h through
127833         m4/getline.m4.
127835 2003-07-23  Karl Berry  <karl@gnu.org>
127837         * config/config.sub: update from prep.
127839 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127841         * modules/xalloc (Depends-on): Add exitfail.
127842         * modules/xmemcoll: Likewise.
127844 2003-07-22  Paul Eggert  <eggert@twinsun.com>
127846         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
127847         over-parenthesization in macros.
127849         Sync with coreutils.
127851         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
127852         required by C99.
127854         Use `exit_failure' for xalloc and xmemcoll instead of their own
127855         private exit-failure variables.
127856         * lib/xalloc.h (xalloc_exit_failure): Remove.
127857         * lib/xmalloc.c: Likewise.  Include exitfail.h.
127858         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
127859         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
127860         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
127861         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
127863 2003-07-20  Jim Meyering  <jim@meyering.net>
127865         * modules/closeout (Depends-on): Add exitfail.
127866         Suggestion from Bruno Haible.
127868 2003-07-19  Karl Berry  <karl@gnu.org>
127870         * config/config.sub: update from prep.
127872 2003-07-18  Paul Eggert  <eggert@twinsun.com>
127874         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
127875         Remove.
127876         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
127877         to test that it can stand by itself.  Include "exitfail.h".
127878         Clients should set exit_failure instead.
127879         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
127881 2003-07-18  Bruno Haible  <bruno@clisp.org>
127883         * modules/getndelim2: New file.
127884         * modules/getline: Share files with module getndelim2.
127885         * modules/getnline: Depend on getndelim2 instead of sharing files with
127886         it. Add getnline.c to lib_SOURCES.
127887         * MODULES.html.sh (func_all_modules): Add getndelim2.
127889 2003-07-18  Bruno Haible  <bruno@clisp.org>
127891         * m4/getndelim2.m4: New file.
127892         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
127893         invoke gl_PREREQ_GETNDELIM2.
127894         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
127895         gl_PREREQ_GETNDELIM2.
127896         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
127897         gl_GETNDELIM2.
127899 2003-07-18  Bruno Haible  <bruno@clisp.org>
127901         * lib/getndelim2.h: New file.
127902         * lib/getndelim2.c: Make into a module of its own. Include config.h,
127903         getndelim2.h.
127904         (getndelim2): Make non-static. Change return type to ssize_t.
127905         * lib/getline.h: Change argument names.
127906         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
127907         * lib/getnline.c: Include getndelim2.h.
127909 2003-07-18  Andreas Schwab  <schwab@suse.de>
127911         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
127913 2003-07-17  Karl Berry  <karl@gnu.org>
127915         * config/config.sub: update from prep.
127917 2003-07-17  Bruno Haible  <bruno@clisp.org>
127919         * modules/getnline: New file.
127920         * modules/getline: Add lib/getndelim2.c to source file list.
127921         * MODULES.html.sh (func_all_modules): Add getnline.
127923 2003-07-17  Bruno Haible  <bruno@clisp.org>
127925         * m4/getnline.m4: New file.
127927 2003-07-17  Bruno Haible  <bruno@clisp.org>
127929         * m4/Makefile.am.in: Remove file.
127930         * m4/Makefile.am: Remove file.
127931         * m4/Makefile.in: Remove file.
127933 2003-07-17  Bruno Haible  <bruno@clisp.org>
127935         * lib/getnline.h: New file.
127936         * lib/getnline.c: New file.
127937         * lib/getndelim2.c: New file, extracted from getline.c.
127938         (getndelim2): Renamed from getdelim2, with added nmax argument.
127939         * lib/getline.c: Include getndelim2.c.
127940         (getdelim2): Moved out to getndelim2.c.
127941         (getline, getdelim): Update.
127943 2003-07-17  Bruno Haible  <bruno@clisp.org>
127945         * lib/Makefile.am: Remove file.
127946         * lib/Makefile.in: Remove file.
127948 2003-07-17  Bruno Haible  <bruno@clisp.org>
127950         * configure.in: Remove file.
127951         * Makefile.in: Remove file.
127953 2003-07-17  Bruno Haible  <bruno@clisp.org>
127955         * MODULES.html.sh: Put the </BODY> right before </HTML>.
127957 2003-07-16  Karl Berry  <karl@gnu.org>
127959         * config/srclist-update: was running fixlicense twice, which caused
127960                 texinfo.tex to be nullified for some reason.  Simplify,
127961                 $gplsrc is no longer needed as far as I can see?
127963 2003-07-16  Jim Meyering  <jim@meyering.net>
127965         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
127967 2003-07-15  Paul Eggert  <eggert@twinsun.com>
127969         * config/srclist.txt: Get the following files from gettext-runtime/intl
127970         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
127971         ref-del.sin.  From Bruno Haible.
127972         * config/srclist-update (fixfile): Change grep pattern again, since the
127973         previous fix didn't work (there was another trailing $).  Use
127974         '[$]' to escape the $s.
127976 2003-07-15  Karl Berry  <karl@gnu.org>
127978         * lib/vasnprintf.c: update from gettext.
127980 2003-07-15  Karl Berry  <karl@gnu.org>
127982         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
127983         gets expanded when surrounded by '$'.
127985 2003-07-15  Jim Meyering  <jim@meyering.net>
127987         * modules/save-cwd: Don't depend on error.  From Derek Price.
127989 2003-07-15  Jim Meyering  <jim@meyering.net>
127991         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
127993 2003-07-14  Simon Josefsson  <jas@extundo.com>
127995         * modules/mempcpy: New file.
127996         * MODULES.html.sh (func_all_modules): Add mempcpy.
127998 2003-07-14  Simon Josefsson  <jas@extundo.com>
128000         * m4/mempcpy.m4: New file.
128002 2003-07-14  Simon Josefsson  <jas@extundo.com>
128004         * lib/mempcpy.h: New file.
128005         * lib/mempcpy.c: New file.
128007 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128009         * modules/getdate, modules/posixtm: Depend on mktime.
128011 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128013         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
128014         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
128015         unicodeio.c, unicodeio.h, unlocked-io.h:
128016         Switch from LGPL to GPL.
128018 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128020         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
128021         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
128022         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
128023         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
128024         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
128025         updated automatically by ../config/srclist-update.  This changes
128026         their license from LPGL to GPL.
128028 2003-07-14  Paul Eggert  <eggert@twinsun.com>
128030         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
128031         assumed to refer to the root of the most recent stable gettext version.
128032         * config/srclistvars.sh: Add defaults for eggert.
128033         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
128034         Match "This program" as well as "The program".  This is needed
128035         for gettext.
128037 2003-07-14  Jim Meyering  <jim@meyering.net>
128039         Don't emit diagnostics.  Let callers do that.
128040         * lib/save-cwd.c: Don't include "error.h".
128041         (save_cwd): Don't call error.  Ensure that errno is valid
128042         when returning nonzero.
128044         * lib/save-cwd.h (restore_cwd): Update prototype.
128045         * lib/save-cwd.c (restore_cwd): Remove two parameters.
128046         Simplify.  Don't call error upon failure.  Let callers do that.
128047         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
128048         when auditing is enabled.  But don't bother updating the #if.
128050 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
128052         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
128053         it breaks C++ compilation.
128054         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
128056 2003-07-10  Simon Josefsson  <jas@extundo.com>
128058         * modules/strchrnul (Makefile.am): Add strchrnul.h.
128060 2003-07-10  Jim Meyering  <jim@meyering.net>
128062         * m4/clock_time.m4: Remove trailing blank.
128063         * m4/intmax_t.m4: Likewise.
128065 2003-07-10  Jim Meyering  <jim@meyering.net>
128067         * lib/vasnprintf.c: Remove trailing blanks.
128068         Make cpp indentation consistent.
128070 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128072         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
128073         posixver.c, strftime.c, strnlen.c, strverscmp.c:
128074         Switch from LGPL to GPL.
128076 2003-07-09  Paul Eggert  <eggert@twinsun.com>
128078         * config/srclist.txt: Sort sublists.  Add
128079         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
128080         that differ from gnulib for one reason or another; we'd like this list
128081         to be smaller but for now let's document what we have.
128083 2003-07-08  Paul Eggert  <eggert@twinsun.com>
128085         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
128086         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
128087         and sweeter "eval x=$x".
128088         * config/srclist.txt: Get lib/argp* from glibc.
128090 2003-07-07  Paul Eggert  <eggert@twinsun.com>
128092         * lib/mktime.c: Fix some boundary cases and remove need for floating
128093         point.
128095         Issue a compile-time diagnostic if time_t is floating point, or if
128096         two's complement arithmetic is not in effect, or if arithmetic
128097         right shift does not propagate the sign.  These assumptions were
128098         all in the original code but they weren't checked.
128100         (TIME_T_MIDPOINT, verify): New macros.
128101         (__isleap): Remove; it has integer overflow problems.
128102         (leapyear): New function, without those problems.
128103         (ydhms_tm_diff): Remove; splitting into two parts.
128104         (ydhms_diff): New function, containing the arithmetic part of
128105         the old ydhms_tm_diff function.  Issue a compile-time
128106         diagnostic if we are not using C99 integer division.
128107         Avoid casts when possible.
128108         (guess_time_tm): New function, containing the checking part of
128109         the old ydhms_tm_diff function.  Return the new value, rather than
128110         the difference between it and the old.  Accept a new argument T
128111         so that *T specifies the old value.  Check for overflow in the result.
128113         (__mktime_internal): Use a time_t offset, not a long int offset.
128114         This undoes the 2003-06-04 change, which is no longer needed now
128115         that we have better overflow checking.
128116         (localtime_offset): Likewise.
128118         (__mktime_internal): Avoid harmful overflow on hosts where time_t
128119         and long are 64-bit but int is only 32-bit.
128120         (ydhms_diff): Use long int to store year1 and yday1.
128121         Issue a compile-time diagnostic if long int is not wide enough.
128123         (__mktime_internal): Use long int to store adjusted year and yday.
128124         Use plain C rather than preprocessor commands, if that doesn't
128125         affect efficiency.
128126         Check for overflow (and try to repair) after each probe
128127         rather than checking only at the very end.  This avoids some bugs
128128         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
128129         does not equal GMT offset at maximum time).
128130         Use integer to check for overflow rather than floating point; this
128131         is more portable to non-IEEE hosts, and is a tad faster.
128132         When we detect that we are oscillating between two values,
128133         don't check whether tm_isdst has the requested value, since
128134         we already know the answer.  When tm_isdst has the wrong value,
128135         use a different heuristic to find the right one, based on the
128136         extreme values actually observed in practice in tz2003a,
128137         rather than the (overly optimistic) "previous 3 calendar quarters".
128139         (not_equal_tm, print_tm, check_result): Use "const T" rather than
128140         "T const" to accommodate glibc style.
128141         (check_result): Use less-confusing report format.  "long" -> "long int.
128142         (main): Likewise.
128143         Don't loop if the iteration overflows time_t.
128144         Allow a negative step in the iteration.
128146 2003-07-06  Karl Berry  <karl@gnu.org>
128148         * config/depcomp: update from automake.
128149         * config/config.sub: update from prep.
128151 2003-07-03  Karl Berry  <karl@gnu.org>
128153         * config/config.guess: update from prep.
128155 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128157         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
128158         xreadlink.c now includes it unconditionally.
128160 2003-07-01  Paul Eggert  <eggert@twinsun.com>
128162         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
128163         having it depend on HAVE_SYS_TYPES_H.
128165 2003-07-01  Bruno Haible  <bruno@clisp.org>
128167         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
128168         <sys/types.h> should be sufficient.
128169         Reported by Paul Eggert.
128171 2003-06-26  Karl Berry  <karl@gnu.org>
128173         * config/depcomp: update from automake.
128175 2003-06-26  Bruno Haible  <bruno@clisp.org>
128177         * modules/human: Depend on module stdbool.
128179 2003-06-25  Bruno Haible  <bruno@clisp.org>
128181         * modules/readlink: New file.
128182         * modules/xreadlink: Depend on it.
128183         * MODULES.html.sh (func_all_modules): Add readlink.
128185 2003-06-25  Bruno Haible  <bruno@clisp.org>
128187         * m4/readlink.m4: New file.
128189 2003-06-25  Bruno Haible  <bruno@clisp.org>
128191         * lib/readlink.c: New file.
128193 2003-06-22  Karl Berry  <karl@gnu.org>
128195         * config/srclist.txt: update mkinstalldirs from automake.
128196         * config/mkinstalldirs: update.
128198 2003-06-22  Bruno Haible  <bruno@clisp.org>
128200         Portability to mingw32.
128201         * m4/ssize_t.m4: New file, from GNU gettext.
128202         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
128203         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
128205 2003-06-22  Bruno Haible  <bruno@clisp.org>
128207         * modules/safe-read: Add m4/ssize_t.m4.
128208         * modules/xreadlink: Add m4/ssize_t.m4.
128210 2003-06-20  Bruno Haible  <bruno@clisp.org>
128212         Assume C89, so PARAMS isn't needed.
128213         * lib/unicodeio.h (PARAMS): Remove.
128214         * lib/unicodeio.c: Don't use PARAMS.
128216 2003-06-18  Karl Berry  <karl@gnu.org>
128218         * config/config.{guess,sub}: update from prep.
128220 2003-06-18  Jim Meyering  <jim@meyering.net>
128222         Merge changes from coreutils.
128223         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
128224         Remove explicit declarations of xmalloc and realloc.
128225         Include xalloc.h.
128226         (read_utmp): Remove anachronistic cast of xmalloc.
128228 2003-06-17  Paul Eggert  <eggert@twinsun.com>
128230         Assume C89, so PARAMS isn't needed.
128231         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
128232         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
128233         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
128234         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
128235         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
128236         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
128237         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
128238         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
128239         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
128240         lib/xstrtod.h, lib/xstrtol.h: Likewise.
128241         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
128242         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
128243         no longer needed. Anyway, config.h should always be included before any
128244         other file.
128246 2003-06-11  Simon Josefsson  <jas@extundo.com>
128248         * modules/sysexits: New file.
128249         * MODULES.html.sh (func_all_modules): Add sysexits.
128251 2003-06-11  Simon Josefsson  <jas@extundo.com>
128253         * lib/sysexit_.h: New file.
128255 2003-06-11  Derek Price  <derek@ximbiot.com>
128257         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
128258         necessary.
128260 2003-06-11  Bruno Haible  <bruno@clisp.org>
128262         * m4/sysexits.m4: New file.
128264 2003-06-10  Simon Josefsson  <jas@extundo.com>
128266         * lib/argp.h: New file, from glibc.
128267         * lib/argp-ba.c: New file, from glibc.
128268         * lib/argp-eexst.c: New file, from glibc.
128269         * lib/argp-fmtstream.c: New file, from glibc.
128270         * lib/argp-fmtstream.h: New file, from glibc.
128271         * lib/argp-fs-xinl.c: New file, from glibc.
128272         * lib/argp-help.c: New file, from glibc.
128273         * lib/argp-namefrob.h: New file, from glibc.
128274         * lib/argp-parse.c: New file, from glibc.
128275         * lib/argp-pv.c: New file, from glibc.
128276         * lib/argp-pvh.c: New file, from glibc.
128277         * lib/argp-xinl.c: New file, from glibc.
128279 2003-06-10  Simon Josefsson  <jas@extundo.com>
128281         * modules/strchrnul: New file.
128283 2003-06-10  Simon Josefsson  <jas@extundo.com>
128285         * modules/argp: New file.
128287 2003-06-10  Simon Josefsson  <jas@extundo.com>
128289         * m4/strchrnul.m4: New file.
128291 2003-06-10  Simon Josefsson  <jas@extundo.com>
128293         * lib/strchrnul.h: New file.
128294         * lib/strchrnul.c: New file.
128296 2003-06-10  Bruno Haible  <bruno@clisp.org>
128298         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
128300 2003-06-07  Karl Berry  <karl@gnu.org>
128302         * config/config.{guess,sub}: update from prep.
128304 2003-06-07  Jim Meyering  <jim@meyering.net>
128306         * modules/strtod: Use $(...) notation, not @...@ for
128307         AC_REPLACE'd variables.
128308         * modules/localcharset: Likewise.
128310 2003-06-07  Jim Meyering  <jim@meyering.net>
128312         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
128313         in place of my name in the copyright comment.
128314         Remove definition and uses of __P.
128316         From coreutils.
128317         * lib/stat.c: Don't declare xmalloc explicitly.
128318         Instead, include "xalloc.h".
128319         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
128320         xrealloc, and xcalloc return values.
128321         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
128322         Improve comment.
128323         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
128325 2003-06-07  Bruno Haible  <bruno@clisp.org>
128327         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
128328         avoid AC_CONFIG_LINKS.
128329         * modules/fnmatch (Makefile.am): Use explicit creation rule for
128330         fnmatch.h, to avoid AC_CONFIG_LINKS.
128331         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
128333 2003-06-07  Bruno Haible  <bruno@clisp.org>
128335         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
128336         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
128337         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128338         directory.
128339         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
128340         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
128341         directory.
128343 2003-06-06  Jim Meyering  <jim@meyering.net>
128345         Merge from coreutils.
128346         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
128347         Consolidate declarations and initializations of *_base* locals.
128349         Merge from coreutils.
128350         This avoids a core dump on systems without GNU putenv,
128351         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
128352         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
128353         (unsetenv): New static function, from GNU libc.
128354         (rpl_putenv): Use it.
128356         * lib/modechange.c: Remove trailing blanks.
128358         Merge from coreutils.
128359         * lib/fsusage.c: Remove declaration of statfs.
128360         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
128362         * lib/posixtm.c: Include <stdbool.h> unconditionally.
128364 2003-06-06  Jim Meyering  <jim@meyering.net>
128366         * lib/stdbool_.h: Renamed from stdbool.h.in.
128368 2003-06-06  Jim Meyering  <jim@meyering.net>
128369             Bruno Haible  <bruno@clisp.org>
128371         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
128372         Adjust Makefile.am snippet not to redirect directly to target.
128373         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
128375 2003-06-05  Paul Eggert  <eggert@twinsun.com>
128377         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
128378         mismatch, look in future quarters as well as past.  This fixes a
128379         bug when processing fall-backwards gaps immediately after a long
128380         period of daylight-saving time.
128382         * lib/mktime.c: Assume freestanding C89 or better.
128383         (HAVE_LIMITS_H): Remove.  Assume it's 1.
128384         (__P): Remove; not used.
128385         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
128386         (mktime, not_equal_tm, print_tm, check_result,
128387         main): Use prototypes.  Use const * where appropriate.
128388         (main): Fix typo in testing code that uncovered by above changes.
128389         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
128391 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128393         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
128394         locale.h, localeconv.  This merges changes from coreutils.
128396         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
128397         It can be removed after the next Autoconf is released.
128398         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
128399         needed.
128401 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128403         * lib/mktime.c: Fix Debian bug 177940
128404         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
128405         (localtime_offset): Now long int, not time_t, because we want it
128406         to be guaranteed to be signed.  All uses changed.
128407         (__mktime_internal): If overflow would occur when adding offset,
128408         don't add it.
128410         Merge 'human' changes from coreutils.  Rewrite to support
128411         locale-specific notations like thousands separators.
128412         * lib/human.c: Simplify authorship notice.
128413         Include human.h immediately after config.h.
128414         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
128415         <limits.h>: Do not include, since human.h does.
128416         (SIZE_MAX, UINTMAX_MAX): New macros.
128417         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
128418         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
128419         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
128420         (power_letter): Renamed from suffixes.
128421         (generate_suffix_backwards): Remove.
128422         (adjust_value): Now takes int style (because of human.h changes)
128423         and long double value (for greater precision on some platforms).
128424         (group_number): New function.
128425         (human_readable): Use it.  Use integer options, not enum.
128426         Put the options before the sizes in the arg list.
128427         Support all the new options.
128428         The old human_readable function has been removed;
128429         use inttostr.h instead.
128430         (human_readable, default_block_size, humblock):
128431         Use uintmax_t, not int, for block sizes.
128432         (human_readable_inexact, block_size_types): Remove.
128433         (block_size_opts): New constant.
128434         (human_options): Renamed from human_block_size, with new signature
128435         that allows block sizes up to UINTMAX_MAX.  All callers changed.
128436         * lib/human.h: Add copyright and authorship notice.
128437         Include <limits.h> and <stdbool.h> unconditionally.
128438         (PARAMS): Remove.  All uses removed.
128439         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
128440         (enum human_inexact_style): Remove tag; now a nameless enum.
128441         (human_floor, human_ceiling, human_round_to_even): Now have
128442         values 2, 0, 1 rather than -1, 1, 0.
128443         (human_group_digits, human_suppress_point_zero, human_autoscale,
128444         human_base_1024, human_SI, human_B): New constants.
128445         (human_readable_inexact, human_block_size): Remove.
128446         (human_readable): Size args are now uintmax_t, not int.
128447         (human_options): New decl.
128449         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
128450         unnecessary now that we assume C89 or better.  This change
128451         imported from coreutils.
128453         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128454         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
128455         in the 2003-05-30 sync from glibc.
128457         .h files should stand alone, but we shouldn't include <sys/types.h>
128458         if we can get away with just <stddef.h>.
128460         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
128461         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
128462         rather than <sys/types.h>, as we merely need size_t.
128463         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
128464         to get size_t.
128465         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
128466         Include <stdio.h>, to get FILE.
128467         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
128468         memcasecmp.h has included <stddef.h> and all we need is size_t.
128469         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
128470         our interface, instead of including <sys/types.h>
128472 2003-06-04  Paul Eggert  <eggert@twinsun.com>
128474         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
128475         now, as glibc mktime is buggy on non-glibc systems.
128477 2003-06-03  Karl Berry  <karl@gnu.org>
128479         * config/config.sub: update from prep.
128481 2003-06-02  Paul Eggert  <eggert@twinsun.com>
128483         [from coreutils]
128484         Fix some minor time-related bugs with POSIX time arguments.
128485         Some valid time stamps were being rejected (notably -1, and
128486         time stamps before 1900 on 64-bit hosts).  And some invalid
128487         time stamps were being accepted, e.g. September 31.
128489         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
128490         that we can return (time_t) -1 successfully.
128491         * lib/posixtm.c: Likewise.
128492         [HAVE_STDBOOL_H]: Include <stdbool.h>.
128493         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
128494         (t): Remove static var.
128495         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
128496         of static var.  All uses changed.
128497         (year): Do not reject years before 1900; they can occur with
128498         64-bit time_t.
128499         (posix_time_parse): Do not check for out-of-range components;
128500         that is now the caller's responsibility, since our checks were
128501         only approximations.
128502         (posixtime): Use mktime to check for out-of-range components,
128503         since it knows them exactly.
128504         If mktime returns (time_t) -1, check whether an error actually occurred
128505         by invoking localtime on -1.
128506         (main) [TEST_POSIXTIME]: Check for input data errors, and report
128507         posixtime failures better.
128508         Improve the test data (in comments only).
128510 2003-06-02  Karl Berry  <karl@gnu.org>
128512         * config/mkinstalldirs (version): new variable.
128513         (--version): new option.
128514         (usage): improve message.
128516 2003-05-30  Karl Berry  <karl@gnu.org>
128518         * lib/mktime.c: update from libc.
128520 2003-05-30  Bruno Haible  <bruno@clisp.org>
128522         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
128523         * config/config.rpath: Upgrade to gettext-0.12.1.
128525 2003-05-30  Bruno Haible  <bruno@clisp.org>
128527         * m4/gettext.m4: Upgrade to gettext-0.12.1.
128528         * m4/nls.m4: New file, from gettext-0.12.1.
128529         * m4/po.m4: New file, from gettext-0.12.1.
128530         * m4/progtest.m4: Upgrade to gettext-0.12.1.
128532 2003-05-30  Bruno Haible  <bruno@clisp.org>
128534         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
128535         * lib/localcharset.h: Likewise.
128536         * lib/localcharset.c: Likewise.
128538 2003-05-29  Karl Berry  <karl@gnu.org>
128540         * config/config.rpath: update from gettext.
128542 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128544         Assume the headers required for C89 freestanding compilers.
128545         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
128546         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
128547         * m4/human.m4 (gl_HUMAN): Likewise.
128548         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
128549         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
128550         * m4/userspec.m4 (gl_USERSPEC): Likewise.
128551         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
128552         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
128553         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
128555 2003-05-28  Paul Eggert  <eggert@twinsun.com>
128557         Assume the headers required for C89 freestanding compilers.
128558         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
128559         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
128560         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
128561         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
128562         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
128563         define, since <limits.h> is guaranteed to do that.
128564         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
128565         * lib/exclude.c: Include <stdbool.h> unconditionally.
128566         * lib/tempname.c: Include <stddef.h> unconditionally.
128567         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
128568         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
128569         <stddef.h> does that.
128570         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
128571         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
128572         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
128573         needed.
128574         * lib/xstrtol.c: Likewise.
128575         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
128576         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
128578         * lib/addext.c (addext): Use assignment rather than cast, to avoid
128579         warnings on some platforms.
128581         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
128582         arbitrarily.
128584 2003-05-26  Jim Meyering  <jim@meyering.net>
128586         Merge in a change from coreutils:
128587         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
128588         that is guaranteed to be `no'.  Use `no_such_member' to indicate
128589         that condition, rather than `-1' which is slightly misleading.
128590         Change the name of the cache variable to have the gl_ prefix.
128591         Prompted by a patch from Richard Dawe for DJGPP.
128593 2003-05-24  Karl Berry  <karl@gnu.org>
128595         * config/config.guess: update from prep.
128597 2003-05-22  Karl Berry  <karl@gnu.org>
128599         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
128601 2003-05-20  Karl Berry  <karl@gnu.org>
128603         * config/config.guess: update from prep.
128605 2003-05-18  Karl Berry  <karl@gnu.org>
128607         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
128608         might actually be set by the user.
128610         * config/depcomp, install-sh, mdate-sh: update from automake.
128612 2003-05-17  Bruno Haible  <bruno@clisp.org>
128614         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
128615         invalid expansion for AC_EGREP_CPP.
128616         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
128617         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
128618         Suggested by Akim Demaille <akim@epita.fr> in
128619         http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html
128621 2003-05-12  Jim Meyering  <jim@meyering.net>
128623         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
128624         the space-padded-by-default conversion specifiers, %e, %k, %l.
128626 2003-05-12  Bruno Haible  <bruno@clisp.org>
128628         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
128629         the string is longer than 4 KB.
128631 2003-05-11  Karl Berry  <karl@gnu.org>
128633         * config/config.{guess,sub}: update from prep.
128635 2003-05-09  Bruno Haible  <bruno@clisp.org>
128637         * modules/error: Add m4/strerror_r.m4 to file list.
128639 2003-05-03  Bruno Haible  <bruno@clisp.org>
128641         Upgrade to Unicode-4.0.
128642         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
128643         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
128644         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
128645         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
128646         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
128647         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
128648         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
128649         Change width of U+E0100..U+E01EF from 1 to 0.
128651 2003-04-25  Jim Meyering  <jim@meyering.net>
128653         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
128654         of type size_t, not int.
128656 2003-04-25  Bruno Haible  <bruno@clisp.org>
128658         * lib/copy-file.c: Include <stddef.h>, for size_t.
128660 2003-04-21  Paul Eggert  <eggert@twinsun.com>
128662         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
128663         code which expansion is under static control.  Patch imported from
128664         Akim Demaille's patch to Bison; see
128665         <http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.
128667 2003-04-14  Bruno Haible  <bruno@clisp.org>
128669         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
128671 2003-04-11  Jim Meyering  <jim@meyering.net>
128673         Merge changes from Coreutils.
128675         2003-03-22  Jim Meyering  <jim@meyering.net>
128677         * lib/strftime.c (widen): Cast alloca return value to proper type.
128679         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
128681         From GNU libc.
128682         * lib/strftime.c (my_strftime): Handle very large width
128683         specifications for numeric values correctly.  Improve checks for
128684         overflow.
128686         2003-01-19  Jim Meyering  <jim@meyering.net>
128688         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
128689         definitions.
128690         (nl_get_alt_digit) [! defined my_strftime]: Define.
128691         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
128692         _nl_get_alt_digit and _nl_get_walt_digit.
128694         * lib/strftime.c (my_strftime): Merge in locale-related changes from
128695         libc. These changes have no effect outside of _LIBC.
128697 2003-04-10  Bruno Haible  <bruno@clisp.org>
128699         * modules/findprog: New file.
128700         * MODULES.html.sh (func_all_modules): Add it.
128702 2003-04-10  Bruno Haible  <bruno@clisp.org>
128704         * m4/findprog.m4: New file.
128705         * m4/eaccess.m4: New file.
128707 2003-04-10  Bruno Haible  <bruno@clisp.org>
128709         * lib/findprog.h: New file, from GNU gettext.
128710         * lib/findprog.c: New file, from GNU gettext.
128712 2003-04-05  Jim Meyering  <jim@meyering.net>
128714         Merge changes from Coreutils.
128716         * lib/exclude.h (PARAMS): Remove definition and uses.
128717         * lib/exclude.c: Remove uses of `PARAMS'.
128719         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
128720         Add test-cases for DOS filenames. Declare program_name.
128721         (main): Set up program_name.  Patch by Rich Dawe.
128723         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
128724         error from mntctl.
128725         Use mntctl's return value to drive the entry-processing loop, since
128726         we can't rely on the value of the vmt_length member in the last
128727         entry.  On some systems doing so could result in exhausting
128728         virtual memory.  Based in part on a patch from Mike Jetzer.
128730 2003-04-04  Bruno Haible  <bruno@clisp.org>
128732         * modules/linebreak: New file.
128733         * MODULES.html.sh (func_all_modules): Add it.
128735 2003-04-04  Bruno Haible  <bruno@clisp.org>
128737         * m4/linebreak.m4: New file.
128739 2003-04-04  Bruno Haible  <bruno@clisp.org>
128741         * lib/linebreak.h: New file, from GNU gettext.
128742         * lib/linebreak.c: New file, from GNU gettext with slight
128743         modifications.
128744         * lib/lbrkprop.h: New file, from GNU gettext.
128746 2003-04-03  Bruno Haible  <bruno@clisp.org>
128748         * modules/utf8-ucs4: New file.
128749         * modules/utf16-ucs4: New file.
128750         * modules/ucs4-utf8: New file.
128751         * modules/ucs4-utf16: New file.
128752         * MODULES.html.sh (func_all_modules): Add them.
128754 2003-04-03  Bruno Haible  <bruno@clisp.org>
128756         * m4/utf-ucs4.m4: New file.
128757         * m4/ucs4-utf.m4: New file.
128759 2003-04-03  Bruno Haible  <bruno@clisp.org>
128761         * lib/utf8-ucs4.h: New file, from GNU gettext.
128762         * lib/utf16-ucs4.h: New file, from GNU gettext.
128763         * lib/ucs4-utf8.h: New file, from GNU gettext.
128764         * lib/ucs4-utf16.h: New file, from GNU gettext.
128766 2003-04-02  Bruno Haible  <bruno@clisp.org>
128768         * modules/binary-io: New file.
128769         * MODULES.html.sh (func_all_modules): Add it.
128771 2003-04-02  Bruno Haible  <bruno@clisp.org>
128773         * lib/binary-io.h: New file, from GNU gettext.
128775 2003-04-01  Bruno Haible  <bruno@clisp.org>
128777         * modules/pathname: New file.
128778         * MODULES.html.sh (func_all_modules): Add it.
128780 2003-04-01  Bruno Haible  <bruno@clisp.org>
128782         * lib/pathname.h: New file, from GNU gettext.
128783         * lib/concatpath.c: New file, from GNU gettext.
128785 2003-03-30  Bruno Haible  <bruno@clisp.org>
128787         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
128789 2003-03-30  Bruno Haible  <bruno@clisp.org>
128791         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
128792         function chown() doesn't exist.
128794 2003-03-28  Bruno Haible  <bruno@clisp.org>
128796         * modules/copy-file: New file.
128797         * MODULES.html.sh (func_all_modules): Add it.
128799 2003-03-28  Bruno Haible  <bruno@clisp.org>
128801         * m4/copy-file.m4: New file.
128803 2003-03-28  Bruno Haible  <bruno@clisp.org>
128805         * lib/copy-file.h: New file, from GNU gettext.
128806         * lib/copy-file.c: New file, from GNU gettext.
128808 2003-03-18  Jim Meyering  <jim@meyering.net>
128810         * lib/quote.c (quote_n): Fix typo in comment.
128812 2003-03-18  Bruno Haible  <bruno@clisp.org>
128814         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
128815         checking.
128816         * m4/onceonly_2_57.m4: Likewise.
128818 2003-03-17  Bruno Haible  <bruno@clisp.org>
128820         * m4/onceonly.m4: Require autoconf 2.54 or newer.
128821         (m4_quote): Remove macro.
128822         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
128824 2003-03-14  Jim Meyering  <jim@meyering.net>
128826         Merge changes from Coreutils.
128827         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
128828         to be const, in order to avoid warnings.
128829         (obstack_room): Likewise.
128830         (obstack_empty_p): Likewise.
128832 2003-03-14  Bruno Haible  <bruno@clisp.org>
128834         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
128835         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
128837 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128839         Merge changes from Bison.
128840         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
128841         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
128842         when compiling Bison 1.875's `bitset bset = obstack_alloc
128843         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
128844         * lib/hash.c: Include <stdbool.h> unconditionally.
128846 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128848         * m4/onceonly.m4 (m4_quote): New macro.
128849         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
128850         Quote AC_FOREACH variable-expansions properly.
128852 2003-03-13  Paul Eggert  <eggert@twinsun.com>
128854         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
128856 2003-03-09  Paul Eggert  <eggert@twinsun.com>
128858         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
128859         Reported by Bruce Becker; see:
128860         http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html
128862 2003-03-03  Paul Eggert  <eggert@twinsun.com>
128863             Bruno Haible  <bruno@clisp.org>
128865         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
128866         Reported by John Hughes, see
128867         http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html
128869 2003-02-20  Bruno Haible  <bruno@clisp.org>
128871         * MODULES.html.sh (func_all_modules): Add poll.
128873 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128875         * modules/poll: New file.
128877 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128879         * lib/poll_.h: New file.
128880         * lib/poll.c: New file.
128882 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
128884         * m4/poll.m4: New file.
128886 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128888         * modules/mathl: New file.
128890 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128892         * lib/mathl.h: New file.
128893         * lib/acosl.c: New file.
128894         * lib/asinl.c: New file.
128895         * lib/atanl.c: New file.
128896         * lib/ceill.c: New file.
128897         * lib/cosl.c: New file.
128898         * lib/expl.c: New file.
128899         * lib/floorl.c: New file.
128900         * lib/frexpl.c: New file.
128901         * lib/ldexpl.c: New file.
128902         * lib/logl.c: New file.
128903         * lib/sincosl.c: New file.
128904         * lib/sinl.c: New file.
128905         * lib/sqrtl.c: New file.
128906         * lib/tanl.c: New file.
128907         * lib/trigl.c: New file.
128908         * lib/trigl.h: New file.
128910 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
128912         * m4/mathl.m4: New file.
128914 2003-02-18  Bruno Haible  <bruno@clisp.org>
128916         * MODULES.html.sh (func_all_modules): Add mathl.
128918 2003-02-17  Bruno Haible  <bruno@clisp.org>
128920         * modules/mkdtemp: New module.
128921         * MODULES.html.sh (func_all_modules): Add it.
128923 2003-02-17  Bruno Haible  <bruno@clisp.org>
128925         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
128927 2003-02-17  Bruno Haible  <bruno@clisp.org>
128929         * lib/mkdtemp.h: New file, from GNU gettext.
128930         * lib/mkdtemp.c: New file, from GNU gettext.
128932 2003-02-02  Jim Meyering  <jim@meyering.net>
128934         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
128935         e.g. glibc-2.2.93.
128937 2003-01-31  Bruno Haible  <bruno@clisp.org>
128939         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
128940         'rpl_rename'.
128941         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
128942         'rpl_strnlen'.
128943         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
128944         'rpl_strtod'.
128945         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
128946         'rpl_utime'.
128948 2003-01-31  Bruno Haible  <bruno@clisp.org>
128950         * lib/rename.c: #undef rename before defining rpl_rename.
128951         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
128953 2003-01-30  Bruno Haible  <bruno@clisp.org>
128955         * modules/vasnprintf, modules/vasprintf: New modules.
128956         * MODULES.html.sh (func_all_modules): Add them.
128958 2003-01-30  Bruno Haible  <bruno@clisp.org>
128960         * m4/signed.m4: New file, from GNU gettext.
128961         * m4/longdouble.m4: New file, from GNU gettext.
128962         * m4/wchar_t.m4: New file, from GNU gettext.
128963         * m4/wint_t.m4: New file, from GNU gettext.
128964         * m4/vasnprintf.m4: New file.
128965         * m4/vasprintf.m4: New file.
128967 2003-01-30  Bruno Haible  <bruno@clisp.org>
128969         * lib/printf-args.h: New file, from GNU gettext.
128970         * lib/printf-args.c: New file, from GNU gettext.
128971         * lib/printf-parse.h: New file, from GNU gettext.
128972         * lib/printf-parse.c: New file, from GNU gettext.
128973         * lib/vasnprintf.h: New file, from GNU gettext.
128974         * lib/vasnprintf.c: New file, from GNU gettext.
128975         * lib/asnprintf.c: New file, from GNU gettext.
128976         * lib/vasprintf.h: New file, from GNU gettext with modifications.
128977         * lib/vasprintf.c: New file, from GNU gettext.
128978         * lib/asprintf.c: New file, from GNU gettext.
128980 2003-01-29  Bruno Haible  <bruno@clisp.org>
128982         * modules/stpncpy: New module.
128983         * MODULES.html.sh (func_all_modules): Add it.
128985 2003-01-29  Bruno Haible  <bruno@clisp.org>
128987         * m4/stpncpy.m4: New file.
128989 2003-01-29  Bruno Haible  <bruno@clisp.org>
128991         * lib/stpncpy.h: New file, from GNU gettext with modifications.
128992         * lib/stpncpy.c: New file, from GNU gettext with modifications.
128994 2003-01-28  Bruno Haible  <bruno@clisp.org>
128996         * modules/c-ctype: New module.
128997         * MODULES.html.sh (func_all_modules): Add it.
128999 2003-01-28  Bruno Haible  <bruno@clisp.org>
129001         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
129002         Paul Eggert.
129003         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
129004         Paul Eggert.
129006 2003-01-27  Bruno Haible  <bruno@clisp.org>
129008         * modules/xsetenv: New module.
129009         * MODULES.html.sh (func_all_modules): Add it.
129011 2003-01-27  Bruno Haible  <bruno@clisp.org>
129013         * lib/xsetenv.h: New file, from GNU gettext.
129014         * lib/xsetenv.c: New file, from GNU gettext.
129016 2003-01-23  Jim Meyering  <jim@meyering.net>
129018         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
129019         from working on systems without dirfd (at least Irix and OSF1/Tru64).
129021 2003-01-23  Bruno Haible  <bruno@clisp.org>
129023         * modules/minmax: New module.
129024         * MODULES.html.sh (func_all_modules): Add it.
129026 2003-01-23  Bruno Haible  <bruno@clisp.org>
129028         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
129029         Eggert.
129031 2003-01-22  Bruno Haible  <bruno@clisp.org>
129033         * modules/exit: New module.
129034         * MODULES.html.sh (func_all_modules): Add it.
129036 2003-01-22  Bruno Haible  <bruno@clisp.org>
129038         * lib/exit.h: New file, from GNU gettext.
129040 2003-01-19  Bruno Haible  <bruno@clisp.org>
129042         * gnulib-tool: Recognize option --extract-maintainer.
129043         (func_get_maintainer): New function.
129044         * modules/*: Add Maintainer entry.
129046 2003-01-16  Jim Meyering  <jim@meyering.net>
129048         * m4/regex.m4: The `regex' struct is both input and output.
129049         Initialize it before each use.  Patch by Tim Waugh.
129051 2003-01-16  Bruno Haible  <bruno@clisp.org>
129053         * MODULES.html.sh: Add a table of contents. Add the module name as
129054         leftmost column. Add hyperlinks.
129056 2003-01-15  Bruno Haible  <bruno@clisp.org>
129058         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
129060 2003-01-15  Bruno Haible  <bruno@clisp.org>
129062         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
129063         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
129064         suffix.
129066 2003-01-15  Bruno Haible  <bruno@clisp.org>
129068         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
129070 2003-01-15  Bruno Haible  <bruno@clisp.org>
129072         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
129073         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
129075 2003-01-14  Jim Meyering  <jim@meyering.net>
129077         * lib/same.c (same_name): Tweak a comment.
129079 2003-01-14  Bruno Haible  <bruno@clisp.org>
129081         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
129082         when a string comparison is sufficient.
129084 2003-01-14  Bruno Haible  <bruno@clisp.org>
129086         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
129087         'unsigned int'.
129089 2003-01-14  Bruno Haible  <bruno@clisp.org>
129091         * lib/hash-pjw.c: Add comment about low quality of this function.
129093 2003-01-13  Bruno Haible  <bruno@clisp.org>
129095         * modules/stpcpy: Distribute lib/stpcpy.h.
129096         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
129098 2003-01-13  Bruno Haible  <bruno@clisp.org>
129100         * modules/*: Add a description.
129101         * modules/strpbrk: Fix Makefile.am snippet.
129102         * modules/strtoimax: Fix dependencies.
129103         * modules/strtoumax: Likewise.
129105 2003-01-13  Bruno Haible  <bruno@clisp.org>
129107         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
129108         * modules/alloca (Makefile.am): All object files depend on alloca.h.
129109         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
129111 2003-01-13  Bruno Haible  <bruno@clisp.org>
129113         * gnulib-tool (func_create_testdir): Store config/* files in the main
129114         directory.
129115         * config.rpath: Move to ...
129116         * config/config.rpath: ... here.
129117         * modules/gettext: Contains config/config.rpath, not config.rpath.
129118         * modules/iconv: Likewise.
129120 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129122         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129123         to avoid collisions with libcurses and libreadline.
129125         * m4/getstr.m4: Remove.
129126         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
129128 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129130         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129131         to avoid collisions with libcurses and libreadline.
129133         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
129134         * lib/getstr.h, getstr.c: Remove.
129135         * lib/getline.c: Include "getline.h", to check interface.
129136         Move body of old getstr.c here: this defines MIN_CHUNK and
129137         declares getdelim2, which is renamed from getstr.
129138         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
129140         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
129141         All uses changed.
129142         * lib/linebuffer.h: Likewise.
129143         (readline): Remove backward-compatibility macro.
129145 2003-01-12  Paul Eggert  <eggert@twinsun.com>
129147         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
129148         to avoid collisions with libcurses and libreadline.
129149         * getstr: Remove.
129150         * MODULES.html.sh: Remove getstr.
129151         * modules/getline: Depend on unlocked-io, not getstr.
129153 2003-01-12  Jim Meyering  <jim@meyering.net>
129155         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
129157 2003-01-10  Bruno Haible  <bruno@clisp.org>
129159         * modules/alloca: Change Makefile.am requirements. Simplify Include
129160         requirements. Add lib/alloca_.h to file list.
129162 2003-01-10  Bruno Haible  <bruno@clisp.org>
129164         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
129166 2003-01-10  Bruno Haible  <bruno@clisp.org>
129168         * lib/alloca_.h: New file.
129169         * lib/getdate.y: Unconditionally include alloca.h.
129170         * lib/makepath.c: Likewise.
129171         * lib/setenv.c: Likewise.
129172         * lib/userspec.c: Likewise.
129174 2003-01-09  Karl Berry  <karl@gnu.org>
129176         * MODULES.html.sh: include `dirname $0` in PATH, to find
129177         gnulib-tool.
129179 2003-01-09  Bruno Haible  <bruno@clisp.org>
129181         * modules/stdbool: Change configure.ac, Makefile.am requirements.
129182         Simplify Include requirements. Add lib/stdbool.h.in to file list.
129184 2003-01-09  Bruno Haible  <bruno@clisp.org>
129186         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
129188 2003-01-09  Bruno Haible  <bruno@clisp.org>
129190         * lib/stdbool.h.in: New file.
129192 2003-01-09  Bruno Haible  <bruno@clisp.org>
129194         * gnulib-tool (func_all_modules): Ignore files ending in ~.
129195         * MODULES.html.sh: Likewise.
129197 2003-01-08  Jim Meyering  <jim@meyering.net>
129199         * lib/full-write.c: Undefine and define-away `const' after inclusion
129200         of errno.h, not before.  Suggestion from Bruno Haible.
129202 2003-01-08  Bruno Haible  <bruno@clisp.org>
129204         * modules/full-read: Depend on full-write.
129206 2003-01-08  Bruno Haible  <bruno@clisp.org>
129208         * lib/safe-read.c: Include specification header first, to ensure its
129209         selfcontainedness.
129210         * lib/full-write.c: Likewise.
129212 2003-01-07  Jim Meyering  <jim@meyering.net>
129214         * lib/full-write.c: Rework so that it may serve to define full_read,
129215         too.
129216         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
129218 2003-01-07  Bruno Haible  <bruno@clisp.org>
129220         * lib/strtoimax.c: Include <stdint.h> as an alternative to
129221         <inttypes.h>.
129222         * lib/xstrtol.h: Likewise.
129223         * lib/xstrtoimax.c: Likewise.
129224         * lib/xstrtoumax.c: Likewise.
129225         * lib/human.h: Likewise.
129227         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
129228         on systems that have <inttypes.h> but not <stdint.h>.
129230 2003-01-07  Bruno Haible  <bruno@clisp.org>
129232         * MODULES.html.sh: Add copyright notice.
129233         (missed_files): Omit CVS directory entries.
129234         (func_module): Make it work with sed-3.02.
129235         * MODULES.txt: Remove file.
129237 2003-01-06  Jim Meyering  <jim@meyering.net>
129239         * lib/version-etc.c: Update year in translatable copyright string.
129241 2003-01-03  Karl Berry  <karl@gnu.org>
129243         * config/config.{guess,sub}: update from prep.
129245 2003-01-02  Karl Berry  <karl@gnu.org>
129247         * doc/COPYING.DOC: belatedly updated to 1.2.
129249 2003-01-01  Karl Berry  <karl@gnu.org>
129251         * gnulib-tool (func_verify_module): report module name $module in
129252         error message, not $1.
129253         * gnulib-tool (create-testdir): don't complain if destdir couldn't
129254         be created, only if it doesn't exist.
129255         * gnulib-tool (last_checkin_date): don't expand the $Date here.
129257 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129259         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
129261 2002-12-31  Paul Eggert  <eggert@twinsun.com>
129263         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
129264         memcmp if strcoll doesn't work.
129266 2002-12-31  Bruno Haible  <bruno@clisp.org>
129268         * lib/utime.c (utime_null): No need to call ftruncate if the file was
129269         nonempty.
129271 2002-12-31  Bruno Haible  <bruno@clisp.org>
129273         * lib/memcoll.c (STRCOLL): New macro.
129274         (memcoll): Use it.
129276 2002-12-31  Bruno Haible  <bruno@clisp.org>
129278         * lib/localcharset.h: New file.
129279         * lib/localcharset.c: Include it.
129280         * lib/unicodeio.c: Likewise.
129282 2002-12-31  Bruno Haible  <bruno@clisp.org>
129284         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
129285         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
129287 2002-12-31  Bruno Haible  <bruno@clisp.org>
129289         * lib/getline.h: Include <stddef.h>, for size_t.
129291         * lib/unicodeio.h: Include <stddef.h>, for size_t.
129292         * lib/unicodeio.c: Don't include <stddef.h>.
129294 2002-12-31  Bruno Haible  <bruno@clisp.org>
129296         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
129297         HAVE_TM_ZONE.
129299 2002-12-24  Karl Berry  <karl@gnu.org>
129301         * config/config.guess: update from prep.
129303 2002-12-24  Bruno Haible  <bruno@clisp.org>
129305         General infrasructure.
129306         * m4/README: Rewritten.
129307         * m4/onceonly.m4: New file.
129308         * m4/onceonly_2_57.m4: New file.
129310         Module atexit.
129311         * m4/atexit.m4: New file.
129313         Module strtod.
129314         * m4/strtod.m4: New file.
129316         Module strtol.
129317         * m4/strtol.m4: New file.
129319         Module strtoul.
129320         * m4/strtoul.m4: New file.
129322         Module memchr.
129323         * m4/memchr.m4: New file.
129325         Module memcmp.
129326         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
129327         (jm_FUNC_MEMCMP): Invoke it.
129329         Module memcpy.
129330         * m4/memcpy.m4: New file.
129332         Module memmove.
129333         * m4/memmove.m4: New file.
129335         Module memset.
129336         * m4/memset.m4: New file.
129338         Module strcspn.
129339         * m4/strcspn.m4: New file.
129341         Module strpbrk.
129342         * m4/strpbrk.m4: New file.
129344         Module strstr.
129345         * m4/strstr.m4: New file.
129347         Module strerror.
129348         * m4/strerror.m4: New file.
129350         Module mktime.
129351         * m4/mktime.m4: Renamed from jm-mktime.m4.
129352         (gl_PREREQ_MKTIME): New macro.
129353         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
129355         Module malloc.
129356         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
129357         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
129358         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
129360         Module realloc.
129361         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
129362         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
129363         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
129365         Module strftime.
129366         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
129367         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
129368         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
129369         gl_TM_GMTOFF.
129370         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
129372         Module xalloc.
129373         * m4/xalloc.m4: New file.
129375         Module alloca.
129376         * m4/alloca.m4: New file.
129378         Module putenv.
129379         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
129380         (jm_FUNC_PUTENV): Invoke it.
129382         Module setenv.
129383         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
129384         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
129385         when invoked twice.
129386         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
129387         gt_FUNC_SETENV.
129389         Module memrchr.
129390         * m4/memrchr.m4: New file.
129392         Module stpcpy.
129393         * m4/stpcpy.m4: New file.
129395         Module strcase.
129396         * m4/strcase.m4: New file.
129398         Module strdup.
129399         * m4/strdup.m4: New file.
129401         Module strnlen.
129402         * m4/strnlen.m4: New file.
129404         Module strndup.
129405         * m4/strndup.m4: New file.
129407         Module xstrtod.
129408         * m4/xstrtod.m4: New file.
129410         Module xstrtol.
129411         * m4/xstrtol.m4: New file.
129413         Module getdate.
129414         * m4/getdate.m4: New file.
129416         Module unlocked-io.
129417         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
129418         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
129419         * m4/jm-glibc-io.m4n: Remove file.
129421         Module long-options.
129422         * m4/long-options.m4: New file.
129424         Module md5.
129425         * m4/md5.m4: New file.
129427         Module sha.
129428         * m4/sha.m4: New file.
129430         Module getstr.
129431         * m4/getstr.m4: New file.
129433         Module getline.
129434         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
129435         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
129436         <sys/types.h>, for size_t. Use the function name gnu_getline, not
129437         simply getline. Infoke gl_PREREQ_GETLINE.
129439         Module obstack.
129440         * m4/obstack.m4: New file.
129442         Module hash.
129443         * m4/hash.m4: New file.
129445         Module readtokens.
129446         * m4/readtokens.m4: New file.
129448         Module strverscmp.
129449         * m4/strverscmp.m4: New file.
129451         Module stdbool.
129452         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
129453         OSF/1.
129455         Module strtoll.
129456         * m4/strtoll.m4: New file.
129458         Module strtoull.
129459         * m4/strtoull.m4: New file.
129461         Module strtoimax.
129462         * m4/strtoimax.m4: New file.
129464         Module strtoumax.
129465         * m4/strtoumax.m4: New file.
129467         Module xstrtoimax.
129468         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
129469         jm_AC_PREREQ_XSTRTOIMAX.
129470         Moved the strtol prerequisites to strtol.m4.
129471         Moved the strtoll prerequisites to strtoll.m4.
129472         Moved the strtoimax prerequisites to strtoimax.m4.
129474         Module xstrtoumax.
129475         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
129476         jm_AC_PREREQ_XSTRTOUMAX.
129477         Moved the strtoul prerequisites to strtoul.m4.
129478         Moved the strtoull prerequisites to strtoull.m4.
129479         Moved the strtoumax prerequisites to strtoumax.m4.
129481         Module chown.
129482         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
129483         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
129485         Module dup2.
129486         * m4/dup2.m4: New file.
129488         Module ftruncate.
129489         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
129490         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
129492         Module getgroups.
129493         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
129494         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
129496         Module gettimeofday.
129497         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
129498         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
129499         gl_PREREQ_GETTIMEOFDAY.
129501         Module mkdir.
129502         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
129503         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
129505         Module mkstemp.
129506         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
129507         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
129508         jm_AC_TYPE_UINTMAX_T.
129509         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
129511         Module stat.
129512         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
129513         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
129515         Module lstat.
129516         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
129517         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
129519         Module timespec.
129520         * m4/timespec.m4 (gl_TIMESPEC): New macro.
129521         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
129522         * m4/st_mtim.m4: Indentation.
129524         Module nanosleep.
129525         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
129526         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
129527         gl_PREREQ_NANOSLEEP.
129529         Module regex.
129530         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
129531         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
129532         (gl_REGEX): New macro.
129534         Module rename.
129535         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
129536         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
129538         Module rmdir.
129539         * m4/rmdir.m4: New file.
129541         Module utime.
129542         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
129543         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
129544         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
129546         Module dirname.
129547         * m4/dirname.m4: New file.
129549         Module getopt.
129550         * m4/getopt.m4: New file.
129552         Module unistd-safer.
129553         * m4/unistd-safer.m4: New file.
129555         Module fnmatch.
129556         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
129557         declaration.
129558         (gl_PREREQ_FNMATCH_EXTRA): New macro.
129559         (gl_FUNC_FNMATCH_POSIX): New macro.
129560         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
129561         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
129562         simply fnmatch.
129564         Module exclude.
129565         * m4/exclude.m4: New file.
129567         Module human.
129568         * m4/human.m4: New file.
129570         Module acl.
129571         * m4/acl.m4: Nop.
129573         Module backupfile.
129574         * m4/backupfile.m4: New file.
129575         * m4/d-ino.m4: Indentation.
129577         Module fsusage.
129578         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
129579         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
129580         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
129582         Module dirfd.
129583         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
129584         requirements.
129586         Module euidaccess.
129587         * m4/euidaccess.m4: New file.
129589         Module file-type.
129590         * m4/file-type.m4: New file.
129592         Module fileblocks.
129593         * m4/fileblocks.m4: New file.
129595         Module filemode.
129596         * m4/filemode.m4: New file.
129598         Module isdir.
129599         * m4/isdir.m4: New file.
129601         Module lchown.
129602         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
129603         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
129605         Module makepath.
129606         * m4/makepath.m4: New file.
129608         Module modechange.
129609         * m4/modechange.m4: New file.
129611         Module mountlist.
129612         * m4/mountlist.m4: New file.
129613         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
129614         Indentation.
129616         Module path-concat.
129617         * m4/path-concat.m4: New file.
129619         Module pathmax.
129620         * m4/pathmax.m4: New file.
129622         Module same.
129623         * m4/same.m4: New file.
129625         Module save-cwd.
129626         * m4/save-cwd.m4: New file.
129628         Module savedir.
129629         * m4/savedir.m4: New file.
129631         Module xgetcwd.
129632         * m4/xgetcwd.m4: New file.
129633         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
129635         Module xreadlink.
129636         * m4/xreadlink.m4: New file.
129638         Module safe-read.
129639         * m4/safe-read.m4: New file.
129641         Module safe-write.
129642         * m4/safe-write.m4: New file.
129644         Module closeout.
129645         * m4/closeout.m4: New file.
129647         Module stdio-safer.
129648         * m4/stdio-safer.m4: New file.
129650         Module getpass.
129651         * m4/getpass.m4: New file.
129653         Module getugroups.
129654         * m4/getugroups.m4: New file.
129656         Module group-member.
129657         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
129658         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
129660         Module idcache.
129661         * m4/idcache.m4: New file.
129663         Module userspec.
129664         * m4/userspec.m4: New file.
129666         Module gettime.
129667         * m4/clock_time.m4: New file.
129668         * m4/gettime.m4: New file.
129670         Module settime.
129671         * m4/settime.m4: New file.
129673         Module posixtm.
129674         * m4/posixtm.m4: New file.
129676         Module gethostname.
129677         * m4/gethostname.m4: New file.
129679         Module canon-host.
129680         * m4/canon-host.m4: New file.
129682         Module gettext.
129683         * m4/codeset.m4: New file, from gettext-0.11.5.
129684         * m4/gettext.m4: New file, from gettext-0.11.5.
129685         * m4/glibc21.m4: New file, from gettext-0.11.5.
129686         * m4/iconv.m4: New file, from gettext-0.11.5.
129687         * m4/intdiv0.m4: New file, from gettext-0.11.5.
129688         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
129689         * m4/inttypes.m4: New file, from gettext-0.11.5.
129690         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
129691         * m4/isc-posix.m4: New file, from gettext-0.11.5.
129692         * m4/lcmessage.m4: New file, from gettext-0.11.5.
129693         * m4/lib-ld.m4: New file, from gettext-0.11.5.
129694         * m4/lib-link.m4: New file, from gettext-0.11.5.
129695         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
129696         * m4/progtest.m4: New file, from gettext-0.11.5.
129697         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
129698         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
129699         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
129701         Module localcharset.
129702         * m4/localcharset.m4: New file.
129704         Module hard-locale.
129705         * m4/hard-locale.m4: New file.
129707         Module mbswidth.
129708         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
129709         onceonly macros.
129710         * m4/mbrtowc.m4: Add comment.
129712         Module memcasecmp.
129713         * m4/memcasecmp.m4: New file.
129715         Module memcoll.
129716         * m4/memcoll.m4: New file.
129718         Module unicodeio.
129719         * m4/unicodeio.m4: New file.
129721         Module rpmatch.
129722         * m4/rpmatch.m4: New file.
129724         Module yesno.
129725         * m4/yesno.m4: New file.
129727         Module exitfail.
129728         * m4/exitfail.m4: New file.
129730         Module c-stack.
129731         * m4/c-stack.m4 (gl_C_STACK): New macro.
129732         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
129734         Module error.
129735         * m4/error.m4 (gl_ERROR): New macro.
129736         (jm_PREREQ_ERROR): Use onceonly macros.
129738         Module fatal.
129739         * m4/fatal.m4: New file.
129741         Module getloadavg.
129742         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
129743         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
129745         Module getpagesize.
129746         * m4/getpagesize.m4: New file.
129748         Module getusershell.
129749         * m4/getusershell.m4: New file.
129751         Module physmem.
129752         * m4/physmem.m4: New file.
129754         Module posixver.
129755         * m4/posixver.m4: New file.
129757         Module quotearg.
129758         * m4/quotearg.m4: New file.
129760         Module quote.
129761         * m4/quote.m4: New file.
129763         Module readutmp.
129764         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
129766         Module sig2str.
129767         * m4/sig2str.m4: New file.
129769         Other.
129770         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
129771         ulonglong.m4.
129772         * m4/intmax_t.m4: New file.
129773         * m4/d-type.m4: Indentation.
129774         * m4/jm-macros.m4: Update.
129775         * m4/prereq.m4 (jm_PREREQ): Update.
129776         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
129777         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
129778         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
129779         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
129780         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
129781         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
129782         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
129783         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
129784         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
129785         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
129786         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
129787         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
129788         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
129789         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
129790         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
129791         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
129792         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
129793         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
129794         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
129796 2002-12-24  Bruno Haible  <bruno@clisp.org>
129798         * MODULES.txt: Update according to m4/ changes.
129800         Module gettext.
129801         * config.rpath: New file, from gettext-0.11.5.
129803         * modules/*: New module descriptions.
129804         * gnulib-tool: New file.
129805         * MODULES.html.sh: New file.
129807 2002-12-21  Karl Berry  <karl@gnu.org>
129809         * doc/fdl.texi: update to version 1.2.
129811 2002-12-19  Karl Berry  <karl@gnu.org>
129813         * config/config.guess: update from prep.
129815 2002-12-18  Bruno Haible  <bruno@clisp.org>
129817         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
129818         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
129820 2002-12-17  Bruno Haible  <bruno@clisp.org>
129822         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
129823         stdlib.h, string.h.
129825 2002-12-17  Bruno Haible  <bruno@clisp.org>
129827         * lib/canon-host.c (strdup): Remove unused declaration.
129829         * lib/fsusage.c: Include full_read.h.
129830         (get_fs_usage): Use full_read instead of safe_read.
129832         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
129834 2002-12-12  Karl Berry  <karl@gnu.org>
129836         * config/config.guess: update from prep.
129838 2002-12-11  Bruno Haible  <bruno@clisp.org>
129840         * m4/setenv.m4: New file, from gettext-0.11.5.
129842 2002-12-11  Bruno Haible  <bruno@clisp.org>
129844         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
129845         not unsetenv().
129846         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
129847         modifications:
129849         2002-12-11  Bruno Haible  <bruno@clisp.org>
129851                 * setenv.c (alloca): Fall back to malloc.
129852                 (freea): New macro.
129853                 (setenv): Use freea() to free memory allocated with alloca().
129855         2002-11-13  Bruno Haible  <bruno@clisp.org>
129857                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
129858                 function declarations.
129859                 * unsetenv.c (unsetenv): Likewise.
129861         2002-03-04  Bruno Haible  <bruno@clisp.org>
129863                 Portability to AIX 4.3.3.
129864                 * unsetenv.c: New file, extracted from setenv.c.
129865                 * setenv.c: Move the unsetenv() function to unsetenv.c.
129867         2001-12-20  Bruno Haible  <bruno@clisp.org>
129869                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
129870                 use malloc instead. For SunOS 4.
129872         2001-12-11  Bruno Haible  <bruno@clisp.org>
129874                 * setenv.c: Declare alloca.
129875                 (compar_fn_t): New typedef.
129876                 (KNOWN_VALUE, STORE_VALUE): Use it.
129878         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
129879         setenv.h.
129881 2002-12-10  Paul Eggert  <eggert@twinsun.com>
129883         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
129884         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
129885         Choose values that are less likely to collide with system fnmatch
129886         options.
129887         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
129888         defined (e.g., a pure POSIX system).
129889         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
129890         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
129892 2002-12-06  Paul Eggert  <eggert@twinsun.com>
129894         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
129895         a pain in practice to deal with generated m4 files.  This change
129896         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
129898         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
129899         and jm-glibc-io.m4, as they are no longer a special case.
129900         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
129901         kludge and the auto-generation stuff.  Check only whether the
129902         functions are declared, not whether they exist, since older hosts
129903         that don't declare the functions can't use the optimization anyway.
129905 2002-12-06  Jim Meyering  <jim@meyering.net>
129907         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
129909         Merge in changes from libc's misc/error.c, in preparation
129910         for the merge of gnulib's changes back into libc.
129912         * lib/error.c (_): Define only if not already defined.
129913         Move definition to follow all #include directives.
129914         Include unlocked-io.h only if !_LIBC.
129915         [_LIBC]: Include <libio/libioP.h>.
129916         [USE_IN_LIBIO]: Include <libio/iolibio.h>
129917         (fflush): Tweak definition to use INTUSE.
129918         (putc): Define.
129920 2002-12-05  Paul Eggert  <eggert@twinsun.com>
129922         * lib/alloca.c [defined emacs]: Include "lisp.h".
129923         (xalloc_die) [defined emacs]: New macro.
129924         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
129925         [! defined emacs]: Include <xalloc.h>.
129926         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
129927         (pointer): Typedef to POINTER_TYPE *.
129928         (malloc): Remove decl; we now always use xmalloc.
129929         (alloca): Use old-style definition, since Emacs needs this.
129930         Check for arithmetic overflow when computing combined size.
129932 2002-12-04  Paul Eggert  <eggert@twinsun.com>
129934         Do not generate unlocked-io.h automatically, since it's easier to
129935         maintain it by hand.
129937         * lib/unlocked-io.h: New file, from GNU diffutils,
129938         but with proper copyright notice and attribution.
129939         * lib/gen-uio: Remove.
129940         * lib/Makefile.am: Add copyright notice.
129941         (libfetish_a_SOURCES): Add unlocked-io.h.
129942         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
129943         (DISTCLEANFILES, io_functions): Remove macros.
129944         (EXTRA_DIST): Remove gen_uio.
129945         (unlocked-io.h): Remove rule.
129947 2002-12-04  Jim Meyering  <jim@meyering.net>
129949         Reflect the fact that stat.c and lstat.c are no longer generated.
129950         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
129951         (DISTCLEANFILES): Likewise.
129952         (EXTRA_DIST): Likewise.
129953         (all_local): Don't depend on stat.c or lstat.c.
129954         (stat.c, lstat.c): Remove rules.
129955         (EXTRA_DIST): Remove xstat.in.
129957         * lib/xstat.in: Remove file.  Contents moved into stat.c.
129958         * lib/stat.c: New file.  Contents mostly from xstat.in.
129959         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
129960         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
129962         * lib/safe-read.c: Rework so that it may serve to define safe_write,
129963         too.
129964         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
129966 2002-12-03  Jim Meyering  <jim@meyering.net>
129968         * lib/safe-read.c, safe-write.c: Change variable names and comments,
129969         but not semantics, to minimize the differences between these two files.
129970         (safe_read): Change comment to mention SAFE_READ_ERROR.
129972         * lib/safe-read.c (IS_EINTR): Define.
129973         (safe_read): Use IS_EINTR in place of in-function cpp directives.
129975 2002-12-02  Jim Meyering  <jim@meyering.net>
129977         * lib/safe-read.c (EINTR): Define.
129978         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
129979         (INT_MAX): Provide fallback.
129980         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
129982         * lib/safe-read.h (SAFE_READ_ERROR): Define.
129984 2002-12-02  Bruno Haible  <bruno@clisp.org>
129986         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
129987         Define, taken from safe-read.c.
129988         (INT_MAX): Provide fallback.
129989         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
129990         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
129992         * lib/safe-read.c (EINTR): Remove definition.
129993         (safe_read): Don't use EINTR if it is absent.
129995 2002-12-01  Jim Meyering  <jim@meyering.net>
129997         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
129998         zero.
129999         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
130001 2002-11-27  Paul Eggert  <eggert@twinsun.com>
130003         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
130004         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
130005         with `if (! (value < limit)) abort ();', for readability.
130007 2002-11-26  Karl Berry  <karl@gnu.org>
130009         * lib/strdup.c: copy from libc again, with jim's ok.
130010         * lib/.cppi-disable: re-add strdup.c
130012 2002-11-25  Karl Berry  <karl@gnu.org>
130014         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
130015         instead of "strtol.c".
130017 2002-11-25  Karl Berry  <karl@gnu.org>
130019         * config/install-sh: update from automake for variable quoting, $0 in
130020         error msgs, etc.
130022         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
130023         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
130024         entry.
130026 2002-11-25  Jim Meyering  <jim@meyering.net>
130028         * lib/mktime.c: Sync from libc, now that it has the latest fix.
130030 2002-11-24  Karl Berry  <karl@gnu.org>
130032         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
130033         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
130035 2002-11-24  Jim Meyering  <jim@meyering.net>
130037         Update from coreutils:
130039         * lib/mktime.c: Merge in changes from libc.
130041         Avoid a link-time failure on some Linux systems.
130042         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
130043         (otherwise).
130044         (__mon_yday): Declare with the STATIC attribute.
130045         (__mktime_internal): Likewise.
130046         Based on a report from Greg Schafer.
130048 2002-11-23  Jim Meyering  <jim@meyering.net>
130050         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
130051         Use `unsigned', not `int', as type of index.
130053         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
130055         * lib/fsusage.c: Remove unneeded parentheses around operands of
130056         `defined'.
130058 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130060         * lib/quotearg.h: Allow multiple inclusion by surrounding with
130061         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
130062         so that we can be included first.
130063         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
130064         * lib/quotearg.c: Include quotearg.h immediately after config.h.
130065         No need to include stddef.h or sys/types.h any more.
130066         Surround local include files with "", not "<>".
130067         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
130068         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
130069         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
130070         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
130071         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
130072         (ISPRINT): Remove; no longer needed now that we assume C89.
130074         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
130075         Preserve errno.
130077         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
130078         quotearg_char): Use SIZE_MAX rather than
130079         (size_t) -1 when we are talking about "infinity".
130081         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
130083 2002-11-22  Paul Eggert  <eggert@twinsun.com>
130085         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
130086         hint that one should use `if (! x) abort ();' rather than `assert
130087         (x);', and anyway it's one less thing to worry about configuring.
130088         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
130089         hash_rehash, hash_insert): Use abort rather than assert.
130091 2002-11-22  Bruno Haible  <bruno@clisp.org>
130093         * lib/safe-read.h: Assume C89. Add comments.
130094         (safe_read): Change return type to size_t.
130095         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
130096         byte counts > SSIZE_MAX correctly.
130097         * lib/safe-write.h: New file.
130098         * lib/safe-write.c: New file.
130099         * lib/full-read.h: New file.
130100         * lib/full-read.c: New file.
130101         * lib/full-write.h: Assume C89. Add comments.
130102         * lib/full-write.c: Include safe-write.h.
130103         (full_write): Rewritten to use safe_write.
130104         Suggested by Jim Meyering and Paul Eggert.
130106 2002-11-21  Jim Meyering  <jim@meyering.net>
130108         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
130110         Merge in changes from the coreutils.
130112         2002-09-25  Paul Eggert  <eggert@twinsun.com>
130113         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
130114         <stdint.h>.
130115         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
130116         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
130117         int.  Work more efficiently if X is the same width as uintmax_t.
130118         Do not compare X to -1, to avoid bogus compiler warning.
130119         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
130120         Don't assume that f_frsize and f_bsize are the same type.
130122         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
130123         warning on FreeBSD.
130125         * lib/makepath.c (make_path): Restore umask *before* creating the final
130126         component.
130127         (make_path): Minor reformatting.
130129         * lib/xmalloc.c: Adjust to work with new autoconf macros,
130130         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
130131         HAVE_MALLOC/HAVE_REALLOC.
130133         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
130134         dummy ones.  At least on GNU/Linux systems, `auto' means something
130135         else.
130136         From Michael Stone.
130138 2002-11-21  Bruno Haible  <bruno@clisp.org>
130140         Remove case insensitive option matching.
130141         * lib/argmatch.h (argcasematch): Remove declaration.
130142         (ARGCASEMATCH): Remove macro.
130143         (__xargmatch_internal): Remove case_sensitive argument.
130144         (XARGMATCH): Update.
130145         (XARGCASEMATCH): Remove macro.
130146         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
130147         case_sensitive argument.
130148         (argcasematch): Remove function.
130149         (__xargmatch_internal): Remove case_sensitive argument.
130150         (main): Use XARGMATCH instead of XARGCASEMATCH.
130152         * lib/xmalloc.c: Change compile-time error message. Add comment about
130153         required autoconf version.
130155 2002-11-20  Paul Eggert  <eggert@twinsun.com>
130157         Merge argmatch cleanups from Bison.  Assume C89.
130159         * lib/argmatch.c: Include config.h here, not in argmatch.h.
130160         Include stdlib.h, for EXIT_FAILURE.
130161         Always include <string.h>, since we assume C89.
130162         (EXIT_FAILURE): Remove pre-C89 bug workaround.
130163         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
130164         Include <stddef.h> instead, since it's all we need for size_t.
130165         (PARAMS): Remove.  All uses removed.
130166         (ARRAY_CARDINALITY): Do not bother to #undef.
130167         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
130168         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130169         Remove unnecessary parentheses.
130170         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
130171         Insert necessary parentheses.
130172         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
130173         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
130175 2002-11-19  Bruno Haible  <bruno@clisp.org>
130177         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
130178         * lib/mbswidth.h: Include <stddef.h>, for size_t.
130180         * lib/mbswidth.h (PARAMS): Remove macro.
130181         (mbswidth, mbsnwidth): Use ANSI C function declarations.
130182         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
130184         * lib/gcd.h (PARAMS): Remove macro.
130185         (gcd): Use ANSI C function declarations.
130186         * lib/gcd.c (gcd): Likewise.
130188 2002-11-15  Bruno Haible  <bruno@clisp.org>
130190         * lib/strcspn.c: Include <stddef.h>.
130191         (strcspn): Use ANSI C function declaration. Change return type to
130192         size_t. Use NULL.
130193         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
130194         (strpbrk): Use NULL.
130195         * lib/strpbrk.h (PARAMS): Remove macro.
130196         (strpbrk): Use ANSI C function declaration.
130197         * lib/strstr.c: Don't include <sys/types.h>.
130198         * lib/strstr.h (PARAMS): Remove macro.
130199         (strstr): Use ANSI C function declarations.
130201 2002-11-14  Karl Berry  <karl@gnu.org>
130203         * config/mkinstalldirs: `do' on separate line, instead of
130204         `for var; do'.
130206 2002-11-06  Bruno Haible  <bruno@clisp.org>
130208         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
130209         * lib/gcd.c (gcd): Likewise.
130211 2002-11-05  Bruno Haible  <bruno@clisp.org>
130213         * lib/gcd.h: New file, from gettext-0.11.5.
130214         * lib/gcd.c: New file, from gettext-0.11.5.
130216 2002-11-05  Bruno Haible  <bruno@clisp.org>
130218         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130219         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130220         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130221         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
130223         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
130224         <libintl.h>.
130225         * lib/makepath.c: Include gettext.h instead of <locale.h> and
130226         <libintl.h>.
130228         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
130229         * lib/human.c: Include gettext.h instead of <libintl.h>.
130230         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
130231         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
130232         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
130233         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
130234         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
130235         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
130236         (textdomain): Remove definition.
130237         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
130239         * lib/long-options.c: Remove include of <libintl.h> and definition of
130240         _.
130241         * lib/same.c: Remove include of <libintl.h> and definition of _.
130243 2002-11-04  Owen Taylor  <otaylor@redhat.com>
130245         * lib/config.charset: A few additions for Solaris.
130247 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130249         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
130250         * lib/localcharset.c (locale_charset): Declare as extern "C".
130252 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
130254         * lib/config.charset: msdos in uk_UA uses CP1125.
130256 2002-11-04  Bruno Haible  <bruno@clisp.org>
130258         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
130259         * lib/strcase.h: New file, from GNU gettext-0.11.5.
130260         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
130261         * lib/strstr.h: New file, from GNU gettext-0.11.5.
130262         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
130264 2002-11-04  Bruno Haible  <bruno@clisp.org>
130266         * lib/localcharset.c (locale_charset): Don't return an empty string.
130268 2002-11-04  Bruno Haible  <bruno@clisp.org>
130270         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
130271         aliases.
130273 2002-11-04  Bruno Haible  <bruno@clisp.org>
130275         * lib/config.charset: Update for newest glibc. Add canonical names
130276         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
130278 2002-11-04  Bruno Haible  <bruno@clisp.org>
130280         * lib/config.charset: Add support for NetBSD.
130282 2002-11-04  Bruno Haible  <bruno@clisp.org>
130284         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
130286 2002-11-01  Bruno Haible  <bruno@clisp.org>
130288         * configure.in: Add AC_CONFIG_AUX_DIR call.
130289         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
130290         test/Makefile.
130291         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
130293 2002-09-28  Karl Berry  <karl@gnu.org>
130295         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
130296         installed automake until the next release, since changes have been
130297         made.
130299 2002-09-25  Karl Berry  <karl@gnu.org>
130301         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
130302         * lib/getopt*: copy from libc/posix.
130303         * lib/gettext.h: copy from gettext.
130304         * lib/.cppi-disable: add strdup.c, gettext.h.
130306 2002-09-25  Karl Berry  <karl@gnu.org>
130308         * config/srclist.txt: enable gettext.h check.
130309         * config/config.{guess,sub}: update from prep.
130310         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
130311                 from automake 1.6.3.
130312         See srclist*.
130314 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
130316         * regex.c (PATFETCH): Remove the translating fetch.
130317         (PATFETCH_RAW): Rename to PATFETCH.
130318         (set_image_of_range): New fun.
130319         (SET_RANGE_TABLE_WORK_AREA): Use it.
130320         (regex_compile): Don't translate the pattern chars so eagerly.
130321         Only do it when inserting an `exactn' bytecode or when handling
130322         a char-range.
130323         (mutually_exclusive_p): Avoid empty statement.
130325 2002-07-06  Jim Meyering  <meyering@lucent.com>
130327         * m4/README: Don't mention Makefile.am.in.
130328         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
130330 2002-07-01  Jim Meyering  <meyering@lucent.com>
130332         * lib/c-stack.c: Include sys/time.h.
130333         From Volker Borchert.
130335 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130337         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
130339 2002-06-26  Paul Eggert  <eggert@twinsun.com>
130341         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
130342         New macro.  Use it uniformly instead of
130343         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
130344         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
130345         reported by Vin Shelton.
130347 2002-06-22  Paul Eggert  <eggert@twinsun.com>
130349         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
130350         Do not assume SA_SIGINFO behavior.
130351         Bug reported by Jim Meyering on NetBSD 1.5.2.
130353 2002-06-22  Jim Meyering  <meyering@lucent.com>
130355         * m4/c-stack.m4: New file, from diffutils-2.8.2.
130356         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
130358         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
130359         now that configure.ac uses AC_GNU_SOURCE.
130360         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
130361         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
130363         Update to latest tools.  Suggestions from Paul Eggert.
130364         * m4/stdbool.m4: New file, from diffutils-2.8.2.
130365         * m4/gnu-source.m4: Update from diffutils-2.8.2.
130366         * m4/fnmatch.m4: Likewise.
130367         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
130368         to AC_HEADER_STDBOOL
130370 2002-06-22  Jim Meyering  <meyering@lucent.com>
130372         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
130373         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
130375 2002-06-22  Jim Meyering  <meyering@lucent.com>
130377         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
130379         * lib/exitfail.c, exitfail.h: Likewise.
130380         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
130382         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
130383         of fnmatch.h.
130384         (EXTRA_DIST): Add fnmatch_loop.c.
130385         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
130387         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
130388         * lib/fnmatch.c: Update from diffutils-2.8.2.
130389         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
130390         * lib/fnmatch.h: Remove file.
130392 2002-06-21  Jim Meyering  <meyering@lucent.com>
130394         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
130395         * m4/mbrtowc.m4: Likewise.
130397         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
130398         * m4/mbswidth.m4: Reflect name change:
130399         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
130400         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
130402         * m4/lib-link.m4: Update from gettext-0.11.2.
130403         * m4/gettext.m4: Likewise.
130405         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
130406         From Alfred M. Szmidt.
130408 2002-06-18  Paul Eggert  <eggert@twinsun.com>
130410         * lib/file-type.h: Report an error if neither S_ISREG nor
130411         S_IFREG is defined, instead of using a test specific to glibc
130412         2.2.  This should be safe, since POSIX requires S_ISREG and
130413         Unix Version 7 had S_IFREG.  We don't need to check for
130414         <sys/types.h> since we don't use any symbols that it defines.
130416 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
130418         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
130419         $@-t, so that each temporary file name is unique and valid in the first
130420         8 characters, for operation under DOS.
130422 2002-06-15  Paul Eggert  <eggert@twinsun.com>
130424         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
130426 2002-06-15  Jim Meyering  <meyering@lucent.com>
130428         Work even with DJGPP 2.03, which lacks support for symlinks.
130429         From Richard Dawe.
130430         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
130431         is defined.
130432         * lib/lchown.c (S_ISLNK): Likewise.
130434 2002-06-15  Jim Meyering  <meyering@lucent.com>
130436         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
130437         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
130438         have been included before this file.
130440 2002-06-14  Jim Meyering  <meyering@lucent.com>
130442         * lib/file-type.h: Use the version from diffutils-2.8.2.
130443         * lib/file-type.c: Likewise.
130445 2002-06-07  Jim Meyering  <meyering@lucent.com>
130447         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
130448         They're needed at least for NetBSD 1.5.2.
130449         ($statxfs_includes): Include those same headers.
130450         ($statxfs_includes): Include sys/vfs.h if available.
130451         ($statxfs_includes): Likewise for sys/statvfs.h.
130452         Check for the following members in both structs statfs and statvfs:
130453         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
130455 2002-06-01  Jim Meyering  <meyering@lucent.com>
130457         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
130458         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
130460 2002-05-28  Jim Meyering  <meyering@lucent.com>
130462         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
130463         Reported by Volker Borchert.
130465 2002-05-27  Jim Meyering  <meyering@lucent.com>
130467         Fix a problem seen only on nonconforming systems whereby ls.c's
130468         use of localtime, and then of gettimeofday would cause trouble:
130469         the localtime call used to initialize rpl_gettimeofday's save
130470         mechanism would clobber ls's current local time information so
130471         that in any long listing the first file would always be listed
130472         with date 1970-01-01.  Analysis by Volker Borchert.
130474         * lib/gettimeofday.c (localtime): Undefine.
130475         (rpl_localtime): New function.
130477 2002-05-27  Jim Meyering  <meyering@lucent.com>
130479         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
130480         localtime.
130482         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
130483         use the replacement function; it wouldn't resolve at link time.
130484         Reported by Volker Borchert.
130486 2002-05-22  Jim Meyering  <meyering@lucent.com>
130488         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
130489         file-type.h.
130490         * lib/file-type.h: New file.
130491         * lib/file-type.c (file_type): New file/function.  Extracted from
130492         diffutils.
130494 2002-04-30  Jim Meyering  <meyering@lucent.com>
130496         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
130498 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130500         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
130502 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130504         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
130505         Do not check for alloca.h (no longer used) or stdbool.h (was never
130506         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
130508 2002-04-29  Paul Eggert  <eggert@twinsun.com>
130510         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
130512 2002-04-29  Jim Meyering  <meyering@lucent.com>
130514         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
130515         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
130516         Use AC_FUNC_STRNLEN here instead.
130518         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
130519         With autoconf-2.53a, it's part of AC_PROG_CC.
130521 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130523         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
130524         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
130526 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130528         * lib/sig2str.h, lib/sig2str.c: New files.
130529         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
130531 2002-04-28  Paul Eggert  <eggert@twinsun.com>
130533         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
130534         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
130535         of 127, since 64 is the largest conceivable number for ancient
130536         nonstandard hosts.
130537         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
130539 2002-04-28  Jim Meyering  <meyering@lucent.com>
130541         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
130543 2002-04-24  Jim Meyering  <meyering@lucent.com>
130545         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
130546         (jm_PREREQ): Use it.
130548         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
130549         mach/mach.h fcntl.h.
130550         Check for this function: setlocale.
130552 2002-04-24  Jim Meyering  <meyering@lucent.com>
130554         * lib/gettext.h: New file, from Gettext.
130555         * lib/Makefile.am (INCLUDES): Remove -I../intl.
130556         (libfetish_a_SOURCES): Add gettext.h.
130558 2002-04-16  Jim Meyering  <meyering@lucent.com>
130560         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
130561         ut_pid, ut_id, ut_exit.
130563 2002-04-16  Jim Meyering  <meyering@lucent.com>
130565         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
130566         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
130567         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
130569 2002-04-12  Jim Meyering  <meyering@lucent.com>
130571         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
130572         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
130573         existence of the getmntinfo function.  Needed for Darwin 5.3.
130575         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
130576         This is necessary at least on Darwin 5.3.
130578         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
130579         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
130580         strnlen.o in the library, and that makes some versions of ranlib
130581         object.
130583 2002-04-12  Jim Meyering  <meyering@lucent.com>
130585         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
130587 2002-04-09  Jim Meyering  <meyering@lucent.com>
130589         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
130590         to be more precise.  Rather than saying we're checking whether the
130591         function `works', say what we're testing.
130592         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
130593         Reported by Bruno Haible.
130595 2002-03-10  Jim Meyering  <meyering@lucent.com>
130597         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
130598         Suggestion from Santiago Vila.
130600 2002-03-08  Jim Meyering  <meyering@lucent.com>
130602         * lib/rename.c: Mention that this wrapper is needed also on
130603         mips-dec-ultrix4.4 systems.
130605 2002-03-02  Jim Meyering  <meyering@lucent.com>
130607         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
130608         not HAVE_CLOCK_SETTIME.
130610 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130612         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
130613         Check for clock_settime.
130615 2002-02-27  Paul Eggert  <eggert@twinsun.com>
130617         * lib/nanosleep.h: Rename to....
130618         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
130620         * lib/gettime.c: New file.
130621         * lib/settime.c: New file.
130622         * lib/stime.c: Remove.
130624         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
130625         timespec.h.  Remove nanosleep.h.
130627 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130629         * m4/acl.m4: New file.
130630         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
130631         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
130633 2002-02-25  Paul Eggert  <eggert@twinsun.com>
130635         * lib/acl.c, lib/acl.h: New files.
130636         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
130638 2002-02-24  Jim Meyering  <meyering@lucent.com>
130640         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
130641         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
130642         cause trouble.  Reported by Nelson Beebe.
130644 2002-02-23  Paul Eggert  <eggert@twinsun.com>
130646         * lib/path-concat.c (xpath_concat): Reorder code to pacify
130647         compilers that don't know that xalloc_die never returns.
130649 2002-02-20  Jim Meyering  <meyering@lucent.com>
130651         * lib/getdate.c: Regenerate using bison-1.33.
130653 2002-02-17  Jim Meyering  <meyering@lucent.com>
130655         * config/config.guess (main): Don't use `head -1'; it's no longer
130656         portable. Use `sed 1q' instead.
130658 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
130660         * m4/codeset.m4: Upgrade to gettext-0.11.
130661         * m4/gettext.m4: Upgrade to gettext-0.11.
130662         * m4/glibc21.m4: Upgrade to gettext-0.11.
130663         * m4/iconv.m4: Upgrade to gettext-0.11.
130664         * m4/isc-posix.m4: Upgrade to gettext-0.11.
130665         * m4/lcmessage.m4: Upgrade to gettext-0.11.
130666         * m4/lib-ld.m4: New file, from gettext-0.11.
130667         * m4/lib-link.m4: New file, from gettext-0.11.
130668         * m4/lib-prefix.m4: New file, from gettext-0.11.
130669         * m4/progtest.m4: Upgrade to gettext-0.11.
130671 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130673         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
130674         (jm_PREREQ): Use it.
130676 2002-02-15  Paul Eggert  <eggert@twinsun.com>
130678         * lib/posixver.c, lib/posixver.h: New files.
130679         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130681 2002-02-02  Paul Eggert  <eggert@twinsun.com>
130682             Bruno Haible  <bruno@clisp.org>
130684         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
130685         (fwrite_success_callback): New declaration.
130686         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
130687         print_unicode_char. Call failure callback instead of error.
130688         (fwrite_success_callback): New function.
130689         (exit_failure_callback): New function.
130690         (fallback_failure_callback): New function.
130691         (print_unicode_char): Call unicode_to_mb.
130693 2002-01-26  Jim Meyering  <meyering@lucent.com>
130695         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
130696         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
130698 2002-01-26  Jim Meyering  <meyering@lucent.com>
130700         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
130702 2002-01-22  Paul Eggert  <eggert@twinsun.com>
130704         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
130706 2002-01-22  Jim Meyering  <meyering@lucent.com>
130708         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
130709         Otherwise, some versions of automake would omit the rule that makes
130710         Makefile from Makefile.in.
130712 2002-01-21  Paul Eggert  <eggert@twinsun.com>
130714         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
130715         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
130716         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
130717         (memcoll): Set errno to zero if there is no error.
130719         * lib/quotearg.c (quotearg_buffer_restyled):
130720         Fix bug with quoting buffers containing NUL when backslashing escapes.
130721         This bug was exposed by the other changes in this patch.
130722         (quotearg_n_options): New arg ARGSIZE.
130723         All callers changed.
130724         (quoting_options_from_style): New function.
130725         (quotearg_n_style): Use it.
130726         (quotearg_n_style_mem): New function.
130728         * lib/quotearg.h (quotearg_n_style_mem): New function.
130730 2002-01-19  Jim Meyering  <meyering@lucent.com>
130732         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
130733         Remove useless quotes: DF_PROG="df".
130734         * m4/strnlen.m4: New file.
130736 2002-01-16  Paul Eggert  <eggert@twinsun.com>
130738         * lib/backupfile.c (ISDIGIT): Comment fix.
130739         * lib/getdate.y (ISDIGIT): Likewise.
130740         * lib/posixtm.c (ISDIGIT, year): Likewise.
130741         * lib/strverscmp.c (ISDIGIT): Likewise.
130742         * lib/userspec.c (ISDIGIT): Likewise.
130744 2002-01-16  Jim Meyering  <meyering@lucent.com>
130746         * lib/getdate.y: Add three semicolons, each just before a closing
130747         brace. Bison (as of version 1.31) no longer papers over that mistake.
130749 2002-01-05  Jim Meyering  <meyering@lucent.com>
130751         * lib/version-etc.c (version_etc_copyright): Update copyright year.
130753 2001-12-19  Paul Eggert  <eggert@twinsun.com>
130755         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
130756         not silently exit merely because the output buffer happens to
130757         have nothing pending.
130759 2001-12-18  Paul Eggert  <eggert@twinsun.com>
130761         See the big note in ../ChangeLog.
130762         * lib/human.c (suffixes): Prefer K to k for 1024.
130763         (generate_suffix_backwards): New function.
130764         (human_readable_inexact): Use it.
130765         * lib/xstrtol.c (__xstrtol): If there is no number but there
130766         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
130767         Accept 'K' as well as 'k'.
130769 2001-12-15  Jim Meyering  <meyering@lucent.com>
130771         * lib/regex.h (__restrict_arr): Update from libc.
130773         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
130774         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
130775         (STREQ): Define.
130777 2001-12-14  Jim Meyering  <meyering@lucent.com>
130779         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
130780         Suggestion from Bruno Haible.
130782 2001-12-10  Jim Meyering  <meyering@lucent.com>
130784         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
130785         xrealloc, Instead, include "xalloc.h".
130786         (initbuffer): Don't cast xmalloc return value to char*.
130787         (readline): Reword comment.
130788         Don't cast xrealloc return value to char*
130789         Return NULL, not 0.
130791 2001-12-09  Jim Meyering  <meyering@lucent.com>
130793         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
130794         about `signed and unsigned type in conditional expression'.
130795         * lib/posixtm.c (posix_time_parse): Likewise.
130797         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
130799         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
130800         to avoid a pedantic warning.
130802         * lib/getstr.c: Don't include assert.h.
130803         (getstr): Remove warning-evoking assertions.
130804         Return -1 if offset parameter is out of bounds.
130805         Change the type of a local from int to size_t.
130807         * lib/strftime.c (my_strftime_localtime_r): Include this function
130808         definition in the `#if ! HAVE_TM_GMTOFF' block.
130810         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
130811         Include xalloc.h instead.
130813 2001-12-02  Jim Meyering  <meyering@lucent.com>
130815         * lib/tempname.c: Don't declare getenv, thus reverting the change of
130816         2001-11-18.  It's no longer necessary, now that stdlib.h is always
130817         included.
130819         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
130820         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
130822 2001-11-30  Akim Demaille  <akim@epita.fr>
130824         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
130825         before being defined.
130827 2001-11-27  Paul Eggert  <eggert@twinsun.com>
130829         * lib/quotearg.h (quotearg_n, quotearg_n_style):
130830         First arg is int, not unsigned.
130831         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
130832         (SIZE_MAX, UINT_MAX): New macros.
130833         (quotearg_n_options): Abort if N is negative.
130834         Avoid overflow check on hosts where size_t is 64 bits and int
130835         is 32 bits, as overflow is impossible there.
130836         Fix off-by-one typo that caused unnecessary reallocation.
130838 2001-11-27  Jim Meyering  <meyering@lucent.com>
130840         * lib/tempname.c: Merge with version from libc.
130841         * lib/regex.c: Likewise.
130843         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
130844         systems for which STDC_HEADERS is 0, it was not included, resulting in
130845         a warning about an integer-to-pointer conversion problem with getenv.
130846         Reported by Volker Borchert.
130848 2001-11-26  Jim Meyering  <meyering@lucent.com>
130850         * lib/gtod.h: Remove file.
130851         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
130852         * lib/gettimeofday.c: Don't include gtod.h.
130853         (GTOD_init): Remove function.
130854         (rpl_gettimeofday): Do its job here instead, rather than aborting.
130855         Suggestion from Volker Borchert.
130857 2001-11-23  Jim Meyering  <meyering@lucent.com>
130859         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
130860         it.
130861         * lib/hash.c (struct hash_table): Define it here instead.
130863 2001-11-22  Jim Meyering  <meyering@lucent.com>
130865         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
130867 2001-11-20  Jim Meyering  <meyering@lucent.com>
130869         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
130870         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
130872 2001-11-19  Jim Meyering  <meyering@lucent.com>
130874         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
130875         directory.  Use "conftestXXXXXX" as the template.
130876         Suggestion from Paul Eggert.
130878         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
130879         immediately, so the test doesn't mistakenly hit the max-open-files
130880         limit.
130882 2001-11-18  Paul Eggert  <eggert@twinsun.com>
130884         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
130885         (TEMPORARIES): New macro.
130886         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
130887         removes an artificial limitation (e.g. HP-UX 10.20, where
130888         TMP_MAX is 17576).
130890 2001-11-18  Jim Meyering  <meyering@lucent.com>
130892         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
130894 2001-11-18  Jim Meyering  <meyering@lucent.com>
130896         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
130897         on SunOS 4.
130899         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
130900         files will be created before anything else.
130902 2001-11-17  Paul Eggert  <eggert@twinsun.com>
130904         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
130905         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
130907 2001-11-17  Jim Meyering  <meyering@lucent.com>
130909         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
130910         Prompted by a report from Bob Proulx.
130912         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
130913         Instead, require UTILS_FUNC_MKSTEMP.
130915 2001-11-17  Jim Meyering  <meyering@lucent.com>
130917         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
130918         Now, that's done as part of AC_FUNC_STRTOD.
130920 2001-11-17  Jim Meyering  <meyering@lucent.com>
130922         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
130923         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
130924         rather than group writable.  Patch by Juan F. Codagnone.
130926         * lib/readtokens.c: Remove explicit declarations of xmalloc and
130927         xrealloc, Instead, include "xalloc.h".
130929         * lib/mountlist.c: Include unlocked-io.h after all system headers.
130930         Remove explicit declarations of xmalloc, xrealloc,
130931         and xstrdup.  Instead, include "xalloc.h".
130933         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
130934         unlocked-io.h.
130935         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
130936         Likewise.
130937         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
130939         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
130940         Reported by Padraig Brady.
130942         * lib/mkstemp.c: #undef mkstemp.
130943         Include config.h.
130944         (rpl_mkstemp): Rename from mkstemp.
130945         Protoize.
130947 2001-11-16  Jim Meyering  <meyering@lucent.com>
130949         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
130950         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
130951         determine the amount of total physical memory, use pstat_getstatic.
130952         HPUX-11 doesn't define _SC_PHYS_PAGES.
130953         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
130954         If sysconf couldn't be used to determine the amount of available
130955         physical memory, use both pstat_getstatic and pstat_getdynamic.
130956         Based on a patch from Bob Proulx.
130958 2001-11-10  Jim Meyering  <meyering@lucent.com>
130960         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
130961         (jm_PREREQ): Use it.
130963 2001-11-09  Jim Meyering  <meyering@lucent.com>
130965         * m4/jm-macros.m4: Require autoconf-2.52f.
130966         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
130967         Use these AC_-prefixed names, not the AM_-prefixed ones.
130969         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
130971 2001-11-05  Jim Meyering  <meyering@lucent.com>
130973         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
130975 2001-11-04  Jim Meyering  <meyering@lucent.com>
130977         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
130978         $DEFS.
130980 2001-11-03  Jim Meyering  <meyering@lucent.com>
130982         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
130983         of AC_DEFUN.
130985         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
130986         know the name of the variable in the macro definition.
130988 2001-11-03  Jim Meyering  <meyering@lucent.com>
130990         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
130991         in argmatch_to_argument call.
130993         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
130994         argument.
130996         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
130997         e.g., a fault due to an attempt to free a NULL pointer.
130999 2001-11-01  Jim Meyering  <meyering@lucent.com>
131001         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
131002         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
131004 2001-11-01  Jim Meyering  <meyering@lucent.com>
131006         * lib/dirfd.c, lib/dirfd.h: New files.
131007         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
131009         * lib/hash.c (hash_print) [TESTING]: Clean up.
131011 2001-10-22  Paul Eggert  <eggert@twinsun.com>
131013         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
131014         to avoid a warning if -Wall.
131016 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
131018         * README: New file
131019         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
131020         (per RMS's instructions, this is now the canonical source)
131021         * lgpl/, gpl/: New directories.
131023 2001-10-21  Paul Eggert  <eggert@twinsun.com>
131025         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
131027 2001-10-21  Jim Meyering  <meyering@lucent.com>
131029         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
131030         this code would end up calling gettext even in packages built
131031         with --disable-nls.
131032         * lib/getopt.c (_): Likewise.
131033         * lib/regex.c (_): Likewise.
131035 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131037         * m4/error.m4 (jm_PREREQ_ERROR):
131038         Do not invoke AC_CHECK_FUNCS with strerror_r, as
131039         AC_FUNC_STRERROR_R does that.
131040         Check for strerror declaration.
131042         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
131043         are supposed to have them these days.
131044         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
131045         Merge changes from latest Autoconf CVS.
131046         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
131047         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
131048         POSIX decided to standardize on the int flavor of strerror_r.
131050 2001-10-20  Paul Eggert  <eggert@twinsun.com>
131052         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
131053         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
131054         Use strerror_r that is only a macro, even if it is not a function.
131055         (strerror): Check for HAVE_DECL_STRERROR before declaring.
131056         (private_strerror): Use prototypes, not old-style function definition.
131057         (print_errno_message): New function.
131058         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
131059         char*-flavored one.
131060         (error_tail, error, error_at_line): Use it.
131062 2001-10-11  Jim Meyering  <meyering@lucent.com>
131064         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
131065         and quote_n (1, ... to avoid clobbering a buffer.
131067 2001-10-05  Jim Meyering  <meyering@lucent.com>
131069         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
131070         hash-pjw.h.
131071         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
131072         * lib/hash-pjw.h: New file.
131074 2001-09-30  Jim Meyering  <meyering@lucent.com>
131076         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
131077         `struct fsstat' has the `f_fstypename' member.
131078         Use that to define FS_TYPE, which is now used to make
131079         the getfsstat link test tighter.
131081 2001-09-30  Jim Meyering  <meyering@lucent.com>
131083         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
131084         Include <sys/ucred.h>, for Apple Darwin.
131085         Include sys/mount.h and sys/fs_types.h only if available.
131086         (FS_TYPE): Define.
131087         (read_filesystem_list): Use FS_TYPE.
131089 2001-09-29  Paul Eggert  <eggert@twinsun.com>
131091         * lib/exclude.c (excluded_filename): 0 -> false, since it's
131092         a boolean context.
131094 2001-09-29  Jim Meyering  <meyering@lucent.com>
131096         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131097         [one-argument getmntent function]): Include stdio.h before mntent.h.
131098         SunOS 4.1.x needs it for the declaration of `FILE'.
131099         Patch by Volker Borchert.
131101         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
131102         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
131103         sys/fs_types.h, and make the link-test for getfsstat guard #include
131104         directives with appropriate #if HAVE_*_H tests so that we can
131105         detect getfsstat on Apple Darwin1.3.7 systems.
131106         Reported by Nelson Beebe.
131107         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
131109 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131111         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131112         #defines strtoimax.  Also treat the other strto* functions
131113         like strtoimax.
131115         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131116         Check for strtoul and strtoumax,
131117         as those declarations are made even in the signed case.
131118         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
131119         Likewise, for strtol and strtoimax.
131121 2001-09-28  Paul Eggert  <eggert@twinsun.com>
131123         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
131124         #defines strtoimax.  Also treat the other strto* functions
131125         like strtoimax.
131127         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
131128         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
131129         (strtoimax, strtoumax): Do not declare if already defined as a macro.
131131 2001-09-26  Jim Meyering  <meyering@lucent.com>
131133         Most macros in unlocked-io.h had the wrong number of arguments.
131134         * lib/gen-uio: New script.
131135         (USE_UNLOCKED_IO): Define to 1 if not already defined.
131136         * lib/unlocked-io.hin: Remove file.
131137         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
131138         rather than trying to embed it here.
131139         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
131140         Reported by Padraig Brady.
131142 2001-09-25  Volker Borchert  <bt@teknon.de>
131144         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
131145         `result'.
131147 2001-09-24  Jim Meyering  <meyering@lucent.com>
131149         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
131151 2001-09-23  Jim Meyering  <meyering@lucent.com>
131153         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
131154         instead of the mere test for existence of mntent.h.  The latter
131155         would get a false-positive on AIX 3.4 systems.
131156         In the outer getmntent if-block, don't die if neither of the getmntent
131157         tests succeeds.  Instead, just fall through and continue with the
131158         remaining tests.
131160 2001-09-23  Jim Meyering  <meyering@lucent.com>
131162         * lib/mountlist.c: Remove useless parentheses in #if directives.
131163         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
131164         the deprecated MOUNTED symbol is no longer defined in mntent.h.
131166 2001-09-22  Jim Meyering  <meyering@lucent.com>
131168         * m4/gettext.m4: New file.  From gettext.
131169         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
131170         * m4/progtest.m4: Likewise
131171         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
131172         * m4/glibc21.m4: Likewise.
131174         * m4/libintl.m4: Remove.  No longer used.
131176 2001-09-22  Jim Meyering  <meyering@lucent.com>
131178         * lib/localcharset.c: Update from latest gettext.
131179         * lib/config.charset: Likewise.
131181 2001-09-20  Jim Meyering  <meyering@lucent.com>
131183         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
131184         strtoimax.
131185         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
131186         strtoumax.
131188 2001-09-20  Jim Meyering  <meyering@lucent.com>
131190         * lib/xstrtol.c (strtoimax): Guard declaration with
131191         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
131192         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
131193         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
131194         (strtoumax): Likewise, for completeness (it wasn't necessary).
131196 2001-09-17  Paul Eggert  <eggert@twinsun.com>
131198         * lib/strtoimax.c (HAVE_LONG_LONG):
131199         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
131200         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
131201         to work around bug in IBM C compiler.
131203 2001-09-17  Jim Meyering  <meyering@lucent.com>
131205         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
131206         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
131207         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
131208         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
131209         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
131210         whenever the right hand side need not be expanded by the shell.
131212 2001-09-16  Paul Eggert  <eggert@twinsun.com>
131214         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
131215         library.  It's not correct, as some older glibcs are buggy.
131216         fnmatch wasn't fixed until glibc 2.2.
131218         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
131219         special shell magic here.
131221 2001-09-16  Jim Meyering  <meyering@lucent.com>
131223         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
131224         * m4/jm-macros.m4: Require it.
131226 2001-09-16  Jim Meyering  <meyering@lucent.com>
131228         * lib/mkdir.c: New file.
131230 2001-09-15  Jim Meyering  <meyering@lucent.com>
131232         * m4/jm-macros.m4: Check for help2man.
131234 2001-09-11  Jim Meyering  <meyering@lucent.com>
131236         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
131237         The body, by Paul Eggert, was moved here from configure.in.
131238         * m4/jm-macros.m4: Require UTILS_HOST_OS.
131240 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131242         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
131243         (jm_PREREQ): Use it.
131245 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131247         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
131248         Use ssize_t, not int, to store result of readlink.
131249         Check for ssize_t overflow as well as size_t overflow,
131250         as POSIX says the result of readlink is implementation-defined
131251         when ssize_t overflows.
131252         Remove unnecessary cast to char*.
131253         Use free+malloc instead of realloc, as the storage doesn't need
131254         to be preserved and it's clearer and can be more efficient that way.
131255         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
131256         * lib/xreadlink.h (xreadlink): Update prototype.
131258 2001-09-04  Paul Eggert  <eggert@twinsun.com>
131260         * lib/xgetcwd.c: Revert some of the previous change; intead,
131261         fix the HAVE_GETCWD_NULL code to behave more like the
131262         !HAVE_GETCWD_NULL code used to.
131264         Include "xalloc.h".
131265         (xgetcwd): Do not return NULL when memory is exhausted; instead,
131266         invoke xalloc_die.
131268 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131270         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
131271         sys/param.h, as pathmax.h includes them.
131273 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131275         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
131276         (jm_PREREQ_XGETCWD): New macro.
131278         * m4/getcwd.m4: New file.
131280 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131282         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
131283         like the HAVE_GETCWD_NULL code.
131284         Include pathmax.h if not HAVE_GETCWD.
131285         Do not include xalloc.h.
131286         (INITIAL_BUFFER_SIZE): New symbol.
131287         Do not use xmalloc / xrealloc, since the caller is responsible for
131288         handling errors.  Preserve errno around `free' during failure.
131289         Do not overrun buffer when using getwd.
131291 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131293         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
131294         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
131295         getcwd (NULL, 0).
131297 2001-09-03  Paul Eggert  <eggert@twinsun.com>
131299         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
131300         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
131301         spotted by Jim Meyering.
131303 2001-09-03  Jim Meyering  <meyering@lucent.com>
131305         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
131306         failure.
131308 2001-09-02  Jim Meyering  <meyering@lucent.com>
131310         * lib/error.c: Update from GNU libc.
131312 2001-09-01  Jim Meyering  <meyering@lucent.com>
131314         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
131315         Used by df.
131317 2001-09-01  Jim Meyering  <meyering@lucent.com>
131319         * lib/xreadlink.c: New file.
131320         * lib/xreadlink.h: New file.
131321         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
131322         xreadlink.h.
131324         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
131325         doesn't conflict with sparc Solaris 7's definition in
131326         /usr/include/sys/int_types.h.
131328         * lib/exclude.c: Use `""', not `<>' to #include non-system header
131329         files.
131330         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
131331         and strncasecmp as r-values.  Unixware didn't have declarations.
131333 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131335         * lib/xstrtol.h: Add copyright notice.
131336         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
131337         LONGINT_INVALID_SUFFIX_CHAR.
131339 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131341         * lib/xstrtol.c (strtoimax): New decl.
131343 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131345         * lib/xgetcwd.c: Don't include pathmax.h.
131346         Include stdlib.h and unistd.h if available.
131347         Include xalloc.h.
131348         (xmalloc, xstrdup, free): Remove decls.
131349         (xgetcwd): Don't assume sizes fit in unsigned.
131350         Check for overflow when computing sizes.
131351         Simplify reallocation code.
131353 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131355         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
131356         a directory's st_size can have an arbitrary value, so the old
131357         usage could waste an arbitrary amount of memory.  All uses
131358         changed.
131359         * lib/savedir.h: Update prototype.
131361 2001-08-31  Paul Eggert  <eggert@twinsun.com>
131363         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
131365         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
131366         old strtoimax.c.
131368         Also, make the following further changes to make this file's
131369         configuration more similar to that of strtol.c:
131370         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
131371         (strtoumax, uintmax_t, strtoull, strtol): Remove.
131372         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
131373         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
131374         changed to signed values.
131376         And make the following changes as well:
131377         Fix copyright notice, as 1999 was missing.
131378         (verify): New macro.
131379         (strtoimax): Check sizes at compile-time, not run-time.
131380         Prefer strtol to strtoll if both work.
131381         (main): Remove; it was not that useful and was a pain to maintain.
131383         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
131385 2001-08-31  Jim Meyering  <meyering@lucent.com>
131387         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
131388         Use an initial, malloc'd, buffer of length 128 rather than
131389         a statically allocated one of length 1024.
131391 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131393         Simplify code, partly by assuming autoconf 2.52 semantics.
131395         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
131397         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
131398         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
131399         All uses removed.
131400         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
131401         Move AC_REQUIRE to next-to-top level, to avoid confusion.
131402         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
131403         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
131404         jm_AC_HEADER_INTTYPES_H.
131405         * m4/jm-macros.m4 (jm_MACROS): Likewise.
131407         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
131409         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
131410         Quote first arg of AC_DEFUN.
131411         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
131412         since they are needed to parse the include file even if we need
131413         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
131414         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
131415         but with opposite signedness.
131417 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131419         Merge 'exclude' changes from tar 1.13.22.
131420         This fixes one or two unlikely storage allocation overflow bugs,
131421         but doesn't change user-visible behavior otherwise.
131423 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131425         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
131426         (jm_PREREQ_EXCLUDE): New macro.
131428 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131430         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
131431         tm to be declared.
131433 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131435         * lib/hash.c: Remove '2001' from copyright notice.
131437 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131439         * lib/full-write.h: New file.
131440         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
131441         * lib/full-write.c: Correct credits, as cccp.c no longer
131442         exists and anyway it was so heavily changed from the old cccp
131443         code as to be unrecognizable.  Include full-write.h.
131444         (full_write): Return size_t, with short writes meaning failure.
131445         All callers changed.  This fixes a bug with large buffers
131446         on 64-bit hosts.
131447         * lib/utime.c: Include full-write.h.
131449 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131451         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
131452         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
131453         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
131454         Include if available.
131455         (<xalloc.h>): Include
131456         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
131457         (verify): New macro.  Use it to verify that EXCLUDE macros do not
131458         collide with FNM macros.
131459         (struct patopts): New struct.
131460         (struct exclude): Use it, as exclude patterns now come with options.
131461         (new_exclude): Support above changes.
131462         (new_exclude, add_exclude_file):
131463         Initial size must now be a power of two to simplify overflow checking.
131464         (free_exclude, fnmatch_no_wildcards): New function.
131465         (excluded_filename): No longer requires options arg, as the options
131466         are determined by add_exclude.  Now returns bool, not int.
131467         (excluded_filename, add_exclude):
131468         Add support for the fancy new exclusion options.
131469         (add_exclude, add_exclude_file): Now takes int options arg.
131470         Check for arithmetic overflow when computing sizes.
131471         (add_exclude_file): xrealloc might modify errno, so don't
131472         realloc until after errno might be used.
131474         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
131475         New macros.
131476         (free_exclude): New decl.
131477         (add_exclude, add_exclude_file): Now takes int options arg.
131478         (excluded_filename): No longer requires options arg, as the options
131479         are determined by add_exclude.  Now returns bool, not int.
131481 2001-08-30  Paul Eggert  <eggert@twinsun.com>
131483         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
131485 2001-08-27  Jim Meyering  <meyering@lucent.com>
131487         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
131489         * lib/version-etc.c (N_): Remove definition.
131490         Revert most of last change.
131491         Instead, simply don't mark the `Copyright...' string for translation.
131492         Based on advice from Paul Eggert.
131494         * lib/strtoxmax.c: Tweak comment.
131496 2001-08-26  Jim Meyering  <meyering@lucent.com>
131498         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
131500         * m4/xstrtoimax.m4: New file.
131501         * m4/xstrtoumax.m4: Add comments explaining why we
131502         AC_REPLACE_FUNCS(strtol).
131504 2001-08-26  Jim Meyering  <meyering@lucent.com>
131506         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
131507         of copyright with `%s' so translators don't get an untranslated
131508         message in 2002.
131509         (COPYRIGHT_YEAR): Define.
131510         (version_etc): Use fprintf rather than fputs.
131511         Suggestion from Ulrich Drepper.
131513         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
131515         * lib/strtoll.c: New file, from GNU libc.
131516         * lib/xstrtoimax.c: New file.
131518         * lib/xstrtol.h: Add xstrtoimax.
131519         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
131520         * lib/strtoimax.c: New file.  Likewise, but first define
131521         STRTOUXMAX_SIGNED.
131523         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
131524         ...
131525         * lib/strtoxmax.c: ... then renamed to this.
131527 2001-08-18  Paul Eggert  <eggert@twinsun.com>
131529         * m4/inttypes.m4: Add AC_PREREQ(2.13).
131530         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
131531         (jm_AC_TYPE_INTMAX_T): New macro.
131532         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
131534         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
131536         * m4/longlong.m4: Renamed from ulonglong.m4.
131537         * m4/inttypes.m4: Renamed from inttypes_h.m4.
131538         * m4/uintmax_t.m4: Removed.
131540 2001-08-13  Paul Eggert  <eggert@twinsun.com>
131542         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
131543         Port to Solaris 8, where 'sed' requires a space after the 'r'
131544         command, and where sh dislikes "$/".  Clean up the spacing a bit.
131545         Redirect output to $tmp just once.
131547 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
131549         * lib/addext.c (<errno.h>): Include.
131550         (errno): Declare if not defined.
131551         (addext): Work correctly when pathconf returns -1 and leaves
131552         errno alone because there is no limit.  Also, work even if
131553         pathconf returns a value greater than SIZE_MAX.
131555 2001-08-12  Jim Meyering  <meyering@lucent.com>
131557         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
131558         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
131559         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
131560         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
131561         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
131562         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
131563         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
131564         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
131565         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
131566         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
131567         utime.m4, utimes.m4, xstrtoumax.m4:
131568         Quote the first argument in each use of AC_DEFUN.
131570 2001-08-12  Jim Meyering  <meyering@lucent.com>
131572         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
131573         Simply `return getcwd (NULL, 0);'.
131574         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
131575         Use 1300 as initial value for length, not PATH_MAX.
131577         * lib/pathmax.h: Clean up cpp syntax.
131579 2001-08-12  Jim Meyering  <meyering@lucent.com>
131581         * lib/gettimeofday.c: New file.
131582         * lib/gtod.h: New file.
131583         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
131585 2001-08-05  Jim Meyering  <meyering@lucent.com>
131587         * m4/jm-macros.m4: Require autoconf-2.52.
131589 2001-08-04  Jim Meyering  <meyering@lucent.com>
131591         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
131592         stmt, to get in sync with glibc.
131594 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131596         The following changes are from gettext 0.10.39 as maintained by
131597         Bruno Haible.
131599         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
131600         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
131601         with inverted sense.  All uses changed.
131603         * lib/mbswidth.c: Don't include <limits.h>.
131604         Include <stdlib.h> and <string.h> unconditionally.
131605         (iswcntrl, mbsinit, ISCNTRL): New macros.
131606         (mbsnwidth): Use K&R style function declarations.
131607         Don't bother checking for MB_LEN_MAX == 1, since the compiler
131608         can optimize it when MB_CUR_MAX == 1.
131609         The width of control characters is zero, not 1.
131611 2001-08-03  Paul Eggert  <eggert@twinsun.com>
131613         The following changes are from gettext 0.10.39 as maintained by
131614         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
131616         * m4/codeset.m4: Upgrade to serial AM1.
131617         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
131618         all uses changed.  Quote first arg of AC_DEFUN.
131619         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
131621         * m4/iconv.m4: Upgrade to serial AM2.
131622         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
131623         Add --with-libconv-prefix.
131624         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
131625         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
131626         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
131627         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
131628         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
131630         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
131631         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
131632         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
131633         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
131634         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
131635         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
131636         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
131637         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
131638         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
131640         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
131641         string.h any more.
131643         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
131644         not the default value.
131646         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
131647         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
131648         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
131649         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
131650         Also check for iswcntrl, used for wcwidth fallback.
131651         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
131652         to Autoconf 2.13.
131654 2001-08-03  Jim Meyering  <meyering@lucent.com>
131656         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
131657         as it was in the original.  Reported by Paul Eggert.
131659 2001-07-16  Jim Meyering  <meyering@lucent.com>
131661         * m4/gettimeofday.m4: New file.
131662         Prompted by a report from Bernhard Baehr.
131664 2001-07-15  Jim Meyering  <meyering@lucent.com>
131666         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
131667         stuff. Now it's in ../Makefile.cfg.
131669 2001-07-15  Jim Meyering  <meyering@lucent.com>
131671         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
131672         (BUILT_SOURCES): Add unlocked-io.h.
131673         (io_functions): Define.
131674         (unlocked-io.h): New rule.
131675         (DISTCLEANFILES): Add unlocked-io.h.
131676         (all-local): Depend on unlocked-io.h, to ensure it is created.
131678         * lib/unlocked-io.hin: New file
131680         * lib/regex.c: Update from glibc.
131682 2001-07-05  Jim Meyering  <meyering@lucent.com>
131684         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
131685         recommendation.
131686         (libfetish_a_SOURCES): Put all .h files here instead.
131687         Remove a thus-exposed (better checks in automake) duplicate and
131688         two unnecessary .h files.
131690 2001-07-04  Jim Meyering  <meyering@lucent.com>
131692         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
131693         that generates jm-glibc-io.m4 so that it doesn't trigger any make
131694         distcheck failure.
131696 2001-07-02  Jim Meyering  <meyering@lucent.com>
131698         The following changes were prompted by suggestions from Bruno Haible.
131700         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
131701         is now generated.
131702         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
131703         definition of EXTRA_DIST.
131704         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
131705         ensure that the generated file is created/updated whenever the list
131706         of $(unlocked_functions) is changed.
131707         (jm-glibc-io.m4): New rule.
131708         (unlocked-io.h): New rule -- currently unused.
131710 2001-06-24  Jim Meyering  <meyering@lucent.com>
131712         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
131713         unmatched right bracket, rather than kludging it with an extra,
131714         falsely-matching quote in a comment.  Patch by Akim Demaille.
131716 2001-06-11  Jim Meyering  <meyering@lucent.com>
131718         * lib/regex.c: Update from GNU libc.
131720 2001-05-27  Jim Meyering  <meyering@lucent.com>
131722         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
131723         Check for ut_type in struct utmp.
131725 2001-05-27  Jim Meyering  <meyering@lucent.com>
131727         * lib/readutmp.h (UT_TYPE): Define.
131729 2001-05-24  Jim Meyering  <meyering@lucent.com>
131731         * lib/argmatch.c: Include "quote.h".
131732         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
131733         quote function.  Reported by Göran Uddeborg.
131735 2001-05-22  Jim Meyering  <meyering@lucent.com>
131737         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
131738         now that we use the package-supplied version unconditionally.
131739         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
131741 2001-05-21  Jim Meyering  <meyering@lucent.com>
131743         * m4/regex.m4: Change a couple backticks to single quotes to avoid
131744         shell syntax errors.
131746 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131748         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
131750 2001-05-20  Paul Eggert  <eggert@twinsun.com>
131752         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
131753         Don't bother to check library strftime, since
131754         we'll be using our own my_strftime function anyway.
131755         Define my_strftime instead of strftime.
131757 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
131759         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
131760         which is not yet declared.
131762 2001-05-15  Jim Meyering  <meyering@lucent.com>
131764         * m4/regex.m4: Use proper quoting so brackets appear in the test
131765         program.
131766         Reported by, and with help from, Bruno Haible.
131768 2001-05-13  Jim Meyering  <meyering@lucent.com>
131770         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
131771         undefined.
131773 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131775         dirname code cleanup.  base_name now behaves more compatibly
131776         with POSIX basename when given file names that have trailing
131777         slashes, and similarly for dir_name.  Add new primitives
131778         base_len and dir_len.  Put the directory-name-related decls
131779         into dirname.h.
131781         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
131782         * lib/backupfile.c (base_name): Likewise.
131783         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
131784         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
131785         * lib/makepath.c (strip_trailing_slashes): Likewise.
131786         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
131787         ISSLASH): Likewise.
131788         * lib/rename.c (strip_trailing_slashes): Likewise.
131789         * lib/same.c (base_name): Likewise.
131790         * lib/stripslash.c (ISSLASH): Likewise.
131792         * lib/addext.c: Include <dirname.h> after size_t is defined.
131793         * lib/backupfile.c: Likewise.
131795         * lib/addext.c (addext): Use base_len to trim redundant
131796         trailing slashes instead of doing it ourselves.
131797         But do not trim the last slash if it is not redundant.
131799         * lib/backupfile.c (find_backup_file_name,
131800         max_backup_version): Use base_len instead of rolling it ourselves.
131801         Handle the case of "" and (on DOS) "C:" correctly.
131803         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
131804         needed. Include <string.h>, <dirname.h>.
131805         (base_name): Allow file names ending in slashes, other than names
131806         that are all slashes.  In this case, return the basename followed
131807         by the slashes.  This is more general, and can be used in places
131808         where the original base_name purposely had an assertion failure.
131809         (base_len): New function.
131811         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
131812         Do not include <assert.h>; no longer needed.
131813         Include xalloc.h.
131814         (memrchr): Remove decl.
131815         (dir_name_r): Remove.
131816         (dir_len): Renamed from dirlen.  All callers changed.
131817         Rewrite in terms of base_name, for simplicity and consistency.
131818         (dir_name): Never return NULL.  All callers changed.
131819         Do not include <stdlib.h> in test program; no longer needed.
131820         return 0; is fine for test program.
131822         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
131823         New macros.
131824         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
131826         * lib/path-concat.c (path_concat): Use base_len to compute
131827         base length, not strlen; this means we cannot rely on memcpy
131828         to null-terminate.
131830         * lib/same.c (STREQ): Remove.
131831         (same_name): Handle the case where the basename ends in trailing '/'.
131833         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
131834         a slash was stripped.  Do not strip the last slash after a
131835         file system prefix.
131837 2001-05-11  Paul Eggert  <eggert@twinsun.com>
131839         * lib/Makefile.am (libfetish_a_SOURCES):
131840         Add strftime.c, since we now compile it on all hosts.
131842         * lib/strftime.c (my_strftime):
131843         Define to nstrftime if emacs, but only if my_strftime is not defined.
131844         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
131845         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
131846         Add one more extra argument: a nanoseconds value.
131847         All uses changed.
131848         (ns): New macro.
131849         (my_strftime function): Add %N format.
131850         (emacs_strftimeu): Renamed from emacs_strftime,
131851         with extra ut argument.
131853 2001-05-09  Paul Eggert  <eggert@twinsun.com>
131855         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
131857 2001-04-21  Jim Meyering  <meyering@lucent.com>
131859         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
131860         doesn't interfere.
131862 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
131864         * m4/ftruncate.m4: Check for chsize.
131865         Link with ftruncate.o unconditionally if ftruncate is missing.
131866         This was required when cross-compiling to i586-mingw32msvc.
131868 2001-04-08  Jim Meyering  <meyering@lucent.com>
131870         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
131871         recomputed; that's necessary when the offset spans a DST transition.
131872         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
131874 2001-04-02  Jim Meyering  <meyering@lucent.com>
131876         * lib/regex.h, regex.c: Update from GNU libc.
131878 2001-03-24  Jim Meyering  <meyering@lucent.com>
131880         * m4/jm-macros.m4: Require autoconf-2.49d.
131882 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
131884         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
131886 2001-03-19  Paul Eggert  <eggert@twinsun.com>
131888         * lib/version-etc.c (version_etc_copyright): Update to 2001.
131890 2001-03-17  Jim Meyering  <meyering@lucent.com>
131892         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
131893         now that the version in autoconf is equivalent.
131894         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
131896         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
131897         Suggestion from Akim Demaille.
131899         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
131900         (jm_PREREQ_TEMPNAME): New function.
131902 2001-03-16  Paul Eggert  <eggert@twinsun.com>
131904         * lib/tempname.c (uint64_t): Define to uintmax_t if
131905         not defined, and if UINT64_MAX is not defined.
131906         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
131907         Reported by John David Anglin.
131909 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
131911         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
131912         resolve alias if codeset is empty.
131913         * lib/config.charset (BeOS): Use wildcard syntax.
131915 2001-03-13  Jim Meyering  <meyering@lucent.com>
131917         * lib/path-concat.c (path_concat)
131918         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
131919         concatenating e.g., `C:' and `foo'.
131920         From Bruno Haible.
131922 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131924         * lib/localcharset.c (locale_charset): Don't use
131925         setlocale(LC_CTYPE,NULL). Don't return NULL.
131926         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
131928 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
131930         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
131931         support for DOS/DJGPP.
131933 2001-03-01  Paul Eggert  <eggert@twinsun.com>
131935         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
131936         lacks mkstemp.  Compile our own tempname.c if we compile our own
131937         mkstemp.c, as mkstemp relies on tempname.
131939 2001-03-01  Jim Meyering  <meyering@lucent.com>
131941         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
131942         AH_VERBATIM really does output its argument verbatim.
131944 2001-02-28  Paul Eggert  <eggert@twinsun.com>
131946         * lib/Makefile.am (libfetish_a_SOURCES):
131947         Add dup-safer.c, fopen-safer.c.
131948         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
131950         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
131951         * lib/unistd-safer.h: New files.
131953 2001-02-25  Paul Eggert  <eggert@twinsun.com>
131955         The mkstemp replacement is taken from glibc 2.2.2, with some
131956         portability fixes for use outside glibc, as follows:
131958         * lib/tempname.c (struct_stat64): New macro.
131959         (direxists, __gen_tempname): Use it.
131960         This avoids a portability problem with Solaris 8.
131962         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
131963         (<stddef.h>, <stdint.h>, <string.h>):
131964         Include only if STDC_HEADERS || _LIBC.
131965         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
131966         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
131967         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
131968         (__set_errno): Define this macro if <errno.h> doesn't.
131969         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
131970         Define these macros if <stdio.h> doesn't.
131971         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
131972         Define these macros if <sys/stat.h>
131973         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
131974         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
131975         __xstat64): Define if not _LIBC.
131976         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
131977         (__gen_tempname): Invoke gettimeofday only if
131978         HAVE_GETTIMEOFDAY || _LIBC;
131979         otherwise, fall back on plain "time".
131980         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
131982         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
131984         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
131986 2001-02-18  Paul Eggert  <eggert@twinsun.com>
131988         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
131990 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131992         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
131993         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
131994         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
131995         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
131997 2001-02-17  Paul Eggert  <eggert@twinsun.com>
131999         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
132000         Remove workaround macros for hosts that have mbrtowc but not
132001         mbstate_t, as we now insist on proper declarations for both
132002         before using mbrtowc.
132004 2001-02-17  Jim Meyering  <meyering@lucent.com>
132006         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
132007         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
132008         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
132009         UnixWare 7.1.1.
132011         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
132012         rather than AC_CACHE_VAL.
132014 2001-02-17  Jim Meyering  <meyering@lucent.com>
132016         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
132017         around included file name.
132019         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
132021         * lib/strftime.c: Update from GNU libc (the only changes were to
132022         comments).
132024 2001-02-17  Jim Meyering  <meyering@lucent.com>
132026         * lib/regex.c: Update from libc.
132028 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
132030         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
132031         clash.
132033 2001-02-16  Paul Eggert  <eggert@twinsun.com>
132035         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
132036         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
132037         Reported by Mark Hounschell via Paul Eggert.
132039 2001-02-07  Jim Meyering  <meyering@lucent.com>
132041         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
132043 2001-02-05  Jim Meyering  <meyering@lucent.com>
132045         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
132046         it includes the patch required for `large file' support with at least
132047         HP-UX's 10.20 /bin/cc.
132049 2001-02-03  Jim Meyering  <meyering@lucent.com>
132051         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
132052         AS_IF, now that it works once again (mysteriously).
132053         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132055 2001-01-30  Jim Meyering  <meyering@lucent.com>
132057         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
132058         * m4/chown.m4: Rename conftestchown to conftest.chown.
132059         * m4/rename.m4: s/conftestdir/conftest.d1/ and
132060         s/conftestdir2/conftest.d2/.
132061         * m4/utimes.m4: s/conftestdata/conftest.data/
132062         Inspired by Pavel Roskin's change in autoconf.
132064 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
132066         * lib/config.charset: Update for FreeBSD 4.2.
132068 2001-01-27  Jim Meyering  <meyering@lucent.com>
132070         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
132071         a use of AS_IF.
132072         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
132074 2001-01-26  Jim Meyering  <meyering@lucent.com>
132076         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
132077         quotearg.c includes it.
132079 2001-01-26  Jim Meyering  <meyering@lucent.com>
132081         * lib/quotearg.c: Include stddef.h.
132082         * lib/quote.c: Include stddef.h.
132083         Reported by Axel Kittenberger.
132085         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
132086         line in double quotes so that it evokes a better diagnostic.
132087         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
132088         Reported by Axel Kittenberger.
132090 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
132092         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
132093         as if it was a `charset'.
132095 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132097         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
132098         has const.
132100 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
132102         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
132103         to avoid a warning.  Add back 'const' to inptr.
132105 2001-01-20  Jim Meyering  <meyering@lucent.com>
132107         Be sure that headers are checked before used in code compiled
132108         for the type checks.
132109         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
132110         In place of that, invoke jm_CHECK_ALL_TYPES.
132111         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
132112         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
132113         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
132114         The check for ssize_t was mistakenly run before the test for unistd.h.
132116         The configure-time check for stdbool.h was missing.
132117         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
132118         (jm_PREREQ_HASH): New function.
132120 2001-01-17  Jim Meyering  <meyering@lucent.com>
132122         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
132123         for autoconf-2.49c.
132124         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
132126 2001-01-16  Jim Meyering  <meyering@lucent.com>
132128         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
132129         From Bruno Haible.
132131 2001-01-14  Jim Meyering  <meyering@lucent.com>
132133         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
132134         foo and bar.  Create conftestdir/ in the script, not in the C code.
132135         Remove directories in the script, not in the C code.
132136         Remove conftestdir{,2} before trying to create the directory.
132137         Make the entire configure script fail if the mkdir fails.
132139 2001-01-14  Jim Meyering  <meyering@lucent.com>
132141         * lib/rename.c: New file.  From Volker Borchert.
132142         Include stdlib.h, string.h or strings.h, and xalloc.h.
132143         Use strip_trailing_slashes rather than open-coding it.
132145 2001-01-03  Paul Eggert  <eggert@twinsun.com>
132147         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
132149 2001-01-03  Jim Meyering  <meyering@lucent.com>
132151         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
132152         of local `inptr' to avoid warning with some system declarations of
132153         iconv.
132155 2001-01-02  Volker Borchert  <bt@teknon.de>
132157         * m4/rename.m4: New file.
132158         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
132160 2001-01-01  Jim Meyering  <meyering@lucent.com>
132162         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
132163         even on systems with utmpx.h.  It's necessary for the declaration of
132164         utmp's ut_user member.  Reported by Andreas Jaeger.
132166         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
132167         available. They are required for the declarations of getgrgid and
132168         getpwuid resp.
132169         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
132170         Reported by Andreas Jaeger.
132172 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
132174         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
132175         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
132176         so `make install' also works in VPATH builds.
132178 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
132180         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
132181         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
132182         can be used in subdirectories.
132184 2000-12-29  Paul Eggert  <eggert@twinsun.com>
132186         * lib/modechange.c: Do not assume that mode_t uses the
132187         traditional octal encoding.  E.g. "chmod 1 FOO" should set
132188         the other-execute bit of FOO even if S_IXOTH != 1.
132190         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
132191         WOTH, XOTH, ALLM): New macros.
132192         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
132193          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
132194         Use them.
132195         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
132196         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
132197         (mode_compile):
132198         No need to use uintmax_t; unsigned long is long enough.
132199         Don't bother to get suffix since we don't use it.
132201 2000-12-26  Jim Meyering  <meyering@lucent.com>
132203         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
132204         better with autoheader.
132206 2000-12-24  Jim Meyering  <meyering@lucent.com>
132208         * lib/hash.c (is_prime): Return explicit boolean values.
132209         (hash_get_first): Return NULL to appease Irix5.6's 89.
132210         Reported by Nelson Beebe.
132212 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
132214         * lib/localcharset.c (locale_charset): Add support for Win32.
132216 2000-12-18  Paul Eggert  <eggert@twinsun.com>
132218         * lib/physmem.h, lib/physmem.c: New files.
132220         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
132221         (noinst_HEADERS): Add physmem.h.
132223         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
132224         't' for compatibility with Solaris 8 sort.
132226 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
132228         * lib/config.charset: Add support for BeOS.
132230 2000-12-17  Jim Meyering  <meyering@lucent.com>
132232         * m4/dos.m4 (jm_AC_DOS): New file and macro.
132233         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
132235 2000-12-16  Jim Meyering  <meyering@lucent.com>
132237         This bug had a serious impact on chown: `chown N:M FILE' (for integer
132238         N and M) would have treated it like `chown N:N FILE'.
132240         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
132242 2000-12-16  Jim Meyering  <meyering@lucent.com>
132244         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
132245         SHELLS_FILE to a file name that's useful on djgpp systems.
132246         Include stdlib.h.
132247         (ADDITIONAL_DEFAULT_SHELLS): Define.
132248         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
132249         Based mostly on a patch from Prashant TR.
132251 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
132253         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
132254         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
132255         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
132257 2000-12-08  Andreas Schwab  <schwab@suse.de>
132259         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
132260         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
132262 2000-12-07  Jim Meyering  <meyering@lucent.com>
132264         * lib/stripslash.c (ISSLASH): Define.
132265         (strip_trailing_slashes): Use ISSLASH rather than comparing against
132266         `/'.
132267         From Prashant TR.
132269         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
132270         (dir_name_r): Declare this function as static.
132271         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
132272         manifest itself on a name containing a mix of slashes and
132273         backslashes.
132274         Make this function work with names starting with a DOS-style
132275         drive letter and colon prefix.
132276         (dir_name): Append `.' if necessary.
132277         Based mostly on patches from Prashant TR and Eli Zaretskii.
132279         * lib/dirname.h (dir_name_r): Remove prototype.
132281 2000-12-06  Paul Eggert  <eggert@twinsun.com>
132283         * m4/off_t-format.m4: Remove this file.
132284         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
132286 2000-12-06  Jim Meyering  <meyering@lucent.com>
132288         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
132289         replacement strtoull, we may well need the replacement strtoul, too.
132290         Check for declarations of strtoul and strtoull.
132291         Check for strtol.  Mainly as a cue to cause automake to include
132292         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
132293         Check for limits.h -- strtol.c needs it.
132295 2000-12-05  Jim Meyering  <meyering@lucent.com>
132297         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
132299 2000-12-04  Jim Meyering  <meyering@lucent.com>
132301         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
132302         Also include memory.h, stdlib.h, unistd.h if appropriate.
132303         Reported by Andreas Jaeger (conflicting declaration of malloc).
132305 2000-12-02  Jim Meyering  <meyering@lucent.com>
132307         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
132308         * m4/jm-macros.m4 (jm_MACROS): require it.
132310 2000-12-02  Jim Meyering  <meyering@lucent.com>
132312         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
132314 2000-12-01  Paul Eggert  <eggert@twinsun.com>
132316         * lib/memrchr.c: Include <config.h> before any system include file.
132318 2000-11-30  Jim Meyering  <meyering@lucent.com>
132320         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
132322 2000-11-30  Jim Meyering  <meyering@lucent.com>
132324         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
132326 2000-11-29  Paul Eggert  <eggert@twinsun.com>
132328         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
132330 2000-11-26  Jim Meyering  <meyering@lucent.com>
132332         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
132334 2000-11-22  Paul Eggert  <eggert@twinsun.com>
132336         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
132337         size of (size_t) -1; it's not portable.
132339 2000-11-17  Jim Meyering  <meyering@lucent.com>
132341         * lib/strstr.c: Update from GNU libc.
132343 2000-11-17  Akim Demaille  <akim@epita.fr>
132345         * lib/obstack.h: Formatting changes.
132346         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
132347         prevent type checking.
132348         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
132349         cast the value to (void *): assigning a `foo *' to a `void *'
132350         variable is valid.
132351         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
132353 2000-11-16  Jim Meyering  <meyering@lucent.com>
132355         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
132357 2000-11-11  Jim Meyering  <meyering@lucent.com>
132359         * lib/error.c: Add a couple #includes, merging from GNU libc version.
132361 2000-11-10  Jim Meyering  <meyering@lucent.com>
132363         * lib/obstack.h: Update from GNU libc.
132364         * lib/obstack.c: Likewise.
132366 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
132368         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
132370 2000-11-06  Paul Eggert  <eggert@twinsun.com>
132372         * lib/getusershell.c (setusershell): Use rewind rather than
132373         fseek/fseeko, to avoid configuration hassles with fseeko.
132374         Don't bother opening SHELLS_FILE if shellstream is NULL;
132375         it's not necessary.
132377 2000-11-05  Jim Meyering  <meyering@lucent.com>
132379         * lib/makepath.h (make_dir): Declare.
132380         * lib/makepath.c (make_dir): Remove `static' attribute.
132381         Tweak a comment.
132383 2000-11-04  Jim Meyering  <meyering@lucent.com>
132385         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
132387 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
132389         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
132390         last one in a bucket, advance to the next bucket.
132392 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
132394         * lib/fnmatch.c: Do not comment out all the code if we are using
132395         the GNU C library, because in some cases we are replacing buggy
132396         code in the GNU C library itself.
132398 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
132400         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
132401         (regex_compile): Catch bogus \(\1\).
132403 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132405         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
132406         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
132407         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
132409 2000-10-30  Paul Eggert  <eggert@twinsun.com>
132411         * lib/error.h, getline.h, modechange.h:
132412         Remove "2000" from Copyright line, as the file hasn't been
132413         changed this year other than in the copyright notice.
132415         * lib/xalloc.h: Add "2000" to Copyright line, as this file
132416         was changed this year.
132418 2000-10-29  Jim Meyering  <meyering@lucent.com>
132420         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
132421         renaming.
132422         * m4/ls-mntd-fs.m4: Likewise
132424 2000-10-29  Jim Meyering  <meyering@lucent.com>
132426         * lib/xstat.in: Fix grammar in comment.
132428 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
132430         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
132431         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
132432         doesn't define __restrict_arr.
132434 2000-10-28  Jim Meyering  <meyering@lucent.com>
132436         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
132437         (jm_PREREQ_MEMCHR): New function.
132439 2000-10-28  Jim Meyering  <meyering@lucent.com>
132441         * lib/memchr.c: Update from libc.
132442         Adjust for portability:
132443         [HAVE_STDLIB_H]: Include stdlib.h.
132444         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
132445         Undef __memchr, too.
132446         [!weak_alias]: Define __memchr to memchr.
132448         * lib/regex.c: Update from libc.
132449         * lib/regex.h: Likewise.
132450         * lib/getopt1.c: Likewise.
132451         * lib/memcmp.c: Likewise.
132453         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
132454         Avoid using fseek, when possible -- it's broken by design.
132455         Patch by Ulrich Drepper.
132457 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
132459         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
132460         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
132461         Giving in to popular pressure to shut up the compiler with casts.
132463 2000-10-26  Jim Meyering  <meyering@lucent.com>
132465         * lib/strftime.c: Update from libc.
132467 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
132469         * regex.c: More `unsigned char' -> `re_char' changes.
132470         Also change several `int' into `re_wchar_t'.
132471         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
132472         (PUSH_FAILURE_POINTER): Don't cast any more.
132473         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
132474         We want GCC to complain, since this piece of code makes
132475         re_match non-reentrant, which *should* be fixed.
132476         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
132477         (EXTEND_BUFFER): Use RETALLOC.
132478         (SET_LIST_BIT): Don't cast.
132479         (re_wchar_t): New type.
132480         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
132481         that those two functions will always properly return.
132482         (IMMEDIATE_QUIT_CHECK): Cast to void.
132483         (analyse_first): Use recursion rather than an explicit stack.
132484         (re_compile_fastmap): Can't fail anymore.
132485         (re_search_2): Don't check re_compile_fastmap for failure.
132486         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
132487         Now also sets the new value (passed in a new argument).
132488         (re_match_2_internal): Use it.
132489         Also, use a new var `reg' of type size_t when looping through regs
132490         rather than reuse the inappropriate `mcnt'.
132492 2000-10-25  Jim Meyering  <meyering@lucent.com>
132494         * lib/obstack.c: Update from libc.
132496 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
132498         * regex.c (regex_compile): Change the way of handling a range from
132499         a char less than 256 to a char not less than 256.
132501 2000-10-24  Andrew Innes  <andrewi@gnu.org>
132503         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
132504         NT-Emacs only.
132505         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
132506         so that re_search functions only quit when callers expect them to.
132508 2000-10-23  Jim Meyering  <meyering@lucent.com>
132510         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
132511         wrong.  That set_locale call must not have any side effects.
132512         From Paul Eggert.
132514 2000-10-22  Jim Meyering  <meyering@lucent.com>
132516         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
132517         [CYCLIC]: Remove now-unused definition.
132519         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
132520         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
132521         Suggestion from Ulrich Drepper.
132523 2000-10-21  Jim Meyering  <meyering@lucent.com>
132525         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
132526         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
132527         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
132529 2000-10-21  Jim Meyering  <meyering@lucent.com>
132531         * lib/dirname.c (memrchr): Declare if necessary.
132532         (dir_name): Remove the restriction that there be no
132533         trailing slashes.  Now, this code skips past them, effectively
132534         ignoring them.
132535         [TEST_DIRNAME] (main): New unit tests.
132537         * lib/memrchr.c: New file from GNU libc.
132538         Undef __memrchr, too.
132539         [!weak_alias]: Define __memrchr to memrchr.
132540         Guard weak_alias use with `#ifdef weak_alias'.
132542 2000-10-21  Jim Meyering  <meyering@lucent.com>
132544         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
132545         (dir_name): Use dir_name_r.
132546         * lib/dirname.h (dir_name_r): Declare it.
132548 2000-10-17  Jim Meyering  <meyering@lucent.com>
132550         * lib/quote.h (PARAMS): Define and use.
132551         Reported by Akim Demaille.
132553         * lib/getopt.c: Update from libc.
132555 2000-10-16  Jim Meyering  <meyering@lucent.com>
132557         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
132558         setlocale.
132559         From Jan Fedak.
132561 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
132563         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
132565 2000-09-25  Jim Meyering  <meyering@lucent.com>
132567         * lib/md5.h (rol): Define (from GnuPG).
132569         * lib/sha.c: Give credit (GnuPG) where due.
132570         (M): Use rol rather than open-coding it.
132571         Add a FIXME comment.
132573 2000-09-21  Jim Meyering  <meyering@lucent.com>
132575         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
132576         Reported by Michael Stone.
132578 2000-09-20  Jim Meyering  <meyering@lucent.com>
132580         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
132581         (noinst_HEADERS): Add sha.h.
132582         Based on code from Scott G. Miller and from GnuPG.
132584 2000-09-18  Jim Meyering  <meyering@lucent.com>
132586         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
132587         LIBS. Otherwise, everyone ends up linking with -lelf for some
132588         configurations.
132589         Reported by Mike Stone.
132591 2000-09-15  Jim Meyering  <meyering@lucent.com>
132593         * lib/regex.c: Update from libc.
132595 2000-09-10  Jim Meyering  <meyering@lucent.com>
132597         * lib/getopt.c (_getopt_internal): Update from glibc.
132599 2000-09-09  Jim Meyering  <meyering@lucent.com>
132601         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
132602         think it should be used as a general replacement for isascii.
132603         * lib/fnmatch.c: Likewise.
132604         * lib/mbswidth.c: Likewise
132605         * lib/regex.c: Likewise.
132607         Don't use atoi.
132608         * lib/userspec.c: Include sys/param.h and limits.h.
132609         Include xstrtol.h.
132610         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
132611         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
132612         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
132613         UID, GID.  Check range.
132615 2000-09-06  Jim Meyering  <meyering@lucent.com>
132617         * lib/getopt.c (_getopt_internal): Update from glibc.
132619 2000-08-30  Jim Meyering  <meyering@lucent.com>
132621         * lib/strftime.c: Merge in changes from GNU libc.
132623 2000-08-26  Jim Meyering  <meyering@lucent.com>
132625         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
132626         * m4/fpending.m4: New file.
132628 2000-08-26  Jim Meyering  <meyering@lucent.com>
132630         * lib/closeout.c: Include "__fpending.h".
132631         (close_stdout_status): Return right away if there's nothing to flush.
132633         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
132634         * lib/__fpending.c: New file.
132635         * lib/__fpending.h: New file.
132637 2000-08-20  Jim Meyering  <meyering@lucent.com>
132639         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
132640         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
132641         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
132643 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
132645         Improve fileutils installation on systems where running
132646         programs (like install) can't be unlinked.
132647         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
132648         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
132650 2000-08-07  Paul Eggert  <eggert@twinsun.com>
132652         Standardize on "memory exhausted" instead of "Memory exhausted"
132653         or "virtual memory exhausted".
132654         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
132655         "virtual memory exhausted".
132656         * lib/same.c (same_name): Invoke xalloc_die instead of printing
132657         our own message.
132658         * lib/userspec.c (parse_user_spec): Likewise.
132659         * lib/bumpalloc.h: comment fix
132660         * lib/same.c, userspec.c: Include xalloc.h.
132662         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
132663         not char *const and pointing to a constant array.
132664         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
132665         (xrealloc): Comment fix.
132667         * lib/userspec.c (parse_user_spec):
132668         Don't translate a message until just before returning,
132669         to avoid unnecessary translation.
132671 2000-08-07  Jim Meyering  <meyering@lucent.com>
132673         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
132674         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
132675         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
132676         getgroups.c, gethostname.c, getopt.h, group-member.c,
132677         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
132678         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
132679         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
132680         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
132681         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
132682         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
132683         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
132684         yesno.c: Back out Copyright date changes for each file with no change
132685         this year.  This eases coordination with other programs using the same
132686         source code modules.  From Paul Eggert.
132688 2000-08-06  Paul Eggert  <eggert@twinsun.com>
132690         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
132691         not char, for compatibility with glibc 2.1.3 strftime.c.
132693 2000-08-03  Greg McGary  <greg@mcgary.org>
132695         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
132696         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
132697         (EXTEND_BUFFER): Use them.
132699 2000-08-01  Jim Meyering  <meyering@lucent.com>
132701         * lib/dirname.c (ISSLASH): Define.
132702         (BACKSLASH_IS_PATH_SEPARATOR): Define.
132703         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
132704         both `\' and `/' may be use as path separators.
132705         Based on a patch from Prashant TR.
132707 2000-07-31  Paul Eggert  <eggert@twinsun.com>
132709         * lib/quotearg.c (quotearg_n_options): Don't make the initial
132710         slot vector a constant, since it might get modified.
132712 2000-07-31  Jim Meyering  <meyering@lucent.com>
132714         * lib/xmalloc.c: Use `virtual memory exhausted', not
132715         `Memory exhausted'.
132716         * lib/obstack.c (print_and_abort): Likewise.
132718 2000-07-30  Paul Eggert  <eggert@twinsun.com>
132720         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
132721         buffer, so that the caller can always quote one small
132722         component of a "memory exhausted" message in slot 0.
132723         From a suggestion by Jim Meyering.
132725 2000-07-30  Jim Meyering  <meyering@lucent.com>
132727         * lib/makepath.c (make_path): Quote the other instance, too.
132729         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
132730         (STATIC_BUF_SIZE): Define.
132731         (quotearg_n_options): Use only statically allocated storage when
132732         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
132733         than STATIC_BUF_SIZE.
132735 2000-07-29  Jim Meyering  <meyering@lucent.com>
132737         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
132738         * lib/dirname.c (dir_name): Likewise.
132740         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
132741         `/'.
132743         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
132744         (dir_name): Assert that there are no trailing slashes.
132746 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
132748         * lib/mbswidth.h (mbswidth): Add a flags argument.
132749         (mbswidth): New declaration.
132750         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
132751         * lib/mbswidth.c (mbswidth): Add a flags argument.
132752         (mbsnwidth): New function.
132754 2000-07-24  Jim Meyering  <meyering@lucent.com>
132756         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
132758 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132760         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
132762 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132764         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
132765         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
132766         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
132767         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
132768         invoke multibyte primitives.
132770 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132772         * lib/quotearg.c:
132773         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
132774         so that mbstate_t is always defined.
132776         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
132777         be 1 in at least one GCC installation, and this configuration
132778         error is likely to be common.  Ignoring MB_LEN_MAX hurts
132779         performance on hosts that have mbrtowc but have only unibyte
132780         locales, but I assume these hosts are rare.
132782 2000-07-23  Paul Eggert  <eggert@twinsun.com>
132784         * lib/mbswidth.c (_XOPEN_SOURCE):
132785         Don't define; this causes problems on Solaris 7.
132786         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
132788 2000-07-23  Jim Meyering  <meyering@lucent.com>
132790         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
132791         too: getgrgid, getpwuid, getuid.
132793 2000-07-23  Jim Meyering  <meyering@lucent.com>
132795         * lib/basename.c (base_name): Add an assertion.
132797 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
132799         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
132800         shadow its mbsinit function.
132802 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132804         * lib/mbswidth.h: New file.
132805         * lib/mbswidth.c: New file.
132806         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
132807         (noinst_HEADERS): Add mbswidth.h.
132809 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
132811         * lib/config.charset: Add support for FreeBSD. Improve support for
132812         HP-UX and IRIX 6.
132814 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
132816         * m4/mbswidth.m4: New file.
132817         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
132819 2000-07-15  Jim Meyering  <meyering@lucent.com>
132821         * lib/makepath.c: Include quote.h.
132822         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
132823         corresponding argument in a `quote (...)' call.
132824         Give better diagnostics.
132826         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
132827         (noinst_HEADERS): Add quote.h.
132829         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
132830         from tar's src/misc.c.
132831         * lib/quote.h: New file.  Prototypes for same.
132833 2000-07-14  Paul Eggert  <eggert@twinsun.com>
132835         From a suggestion by Bruno Haible.
132836         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
132837         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
132838         to decide whether to define the BeOS workaround macro;
132839         this adjusts to the change to AC_MBSTATE_T.
132841 2000-07-14  Jim Meyering  <meyering@lucent.com>
132843         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
132844         jm_AC_TYPE_UINTMAX_T.
132846 2000-07-13  Paul Eggert  <eggert@twinsun.com>
132848         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
132850         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
132851         quotearg_buffer_restyled): Add support for
132852         clocale_quoting_style.  Undo previous change to
132853         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
132854         and "{RIGHT QUOTATION MARK}" msgids.
132856 2000-07-10  Paul Eggert  <eggert@twinsun.com>
132858         From a suggestion by Bruno Haible.
132859         * m4/mbstate_t.m4 (AC_MBSTATE_T):
132860         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
132861         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
132862         and mbstate_t, to a single-part test that simply defines mbstate_t.
132863         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
132864         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
132866 2000-07-10  Jim Meyering  <meyering@lucent.com>
132868         * m4/strerror_r.m4: Mirror the correction made in autoconf.
132870         * m4/gnu-source.m4: Output to confdefs.h directly.
132871         Suggestion from Akim Demaille.
132873 2000-07-09  Paul Eggert  <eggert@twinsun.com>
132875         The old behavior of quoting `like this' doesn't look good with
132876         newer, ISO-style fonts.  See:
132877         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
132879         Instead, quote "like this" by default.  Let the translator
132880         tailor the locale-specific quoting behavior by providing
132881         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
132883         * lib/quotearg.c (N_): New macro.
132884         (gettext_default): New function.
132885         (quotearg_buffer_restyled): Use
132886         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
132887         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
132889 2000-07-09  Jim Meyering  <meyering@lucent.com>
132891         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
132892         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
132894         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
132895         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
132897 2000-07-09  Jim Meyering  <meyering@lucent.com>
132899         * lib/Most files: Update copyright dates to include 2000.
132901 2000-07-08  Jim Meyering  <meyering@lucent.com>
132903         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
132904         if not defined.
132905         (xgethostname): Remove now-unnecessary #ifdef.
132906         Move declaration of `err' into loop where it's used.
132908 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132909         and Bruno Haible  <haible@clisp.cons.org>
132911         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
132912         only if the test for an object-type mbstate_t fails.  This
132913         prevents us from mistakenly reporting that mbstate_t is a
132914         system object type after we "#define mbstate_t int" to work
132915         around its lack.
132917 2000-07-05  Paul Eggert  <eggert@twinsun.com>
132918         and Bruno Haible  <haible@clisp.cons.org>
132920         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
132922 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132924         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
132925         to strerror_r.
132926         Include <ctype.h> for use of isalpha.
132928 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132930         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
132931         by allocating a larger buffer. Test the gethostname return value for
132932         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
132933         returns an error and ENAMETOOLONG isn't defined.
132935 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
132937         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
132938         dimension.
132940 2000-07-04  Jim Meyering  <meyering@lucent.com>
132942         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
132943         of the deprecated AC_CHECKING.
132945 2000-07-04  Jim Meyering  <meyering@lucent.com>
132947         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
132948         Reported by Bruno Haible.
132950 2000-07-04  Jim Meyering  <meyering@lucent.com>
132952         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
132953         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
132954         lacks mbrtowc.
132956 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132958         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
132959         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
132961 2000-07-03  Paul Eggert  <eggert@twinsun.com>
132962         and Bruno Haible  <haible@clisp.cons.org>
132964         * lib/quotearg.c (mbrtowc):
132965         Assign to *pwc, and return 1 only if result is nonzero.
132966         (iswprint): Use ISPRINT when substituting our own mbrtowc.
132968 2000-07-03  Jim Meyering  <meyering@lucent.com>
132970         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
132972 2000-07-03  Jim Meyering  <meyering@lucent.com>
132974         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
132975         This is necessary to get a definition of e.g., UTMP_FILE on
132976         HP-UX 10.20.
132977         From Bob Proulx.
132979 2000-07-02  Jim Meyering  <meyering@lucent.com>
132981         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
132983         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
132984         AC_LIBOBJ(function_name).
132985         * m4/chown.m4: Likewise.
132986         * m4/fnmatch.m4: Likewise.
132987         * m4/ftruncate.m4: Likewise.
132988         * m4/getgroups.m4: Likewise.
132989         * m4/getline.m4: Likewise.
132990         * m4/group-member.m4: Likewise.
132991         * m4/jm-macros.m4: Likewise.
132992         * m4/lstat.m4: Likewise.
132993         * m4/malloc.m4: Likewise.
132994         * m4/memcmp.m4: Likewise.
132995         * m4/nanosleep.m4: Likewise.
132996         * m4/putenv.m4: Likewise.
132997         * m4/realloc.m4: Likewise.
132998         * m4/regex.m4: Likewise.
132999         * m4/stat.m4: Likewise.
133000         * m4/strftime.m4: Likewise.
133002 2000-07-02  Jim Meyering  <meyering@lucent.com>
133004         * lib/quotearg.c (mbstate_t): Don't define here.
133006 2000-07-02  Jim Meyering  <meyering@lucent.com>
133008         * lib/nanosleep.c (SIGCONT): Define if not already defined.
133010 2000-07-01  Jim Meyering  <meyering@lucent.com>
133012         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
133014 2000-07-01  Jim Meyering  <meyering@lucent.com>
133016         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
133017         problem.
133019 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133021         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
133022         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
133024 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
133026         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
133027         per change in ../m4/ls-mntd-fs.m4.
133028         (read_filesystem_list): Ignore symbolic links.
133030 2000-06-29  Jim Meyering  <meyering@lucent.com>
133032         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
133033         for declaration of strcmp.
133035         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
133037         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
133038         Avoid warning by casting result to `char *' to remove `const'.
133040 2000-06-28  Jim Meyering  <meyering@lucent.com>
133042         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
133043         included by quotearg.c, for which we perform this test.  From
133044         Bruno Haible.
133046 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133048         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
133049         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
133050         <utmpx.h> exists, put readutmp.o into LIBOBJS.
133052 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
133054         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
133056 2000-06-26  Paul Eggert  <eggert@twinsun.com>
133058         savedir now sets errno on failure and invokes xmalloc to get memory.
133059         Fix a couple of other minor bugs while we're at it.
133061         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
133062         (NAMLEN): Remove macro.
133063         (malloc, realloc): Remove decls.
133064         (stpcpy): Likewise.
133065         ("xalloc.h"): Include.
133066         (NAME_SIZE_DEFAULT): New macro.
133067         (savedir): Use xmalloc / xrealloc to allocate memory.
133068         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
133069         Skip "" directory entries.
133070         Use strlen to calculate directory entry length, since the old method
133071         is rarely used these days and isn't worth supporting.
133072         Don't use a pointer after freeing it.
133073         Check for integer overflow when calculating allocation size.
133074         Use memcpy to copy entries, instead of stpcpy.
133075         Set errno properly when returning NULL.
133076         Check for readdir error.
133078 2000-06-26  Jim Meyering  <meyering@lucent.com>
133080         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
133082 2000-06-25  Jim Meyering  <meyering@lucent.com>
133084         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
133085         Linux header bug when _XOPEN_SOURCE is defined to 500.
133087 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133089         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
133090         deficiency.
133092 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
133094         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
133095         Include xalloc.h.
133096         Don't include <stdlib.h>.  Don't declare malloc, realloc.
133098 2000-06-24  Jim Meyering  <meyering@lucent.com>
133100         * m4/strerror_r.m4: Revive this file -- to try out an experimental
133101         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
133102         for which strerror does return char*, but which lacks a conveniently
133103         accessible declaration of the function.  If the compile-test says
133104         strerror_r doesn't work, then resort to a `run'-test that works on
133105         BeOS and segfaults on DEC Unix.
133107 2000-06-24  Jim Meyering  <meyering@lucent.com>
133109         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
133111 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133113         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
133114         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
133116 2000-06-23  Paul Eggert  <eggert@twinsun.com>
133118         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
133119         (mbrtowc, mbstate_t): Define substitutes if
133120         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
133121         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
133122         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
133124 2000-06-23  Jim Meyering  <meyering@lucent.com>
133126         * m4/afs.m4: Add missing AC_MSG_RESULT.
133127         Reported by Bruno Haible.
133129         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
133130         Suggestion from Bruno Haible.
133132 2000-06-23  Jim Meyering  <meyering@lucent.com>
133134         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
133136 2000-06-21  Jim Meyering  <meyering@lucent.com>
133138         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
133140 2000-06-21  Jim Meyering  <meyering@lucent.com>
133142         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
133143         (noinst_HEADERS): Add getstr.h.
133145         * lib/getline.c (getstr): Move into a separate file.
133146         * lib/getstr.c (getstr): New file, extracted from getline.c, with
133147         the following changes: new parameter, delim2; both delim[12]
133148         parameters have type `int', not `char'.  The latter would lose
133149         with 8-bit delimiters.
133150         * lib/getstr.h: New file.
133152 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133154         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
133155         than 1024, return a memory chunk of least possible size, instead
133156         of size PATH_MAX + 2. In the loop, increment the size proportionally.
133157         Use free/xmalloc instead of xrealloc to avoid copying for very long
133158         paths.
133160 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133162         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
133163         the empty string.
133165 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
133167         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
133168         address, not strdup.  Include <stdlib.h> and don't declare free().
133170 2000-06-19  Jim Meyering  <meyering@lucent.com>
133172         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
133174 2000-06-18  Jim Meyering  <meyering@lucent.com>
133176         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
133178         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
133179         `checking whether...' message to be consistent with that of the
133180         lstat test.
133182 2000-06-18  Jim Meyering  <meyering@lucent.com>
133184         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
133185         Besides, these days every porting target provides a mkdir function.
133187         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
133188         needed. (this snippet comes from src/system.h).
133190 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
133192         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
133194 2000-06-15  Paul Eggert  <eggert@twinsun.com>
133196         * lib/human.c (adjust_value): New function.
133197         (human_readable_inexact): Apply rounding style even when
133198         printing approximate values.
133200 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133202         * lib/human.c (human_readable_inexact): Allow an input block
133203         size that is not a multiple of the output block size, and vice versa.
133204         Reported by Piergiorgio Sartor.
133206 2000-06-14  Paul Eggert  <eggert@twinsun.com>
133208         * lib/getdate.y (get_date): Apply relative times after time
133209         zone indicator, not before.  Reported by Todd A. Jacobs.
133211 2000-06-13  Jim Meyering  <meyering@lucent.com>
133213         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
133215         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
133217 2000-06-12  Paul Eggert  <eggert@twinsun.com>
133219         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
133221 2000-06-12  Jim Meyering  <meyering@lucent.com>
133223         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
133224         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
133225         optional argument.
133226         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
133227         the optional argument, `lib'.
133229 2000-06-08  Jim Meyering  <meyering@lucent.com>
133231         * m4/largefile.m4: Remove file (now that it's part of autoconf).
133233 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133235         Rewrite largefile configuration so that we don't need to run
133236         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
133237         AC_CANONICAL_HOST in configure.in -- jmm]
133239         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
133240         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
133241         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
133242         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
133243         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
133244         All uses changed.
133245         Instead of inspecting the output of getconf, try to compile the
133246         test program without and with the macro definition.
133247         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
133248         for getconf.  Instead, check for the needed flags by compiling
133249         test programs.
133251 2000-06-04  Paul Eggert  <eggert@twinsun.com>
133253         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
133255 2000-06-04  Jim Meyering  <meyering@lucent.com>
133257         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
133258         SunOS 4.1.4 for which gid_t is an unsigned type.
133260 2000-06-03  Jim Meyering  <meyering@lucent.com>
133262         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
133263         now that autoconf requires that.
133265         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
133266         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
133267         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
133269 2000-06-03  Jim Meyering  <meyering@lucent.com>
133271         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
133273 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133275         * m4/glibc21.m4: New file.
133276         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
133278 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
133280         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
133281         newer, don't install charset.alias.
133282         * lib/config.charset: Change the Linux/glibc rules so they become empty
133283         on glibc-2.1 or newer.
133285 2000-06-02  Jim Meyering  <meyering@lucent.com>
133287         * lib/mountlist.c: Back out last change.  Instead, do this...
133288         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
133289         me_dummy member using the same `ignore'-testing code.
133290         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
133291         fs_type strings.
133292         From Mark D. Roth.
133294 2000-05-29  Jim Meyering  <meyering@lucent.com>
133296         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
133297         mounts with the `ignore' attribute.  Based on a patch from
133298         Mark D. Roth.
133300 2000-05-28  Jim Meyering  <meyering@lucent.com>
133302         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
133303         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133304         * m4/stat.m4: Likewise.
133305         * m4/lstat.m4: Likewise.
133306         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
133308         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
133309         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
133311 2000-05-26  Jim Meyering  <meyering@lucent.com>
133313         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
133315 2000-05-24  Jim Meyering  <meyering@lucent.com>
133317         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
133318         autoconf requires that.
133319         * m4/lib-check.m4: Likewise.
133320         * m4/jm-macros.m4: Likewise.
133321         * m4/strftime.m4: Likewise.
133323         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
133324         AC_CHECK_DECLS, now that autoconf requires that.
133326 2000-05-22  Jim Meyering  <meyering@lucent.com>
133328         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
133329         * m4/lstat.m4: Likewise.
133331 2000-05-22  Jim Meyering  <meyering@lucent.com>
133333         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
133335 2000-05-20  Jim Meyering  <meyering@lucent.com>
133337         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
133338         (jm_PREREQ): Use it.
133340 2000-05-18  Jim Meyering  <meyering@lucent.com>
133342         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
133343         back, too, since it may have been modified by allocate_entry.
133344         (hash_delete): Rewrite to use neither the assignment operator
133345         nor the comma operator in an if-expression.
133347 2000-05-15  Paul Eggert  <eggert@twinsun.com>
133349         * lib/closeout.c:
133350         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
133351         Remove; no longer needed.
133352         "quotearg.h": Add include.
133353         (file_name): Do not bother to explicitly initialize to NULL; it's less
133354         efficient on some hosts.
133355         (close_stdout_status): Remove test as to whether stdout was already
133356         closed; it breaks for the case "echo x | sort >&-".
133357         Quote file name colons.
133358         Do not assume that _("write error") lacks format strings.
133360 2000-05-15  Jim Meyering  <meyering@lucent.com>
133362         * lib/version-etc.c (version_etc_copyright): Update the copyright
133363         string used in all --version output.
133365 2000-05-14  Jim Meyering  <meyering@lucent.com>
133367         * lib/closeout.c (close_stdout_set_file_name): New function.
133368         (close_stdout_status): Use new file-scoped global.
133369         Return right away if fstat says the stdout file descriptor is invalid.
133370         * lib/closeout.h (close_stdout_set_file_name): Declare.
133372 2000-05-10  Jim Meyering  <meyering@lucent.com>
133374         * lib/closeout.c [default_exit_status]: New file-scoped variable.
133375         (close_stdout_set_status): New function.
133376         * lib/closeout.h (close_stdout_set_status): Declare.
133378 2000-05-09  Jim Meyering  <meyering@lucent.com>
133380         * m4/gettext.m4: Rename this...
133381         * m4/libintl.m4: ...to this.
133383 2000-05-08  Jim Meyering  <meyering@lucent.com>
133385         * lib/long-options.c: Don't include closeout.h.
133386         (parse_long_options): Don't call close_stdout for --version.
133388 2000-05-06  Paul Eggert  <eggert@twinsun.com>
133390         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
133391         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
133392         2.1.3 bug.  This avoids a clash when files like regex.c define
133393         _GNU_SOURCE.
133395 2000-05-06  Jim Meyering  <meyering@lucent.com>
133397         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
133398         (AC_REPLACE_FUNCS): Add strnlen.
133400         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
133401         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
133403         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
133404         AC_SEARCH_LIBS call for nanosleep.
133405         (LIB_NANOSLEEP): Set and AC_SUBST.
133407 2000-05-06  Jim Meyering  <meyering@lucent.com>
133409         * lib/strnlen.c: Undefine __strnlen and strnlen.
133410         [!weak_alias]: Define __strnlen to strnlen.
133412         * lib/atexit.c: New file, from libiberty.
133414 2000-05-06  Jim Meyering  <meyering@lucent.com>
133416         * lib/closeout.c (close_stdout_status): Also check for errors on the
133417         stderr stream.
133419 2000-05-05  Jim Meyering  <meyering@lucent.com>
133421         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
133422         AC_SEARCH_LIBS call for clock_gettime.
133423         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
133425         * m4/search-libs.m4: Update from autoconf.
133427         su doesn't work on Solaris 2.6.
133428         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
133429         <shadow.h>.  Reported by Dragos Harabor.
133431 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
133433         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
133434         memcpy instead of xmalloc, xrealloc, path_concat.
133435         (locale_charset): Treat empty environment variables as absent.
133436         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
133438 2000-05-04  Jim Meyering  <meyering@lucent.com>
133440         * lib/getopt.c: Update from glibc.
133441         * lib/obstack.c: Likewise.
133442         * lib/obstack.h: Likewise.
133443         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
133444         file
133446         * lib/regex.h: Likewise.
133447         * lib/strndup.c: Likewise.
133448         * lib/strnlen.c: New file, from glibc.
133450 2000-05-03  Jim Meyering  <meyering@lucent.com>
133452         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
133454 2000-05-02  Paul Eggert  <eggert@twinsun.com>
133456         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
133457         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
133458         compile-time test, rather than inspecting host and OS, to
133459         decide whether to define _LARGEFILE_SOURCE.
133461 2000-05-01  Jim Meyering  <meyering@lucent.com>
133463         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
133465         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
133466         Based on a patch from Bruno Haible.
133468 2000-05-01  Jim Meyering  <meyering@lucent.com>
133470         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
133472 2000-04-29  Jim Meyering  <meyering@lucent.com>
133474         * lib/path-concat.c: Declare strdup only if it's not defined.
133475         * lib/canon-host.c: Likewise.
133477 2000-04-28  Jim Meyering  <meyering@lucent.com>
133479         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
133480         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
133481         is included first, then limits.h is included by locale.h by libintl.h.
133482         From John David Anglin.
133484 2000-04-25  Jim Meyering  <meyering@lucent.com>
133486         * lib/makepath.c (S_IRWXUGO): Define.
133487         (make_path): Always perform explicit chmod if MODE specifies any
133488         of the `special' permission bits.  Prompted by a bug report against
133489         install from Mate Wierdl and Joost van Baal.
133491 2000-04-18  Jim Meyering  <meyering@lucent.com>
133493         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
133494         (jm_PREREQ): Use it.
133496 2000-04-18  Jim Meyering  <meyering@lucent.com>
133498         * lib/README: New file.
133500         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
133501         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
133503 2000-04-17  Jim Meyering  <meyering@lucent.com>
133505         Get it right :-)
133506         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
133507         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
133508         Suggestion from Akim Demaille.
133510 2000-04-17  Jim Meyering  <meyering@lucent.com>
133512         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
133513         the definition of it to rpl_strftime also defined-away the system's
133514         declaration.
133516 2000-04-15  Jim Meyering  <meyering@lucent.com>
133518         Use `C' to denote so-called `contiguous' files, the same way
133519         that tar does.
133520         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
133521         (ftypelet): Use S_ISCTG.
133522         From Michael Deutschmann.
133524 2000-04-14  Jim Meyering  <meyering@lucent.com>
133526         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
133527         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
133528         clobbered.
133530 2000-04-14  Jim Meyering  <meyering@lucent.com>
133532         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
133534 2000-04-13  Jim Meyering  <meyering@lucent.com>
133536         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
133537         AH_VERBATIM to insert required #ifndef into config.h.in.
133538         Suggestion from Akim Demaille.
133540 2000-04-12  Jim Meyering  <meyering@lucent.com>
133542         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
133543         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
133544         Christian Krackowizer.
133546         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
133547         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
133548         (AC_SYS_LARGEFILE): Require.
133549         (AM_C_PROTOTYPES): Require.
133551 2000-04-08  Jim Meyering  <meyering@lucent.com>
133553         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
133554         names don't conflict.  Reported by Eli Zaretskii.
133556 2000-04-07  Jim Meyering  <meyering@lucent.com>
133558         * lib/putenv.c: Move inclusion of errno.h so it follows that of
133559         sys/types.h, to work around system header problems on AIX 3.2.5.
133560         From Bruno Haible.
133562 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
133564         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
133565         bug.  Deal with the different error behavior of Irix iconv.
133567 2000-04-05  Paul Eggert  <eggert@twinsun.com>
133569         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
133570         IRIX if the installer said otherwise.
133572 2000-04-05  Jim Meyering  <meyering@lucent.com>
133574         Portability tweaks required for ultrix4.3.
133575         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
133576         (jm_CHECK_DECLS): Add getutent to the list of functions.
133577         (_jm_DECL_HEADERS): Add utmpx.h.
133578         From John David Anglin.
133580         * m4/strftime.m4: Back out the 2000-04-02 change.
133581         Instead of that change, simply undefine putenv in the test program.
133583 2000-04-05  Jim Meyering  <meyering@lucent.com>
133585         Portability tweaks required for ultrix4.3.
133586         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
133587         getutent.
133588         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
133589         * lib/canon-host.c: Declare strdup.
133590         * lib/path-concat.c: Likewise.
133591         From John David Anglin.
133593 2000-04-04  Jim Meyering  <meyering@lucent.com>
133595         Be more DOS 8.3-friendly.
133596         * lib/ref-add.sin: Renamed from ref-add.sed.in.
133597         * lib/ref-del.sin: Renamed from ref-del.sed.in.
133598         * lib/Makefile.am: Reflect renaming.
133599         Reported by Eli Zaretskii.
133601         Use a temporary file name that won't clash with `charset.alias'
133602         in the DOS 8.3 name space.
133603         * lib/Makefile.am (charset_tmp): Define.
133604         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
133605         (uninstall-local): Likewise.
133606         Reported by Eli Zaretskii.
133608 2000-04-03  Jim Meyering  <meyering@lucent.com>
133610         * m4/gettext.m4: Fix typo in comment.
133612         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
133613         textutils/configure.in).  Suggestion from Paul Eggert.
133614         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
133616 2000-04-02  Paul Eggert  <eggert@twinsun.com>
133618         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
133619         variable in the shell rather than using putenv, which isn't
133620         portable.  This avoids the configure-time inter-test dependency
133621         on the potentially-renamed putenv function.
133623 2000-03-30  Paul Eggert  <eggert@twinsun.com>
133625         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
133626         before checking struct stat.st_blksize, so that
133627         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
133629 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133631         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
133632         since strftime.c uses HAVE_STRFTIME to decide whether to use
133633         the underlying strftime.
133635 2000-03-29  Paul Eggert  <eggert@twinsun.com>
133637         * lib/time/strftime.c (my_strftime): Make sure we call the system
133638         strftime, not ourselves, when invoking the underlying strftime.
133640 2000-03-24  Jim Meyering  <meyering@lucent.com>
133642         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
133643         (charset_alias): Define.
133644         (install-exec-local): Factor out common code.
133645         (uninstall-local): Split lines longer than 80.
133646         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
133647         (SUFFIXES): Define.
133648         (.sed.in.sed): New rule.  Don't redirect directly to $@.
133649         (CLEANFILES): Add ref-add.sed and ref-del.sed.
133651 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
133653         * lib/config.charset: Output a line containing "Packages using this
133654         file".
133655         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
133656         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
133657         ref-del.sed): New rules.
133659 2000-03-17  Jim Meyering  <meyering@lucent.com>
133661         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
133662         Otherwise, include <strings.h>
133664 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
133666         * lib/unicodeio.c (utf8_wctomb): New function.
133667         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
133668         format instead of in UCS-4 with platform dependent endianness.
133670 2000-03-10  Jim Meyering  <meyering@lucent.com>
133672         * m4/lib-check.m4: Look for getspnam in -lgen, too.
133673         From Marco Franzen.
133675 2000-03-07  Paul Eggert  <eggert@twinsun.com>
133677         * lib/savedir.c (savedir): Work even if directory size is
133678         negative; this can happen with some screwy NFS configurations.
133680 2000-03-06  Jim Meyering  <meyering@lucent.com>
133682         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
133683         if it's NULL (because we ran out of memory).  From Bruno Haible.
133685 2000-03-05  Jim Meyering  <meyering@lucent.com>
133687         * lib/localcharset.c ("path-concat.h"): Include.
133688         (get_charset_aliases): Use path_concat instead of ANSI string
133689         concatenation.
133691         * lib/unicodeio.h (PARAMS): Define.
133692         Use it to guard prototype.
133694 2000-03-04  Jim Meyering  <meyering@lucent.com>
133696         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
133697         for lib/localcharset.c.
133699 2000-03-04  Jim Meyering  <meyering@lucent.com>
133701         * lib/Makefile.am (install-exec-local): Create $(libdir) before
133702         installing into it.
133703         (uninstall-local): Uncomment this rule so `make distcheck' works
133704         once again.
133706         * lib/unicodeio.c (<errno.h>): Include it.
133707         (errno): Declare if not defined.
133709         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
133711         * lib/config.charset: New version, incorporating remarks from a linux
133712         i18n mailing list.  From Bruno Haible.
133714 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
133716         * m4/codeset.m4: New file.
133717         * m4/iconv.m4: New file.
133718         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
133720 2000-03-03  Jim Meyering  <meyering@lucent.com>
133722         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
133724 2000-03-02  Jim Meyering  <meyering@lucent.com>
133726         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
133727         the messages come out on separate lines.
133729         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
133730         rather than jm_CHECK_DECLARATIONS.
133731         * m4/decl.m4: Remove now-unused file.
133733         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
133734         geteuid.
133736 2000-03-02  Jim Meyering  <meyering@lucent.com>
133738         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
133740 2000-03-01  Jim Meyering  <meyering@lucent.com>
133742         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
133743         * lib/unicodeio.c: Likewise.
133745 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
133747         * lib/config.charset: New file.
133748         * lib/localcharset.c: New file.
133749         * lib/unicodeio.h, lib/unicodeio.c: New files.
133750         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
133751         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
133752         (noinst_HEADERS): Add unicodeio.h.
133753         (all-local, install-exec-local, charset.alias): New targets.
133755 2000-02-28  Paul Eggert  <eggert@twinsun.com>
133757         * lib/quotearg.c (ALERT_CHAR): New macro.
133758         (quotearg_buffer_restyled): Use it.
133760 2000-02-27  Jim Meyering  <meyering@lucent.com>
133762         * m4/check-decl.m4: Add getenv to the list.
133764 2000-02-27  Jim Meyering  <meyering@lucent.com>
133766         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
133767         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
133769         * lib/backupfile.c: Guard inclusion of stdlib.h with
133770         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
133771         Declare malloc if needed.
133773         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
133774         `#ifndef HAVE_DECL..'
133775         now that autoconf always defines the HAVE_DECL_ symbols.
133776         * lib/human.c: Likewise.
133777         * lib/same.c: Likewise.
133778         * lib/strtoumax.c: Likewise.
133780         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
133781         declaration check was not run.
133782         * lib/hash.c: Likewise.
133783         * lib/human.c: Likewise.
133784         * lib/same.c: Likewise.
133785         * lib/strtoumax.c: Likewise.
133787         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
133788         `.', then first look up the entire `.'-containing string as a login
133789         name.
133791 2000-02-23  Jim Meyering  <meyering@lucent.com>
133793         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
133794         in place of my hack.
133796 2000-02-18  Paul Eggert  <eggert@twinsun.com>
133798         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
133799         (textint): New typedef.
133800         (parser_control): Member year changed from int to textint.
133801         All uses changed.
133802         (YYSTYPE): Removed; replaced by %union with int and textint members.
133803         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
133804         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
133805         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
133806         (tSNUMBER, tUNUMBER): Now of type <textintval>.
133807         (date, number, to_year): Use width of number in digits, not its value,
133808         to determine whether it's a 2-digit year, or a 2-digit time.
133809         (yylex): Store number of digits of numeric tokens.
133810         Reported by John Kendall.
133812         (parser_control): Changed from struct parser_control to typedef (for
133813         consistency).  All uses changed.
133815         (tID): Removed; not used.
133816         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
133818 2000-02-14  Paul Eggert  <eggert@twinsun.com>
133820         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
133821         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
133823 2000-02-12  Jim Meyering  <meyering@lucent.com>
133825         * lib/userspec.c (ISDIGIT): Define it.
133826         (isdigit): Remove definition.
133827         (is_number): Use ISDIGIT, not isdigit.
133828         <libintl.h>: Include.
133829         (_ and N_): Define.
133830         (parse_user_spec): Mark translatable strings.
133832 2000-02-10  Jim Meyering  <meyering@lucent.com>
133834         With these changes, nanosleep.[ch] are finally enough like the other
133835         lib/* replacement files to compile on a few more losing systems.
133837         * lib/nanosleep.h: Don't include config.h.
133838         Remove prototype from declaration of nanosleep.
133839         (PARAMS): Remove now-unneeded definition.
133840         * lib/nanosleep.c: #undef nanosleep.
133841         (rpl_nanosleep): Rename from nanosleep.
133843 2000-02-10  Jim Meyering  <meyering@lucent.com>
133845         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
133846         gnu_nanosleep to rpl_nanosleep.
133848 2000-02-09  Jim Meyering  <meyering@lucent.com>
133850         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
133851         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
133853 2000-02-08  Akim Demaille  <akim@epita.fr>
133855         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
133856         `[' and `]' and remove uses of `changequote'.
133857         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
133858         (AC_SYS_LARGEFILE): Likewise.
133859         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
133860         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
133861         of changequote.
133862         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
133863         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
133864         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
133865         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
133867 2000-02-05  Jim Meyering  <meyering@lucent.com>
133869         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
133870         Remove explicit use of AC_HEADER_TIME.  It is required by
133871         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
133872         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
133873         in autoconf whereby the expansion of the latter ended up preceding
133874         the expansion of its prerequisite, AC_HEADER_TIME.
133875         Reported by Volker Borchert.
133877 2000-02-03  Jim Meyering  <meyering@lucent.com>
133879         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
133881 2000-02-03  Jim Meyering  <meyering@lucent.com>
133883         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
133884         rather than with `#if HAVE_UTMPNAME'.
133886 2000-02-02  Jim Meyering  <meyering@lucent.com>
133888         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
133889         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
133890         Reported by Eli Zaretskii.
133892 2000-02-01  Jim Meyering  <meyering@lucent.com>
133894         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
133896 2000-01-31  Jim Meyering  <meyering@lucent.com>
133898         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
133899         functions.  Add the time.h and sys/time.h headers along with the
133900         AC_REQUIRE'ment of AC_HEADER_TIME.
133902 2000-01-31  Jim Meyering  <meyering@lucent.com>
133904         * lib/nanosleep.h (nanosleep): Guard declaration with
133905         `#if ! HAVE_DECL_NANOSLEEP'.
133906         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
133907         the declaration in that vendor's sys/timers.h.
133908         Reported by Christian Krackowizer.
133910         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
133911         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
133912         (ISPRINT): Likewise.
133913         Reported by Tom Tromey.
133915 2000-01-30  Jim Meyering  <meyering@lucent.com>
133917         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
133919         * m4/prereq.m4 (utmp_includes): Define.
133920         Check for ut_user and ut_name members in both struct utmpx
133921         and struct utmp.
133923 2000-01-30  Jim Meyering  <meyering@lucent.com>
133925         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
133926         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
133927         header files where only utmpx.ut_user is declared.
133929         * lib/readutmp.h (UT_USER): Define.
133931 2000-01-29  Jim Meyering  <meyering@lucent.com>
133933         * m4/lib-check.m4: New file containing library-related checks from
133934         fileutils and sh-utils (textutils had none).
133936 2000-01-28  Jim Meyering  <meyering@lucent.com>
133938         * m4/perl.m4: Change format of warning message to look more like that
133939         from the missing script.  Suggestion from François Pinard.
133941 2000-01-25  Jim Meyering  <meyering@lucent.com>
133943         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
133944         well as time.h in the compile check.
133945         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
133946         Fix typo in cross-compiling case: s/yes/no/.
133948 2000-01-23  Jim Meyering  <meyering@lucent.com>
133950         * m4/jm-macros.m4: Move df-related tests here from
133951         fileutils/configure.in
133953         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
133954         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
133956         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
133957         s/space/ac_fsusage_space/.
133958         (jm_FILE_SYSTEM_USAGE): Take two parameters.
133960         * m4/ftruncate.m4: New file (derived from part of
133961         fileutils/configure.in).
133962         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
133963         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
133965         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
133966         AC_SUBST these here, rather than just in sh-util/configure.in, so
133967         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
133968         all the same.
133969         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
133970         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
133971         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
133972         (AC_SUBST(POW_LIBM)): Likewise.
133973         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
133975 2000-01-23  Jim Meyering  <meyering@lucent.com>
133977         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
133978         obstack.c.
133980 2000-01-22  Jim Meyering  <meyering@lucent.com>
133982         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
133984         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
133986         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
133987         configure.in
133988         (AC_CHECK_HEADERS): Likewise for sh-utils.
133989         (AC_CHECK_HEADERS): Likewise for textutils.
133990         Merge the three lists of headers.
133992         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
133993         from fileutils' configure.in.
133995         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
133996         code. Moved tests into their own function (_jm_DECL_HEADERS) in
133997         check-decl.m4.
133999         * m4/check-decl.m4: Use #if rather than #ifdef.
134000         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
134001         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
134002         (_jm_DECL_HEADERS): Define new function.
134003         (jm_CHECK_DECLARATIONS): Require it.
134005 2000-01-22  Jim Meyering  <meyering@lucent.com>
134007         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
134008         [! HAVE_DECL_STRTOULL]: Declare strtoull.
134009         Required for some AIX systems.  Reported by Christian Krackowizer.
134010         [TESTING] (main): New function.
134012         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
134013         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
134014         letters.
134016         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
134017         iswprint.
134019         * lib/strverscmp.c (ISDIGIT): Define.
134020         (strverscmp): Use ISDIGIT, not isdigit.
134022 2000-01-19  Jim Meyering  <meyering@lucent.com>
134024         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
134025         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
134026         defines `struct timespec' in <sys/time.h>
134028         * m4/c-bs-a.m4: Remove uses of changequote altogether.
134029         Thanks to Akim for explaining.
134031 2000-01-17  Paul Eggert  <eggert@twinsun.com>
134033         * lib/nanosleep.c (nanosleep):
134034         Don't use SA_INTERRUPT to decide whether to call sigaction, as
134035         POSIX.1 doesn't require SA_INTERRUPT and some systems
134036         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
134037         it's been part of POSIX.1 since day 1 (in 1988).
134039 2000-01-17  Jim Meyering  <meyering@lucent.com>
134041         * lib/interlock: Remove unused file.  Reported by François Pinard.
134043 2000-01-16  Paul Eggert  <eggert@twinsun.com>
134045         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
134046         alert, backslash, formfeed, and vertical tab unnecessarily in
134047         shell quoting style.
134049 2000-01-16  Jim Meyering  <meyering@lucent.com>
134051         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
134052         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
134053         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
134054         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
134056 2000-01-16  Jim Meyering  <meyering@lucent.com>
134058         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
134059         because the latter didn't work.
134061 2000-01-15  Jim Meyering  <meyering@lucent.com>
134063         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
134064         (AC_REPLACE_FUNCS): Add memcpy and memset.
134065         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
134066         Add strpbrk.
134067         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
134069 2000-01-12  Jim Meyering  <meyering@lucent.com>
134071         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
134072         (jm_PREREQ): Use it.
134073         (jm_PREREQ_READUTMP): New macro.
134074         (jm_PREREQ): Use it.
134076 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134078         Quote multibyte characters correctly.
134079         * m4/c-bs-a.m4: New file.
134080         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
134081         (jm_PREREQ): Use it.
134083 2000-01-11  Paul Eggert  <eggert@twinsun.com>
134085         * m4/uintmax_t.m4: Port to autoconf 2.13.
134087 2000-01-08  Jim Meyering  <meyering@ascend.com>
134089         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
134090         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
134092 2000-01-04  Jim Meyering  <meyering@ascend.com>
134094         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
134095         jm_STRUCT_DIRENT_D_TYPE.
134096         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
134097         jm_STRUCT_DIRENT_D_INO.
134098         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
134099         jm_STRUCT_UTIMBUF.
134100         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
134101         renamings.
134102         * m4/utime.m4: Likewise.
134104         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
134105         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
134107 2000-01-03  Paul Eggert  <eggert@twinsun.com>
134109         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
134110         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
134112 2000-01-02  Jim Meyering  <meyering@ascend.com>
134114         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
134115         remember if this is necessary.
134117 1999-12-26  Jim Meyering  <meyering@ascend.com>
134119         * m4/jm-macros.m4: Use it here.
134120         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
134122 1999-12-23  Jim Meyering  <meyering@ascend.com>
134124         * m4/jm-macros.m4: Check for clock_gettime (moved from
134125         fileutils/configure.in)
134126         Check for gettimeofday.
134128 1999-12-20  Jim Meyering  <meyering@ascend.com>
134130         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
134131         autoconf-2.14a-1999-12-20.
134133 1999-12-19  Jim Meyering  <meyering@ascend.com>
134135         * m4/lstat-slash.m4: New file.
134136         * m4/jm-macros.m4: Use the new macro:
134137         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
134139 1999-12-07  Jim Meyering  <meyering@ascend.com>
134141         * m4/perl.m4: Require that File::Compare be available, too.
134142         Too many systems seem to lack it.
134144         * m4/strftime.m4: Add checks for most of the cpp macros tested in
134145         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
134147 1999-11-18  Paul Eggert  <eggert@twinsun.com>
134149         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
134150         problem with the QNX 4.25 shell, which doesn't propagate exit
134151         status of failed commands inside shell assignments.
134153 1999-11-17  Jim Meyering  <meyering@ascend.com>
134155         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
134157 1999-11-07  Jim Meyering  <meyering@ascend.com>
134159         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
134161 1999-11-06  Jim Meyering  <meyering@ascend.com>
134163         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
134164         * m4/jm-macros.m4 (jm_MACROS): Use it here.
134166 1999-11-05  Jim Meyering  <meyering@ascend.com>
134168         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
134169         configure.in of textutils, fileutils, and sh-utils into this one
134170         (shared between those packages) file.
134171         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
134172         AC_STRUCT_ST_BLKSIZE.
134174 1999-11-03  Jim Meyering  <meyering@ascend.com>
134176         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
134177         of AC_CHECK_TYPE checks includes unistd.h.
134178         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
134179         Suggestion from Akim Demaille.
134181 1999-10-30  Jim Meyering  <meyering@ascend.com>
134183         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
134184         m4-quoted string.
134185         * m4/ls-mntd-fs.m4: Likewise.
134186         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
134187         * m4/jm-winsz1.m4: Likewise.
134189         * m4/const.m4: Remove file, since the fix made it into the experimental
134190         version of autoconf.
134191         * m4/mktime.m4: Likewise.
134193         * m4/check-type.m4: Remove file, now that the latest version of
134194         AC_CHECK_TYPE takes a third arg to specify additional #includes.
134196         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
134197         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
134198         AC_CHECK_TYPE.
134200 1999-10-04  Jim Meyering  <meyering@ascend.com>
134202         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
134204 1999-09-22  Paul Eggert  <eggert@twinsun.com>
134206         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
134207         2.95.1 bug with HP-UX 10.20.
134209 1999-09-17  Jim Meyering  <meyering@ascend.com>
134211         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
134212         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
134213         due to missing strdup (against sh-utils-2.0).
134215 1999-08-29  Jim Meyering  <meyering@ascend.com>
134217         * m4/jm-macros.m4: Require jm_BISON.
134218         * m4/bison.m4: New file.
134220 1999-08-17  Paul Eggert  <eggert@twinsun.com>
134222         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
134223         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
134225 1999-08-05  Jim Meyering  <meyering@ascend.com>
134227         * m4/getline.m4: Rename test file from conftestdata to conftest.data
134228         to avoid conflicts with `conftest' on 8+3 filesystems.
134229         Suggestion from Eli Zaretskii.
134231 1999-08-04  Jim Meyering  <meyering@ascend.com>
134233         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
134234         fileutils and sh-utils (textutils's getline test was inadequate).
134235         (AM_FUNC_GETLINE): Run this test.
134236         (AC_CHECK_FUNCS): Check for getdelim.
134237         Reported by Bob Proulx.
134239 1999-08-02  Jim Meyering  <meyering@ascend.com>
134241         * m4/jm-macros.m4: Add a comment.
134243 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134245         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
134246         <inttypes.h> defines strtoumax as a macro (and not as a
134247         function).
134249 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134251         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
134252         that we can shift, multiply and divide unsigned long long
134253         values; Ultrix cc can't do it.
134255 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134257         * m4/mktime.m4: New file, which is a preview of what should appear
134258         in the next public autoconf release.
134260 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134262         * m4/lfs.m4: Remove this file.
134263         * m4/largefile.m4: New file.  It contains the old contents of
134264         lfs.m4, except that all names with prefix AC_LFS have been
134265         changed to use the prefix AC_SYS_LARGEFILE instead, to be
134266         compatible with future autoconf versions.  Also, some minor m4
134267         quoting problems have been fixed.
134269 1999-08-01  Paul Eggert  <eggert@twinsun.com>
134271         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
134272         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
134273         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
134274         and simplify the shell code.
134276 1999-08-01  Jim Meyering  <meyering@ascend.com>
134278         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
134279         m4.
134281 1999-07-20  Jim Meyering  <meyering@ascend.com>
134283         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
134285 1999-07-15  Jim Meyering  <meyering@ascend.com>
134287         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
134289 1999-05-22  Jim Meyering  <meyering@ascend.com>
134291         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
134293 1999-05-20  Jim Meyering  <meyering@ascend.com>
134295         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
134296         Add a colon after each `then' in case $4 is empty.
134298 1999-05-16  Jim Meyering  <meyering@ascend.com>
134300         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
134302 1999-05-10  Jim Meyering  <meyering@ascend.com>
134304         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
134306         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
134307         AC_FUNC_MKTIME.
134309 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
134311         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
134313 1999-05-04  Paul Eggert  <eggert@twinsun.com>
134315         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
134316         not CPPFLAGS, so that linking works correctly in IRIX.
134318 1999-04-30  Paul Eggert  <eggert@twinsun.com>
134320         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
134322 1999-04-20  Paul Eggert  <eggert@twinsun.com>
134324         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
134325         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
134326         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
134327         jm_AC_TYPE_UNSIGNED_LONG_LONG.
134328         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
134330         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
134332 1999-04-20  Jim Meyering  <meyering@ascend.com>
134334         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
134335         AC_REPLACE xstroull if necessary.  From Paul Eggert.
134336         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
134338 1999-04-18  Jim Meyering  <meyering@ascend.com>
134340         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
134341         * m4/jm-macros.m4: Use it.
134343 1999-04-06  Jim Meyering  <meyering@ascend.com>
134345         * m4/strftime.m4: Remove test for %f.
134347 1999-03-29  Jim Meyering  <meyering@ascend.com>
134349         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
134350         superset of the AC_TYPE_* checks in the textutils, fileutils,
134351         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
134352         AC_TYPE_PID_T.
134354 1999-03-28  Jim Meyering  <meyering@ascend.com>
134356         * m4/jm-macros.m4: Define GNU_PACKAGE here.
134357         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
134358         replaced e.g., in the *.sh files of the sh-utils.
134360 1999-03-20  Jim Meyering  <meyering@ascend.com>
134362         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
134363         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
134364         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
134366 1999-03-19  Jim Meyering  <meyering@ascend.com>
134368         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
134370 1999-03-12  Jim Meyering  <meyering@ascend.com>
134372         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
134374 1999-03-07  Jim Meyering  <meyering@ascend.com>
134376         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
134377         declared.
134379 1999-02-17  Jim Meyering  <meyering@ascend.com>
134381         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
134382         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
134384 1999-02-07  Jim Meyering  <meyering@ascend.com>
134386         * m4/group-member.m4: New file -- extracted from sh-utils'
134387         configure.in.
134389         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
134390         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
134392 1999-02-06  Jim Meyering  <meyering@ascend.com>
134394         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
134395         * m4/fnmatch.m4: Likewise.
134396         * m4/getgroups.m4: Likewise.
134397         * m4/lstat.m4: Likewise.
134398         * m4/malloc.m4: Likewise.
134399         * m4/putenv.m4: Likewise.
134400         * m4/realloc.m4: Likewise.
134401         * m4/regex.m4: Likewise.
134402         * m4/stat.m4: Likewise.
134403         * m4/strftime.m4: Likewise.
134404         Suggestion from Alain Magloire.
134406         * m4/chown.m4: Use `.$ac_objext', not `.o'.
134407         * m4/fnmatch.m4: Likewise.
134408         * m4/getgroups.m4: Likewise.
134409         * m4/getline.m4: Likewise.
134410         * m4/lstat.m4: Likewise.
134411         * m4/malloc.m4: Likewise.
134412         * m4/memcmp.m4: Likewise.
134413         * m4/putenv.m4: Likewise.
134414         * m4/realloc.m4: Likewise.
134415         * m4/regex.m4: Likewise.
134416         * m4/stat.m4: Likewise.
134417         * m4/strftime.m4: Likewise.
134418         Suggestion from Alain Magloire.
134420         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
134421         an argument.
134423         * m4/regex.m4: Add a run-time Test for proper operation of
134424         re_compile_pattern.
134426 1999-01-31  Jim Meyering  <meyering@ascend.com>
134428         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
134430 1999-01-30  Jim Meyering  <meyering@ascend.com>
134432         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
134434         * m4/jm-mktime.m4: Make this a wrapper around the official
134435         AM_FUNC_MKTIME rather than my private copy, now that the official one
134436         is up to date.
134437         * m4/mktime.m4: Remove file.
134439         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
134440         * m4/uptime.m4: Likewise.
134441         * m4/uintmax_t.m4: Likewise.
134443 1999-01-28  Jim Meyering  <meyering@ascend.com>
134445         * m4/jm-macros.m4: Use jm_AFS.
134446         * m4/afs.m4: New file (from fileutils' configure.in).
134448         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
134449         * m4/chown.m4: Likewise.
134450         * m4/d-ino.m4: Likewise.
134451         * m4/d-type.m4: Likewise.
134452         * m4/fnmatch.m4: Likewise.
134453         * m4/getgroups.m4: Likewise.
134454         * m4/gettext.m4: Likewise.
134455         * m4/jm-mktime.m4: Likewise.
134456         * m4/jm-winsz2.m4: Likewise.
134457         * m4/lcmessage.m4: Likewise.
134458         * m4/ls-mntd-fs.m4: Likewise.
134459         * m4/malloc.m4: Likewise.
134460         * m4/memcmp.m4: Likewise.
134461         * m4/putenv.m4: Likewise.
134462         * m4/realloc.m4: Likewise.
134463         * m4/st_mtim.m4: Likewise.
134464         * m4/strftime.m4: Likewise.
134466 1999-01-16  Jim Meyering  <meyering@ascend.com>
134468         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
134469         (ARGMATCH_DIE_DECL): Define.
134471 1999-01-12  Jim Meyering  <meyering@ascend.com>
134473         * m4/Makefile.am.in: Rewrite to avoid using fmt.
134474         Reported by Lars Hecking.
134476 1999-01-10  Jim Meyering  <meyering@ascend.com>
134478         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
134479         gross kludge.
134480         * m4/inttypes_h.m4: Likewise.
134481         * m4/lstat.m4: Likewise.
134482         * m4/malloc.m4: Likewise.
134483         * m4/readdir.m4: Likewise.
134484         * m4/realloc.m4: Likewise.
134485         * m4/st_dm_mode.m4: Likewise.
134486         * m4/stat.m4: Likewise.
134487         * m4/utimbuf.m4: Likewise.
134488         * m4/utimes.m4: Likewise.
134490         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
134491         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
134492         comments in config.h.in are meaningful.
134494         * m4/jm-macros.m4: Require autoconf-2.13 here.
134496         * m4/regex.m4: By default, don't use the included regex.c on systems
134497         with glibc 2.  Suggestion from Uli Drepper.
134499 1999-01-02  Jim Meyering  <meyering@ascend.com>
134501         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
134503 1998-12-18  Jim Meyering  <meyering@ascend.com>
134505         * m4/Makefile.am.in (Makefile.am): Simplify rule.
134506         Based on a suggestion from Lars Hecking.
134508 1998-11-16  Paul Eggert  <eggert@twinsun.com>
134510         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
134512 1998-11-16  Jim Meyering  <meyering@ascend.com>
134514         * m4/lfs.m4: Double-quote the `uname...` expression.
134516 1998-11-14  Jim Meyering  <meyering@ascend.com>
134518         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
134519         * m4/stat.m4: Likewise.
134521 1998-11-03  Jim Meyering  <meyering@ascend.com>
134523         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
134524         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
134526 1998-10-18  Jim Meyering  <meyering@ascend.com>
134528         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
134530 1998-10-17  Jim Meyering  <meyering@ascend.com>
134532         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
134533         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
134534         calls for those previously hard-coded headers.  Instead, take a new
134535         parameter.
134536         (jm_CHECK_DECLARATIONS): Reflect interface change.
134537         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
134538         (jm_CHECK_DECL_LOCALTIME_R): New macro.
134540         * m4/mktime.m4: Test for spring-forward gap before long-running test.
134542 1998-10-14  Jim Meyering  <meyering@ascend.com>
134544         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
134545         instead of "TZ=America/Vancouver".  From Paul Eggert.
134547 1998-10-11  Jim Meyering  <meyering@ascend.com>
134549         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
134550         This adds a test for a recently added compatibility fix for mktime.c.
134551         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
134553 1998-09-27  Jim Meyering  <meyering@ascend.com>
134555         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
134557         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
134558         ../configure.in, including a change from Gordon Matzigkeit to allow
134559         cross-compiling for the Hurd.
134561         * m4/glibc.m4: New file/macro to test for the GNU C Library
134562         versions 1 and 2.  From Gordon Matzigkeit.
134563         Indent.
134565 1998-09-21  Jim Meyering  <meyering@ascend.com>
134567         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
134569 1998-08-18  Paul Eggert  <eggert@twinsun.com>
134571         Port nanosecond-resolution times to UnixWare 2.1.2 and
134572         pedantic Solaris 2.6.
134574         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
134575         AC_STRUCT_ST_MTIM.
134576         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
134577         Generate name of ns member, instead of just 1 or undef.
134578         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
134580 1998-08-15  Jim Meyering  <meyering@ascend.com>
134582         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
134583         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
134584         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
134585         instead of jm_TYPE_SSIZE_T.
134587 1998-08-12  Jim Meyering  <meyering@ascend.com>
134589         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
134591 1998-08-02  Jim Meyering  <meyering@ascend.com>
134593         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
134594         in acconfig.h manually.
134596 1998-07-31  Paul Eggert  <eggert@twinsun.com>
134598         * m4/st_mtim.m4: New file.
134600 1998-07-28  Jim Meyering  <meyering@ascend.com>
134602         * m4/utimes.m4: Undef stat.
134604 1998-07-25  Jim Meyering  <meyering@ascend.com>
134606         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
134607         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
134609 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
134611         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
134612         uid and gid actually remain unchanged.
134614 1998-07-07  Jim Meyering  <meyering@ascend.com>
134616         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
134618 1998-07-04  Jim Meyering  <meyering@ascend.com>
134620         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
134621         to prove that this macro can be used in packages without regex.c.
134623 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
134625         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
134626         is to be used.
134628 1998-07-03  Jim Meyering  <meyering@ascend.com>
134630         * m4/gettext.m4: Add -lintl if it's found to be necessary.
134632         * m4/gettext.m4: New file -- from gettext-0.10.35.
134633         * m4/lcmessage.m4: Likewise.
134634         * m4/progtest.m4: Likewise.
134636         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
134637         * m4/jm-macros.m4: Require the new macro.
134639 1998-06-29  Jim Meyering  <meyering@ascend.com>
134641         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
134642         for the definition of NGROUPS (used in a system header included
134643         by sys/mount.h).
134645 1998-06-28  Jim Meyering  <meyering@ascend.com>
134647         * m4/ls-mntd-fs.m4: New file.
134648         * m4/fstypename.m4: New file.
134650         * m4/jm-macros.m4: Require the new macro.
134651         * m4/jm-glibc-io.m4: New file.
134653 1998-05-19  Jim Meyering  <meyering@ascend.com>
134655         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
134656         * m4/lchown.m4: New file.
134658         * m4/Makefile.am.in: New file.
134659         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
134661 1998-05-14  Jim Meyering  <meyering@ascend.com>
134663         * m4/Makefile.am (EXTRA_DIST): Add them.
134664         * m4/jm-macros.m4: New file.
134665         * m4/utimbuf.m4: New file.
134667 1998-05-12  Jim Meyering  <meyering@ascend.com>
134669         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
134671 1998-05-11  Jim Meyering  <meyering@ascend.com>
134673         * m4/isc-posix.m4: New file.
134675 1998-05-10  Jim Meyering  <meyering@ascend.com>
134677         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
134679 1998-05-09  Jim Meyering  <meyering@ascend.com>
134681         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
134682         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
134683         with automake.
134685         * m4/ssize_t.m4: New file.
134686         * m4/mktime.m4: Remove file -- the new automake has this now.
134688 1998-04-26  Jim Meyering  <meyering@ascend.com>
134690         * m4/assert.m4: New file.
134691         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
134693 1998-04-05  Jim Meyering  <meyering@ascend.com>
134695         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
134696         (jm_PREREQ): Use it here.
134698 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
134700         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
134701         in acconfig.h.
134703 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
134705         * m4/prereq.m4: New file.
134706         * m4/error.m4: New file.
134707         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
134709 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
134711         * m4/getline.m4: Don't set am_cv_func_working_getline before the
134712         cache-check for the same variable -- that defeated the purpose of
134713         the test; the test program was never run.  This was a problem only
134714         on systems with losing getline functions -- HP-UX 10.20 is one.
134715         Reported by Bjorn Helgaas.
134717 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
134719         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
134721 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
134723         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
134725         * m4/const.m4: New file.  Use an initializer in this declaration
134726         typedef int charset[2]; const charset x;
134727         Reported by Bob Glickstein.
134729 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
134731         * m4/chown.m4: Fix reversed types on -1 args to chown.
134732         From Kaveh Ghazi.
134734 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
134736         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
134737         Add lseek and memchr.
134739         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
134740         T.E.Dickey <dickey@clark.net> said that some older preprocessors
134741         have a 20-character limit on names.
134743 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
134745         * m4/inttypes_h.m4: New file.
134746         * m4/uintmax_t.m4: New file.
134747         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
134750         -----
134752         Local Variables:
134753         coding: utf-8
134754         End:
134756         Copyright (C) 1997-2020 Free Software Foundation, Inc.
134758         Copying and distribution of this file, with or without
134759         modification, are permitted provided the copyright notice
134760         and this notice are preserved.